Changeset e99e43f
- Timestamp:
- Jan 10, 2019, 3:50:34 PM (7 years ago)
- 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)
- Files:
-
- 54 added
- 15 deleted
- 112 edited
- 126 moved
Legend:
- Unmodified
- Added
- Removed
-
INSTALL
raeb8f70 re99e43f 22 22 it is important not to put quotes around the directory path; Cforall may 23 23 appear to build, but the installed version may not work properly. 24 25 --with-backend-compiler=PROGRAM specifies the installed path of gcc. It26 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 environment29 variable CXX. If CXX is unset, cfa-cc is built using the first command named30 'g++' in the current PATH. -
Jenkins/TestRegen
raeb8f70 re99e43f 70 70 //escapes the sandbox 71 71 //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" 73 73 74 74 //Compile the project 75 sh 'make -j 8 --no-print-directory install'75 sh 'make -j 8 --no-print-directory' 76 76 77 77 //Regenerate the desired tests -
Makefile.am
raeb8f70 re99e43f 16 16 17 17 AUTOMAKE_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 18 ACLOCAL_AMFLAGS = -I automake 19 19 20 20 MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/* -
Makefile.in
raeb8f70 re99e43f 94 94 subdir = . 95 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 97 $(top_srcdir)/configure.ac 96 am__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 98 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 99 103 $(ACLOCAL_M4) … … 198 202 $(top_srcdir)/automake/config.sub \ 199 203 $(top_srcdir)/automake/install-sh \ 204 $(top_srcdir)/automake/ltmain.sh \ 200 205 $(top_srcdir)/automake/missing $(top_srcdir)/src/config.h.in \ 201 206 INSTALL README automake/compile automake/config.guess \ 202 207 automake/config.sub automake/depcomp automake/install-sh \ 203 automake/ missing automake/ylwrap208 automake/ltmain.sh automake/missing automake/ylwrap 204 209 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 205 210 distdir = $(PACKAGE)-$(VERSION) … … 248 253 AMTAR = @AMTAR@ 249 254 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 255 AR = @AR@ 250 256 AUTOCONF = @AUTOCONF@ 251 257 AUTOHEADER = @AUTOHEADER@ 252 258 AUTOMAKE = @AUTOMAKE@ 253 259 AWK = @AWK@ 254 BACKEND_CC = @BACKEND_CC@ # C compiler used to compile Cforall programs, versus C++ compiler used to build cfa command255 260 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 256 261 CC = @CC@ … … 272 277 CPPFLAGS = @CPPFLAGS@ 273 278 CXX = @CXX@ 279 CXXCPP = @CXXCPP@ 274 280 CXXDEPMODE = @CXXDEPMODE@ 275 281 CXXFLAGS = @CXXFLAGS@ … … 277 283 DEFS = @DEFS@ 278 284 DEPDIR = @DEPDIR@ 285 DLLTOOL = @DLLTOOL@ 279 286 DRIVER_DIR = @DRIVER_DIR@ 287 DSYMUTIL = @DSYMUTIL@ 288 DUMPBIN = @DUMPBIN@ 280 289 ECHO_C = @ECHO_C@ 281 290 ECHO_N = @ECHO_N@ … … 283 292 EGREP = @EGREP@ 284 293 EXEEXT = @EXEEXT@ 294 FGREP = @FGREP@ 285 295 GREP = @GREP@ 286 296 HOST_FLAGS = @HOST_FLAGS@ … … 290 300 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 291 301 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 302 LD = @LD@ 292 303 LDFLAGS = @LDFLAGS@ 293 304 LEX = @LEX@ … … 298 309 LIBOBJS = @LIBOBJS@ 299 310 LIBS = @LIBS@ 311 LIBTOOL = @LIBTOOL@ 312 LIPO = @LIPO@ 313 LN_S = @LN_S@ 300 314 LTLIBOBJS = @LTLIBOBJS@ 315 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 301 316 MAKEINFO = @MAKEINFO@ 317 MANIFEST_TOOL = @MANIFEST_TOOL@ 302 318 MKDIR_P = @MKDIR_P@ 319 NM = @NM@ 320 NMEDIT = @NMEDIT@ 321 OBJDUMP = @OBJDUMP@ 303 322 OBJEXT = @OBJEXT@ 323 OTOOL = @OTOOL@ 324 OTOOL64 = @OTOOL64@ 304 325 PACKAGE = @PACKAGE@ 305 326 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 311 332 PATH_SEPARATOR = @PATH_SEPARATOR@ 312 333 RANLIB = @RANLIB@ 334 SED = @SED@ 313 335 SET_MAKE = @SET_MAKE@ 314 336 SHELL = @SHELL@ … … 322 344 abs_top_builddir = @abs_top_builddir@ 323 345 abs_top_srcdir = @abs_top_srcdir@ 346 ac_ct_AR = @ac_ct_AR@ 324 347 ac_ct_CC = @ac_ct_CC@ 325 348 ac_ct_CXX = @ac_ct_CXX@ 349 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 326 350 am__include = @am__include@ 327 351 am__leading_dot = @am__leading_dot@ … … 371 395 top_srcdir = @top_srcdir@ 372 396 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 397 ACLOCAL_AMFLAGS = -I automake 373 398 MAINTAINERCLEANFILES = lib/* bin/* tests/.deps/* tests/.out/* 374 399 SUBDIRS = driver src . @LIBCFA_TARGET_DIRS@ … … 428 453 distclean-hdr: 429 454 -rm -f config.h stamp-h1 455 456 mostlyclean-libtool: 457 -rm -f *.lo 458 459 clean-libtool: 460 -rm -rf .libs _libs 461 462 distclean-libtool: 463 -rm -f libtool config.lt 430 464 install-man1: $(man1_MANS) 431 465 @$(NORMAL_INSTALL) … … 803 837 clean: clean-recursive 804 838 805 clean-am: clean-generic mostlyclean-am839 clean-am: clean-generic clean-libtool mostlyclean-am 806 840 807 841 distclean: distclean-recursive 808 842 -rm -f $(am__CONFIG_DISTCLEAN_FILES) 809 843 -rm -f Makefile 810 distclean-am: clean-am distclean-generic distclean-hdr distclean-tags 844 distclean-am: clean-am distclean-generic distclean-hdr \ 845 distclean-libtool distclean-tags 811 846 812 847 dvi: dvi-recursive … … 858 893 mostlyclean: mostlyclean-recursive 859 894 860 mostlyclean-am: mostlyclean-generic 895 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 861 896 862 897 pdf: pdf-recursive … … 876 911 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 877 912 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 891 927 892 928 .PRECIOUS: Makefile -
aclocal.m4
raeb8f70 re99e43f 1171 1171 ]) # _AM_PROG_TAR 1172 1172 1173 m4_include([automake/libtool.m4]) 1174 m4_include([automake/ltoptions.m4]) 1175 m4_include([automake/ltsugar.m4]) 1176 m4_include([automake/ltversion.m4]) 1177 m4_include([automake/lt~obsolete.m4]) -
benchmark/Makefile.am
raeb8f70 re99e43f 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Mon Jan 25 22:31:42 201614 ## Update Count : 2 513 ## Last Modified On : Tue Nov 6 09:01:23 2018 14 ## Update Count : 26 15 15 ############################################################################### 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 # applies to both programs 20 21 include $(top_srcdir)/src/cfa.make 21 22 22 UPPC OMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)23 UPPCC = u++ 23 24 24 25 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread … … 34 35 PRINT_FORMAT = %20s: #Comments needed for spacing 35 36 37 #prevent any tests in parallel 36 38 .NOTPARALLEL: 37 39 38 noinst_PROGRAMS = 39 40 #make sure automake includes the compile rules for C and C++ 41 EXTRA_PROGRAMS = dummy 42 dummy_SOURCES = c.c cxx.cpp 43 44 ## ========================================================================================================= 40 45 all : ctxswitch$(EXEEXT) mutex$(EXEEXT) signal$(EXEEXT) waitfor$(EXEEXT) creation$(EXEEXT) 41 46 … … 47 52 @${STATS} .result.log 48 53 @echo "------------------------------------------------------" 49 @rm -f a.out .result.log 54 @rm -f a.out .result.log *.class 50 55 51 56 %.runquiet : … … 100 105 ## ========================================================================================================= 101 106 loop$(EXEEXT): 102 $( COMPILE) -DBENCH_N=5000000000loop.c107 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c 103 108 104 109 function$(EXEEXT): 105 $( COMPILE) -DBENCH_N=5000000000function.c110 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c 106 111 107 112 fetch_add$(EXEEXT): 108 $( COMPILE) -DBENCH_N=500000000fetch_add.c113 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000 $(srcdir)/fetch_add.c 109 114 110 115 ## ========================================================================================================= … … 129 134 130 135 ctxswitch-kos_fibre$(EXEEXT): 131 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre136 $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 132 137 133 138 ctxswitch-kos_fibre2$(EXEEXT): 134 @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre139 $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 135 140 endif 136 141 … … 138 143 139 144 ctxswitch-pthread$(EXEEXT): 140 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c145 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 141 146 142 147 ctxswitch-cfa_coroutine$(EXEEXT): 143 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c148 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c 144 149 145 150 ctxswitch-cfa_thread$(EXEEXT): 146 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c151 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c 147 152 148 153 ctxswitch-cfa_thread2$(EXEEXT): 149 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c154 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c 150 155 151 156 ctxswitch-upp_coroutine$(EXEEXT): 152 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc157 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 153 158 154 159 ctxswitch-upp_thread$(EXEEXT): 155 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc160 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 156 161 157 162 ctxswitch-goroutine$(EXEEXT): 158 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go163 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go 159 164 160 165 ctxswitch-java_thread$(EXEEXT): 161 @javac$(srcdir)/ctxswitch/JavaThread.java166 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java 162 167 @echo "#!/bin/sh" > a.out 163 @echo " cd ctxswitch &&java JavaThread" >> a.out168 @echo "java JavaThread" >> a.out 164 169 @chmod a+x a.out 165 170 … … 177 182 178 183 mutex-pthread_lock$(EXEEXT): 179 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c184 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 180 185 181 186 mutex-upp$(EXEEXT): 182 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc187 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 183 188 184 189 mutex-cfa1$(EXEEXT): 185 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c190 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c 186 191 187 192 mutex-cfa2$(EXEEXT): 188 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c193 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c 189 194 190 195 mutex-cfa4$(EXEEXT): 191 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c196 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c 192 197 193 198 mutex-java_thread$(EXEEXT): 194 @javac$(srcdir)/mutex/JavaThread.java199 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java 195 200 @echo "#!/bin/sh" > a.out 196 @echo " cd mutex &&java JavaThread" >> a.out201 @echo "java JavaThread" >> a.out 197 202 @chmod a+x a.out 198 203 … … 207 212 208 213 signal-pthread_cond$(EXEEXT): 209 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c214 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 210 215 211 216 signal-upp$(EXEEXT): 212 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc217 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 213 218 214 219 signal-cfa1$(EXEEXT): 215 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c220 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c 216 221 217 222 signal-cfa2$(EXEEXT): 218 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c223 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c 219 224 220 225 signal-cfa4$(EXEEXT): 221 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c226 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c 222 227 223 228 signal-java_thread$(EXEEXT): 224 @javac$(srcdir)/schedint/JavaThread.java229 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java 225 230 @echo "#!/bin/sh" > a.out 226 @echo " cd schedint &&java JavaThread" >> a.out231 @echo "java JavaThread" >> a.out 227 232 @chmod a+x a.out 228 233 … … 236 241 237 242 waitfor-upp$(EXEEXT): 238 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc243 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 239 244 240 245 waitfor-cfa1$(EXEEXT): 241 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c246 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c 242 247 243 248 waitfor-cfa2$(EXEEXT): 244 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c249 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c 245 250 246 251 waitfor-cfa4$(EXEEXT): 247 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c252 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c 248 253 249 254 ## ========================================================================================================= … … 259 264 260 265 creation-cfa_coroutine$(EXEEXT): 261 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c266 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 262 267 263 268 creation-cfa_coroutine_eager$(EXEEXT): 264 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c269 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 265 270 266 271 creation-cfa_thread$(EXEEXT): 267 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c272 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c 268 273 269 274 creation-upp_coroutine$(EXEEXT): 270 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc275 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 271 276 272 277 creation-upp_thread$(EXEEXT): 273 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc278 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 274 279 275 280 creation-pthread$(EXEEXT): 276 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c281 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 277 282 278 283 creation-goroutine$(EXEEXT): 279 @go build -o a.out $(srcdir)/creation/goroutine.go284 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go 280 285 281 286 creation-java_thread$(EXEEXT): 282 @javac$(srcdir)/creation/JavaThread.java287 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java 283 288 @echo "#!/bin/sh" > a.out 284 @echo " cd creation &&java JavaThread" >> a.out289 @echo "java JavaThread" >> a.out 285 290 @chmod a+x a.out 286 291 … … 301 306 302 307 compile-array$(EXEEXT): 303 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c308 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c 304 309 305 310 compile-attributes$(EXEEXT): 306 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c311 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa 307 312 308 313 compile-empty$(EXEEXT): 309 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c314 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c 310 315 311 316 compile-expression$(EXEEXT): 312 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c317 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c 313 318 314 319 compile-io$(EXEEXT): 315 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c320 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c 316 321 317 322 compile-monitor$(EXEEXT): 318 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c323 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c 319 324 320 325 compile-operators$(EXEEXT): 321 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c326 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c 322 327 323 328 compile-thread$(EXEEXT): 324 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c329 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c 325 330 326 331 compile-typeof$(EXEEXT): 327 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c328 332 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c 333 -
benchmark/Makefile.in
raeb8f70 re99e43f 17 17 ######################## -*- Mode: Makefile-Automake -*- ###################### 18 18 ############################################################################### 19 20 19 VPATH = @srcdir@ 21 20 am__is_gnu_make = { \ … … 92 91 build_triplet = @build@ 93 92 host_triplet = @host@ 94 noinst_PROGRAMS = 93 EXTRA_PROGRAMS = dummy$(EXEEXT) 95 94 @WITH_LIBFIBRE_TRUE@am__append_1 = \ 96 95 @WITH_LIBFIBRE_TRUE@ ctxswitch-kos_fibre.run \ … … 99 98 subdir = benchmark 100 99 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 101 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 102 $(top_srcdir)/configure.ac 100 am__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 103 106 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 104 107 $(ACLOCAL_M4) … … 108 111 CONFIG_CLEAN_FILES = 109 112 CONFIG_CLEAN_VPATH_FILES = 110 PROGRAMS = $(noinst_PROGRAMS) 113 am_dummy_OBJECTS = c.$(OBJEXT) cxx.$(OBJEXT) 114 dummy_OBJECTS = $(am_dummy_OBJECTS) 115 dummy_LDADD = $(LDADD) 116 AM_V_lt = $(am__v_lt_@AM_V@) 117 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 118 am__v_lt_0 = --silent 119 am__v_lt_1 = 111 120 AM_V_P = $(am__v_P_@AM_V@) 112 121 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 121 130 am__v_at_0 = @ 122 131 am__v_at_1 = 123 SOURCES = 124 DIST_SOURCES = 132 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) 133 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 134 am__depfiles_maybe = depfiles 135 am__mv = mv -f 136 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 137 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 138 LTCOMPILE = $(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) 142 AM_V_CC = $(am__v_CC_@AM_V@) 143 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) 144 am__v_CC_0 = @echo " CC " $@; 145 am__v_CC_1 = 146 CCLD = $(CC) 147 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 148 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 149 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 150 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 151 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 152 am__v_CCLD_0 = @echo " CCLD " $@; 153 am__v_CCLD_1 = 154 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 155 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 156 LTCXXCOMPILE = $(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) 160 AM_V_CXX = $(am__v_CXX_@AM_V@) 161 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) 162 am__v_CXX_0 = @echo " CXX " $@; 163 am__v_CXX_1 = 164 CXXLD = $(CXX) 165 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 166 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 167 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 168 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 169 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) 170 am__v_CXXLD_0 = @echo " CXXLD " $@; 171 am__v_CXXLD_1 = 172 SOURCES = $(dummy_SOURCES) 173 DIST_SOURCES = $(dummy_SOURCES) 125 174 am__can_run_installinfo = \ 126 175 case $$AM_UPDATE_INFO_DIR in \ … … 129 178 esac 130 179 am__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. 183 am__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. 191 am__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)` 196 ETAGS = etags 197 CTAGS = ctags 198 am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/automake/depcomp \ 199 $(top_srcdir)/src/cfa.make compile 133 200 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 134 201 ACLOCAL = @ACLOCAL@ … … 136 203 AMTAR = @AMTAR@ 137 204 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 205 AR = @AR@ 138 206 AUTOCONF = @AUTOCONF@ 139 207 AUTOHEADER = @AUTOHEADER@ 140 208 AUTOMAKE = @AUTOMAKE@ 141 209 AWK = @AWK@ 142 BACKEND_CC = @BACKEND_CC@143 210 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 144 211 CC = @CC@ … … 160 227 CPPFLAGS = @CPPFLAGS@ 161 228 CXX = @CXX@ 229 CXXCPP = @CXXCPP@ 162 230 CXXDEPMODE = @CXXDEPMODE@ 163 231 CXXFLAGS = @CXXFLAGS@ … … 165 233 DEFS = @DEFS@ 166 234 DEPDIR = @DEPDIR@ 235 DLLTOOL = @DLLTOOL@ 167 236 DRIVER_DIR = @DRIVER_DIR@ 237 DSYMUTIL = @DSYMUTIL@ 238 DUMPBIN = @DUMPBIN@ 168 239 ECHO_C = @ECHO_C@ 169 240 ECHO_N = @ECHO_N@ … … 171 242 EGREP = @EGREP@ 172 243 EXEEXT = @EXEEXT@ 244 FGREP = @FGREP@ 173 245 GREP = @GREP@ 174 246 HOST_FLAGS = @HOST_FLAGS@ … … 178 250 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 179 251 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 252 LD = @LD@ 180 253 LDFLAGS = @LDFLAGS@ 181 254 LEX = @LEX@ … … 186 259 LIBOBJS = @LIBOBJS@ 187 260 LIBS = @LIBS@ 261 LIBTOOL = @LIBTOOL@ 262 LIPO = @LIPO@ 263 LN_S = @LN_S@ 188 264 LTLIBOBJS = @LTLIBOBJS@ 265 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 189 266 MAKEINFO = @MAKEINFO@ 267 MANIFEST_TOOL = @MANIFEST_TOOL@ 190 268 MKDIR_P = @MKDIR_P@ 269 NM = @NM@ 270 NMEDIT = @NMEDIT@ 271 OBJDUMP = @OBJDUMP@ 191 272 OBJEXT = @OBJEXT@ 273 OTOOL = @OTOOL@ 274 OTOOL64 = @OTOOL64@ 192 275 PACKAGE = @PACKAGE@ 193 276 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 199 282 PATH_SEPARATOR = @PATH_SEPARATOR@ 200 283 RANLIB = @RANLIB@ 284 SED = @SED@ 201 285 SET_MAKE = @SET_MAKE@ 202 286 SHELL = @SHELL@ … … 210 294 abs_top_builddir = @abs_top_builddir@ 211 295 abs_top_srcdir = @abs_top_srcdir@ 296 ac_ct_AR = @ac_ct_AR@ 212 297 ac_ct_CC = @ac_ct_CC@ 213 298 ac_ct_CXX = @ac_ct_CXX@ 299 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 214 300 am__include = @am__include@ 215 301 am__leading_dot = @am__leading_dot@ … … 259 345 top_srcdir = @top_srcdir@ 260 346 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 347 ACLOCAL_AMFLAGS = -I automake 261 348 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS) 349 LTCFACOMPILE = $(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 262 354 AM_V_CFA = $(am__v_CFA_@AM_V@) 263 355 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 264 356 am__v_CFA_0 = @echo " CFA " $@; 265 357 am__v_CFA_1 = 358 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@) 359 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@) 360 am__v_JAVAC_0 = @echo " JAVAC " $@; 361 am__v_JAVAC_1 = 362 AM_V_GOC = $(am__v_GOC_@AM_V@) 363 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@) 364 am__v_GOC_0 = @echo " GOC " $@; 365 am__v_GOC_1 = 366 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 367 AM_V_UPP = $(am__v_UPP_@AM_V@) 368 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 369 am__v_UPP_0 = @echo " UPP " $@; 370 am__v_UPP_1 = 266 371 267 372 # applies to both programs 268 UPPC OMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS)373 UPPCC = u++ 269 374 AM_CFLAGS = -O2 -Wall -I$(srcdir) -lrt -pthread 270 375 AM_CFAFLAGS = -quiet -in-tree -nodebug … … 277 382 TIME_FORMAT = "%E" 278 383 PRINT_FORMAT = %20s: #Comments needed for spacing 384 dummy_SOURCES = c.c cxx.cpp 279 385 CTXSWITCH_DEPEND = loop.run function.run fetch_add.run \ 280 386 ctxswitch-pthread.run ctxswitch-cfa_coroutine.run \ … … 287 393 288 394 .SUFFIXES: 289 .SUFFIXES: .c fa .o395 .SUFFIXES: .c .cfa .cpp .lo .o .obj 290 396 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/src/cfa.make $(am__configure_deps) 291 397 @for dep in $?; do \ … … 319 425 $(am__aclocal_m4_deps): 320 426 321 clean-noinstPROGRAMS: 322 -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) 323 tags TAGS: 324 325 ctags CTAGS: 326 327 cscope cscopelist: 328 427 dummy$(EXEEXT): $(dummy_OBJECTS) $(dummy_DEPENDENCIES) $(EXTRA_dummy_DEPENDENCIES) 428 @rm -f dummy$(EXEEXT) 429 $(AM_V_CXXLD)$(CXXLINK) $(dummy_OBJECTS) $(dummy_LDADD) $(LIBS) 430 431 mostlyclean-compile: 432 -rm -f *.$(OBJEXT) 433 434 distclean-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 488 mostlyclean-libtool: 489 -rm -f *.lo 490 491 clean-libtool: 492 -rm -rf .libs _libs 493 494 ID: $(am__tagged_files) 495 $(am__define_uniq_tagged_files); mkid -fID $$unique 496 tags: tags-am 497 TAGS: tags 498 499 tags-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 514 ctags: ctags-am 515 516 CTAGS: ctags 517 ctags-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 523 GTAGS: 524 here=`$(am__cd) $(top_builddir) && pwd` \ 525 && $(am__cd) $(top_srcdir) \ 526 && gtags -i $(GTAGS_ARGS) "$$here" 527 cscopelist: cscopelist-am 528 529 cscopelist-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 543 distclean-tags: 544 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags 329 545 330 546 distdir: $(DISTFILES) … … 360 576 check-am: all-am 361 577 check: check-am 362 all-am: Makefile $(PROGRAMS)578 all-am: Makefile 363 579 installdirs: 364 580 install: install-am … … 394 610 clean: clean-am 395 611 396 clean-am: clean-generic clean- noinstPROGRAMSmostlyclean-am612 clean-am: clean-generic clean-libtool mostlyclean-am 397 613 398 614 distclean: distclean-am 615 -rm -rf ./$(DEPDIR) 399 616 -rm -f Makefile 400 distclean-am: clean-am distclean-generic 617 distclean-am: clean-am distclean-compile distclean-generic \ 618 distclean-tags 401 619 402 620 dvi: dvi-am … … 441 659 442 660 maintainer-clean: maintainer-clean-am 661 -rm -rf ./$(DEPDIR) 443 662 -rm -f Makefile 444 663 maintainer-clean-am: distclean-am maintainer-clean-generic … … 446 665 mostlyclean: mostlyclean-am 447 666 448 mostlyclean-am: mostlyclean-generic 667 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 668 mostlyclean-libtool 449 669 450 670 pdf: pdf-am … … 460 680 .MAKE: install-am install-strip 461 681 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 \ 465 686 install install-am install-data install-data-am install-dvi \ 466 687 install-dvi-am install-exec install-exec-am install-html \ … … 469 690 install-strip installcheck installcheck-am installdirs \ 470 691 maintainer-clean maintainer-clean-generic mostlyclean \ 471 mostlyclean- generic pdf pdf-am ps ps-am tags-am uninstall \472 uninstall-am692 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ 693 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am 473 694 474 695 .PRECIOUS: Makefile … … 480 701 $(am__mv) $$depbase.Tpo $$depbase.Po 481 702 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 482 709 .NOTPARALLEL: 483 710 … … 491 718 @${STATS} .result.log 492 719 @echo "------------------------------------------------------" 493 @rm -f a.out .result.log 720 @rm -f a.out .result.log *.class 494 721 495 722 %.runquiet : … … 541 768 542 769 loop$(EXEEXT): 543 $( COMPILE) -DBENCH_N=5000000000loop.c770 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/loop.c 544 771 545 772 function$(EXEEXT): 546 $( COMPILE) -DBENCH_N=5000000000function.c773 $(AM_V_CC)$(COMPILE) -DBENCH_N=5000000000 $(srcdir)/function.c 547 774 548 775 fetch_add$(EXEEXT): 549 $( COMPILE) -DBENCH_N=500000000fetch_add.c776 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000000 $(srcdir)/fetch_add.c 550 777 551 778 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre$(EXEEXT): 552 @WITH_LIBFIBRE_TRUE@ @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre779 @WITH_LIBFIBRE_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre.cpp -I$(LIBFIBRE_DIR) -lfibre 553 780 554 781 @WITH_LIBFIBRE_TRUE@ctxswitch-kos_fibre2$(EXEEXT): 555 @WITH_LIBFIBRE_TRUE@ @$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre782 @WITH_LIBFIBRE_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/kos_fibre2.cpp -I$(LIBFIBRE_DIR) -lfibre 556 783 557 784 ctxswitch$(EXEEXT): $(CTXSWITCH_DEPEND) 558 785 559 786 ctxswitch-pthread$(EXEEXT): 560 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c787 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/pthreads.c 561 788 562 789 ctxswitch-cfa_coroutine$(EXEEXT): 563 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c790 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_cor.c 564 791 565 792 ctxswitch-cfa_thread$(EXEEXT): 566 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c793 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd.c 567 794 568 795 ctxswitch-cfa_thread2$(EXEEXT): 569 @$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c796 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/cfa_thrd2.c 570 797 571 798 ctxswitch-upp_coroutine$(EXEEXT): 572 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc799 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_cor.cc 573 800 574 801 ctxswitch-upp_thread$(EXEEXT): 575 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc802 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/ctxswitch/upp_thrd.cc 576 803 577 804 ctxswitch-goroutine$(EXEEXT): 578 @go build -o a.out $(srcdir)/ctxswitch/goroutine.go805 $(AM_V_GOC)go build -o a.out $(srcdir)/ctxswitch/goroutine.go 579 806 580 807 ctxswitch-java_thread$(EXEEXT): 581 @javac$(srcdir)/ctxswitch/JavaThread.java808 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/ctxswitch/JavaThread.java 582 809 @echo "#!/bin/sh" > a.out 583 @echo " cd ctxswitch &&java JavaThread" >> a.out810 @echo "java JavaThread" >> a.out 584 811 @chmod a+x a.out 585 812 … … 596 823 597 824 mutex-pthread_lock$(EXEEXT): 598 @$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c825 $(AM_V_CC)$(COMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/pthreads.c 599 826 600 827 mutex-upp$(EXEEXT): 601 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc828 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/mutex/upp.cc 602 829 603 830 mutex-cfa1$(EXEEXT): 604 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c831 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa1.c 605 832 606 833 mutex-cfa2$(EXEEXT): 607 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c834 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa2.c 608 835 609 836 mutex-cfa4$(EXEEXT): 610 @$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c837 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=5000000 $(srcdir)/mutex/cfa4.c 611 838 612 839 mutex-java_thread$(EXEEXT): 613 @javac$(srcdir)/mutex/JavaThread.java840 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/mutex/JavaThread.java 614 841 @echo "#!/bin/sh" > a.out 615 @echo " cd mutex &&java JavaThread" >> a.out842 @echo "java JavaThread" >> a.out 616 843 @chmod a+x a.out 617 844 … … 625 852 626 853 signal-pthread_cond$(EXEEXT): 627 @$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c854 $(AM_V_CC)$(COMPILE) -DBENCH_N=500000 $(srcdir)/schedint/pthreads.c 628 855 629 856 signal-upp$(EXEEXT): 630 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc857 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedint/upp.cc 631 858 632 859 signal-cfa1$(EXEEXT): 633 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c860 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa1.c 634 861 635 862 signal-cfa2$(EXEEXT): 636 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c863 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa2.c 637 864 638 865 signal-cfa4$(EXEEXT): 639 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c866 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedint/cfa4.c 640 867 641 868 signal-java_thread$(EXEEXT): 642 @javac$(srcdir)/schedint/JavaThread.java869 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/schedint/JavaThread.java 643 870 @echo "#!/bin/sh" > a.out 644 @echo " cd schedint &&java JavaThread" >> a.out871 @echo "java JavaThread" >> a.out 645 872 @chmod a+x a.out 646 873 … … 652 879 653 880 waitfor-upp$(EXEEXT): 654 @$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc881 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=5000000 $(srcdir)/schedext/upp.cc 655 882 656 883 waitfor-cfa1$(EXEEXT): 657 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c884 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa1.c 658 885 659 886 waitfor-cfa2$(EXEEXT): 660 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c887 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa2.c 661 888 662 889 waitfor-cfa4$(EXEEXT): 663 @$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c890 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=500000 $(srcdir)/schedext/cfa4.c 664 891 665 892 creation$(EXEEXT) :\ … … 674 901 675 902 creation-cfa_coroutine$(EXEEXT): 676 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c903 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 677 904 678 905 creation-cfa_coroutine_eager$(EXEEXT): 679 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c906 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_cor.c 680 907 681 908 creation-cfa_thread$(EXEEXT): 682 @$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c909 $(AM_V_CFA)$(CFACOMPILE) -DBENCH_N=10000000 $(srcdir)/creation/cfa_thrd.c 683 910 684 911 creation-upp_coroutine$(EXEEXT): 685 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc912 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_cor.cc 686 913 687 914 creation-upp_thread$(EXEEXT): 688 @$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc915 $(AM_V_UPP)$(UPPCOMPILE) -DBENCH_N=50000000 $(srcdir)/creation/upp_thrd.cc 689 916 690 917 creation-pthread$(EXEEXT): 691 @$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c918 $(AM_V_CC)$(COMPILE) -DBENCH_N=250000 $(srcdir)/creation/pthreads.c 692 919 693 920 creation-goroutine$(EXEEXT): 694 @go build -o a.out $(srcdir)/creation/goroutine.go921 $(AM_V_GOC)go build -o a.out $(srcdir)/creation/goroutine.go 695 922 696 923 creation-java_thread$(EXEEXT): 697 @javac$(srcdir)/creation/JavaThread.java924 $(AM_V_JAVAC)javac -d $(builddir) $(srcdir)/creation/JavaThread.java 698 925 @echo "#!/bin/sh" > a.out 699 @echo " cd creation &&java JavaThread" >> a.out926 @echo "java JavaThread" >> a.out 700 927 @chmod a+x a.out 701 928 … … 711 938 712 939 compile-array$(EXEEXT): 713 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c940 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/array.c 714 941 715 942 compile-attributes$(EXEEXT): 716 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.c943 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/attributes.cfa 717 944 718 945 compile-empty$(EXEEXT): 719 @$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c946 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(srcdir)/compile/empty.c 720 947 721 948 compile-expression$(EXEEXT): 722 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c949 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/expression.c 723 950 724 951 compile-io$(EXEEXT): 725 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c952 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/io1.c 726 953 727 954 compile-monitor$(EXEEXT): 728 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c955 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/monitor.c 729 956 730 957 compile-operators$(EXEEXT): 731 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c958 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/operators.c 732 959 733 960 compile-thread$(EXEEXT): 734 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c961 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/concurrent/thread.c 735 962 736 963 compile-typeof$(EXEEXT): 737 @$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c964 $(AM_V_CFA)$(CFACOMPILE) -fsyntax-only -w $(testdir)/typeof.c 738 965 739 966 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
benchmark/Monitor.c
raeb8f70 re99e43f 29 29 EndTime = Time(); 30 30 31 sout | ( EndTime - StartTime ) / N | endl;31 sout | ( EndTime - StartTime ) / N; 32 32 } -
configure
raeb8f70 re99e43f 199 199 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && 200 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 201 209 test \$(( 1 + 1 )) = 2 || exit 1" 202 210 if (eval "$as_required") 2>/dev/null; then : … … 557 565 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 558 566 567 SHELL=${CONFIG_SHELL-/bin/sh} 568 559 569 560 570 test -n "$DJDIR" || exec 7<&0 </dev/null … … 626 636 LTLIBOBJS 627 637 LIBOBJS 638 CFA_BACKEND_CC 628 639 ALLOCA 640 WITH_LIBFIBRE_FALSE 641 WITH_LIBFIBRE_TRUE 642 CXXCPP 643 CPP 644 LT_SYS_LIBRARY_PATH 645 OTOOL64 646 OTOOL 647 LIPO 648 NMEDIT 649 DSYMUTIL 650 MANIFEST_TOOL 651 RANLIB 652 ac_ct_AR 653 AR 654 DLLTOOL 655 OBJDUMP 656 LN_S 657 NM 658 ac_ct_DUMPBIN 659 DUMPBIN 660 LD 661 FGREP 629 662 EGREP 630 663 GREP 631 CPP 632 WITH_LIBFIBRE_FALSE 633 WITH_LIBFIBRE_TRUE 634 RANLIB 664 SED 665 LIBTOOL 635 666 LEXLIB 636 667 LEX_OUTPUT_ROOT … … 687 718 CFA_INCDIR 688 719 CFA_PREFIX 689 CFA_BACKEND_CC690 BACKEND_CC691 720 DOendif 692 721 DOifskipcompile … … 763 792 enable_silent_rules 764 793 with_cfa_name 765 with_backend_compiler766 794 with_target_hosts 767 795 enable_dependency_tracking 796 enable_shared 797 enable_static 798 with_pic 799 enable_fast_install 800 with_aix_soname 801 with_gnu_ld 802 with_sysroot 803 enable_libtool_lock 768 804 ' 769 805 ac_precious_vars='build_alias … … 782 818 YACC 783 819 YFLAGS 784 CPP' 820 LT_SYS_LIBRARY_PATH 821 CPP 822 CXXCPP' 785 823 786 824 … … 1418 1456 --disable-dependency-tracking 1419 1457 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) 1420 1463 1421 1464 Optional Packages: … … 1423 1466 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1424 1467 --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)1426 1468 --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). 1427 1477 1428 1478 Some influential environment variables: … … 1444 1494 This script will default YFLAGS to the empty string to avoid a 1445 1495 default value of `-d' given by some make applications. 1496 LT_SYS_LIBRARY_PATH 1497 User-defined run-time library search path. 1446 1498 CPP C preprocessor 1499 CXXCPP C++ preprocessor 1447 1500 1448 1501 Use these variables to override the choices made by `configure' or to help … … 1648 1701 } # ac_fn_c_try_link 1649 1702 1650 # ac_fn_c_check_ type LINENO TYPEVAR INCLUDES1651 # ------------------------------------------- 1652 # Tests whether TYPE exists after having included INCLUDES, setting cache1653 # 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. 1707 ac_fn_c_check_header_compile () 1655 1708 { 1656 1709 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack … … 1660 1713 $as_echo_n "(cached) " >&6 1661 1714 else 1662 eval "$3=no"1663 1715 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1664 1716 /* end confdefs.h. */ 1665 1717 $4 1666 int 1667 main () 1668 { 1669 if (sizeof ($2)) 1670 return 0; 1671 ; 1672 return 0; 1673 } 1718 #include <$2> 1674 1719 _ACEOF 1675 1720 if ac_fn_c_try_compile "$LINENO"; then : 1676 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1677 /* end confdefs.h. */1678 $41679 int1680 main ()1681 {1682 if (sizeof (($2)))1683 return 0;1684 ;1685 return 0;1686 }1687 _ACEOF1688 if ac_fn_c_try_compile "$LINENO"; then :1689 1690 else1691 1721 eval "$3=yes" 1692 fi 1693 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1722 else 1723 eval "$3=no" 1694 1724 fi 1695 1725 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext … … 1700 1730 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1701 1731 1702 } # ac_fn_c_check_ type1732 } # ac_fn_c_check_header_compile 1703 1733 1704 1734 # ac_fn_c_try_cpp LINENO … … 1781 1811 } # ac_fn_c_try_run 1782 1812 1783 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES1784 # -------------------------------------------------------1785 # Tests whether HEADER exists and can be compiled using the include files in1786 # 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_stack1790 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&51791 $as_echo_n "checking for $2... " >&6; }1792 if eval \${$3+:} false; then :1793 $as_echo_n "(cached) " >&61794 else1795 cat confdefs.h - <<_ACEOF >conftest.$ac_ext1796 /* end confdefs.h. */1797 $41798 #include <$2>1799 _ACEOF1800 if ac_fn_c_try_compile "$LINENO"; then :1801 eval "$3=yes"1802 else1803 eval "$3=no"1804 fi1805 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext1806 fi1807 eval ac_res=\$$31808 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&51809 $as_echo "$ac_res" >&6; }1810 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno1811 1812 } # ac_fn_c_check_header_compile1813 1814 1813 # ac_fn_c_check_func LINENO FUNC VAR 1815 1814 # ---------------------------------- … … 1878 1877 1879 1878 } # 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. 1883 ac_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" 1887 case "(($ac_try" in 1888 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1889 *) ac_try_echo=$ac_try;; 1890 esac 1891 eval 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 1906 else 1907 $as_echo "$as_me: failed program was:" >&5 1908 sed 's/^/| /' conftest.$ac_ext >&5 1909 1910 ac_retval=1 1911 fi 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. 1920 ac_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" 1925 case "(($ac_try" in 1926 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1927 *) ac_try_echo=$ac_try;; 1928 esac 1929 eval 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 1947 else 1948 $as_echo "$as_me: failed program was:" >&5 1949 sed 's/^/| /' conftest.$ac_ext >&5 1950 1951 ac_retval=1 1952 fi 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. 1967 ac_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; } 1972 if eval \${$3+:} false; then : 1973 $as_echo_n "(cached) " >&6 1974 else 1975 eval "$3=no" 1976 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1977 /* end confdefs.h. */ 1978 $4 1979 int 1980 main () 1981 { 1982 if (sizeof ($2)) 1983 return 0; 1984 ; 1985 return 0; 1986 } 1987 _ACEOF 1988 if ac_fn_c_try_compile "$LINENO"; then : 1989 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1990 /* end confdefs.h. */ 1991 $4 1992 int 1993 main () 1994 { 1995 if (sizeof (($2))) 1996 return 0; 1997 ; 1998 return 0; 1999 } 2000 _ACEOF 2001 if ac_fn_c_try_compile "$LINENO"; then : 2002 2003 else 2004 eval "$3=yes" 2005 fi 2006 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 2007 fi 2008 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 2009 fi 2010 eval 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 1880 2016 1881 2017 # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES … … 2480 2616 2481 2617 2618 2482 2619 #AC_CONFIG_SRCDIR([src/main.cc]) 2483 2620 ac_config_headers="$ac_config_headers config.h:src/config.h.in" … … 3166 3303 3167 3304 #============================================================================== 3168 # backend compiler implementation3169 3170 # Check whether --with-backend-compiler was given.3171 if test "${with_backend_compiler+set}" = set; then :3172 withval=$with_backend_compiler; backendcompiler=$withval3173 else3174 backendcompiler=""3175 fi3176 3177 if test "x$backendcompiler" != "x"; then3178 BACKEND_CC=${backendcompiler}3179 else3180 # Extract the first word of "gcc", so it can be a program name with args.3181 set dummy gcc; ac_word=$23182 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&53183 $as_echo_n "checking for $ac_word... " >&6; }3184 if ${ac_cv_path_BACKEND_CC+:} false; then :3185 $as_echo_n "(cached) " >&63186 else3187 case $BACKEND_CC in3188 [\\/]* | ?:[\\/]*)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_SEPARATOR3193 for as_dir in $PATH3194 do3195 IFS=$as_save_IFS3196 test -z "$as_dir" && as_dir=.3197 for ac_exec_ext in '' $ac_executable_extensions; do3198 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then3199 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" >&53201 break 23202 fi3203 done3204 done3205 IFS=$as_save_IFS3206 3207 ;;3208 esac3209 fi3210 BACKEND_CC=$ac_cv_path_BACKEND_CC3211 if test -n "$BACKEND_CC"; then3212 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BACKEND_CC" >&53213 $as_echo "$BACKEND_CC" >&6; }3214 else3215 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&53216 $as_echo "no" >&6; }3217 fi3218 3219 # check gcc installed3220 if test "x$BACKEND_CC" = "x"; then3221 as_fn_error $? "some version of gcc is needed. Get it at ftp://ftp.gnu.org" "$LINENO" 53222 exit 13223 fi3224 fi3225 3226 cat >>confdefs.h <<_ACEOF3227 #define CFA_BACKEND_CC "${BACKEND_CC}"3228 _ACEOF3229 3230 3231 3232 #==============================================================================3233 3305 # Installation paths 3234 3306 … … 3494 3566 echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data 3495 3567 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 3497 3570 done 3498 3571 … … 5315 5388 fi 5316 5389 if 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 : 5390 case `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;} ;; 5394 esac 5395 5396 5397 5398 macro_version='2.4.6' 5399 macro_revision='2.4.6' 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 ltmain=$ac_aux_dir/ltmain.sh 5414 5415 # Backslashify metacharacters that are still active within 5416 # double-quoted strings. 5417 sed_quote_subst='s/\(["`$\\]\)/\\\1/g' 5418 5419 # Same as above, but do not quote variable references. 5420 double_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. 5424 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 5425 5426 # Sed substitution to delay expansion of an escaped single quote. 5427 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 5428 5429 # Sed substitution to avoid accidental globbing in evaled expressions 5430 no_glob_subst='s/\*/\\\*/g' 5431 5432 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 5433 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 5434 ECHO=$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. 5439 if 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 --' 5442 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 5443 ECHO='printf %s\n' 5444 else 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' 5453 fi 5454 5455 # func_echo_all arg... 5456 # Invoke $ECHO with all args, space-separated. 5457 func_echo_all () 5458 { 5459 $ECHO "" 5460 } 5461 5462 case $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; } ;; 5469 esac 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; } 5486 if ${ac_cv_path_SED+:} false; then : 5323 5487 $as_echo_n "(cached) " >&6 5324 5488 else 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 5361 5499 for as_dir in $PATH 5362 5500 do 5363 5501 IFS=$as_save_IFS 5364 5502 test -z "$as_dir" && as_dir=. 5503 for ac_prog in sed gsed; do 5365 5504 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 5509 case `"$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;; 5533 esac 5534 5535 $ac_path_SED_found && break 3 5536 done 5537 done 5372 5538 done 5373 5539 IFS=$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 5410 5542 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 5543 else 5544 ac_cv_path_SED=$SED 5545 fi 5546 5547 fi 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 5553 test -z "$SED" && SED=sed 5554 Xsed="$SED -e 1s/^X//" 5555 5556 5557 5558 5559 5560 5561 5562 5563 5631 5564 5632 5565 … … 5761 5694 5762 5695 5696 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 5697 $as_echo_n "checking for fgrep... " >&6; } 5698 if ${ac_cv_path_FGREP+:} false; then : 5699 $as_echo_n "(cached) " >&6 5700 else 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 5708 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 5709 do 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 5718 case `"$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;; 5742 esac 5743 5744 $ac_path_FGREP_found && break 3 5745 done 5746 done 5747 done 5748 IFS=$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 5752 else 5753 ac_cv_path_FGREP=$FGREP 5754 fi 5755 5756 fi 5757 fi 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 5763 test -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. 5784 if test "${with_gnu_ld+set}" = set; then : 5785 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes 5786 else 5787 with_gnu_ld=no 5788 fi 5789 5790 ac_prog=ld 5791 if 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 5822 elif 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; } 5825 else 5826 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 5827 $as_echo_n "checking for non-GNU ld... " >&6; } 5828 fi 5829 if ${lt_cv_path_LD+:} false; then : 5830 $as_echo_n "(cached) " >&6 5831 else 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 5853 else 5854 lt_cv_path_LD=$LD # Let the user override the test with a path. 5855 fi 5856 fi 5857 5858 LD=$lt_cv_path_LD 5859 if test -n "$LD"; then 5860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 5861 $as_echo "$LD" >&6; } 5862 else 5863 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5864 $as_echo "no" >&6; } 5865 fi 5866 test -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; } 5869 if ${lt_cv_prog_gnu_ld+:} false; then : 5870 $as_echo_n "(cached) " >&6 5871 else 5872 # I'd rather use --version here, but apparently some GNU lds only accept -v. 5873 case `$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 ;; 5880 esac 5881 fi 5882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 5883 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 5884 with_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; } 5896 if ${lt_cv_path_NM+:} false; then : 5897 $as_echo_n "(cached) " >&6 5898 else 5899 if test -n "$NM"; then 5900 # Let the user override the test. 5901 lt_cv_path_NM=$NM 5902 else 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} 5946 fi 5947 fi 5948 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 5949 $as_echo "$lt_cv_path_NM" >&6; } 5950 if test no != "$lt_cv_path_NM"; then 5951 NM=$lt_cv_path_NM 5952 else 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. 5961 set 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; } 5964 if ${ac_cv_prog_DUMPBIN+:} false; then : 5965 $as_echo_n "(cached) " >&6 5966 else 5967 if test -n "$DUMPBIN"; then 5968 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. 5969 else 5970 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5971 for as_dir in $PATH 5972 do 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 5981 done 5982 done 5983 IFS=$as_save_IFS 5984 5985 fi 5986 fi 5987 DUMPBIN=$ac_cv_prog_DUMPBIN 5988 if test -n "$DUMPBIN"; then 5989 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 5990 $as_echo "$DUMPBIN" >&6; } 5991 else 5992 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5993 $as_echo "no" >&6; } 5994 fi 5995 5996 5997 test -n "$DUMPBIN" && break 5998 done 5999 fi 6000 if test -z "$DUMPBIN"; then 6001 ac_ct_DUMPBIN=$DUMPBIN 6002 for ac_prog in dumpbin "link -dump" 6003 do 6004 # Extract the first word of "$ac_prog", so it can be a program name with args. 6005 set 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; } 6008 if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : 6009 $as_echo_n "(cached) " >&6 6010 else 6011 if test -n "$ac_ct_DUMPBIN"; then 6012 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. 6013 else 6014 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6015 for as_dir in $PATH 6016 do 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 6025 done 6026 done 6027 IFS=$as_save_IFS 6028 6029 fi 6030 fi 6031 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN 6032 if 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; } 6035 else 6036 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6037 $as_echo "no" >&6; } 6038 fi 6039 6040 6041 test -n "$ac_ct_DUMPBIN" && break 6042 done 6043 6044 if test "x$ac_ct_DUMPBIN" = x; then 6045 DUMPBIN=":" 6046 else 6047 case $cross_compiling:$ac_tool_warned in 6048 yes:) 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;} 6051 ac_tool_warned=yes ;; 6052 esac 6053 DUMPBIN=$ac_ct_DUMPBIN 6054 fi 6055 fi 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 6070 fi 6071 test -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; } 6080 if ${lt_cv_nm_interface+:} false; then : 6081 $as_echo_n "(cached) " >&6 6082 else 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* 6097 fi 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; } 6103 LN_S=$as_ln_s 6104 if test "$LN_S" = "ln -s"; then 6105 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 6106 $as_echo "yes" >&6; } 6107 else 6108 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 6109 $as_echo "no, using $LN_S" >&6; } 6110 fi 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; } 6115 if ${lt_cv_sys_max_cmd_len+:} false; then : 6116 $as_echo_n "(cached) " >&6 6117 else 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 6241 fi 6242 6243 if 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; } 6246 else 6247 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 6248 $as_echo "none" >&6; } 6249 fi 6250 max_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 6261 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 6262 lt_unset=unset 6263 else 6264 lt_unset=false 6265 fi 6266 6267 6268 6269 6270 6271 # test EBCDIC or ASCII 6272 case `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 ;; 6282 esac 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; } 6294 if ${lt_cv_to_host_file_cmd+:} false; then : 6295 $as_echo_n "(cached) " >&6 6296 else 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 ;; 6327 esac 6328 6329 fi 6330 6331 to_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; } 6341 if ${lt_cv_to_tool_file_cmd+:} false; then : 6342 $as_echo_n "(cached) " >&6 6343 else 6344 #assume ordinary cross tools, or native build. 6345 lt_cv_to_tool_file_cmd=func_convert_file_noop 6346 case $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 ;; 6354 esac 6355 6356 fi 6357 6358 to_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; } 6368 if ${lt_cv_ld_reload_flag+:} false; then : 6369 $as_echo_n "(cached) " >&6 6370 else 6371 lt_cv_ld_reload_flag='-r' 6372 fi 6373 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 6374 $as_echo "$lt_cv_ld_reload_flag" >&6; } 6375 reload_flag=$lt_cv_ld_reload_flag 6376 case $reload_flag in 6377 "" | " "*) ;; 6378 *) reload_flag=" $reload_flag" ;; 6379 esac 6380 reload_cmds='$LD$reload_flag -o $output$reload_objs' 6381 case $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 ;; 6394 esac 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 if 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. 6406 set 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; } 6409 if ${ac_cv_prog_OBJDUMP+:} false; then : 6410 $as_echo_n "(cached) " >&6 6411 else 6412 if test -n "$OBJDUMP"; then 6413 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. 6414 else 6415 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6416 for as_dir in $PATH 6417 do 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 6426 done 6427 done 6428 IFS=$as_save_IFS 6429 6430 fi 6431 fi 6432 OBJDUMP=$ac_cv_prog_OBJDUMP 6433 if test -n "$OBJDUMP"; then 6434 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 6435 $as_echo "$OBJDUMP" >&6; } 6436 else 6437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6438 $as_echo "no" >&6; } 6439 fi 6440 6441 6442 fi 6443 if 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. 6446 set 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; } 6449 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : 6450 $as_echo_n "(cached) " >&6 6451 else 6452 if test -n "$ac_ct_OBJDUMP"; then 6453 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. 6454 else 6455 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6456 for as_dir in $PATH 6457 do 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 6466 done 6467 done 6468 IFS=$as_save_IFS 6469 6470 fi 6471 fi 6472 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP 6473 if 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; } 6476 else 6477 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6478 $as_echo "no" >&6; } 6479 fi 6480 6481 if test "x$ac_ct_OBJDUMP" = x; then 6482 OBJDUMP="false" 6483 else 6484 case $cross_compiling:$ac_tool_warned in 6485 yes:) 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;} 6488 ac_tool_warned=yes ;; 6489 esac 6490 OBJDUMP=$ac_ct_OBJDUMP 6491 fi 6492 else 6493 OBJDUMP="$ac_cv_prog_OBJDUMP" 6494 fi 6495 6496 test -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; } 6508 if ${lt_cv_deplibs_check_method+:} false; then : 6509 $as_echo_n "(cached) " >&6 6510 else 6511 lt_cv_file_magic_cmd='$MAGIC_CMD' 6512 lt_cv_file_magic_test_file= 6513 lt_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 6525 case $host_os in 6526 aix[4-9]*) 6527 lt_cv_deplibs_check_method=pass_all 6528 ;; 6529 6530 beos*) 6531 lt_cv_deplibs_check_method=pass_all 6532 ;; 6533 6534 bsdi[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 6540 cygwin*) 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 6546 mingw* | 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 6560 cegcc*) 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 6566 darwin* | rhapsody*) 6567 lt_cv_deplibs_check_method=pass_all 6568 ;; 6569 6570 freebsd* | 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 6586 haiku*) 6587 lt_cv_deplibs_check_method=pass_all 6588 ;; 6589 6590 hpux10.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 6608 interix[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 6613 irix5* | 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. 6624 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 6625 lt_cv_deplibs_check_method=pass_all 6626 ;; 6627 6628 netbsd* | 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 6636 newos6*) 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 6646 openbsd* | 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 6654 osf3* | osf4* | osf5*) 6655 lt_cv_deplibs_check_method=pass_all 6656 ;; 6657 6658 rdos*) 6659 lt_cv_deplibs_check_method=pass_all 6660 ;; 6661 6662 solaris*) 6663 lt_cv_deplibs_check_method=pass_all 6664 ;; 6665 6666 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 6667 lt_cv_deplibs_check_method=pass_all 6668 ;; 6669 6670 sysv4 | 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 6697 tpf*) 6698 lt_cv_deplibs_check_method=pass_all 6699 ;; 6700 os2*) 6701 lt_cv_deplibs_check_method=pass_all 6702 ;; 6703 esac 6704 6705 fi 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 6709 file_magic_glob= 6710 want_nocaseglob=no 6711 if 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 6721 fi 6722 6723 file_magic_cmd=$lt_cv_file_magic_cmd 6724 deplibs_check_method=$lt_cv_deplibs_check_method 6725 test -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 6748 if 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. 6750 set 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; } 6753 if ${ac_cv_prog_DLLTOOL+:} false; then : 6754 $as_echo_n "(cached) " >&6 6755 else 6756 if test -n "$DLLTOOL"; then 6757 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. 6758 else 6759 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6760 for as_dir in $PATH 6761 do 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 6770 done 6771 done 6772 IFS=$as_save_IFS 6773 6774 fi 6775 fi 6776 DLLTOOL=$ac_cv_prog_DLLTOOL 6777 if test -n "$DLLTOOL"; then 6778 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 6779 $as_echo "$DLLTOOL" >&6; } 6780 else 6781 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6782 $as_echo "no" >&6; } 6783 fi 6784 6785 6786 fi 6787 if 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. 6790 set 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; } 6793 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : 6794 $as_echo_n "(cached) " >&6 6795 else 6796 if test -n "$ac_ct_DLLTOOL"; then 6797 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. 6798 else 6799 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6800 for as_dir in $PATH 6801 do 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 6810 done 6811 done 6812 IFS=$as_save_IFS 6813 6814 fi 6815 fi 6816 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL 6817 if 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; } 6820 else 6821 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6822 $as_echo "no" >&6; } 6823 fi 6824 6825 if test "x$ac_ct_DLLTOOL" = x; then 6826 DLLTOOL="false" 6827 else 6828 case $cross_compiling:$ac_tool_warned in 6829 yes:) 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;} 6832 ac_tool_warned=yes ;; 6833 esac 6834 DLLTOOL=$ac_ct_DLLTOOL 6835 fi 6836 else 6837 DLLTOOL="$ac_cv_prog_DLLTOOL" 6838 fi 6839 6840 test -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; } 6853 if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : 6854 $as_echo_n "(cached) " >&6 6855 else 6856 lt_cv_sharedlib_from_linklib_cmd='unknown' 6857 6858 case $host_os in 6859 cygwin* | 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 ;; 6875 esac 6876 6877 fi 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; } 6880 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 6881 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 6882 6883 6884 6885 6886 6887 6888 6889 if 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. 6893 set 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; } 6896 if ${ac_cv_prog_AR+:} false; then : 6897 $as_echo_n "(cached) " >&6 6898 else 6899 if test -n "$AR"; then 6900 ac_cv_prog_AR="$AR" # Let the user override the test. 6901 else 6902 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6903 for as_dir in $PATH 6904 do 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 6913 done 6914 done 6915 IFS=$as_save_IFS 6916 6917 fi 6918 fi 6919 AR=$ac_cv_prog_AR 6920 if test -n "$AR"; then 6921 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 6922 $as_echo "$AR" >&6; } 6923 else 6924 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6925 $as_echo "no" >&6; } 6926 fi 6927 6928 6929 test -n "$AR" && break 6930 done 6931 fi 6932 if test -z "$AR"; then 6933 ac_ct_AR=$AR 6934 for ac_prog in ar 6935 do 6936 # Extract the first word of "$ac_prog", so it can be a program name with args. 6937 set 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; } 6940 if ${ac_cv_prog_ac_ct_AR+:} false; then : 6941 $as_echo_n "(cached) " >&6 6942 else 6943 if test -n "$ac_ct_AR"; then 6944 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. 6945 else 6946 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6947 for as_dir in $PATH 6948 do 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 6957 done 6958 done 6959 IFS=$as_save_IFS 6960 6961 fi 6962 fi 6963 ac_ct_AR=$ac_cv_prog_ac_ct_AR 6964 if 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; } 6967 else 6968 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6969 $as_echo "no" >&6; } 6970 fi 6971 6972 6973 test -n "$ac_ct_AR" && break 6974 done 6975 6976 if test "x$ac_ct_AR" = x; then 6977 AR="false" 6978 else 6979 case $cross_compiling:$ac_tool_warned in 6980 yes:) 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;} 6983 ac_tool_warned=yes ;; 6984 esac 6985 AR=$ac_ct_AR 6986 fi 6987 fi 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; } 7004 if ${lt_cv_ar_at_file+:} false; then : 7005 $as_echo_n "(cached) " >&6 7006 else 7007 lt_cv_ar_at_file=no 7008 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7009 /* end confdefs.h. */ 7010 7011 int 7012 main () 7013 { 7014 7015 ; 7016 return 0; 7017 } 7018 _ACEOF 7019 if 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 7041 fi 7042 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 7043 7044 fi 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 7048 if test no = "$lt_cv_ar_at_file"; then 7049 archiver_list_spec= 7050 else 7051 archiver_list_spec=$lt_cv_ar_at_file 7052 fi 7053 7054 7055 7056 7057 7058 7059 7060 if 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. 7062 set 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; } 7065 if ${ac_cv_prog_STRIP+:} false; then : 7066 $as_echo_n "(cached) " >&6 7067 else 7068 if test -n "$STRIP"; then 7069 ac_cv_prog_STRIP="$STRIP" # Let the user override the test. 7070 else 7071 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7072 for as_dir in $PATH 7073 do 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 7082 done 7083 done 7084 IFS=$as_save_IFS 7085 7086 fi 7087 fi 7088 STRIP=$ac_cv_prog_STRIP 7089 if test -n "$STRIP"; then 7090 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 7091 $as_echo "$STRIP" >&6; } 7092 else 7093 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7094 $as_echo "no" >&6; } 7095 fi 7096 7097 7098 fi 7099 if 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. 7102 set 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; } 7105 if ${ac_cv_prog_ac_ct_STRIP+:} false; then : 7106 $as_echo_n "(cached) " >&6 7107 else 7108 if test -n "$ac_ct_STRIP"; then 7109 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. 7110 else 7111 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7112 for as_dir in $PATH 7113 do 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 7122 done 7123 done 7124 IFS=$as_save_IFS 7125 7126 fi 7127 fi 7128 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP 7129 if 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; } 7132 else 7133 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7134 $as_echo "no" >&6; } 7135 fi 7136 7137 if test "x$ac_ct_STRIP" = x; then 7138 STRIP=":" 7139 else 7140 case $cross_compiling:$ac_tool_warned in 7141 yes:) 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;} 7144 ac_tool_warned=yes ;; 7145 esac 7146 STRIP=$ac_ct_STRIP 7147 fi 7148 else 7149 STRIP="$ac_cv_prog_STRIP" 7150 fi 7151 7152 test -z "$STRIP" && STRIP=: 7153 7154 7155 7156 7157 7158 7159 if 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. 7161 set 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; } 7164 if ${ac_cv_prog_RANLIB+:} false; then : 7165 $as_echo_n "(cached) " >&6 7166 else 7167 if test -n "$RANLIB"; then 7168 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. 7169 else 7170 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7171 for as_dir in $PATH 7172 do 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 7181 done 7182 done 7183 IFS=$as_save_IFS 7184 7185 fi 7186 fi 7187 RANLIB=$ac_cv_prog_RANLIB 7188 if test -n "$RANLIB"; then 7189 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 7190 $as_echo "$RANLIB" >&6; } 7191 else 7192 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7193 $as_echo "no" >&6; } 7194 fi 7195 7196 7197 fi 7198 if 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. 7201 set 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; } 7204 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : 7205 $as_echo_n "(cached) " >&6 7206 else 7207 if test -n "$ac_ct_RANLIB"; then 7208 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. 7209 else 7210 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7211 for as_dir in $PATH 7212 do 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 7221 done 7222 done 7223 IFS=$as_save_IFS 7224 7225 fi 7226 fi 7227 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB 7228 if 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; } 7231 else 7232 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7233 $as_echo "no" >&6; } 7234 fi 7235 7236 if test "x$ac_ct_RANLIB" = x; then 7237 RANLIB=":" 7238 else 7239 case $cross_compiling:$ac_tool_warned in 7240 yes:) 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;} 7243 ac_tool_warned=yes ;; 7244 esac 7245 RANLIB=$ac_ct_RANLIB 7246 fi 7247 else 7248 RANLIB="$ac_cv_prog_RANLIB" 7249 fi 7250 7251 test -z "$RANLIB" && RANLIB=: 7252 7253 7254 7255 7256 7257 7258 # Determine commands to create old-style static archives. 7259 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 7260 old_postinstall_cmds='chmod 644 $oldlib' 7261 old_postuninstall_cmds= 7262 7263 if 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" 7273 fi 7274 7275 case $host_os in 7276 darwin*) 7277 lock_old_archive_extraction=yes ;; 7278 *) 7279 lock_old_archive_extraction=no ;; 7280 esac 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. 7321 LTCC=${LTCC-"$CC"} 7322 7323 # If no C compiler flags were specified, use CFLAGS. 7324 LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 7325 7326 # Allow CC to be a program name with arguments. 7327 compiler=$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; } 7333 if ${lt_cv_sys_global_symbol_pipe+:} false; then : 7334 $as_echo_n "(cached) " >&6 7335 else 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. 7341 symcode='[BCDEGRST]' 7342 7343 # Regexp to match symbols that can be accessed directly from C. 7344 sympat='\([_A-Za-z][_A-Za-z0-9]*\)' 7345 7346 # Define system-specific variables. 7347 case $host_os in 7348 aix*) 7349 symcode='[BCDT]' 7350 ;; 7351 cygwin* | mingw* | pw32* | cegcc*) 7352 symcode='[ABCDGISTW]' 7353 ;; 7354 hpux*) 7355 if test ia64 = "$host_cpu"; then 7356 symcode='[ABCDEGRST]' 7357 fi 7358 ;; 7359 irix* | nonstopux*) 7360 symcode='[BCDEGRST]' 7361 ;; 7362 osf*) 7363 symcode='[BCDEGQRST]' 7364 ;; 7365 solaris*) 7366 symcode='[BDRT]' 7367 ;; 7368 sco3.2v5*) 7369 symcode='[DT]' 7370 ;; 7371 sysv4.2uw2*) 7372 symcode='[DT]' 7373 ;; 7374 sysv5* | sco5v6* | unixware* | OpenUNIX*) 7375 symcode='[ABDT]' 7376 ;; 7377 sysv4) 7378 symcode='[DFNSTU]' 7379 ;; 7380 esac 7381 7382 # If we're using GNU nm, then use its standard symbol codes. 7383 case `$NM -V 2>&1` in 7384 *GNU* | *'with BFD'*) 7385 symcode='[ABCDGIRSTW]' ;; 7386 esac 7387 7388 if 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'" 7397 else 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= 7403 fi 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. 7408 lt_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 7414 lt_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. 7421 lt_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 7428 opt_cr= 7429 case $build_os in 7430 mingw*) 7431 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 7432 ;; 7433 esac 7434 7435 # Try without a prefix underscore, then with it. 7436 for 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 7473 extern "C" { 7474 #endif 7475 char nm_test_var; 7476 void nm_test_func(void); 7477 void nm_test_func(void){} 7478 #ifdef __cplusplus 7479 } 7480 #endif 7481 int 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 7520 extern "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. */ 7530 LT_DLSYM_CONST struct { 7531 const char *name; 7532 void *address; 7533 } 7534 lt__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 7545 static 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 7590 done 7591 7592 fi 7593 7594 if test -z "$lt_cv_sys_global_symbol_pipe"; then 7595 lt_cv_sys_global_symbol_to_cdecl= 7596 fi 7597 if 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; } 7600 else 7601 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 7602 $as_echo "ok" >&6; } 7603 fi 7604 7605 # Response file support. 7606 if test "$lt_cv_nm_interface" = "MS dumpbin"; then 7607 nm_file_list_spec='@' 7608 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then 7609 nm_file_list_spec='@' 7610 fi 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. 7652 if test "${with_sysroot+set}" = set; then : 7653 withval=$with_sysroot; 7654 else 7655 with_sysroot=no 7656 fi 7657 7658 7659 lt_sysroot= 7660 case $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 ;; 7676 esac 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; } 7687 if ${ac_cv_path_lt_DD+:} false; then : 7688 $as_echo_n "(cached) " >&6 7689 else 7690 printf 0123456789abcdef0123456789abcdef >conftest.i 7691 cat conftest.i conftest.i >conftest2.i 7692 : ${lt_DD:=$DD} 7693 if 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 7697 for as_dir in $PATH 7698 do 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 7705 if "$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=: 7708 fi 7709 $ac_path_lt_DD_found && break 3 7710 done 7711 done 7712 done 7713 IFS=$as_save_IFS 7714 if test -z "$ac_cv_path_lt_DD"; then 7715 : 7716 fi 7717 else 7718 ac_cv_path_lt_DD=$lt_DD 7719 fi 7720 7721 rm -f conftest.i conftest2.i conftest.out 7722 fi 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; } 7729 if ${lt_cv_truncate_bin+:} false; then : 7730 $as_echo_n "(cached) " >&6 7731 else 7732 printf 0123456789abcdef0123456789abcdef >conftest.i 7733 cat conftest.i conftest.i >conftest2.i 7734 lt_cv_truncate_bin= 7735 if "$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" 7738 fi 7739 rm -f conftest.i conftest2.i conftest.out 7740 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" 7741 fi 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. 7752 func_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. 7766 if test "${enable_libtool_lock+set}" = set; then : 7767 enableval=$enable_libtool_lock; 7768 fi 7769 7770 test 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. 7774 case $host in 7775 ia64-*-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 7833 mips64*-*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 7869 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ 7870 s390*-*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; } 7946 if ${lt_cv_cc_needs_belf+:} false; then : 7947 $as_echo_n "(cached) " >&6 7948 else 7949 ac_ext=c 7950 ac_cpp='$CPP $CPPFLAGS' 7951 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 7952 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 7953 ac_compiler_gnu=$ac_cv_c_compiler_gnu 7954 7955 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 7956 /* end confdefs.h. */ 7957 7958 int 7959 main () 7960 { 7961 7962 ; 7963 return 0; 7964 } 7965 _ACEOF 7966 if ac_fn_c_try_link "$LINENO"; then : 7967 lt_cv_cc_needs_belf=yes 7968 else 7969 lt_cv_cc_needs_belf=no 7970 fi 7971 rm -f core conftest.err conftest.$ac_objext \ 7972 conftest$ac_exeext conftest.$ac_ext 7973 ac_ext=c 7974 ac_cpp='$CPP $CPPFLAGS' 7975 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 7976 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 7977 ac_compiler_gnu=$ac_cv_c_compiler_gnu 7978 7979 fi 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 ;; 8024 esac 8025 8026 need_locks=$enable_libtool_lock 8027 8028 if 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. 8030 set 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; } 8033 if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : 8034 $as_echo_n "(cached) " >&6 8035 else 8036 if test -n "$MANIFEST_TOOL"; then 8037 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. 8038 else 8039 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8040 for as_dir in $PATH 8041 do 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 8050 done 8051 done 8052 IFS=$as_save_IFS 8053 8054 fi 8055 fi 8056 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL 8057 if test -n "$MANIFEST_TOOL"; then 8058 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 8059 $as_echo "$MANIFEST_TOOL" >&6; } 8060 else 8061 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8062 $as_echo "no" >&6; } 8063 fi 8064 8065 8066 fi 8067 if 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. 8070 set 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; } 8073 if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : 8074 $as_echo_n "(cached) " >&6 8075 else 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. 8078 else 8079 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8080 for as_dir in $PATH 8081 do 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 8090 done 8091 done 8092 IFS=$as_save_IFS 8093 8094 fi 8095 fi 8096 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL 8097 if 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; } 8100 else 8101 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8102 $as_echo "no" >&6; } 8103 fi 8104 8105 if test "x$ac_ct_MANIFEST_TOOL" = x; then 8106 MANIFEST_TOOL=":" 8107 else 8108 case $cross_compiling:$ac_tool_warned in 8109 yes:) 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;} 8112 ac_tool_warned=yes ;; 8113 esac 8114 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL 8115 fi 8116 else 8117 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" 8118 fi 8119 8120 test -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; } 8123 if ${lt_cv_path_mainfest_tool+:} false; then : 8124 $as_echo_n "(cached) " >&6 8125 else 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* 8134 fi 8135 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 8136 $as_echo "$lt_cv_path_mainfest_tool" >&6; } 8137 if test yes != "$lt_cv_path_mainfest_tool"; then 8138 MANIFEST_TOOL=: 8139 fi 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. 8150 set 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; } 8153 if ${ac_cv_prog_DSYMUTIL+:} false; then : 8154 $as_echo_n "(cached) " >&6 8155 else 8156 if test -n "$DSYMUTIL"; then 8157 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. 8158 else 8159 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8160 for as_dir in $PATH 8161 do 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 8170 done 8171 done 8172 IFS=$as_save_IFS 8173 8174 fi 8175 fi 8176 DSYMUTIL=$ac_cv_prog_DSYMUTIL 8177 if test -n "$DSYMUTIL"; then 8178 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 8179 $as_echo "$DSYMUTIL" >&6; } 8180 else 8181 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8182 $as_echo "no" >&6; } 8183 fi 8184 8185 8186 fi 8187 if 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. 8190 set 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; } 8193 if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : 8194 $as_echo_n "(cached) " >&6 8195 else 8196 if test -n "$ac_ct_DSYMUTIL"; then 8197 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. 8198 else 8199 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8200 for as_dir in $PATH 8201 do 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 8210 done 8211 done 8212 IFS=$as_save_IFS 8213 8214 fi 8215 fi 8216 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL 8217 if 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; } 8220 else 8221 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8222 $as_echo "no" >&6; } 8223 fi 8224 8225 if test "x$ac_ct_DSYMUTIL" = x; then 8226 DSYMUTIL=":" 8227 else 8228 case $cross_compiling:$ac_tool_warned in 8229 yes:) 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;} 8232 ac_tool_warned=yes ;; 8233 esac 8234 DSYMUTIL=$ac_ct_DSYMUTIL 8235 fi 8236 else 8237 DSYMUTIL="$ac_cv_prog_DSYMUTIL" 8238 fi 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. 8242 set 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; } 8245 if ${ac_cv_prog_NMEDIT+:} false; then : 8246 $as_echo_n "(cached) " >&6 8247 else 8248 if test -n "$NMEDIT"; then 8249 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. 8250 else 8251 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8252 for as_dir in $PATH 8253 do 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 8262 done 8263 done 8264 IFS=$as_save_IFS 8265 8266 fi 8267 fi 8268 NMEDIT=$ac_cv_prog_NMEDIT 8269 if test -n "$NMEDIT"; then 8270 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 8271 $as_echo "$NMEDIT" >&6; } 8272 else 8273 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8274 $as_echo "no" >&6; } 8275 fi 8276 8277 8278 fi 8279 if 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. 8282 set 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; } 8285 if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : 8286 $as_echo_n "(cached) " >&6 8287 else 8288 if test -n "$ac_ct_NMEDIT"; then 8289 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. 8290 else 8291 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8292 for as_dir in $PATH 8293 do 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 8302 done 8303 done 8304 IFS=$as_save_IFS 8305 8306 fi 8307 fi 8308 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT 8309 if 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; } 8312 else 8313 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8314 $as_echo "no" >&6; } 8315 fi 8316 8317 if test "x$ac_ct_NMEDIT" = x; then 8318 NMEDIT=":" 8319 else 8320 case $cross_compiling:$ac_tool_warned in 8321 yes:) 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;} 8324 ac_tool_warned=yes ;; 8325 esac 8326 NMEDIT=$ac_ct_NMEDIT 8327 fi 8328 else 8329 NMEDIT="$ac_cv_prog_NMEDIT" 8330 fi 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. 8334 set 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; } 8337 if ${ac_cv_prog_LIPO+:} false; then : 8338 $as_echo_n "(cached) " >&6 8339 else 8340 if test -n "$LIPO"; then 8341 ac_cv_prog_LIPO="$LIPO" # Let the user override the test. 8342 else 8343 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8344 for as_dir in $PATH 8345 do 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 8354 done 8355 done 8356 IFS=$as_save_IFS 8357 8358 fi 8359 fi 8360 LIPO=$ac_cv_prog_LIPO 8361 if test -n "$LIPO"; then 8362 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 8363 $as_echo "$LIPO" >&6; } 8364 else 8365 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8366 $as_echo "no" >&6; } 8367 fi 8368 8369 8370 fi 8371 if 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. 8374 set 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; } 8377 if ${ac_cv_prog_ac_ct_LIPO+:} false; then : 8378 $as_echo_n "(cached) " >&6 8379 else 8380 if test -n "$ac_ct_LIPO"; then 8381 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. 8382 else 8383 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8384 for as_dir in $PATH 8385 do 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 8394 done 8395 done 8396 IFS=$as_save_IFS 8397 8398 fi 8399 fi 8400 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO 8401 if 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; } 8404 else 8405 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8406 $as_echo "no" >&6; } 8407 fi 8408 8409 if test "x$ac_ct_LIPO" = x; then 8410 LIPO=":" 8411 else 8412 case $cross_compiling:$ac_tool_warned in 8413 yes:) 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;} 8416 ac_tool_warned=yes ;; 8417 esac 8418 LIPO=$ac_ct_LIPO 8419 fi 8420 else 8421 LIPO="$ac_cv_prog_LIPO" 8422 fi 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. 8426 set 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; } 8429 if ${ac_cv_prog_OTOOL+:} false; then : 8430 $as_echo_n "(cached) " >&6 8431 else 8432 if test -n "$OTOOL"; then 8433 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. 8434 else 8435 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8436 for as_dir in $PATH 8437 do 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 8446 done 8447 done 8448 IFS=$as_save_IFS 8449 8450 fi 8451 fi 8452 OTOOL=$ac_cv_prog_OTOOL 8453 if test -n "$OTOOL"; then 8454 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 8455 $as_echo "$OTOOL" >&6; } 8456 else 8457 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8458 $as_echo "no" >&6; } 8459 fi 8460 8461 8462 fi 8463 if 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. 8466 set 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; } 8469 if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : 8470 $as_echo_n "(cached) " >&6 8471 else 8472 if test -n "$ac_ct_OTOOL"; then 8473 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. 8474 else 8475 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8476 for as_dir in $PATH 8477 do 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 8486 done 8487 done 8488 IFS=$as_save_IFS 8489 8490 fi 8491 fi 8492 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL 8493 if 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; } 8496 else 8497 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8498 $as_echo "no" >&6; } 8499 fi 8500 8501 if test "x$ac_ct_OTOOL" = x; then 8502 OTOOL=":" 8503 else 8504 case $cross_compiling:$ac_tool_warned in 8505 yes:) 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;} 8508 ac_tool_warned=yes ;; 8509 esac 8510 OTOOL=$ac_ct_OTOOL 8511 fi 8512 else 8513 OTOOL="$ac_cv_prog_OTOOL" 8514 fi 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. 8518 set 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; } 8521 if ${ac_cv_prog_OTOOL64+:} false; then : 8522 $as_echo_n "(cached) " >&6 8523 else 8524 if test -n "$OTOOL64"; then 8525 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. 8526 else 8527 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8528 for as_dir in $PATH 8529 do 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 8538 done 8539 done 8540 IFS=$as_save_IFS 8541 8542 fi 8543 fi 8544 OTOOL64=$ac_cv_prog_OTOOL64 8545 if test -n "$OTOOL64"; then 8546 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 8547 $as_echo "$OTOOL64" >&6; } 8548 else 8549 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8550 $as_echo "no" >&6; } 8551 fi 8552 8553 8554 fi 8555 if 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. 8558 set 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; } 8561 if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : 8562 $as_echo_n "(cached) " >&6 8563 else 8564 if test -n "$ac_ct_OTOOL64"; then 8565 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. 8566 else 8567 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 8568 for as_dir in $PATH 8569 do 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 8578 done 8579 done 8580 IFS=$as_save_IFS 8581 8582 fi 8583 fi 8584 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 8585 if 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; } 8588 else 8589 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8590 $as_echo "no" >&6; } 8591 fi 8592 8593 if test "x$ac_ct_OTOOL64" = x; then 8594 OTOOL64=":" 8595 else 8596 case $cross_compiling:$ac_tool_warned in 8597 yes:) 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;} 8600 ac_tool_warned=yes ;; 8601 esac 8602 OTOOL64=$ac_ct_OTOOL64 8603 fi 8604 else 8605 OTOOL64="$ac_cv_prog_OTOOL64" 8606 fi 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; } 8636 if ${lt_cv_apple_cc_single_mod+:} false; then : 8637 $as_echo_n "(cached) " >&6 8638 else 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 8666 fi 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; } 8672 if ${lt_cv_ld_exported_symbols_list+:} false; then : 8673 $as_echo_n "(cached) " >&6 8674 else 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 8682 int 8683 main () 8684 { 8685 8686 ; 8687 return 0; 8688 } 8689 _ACEOF 8690 if ac_fn_c_try_link "$LINENO"; then : 8691 lt_cv_ld_exported_symbols_list=yes 8692 else 8693 lt_cv_ld_exported_symbols_list=no 8694 fi 8695 rm -f core conftest.err conftest.$ac_objext \ 8696 conftest$ac_exeext conftest.$ac_ext 8697 LDFLAGS=$save_LDFLAGS 8698 8699 fi 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; } 8705 if ${lt_cv_ld_force_load+:} false; then : 8706 $as_echo_n "(cached) " >&6 8707 else 8708 lt_cv_ld_force_load=no 8709 cat > conftest.c << _LT_EOF 8710 int 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 8719 int 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 8734 fi 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]" 8786 func_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 8807 ac_ext=c 8808 ac_cpp='$CPP $CPPFLAGS' 8809 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 8810 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 8811 ac_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. 8815 if test -n "$CPP" && test -d "$CPP"; then 8816 CPP= 8817 fi 8818 if test -z "$CPP"; then 8819 if ${ac_cv_prog_CPP+:} false; then : 8820 $as_echo_n "(cached) " >&6 8821 else 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 8826 for ac_c_preproc_warn_flag in '' yes 8827 do 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 8843 if ac_fn_c_try_cpp "$LINENO"; then : 8844 8845 else 8846 # Broken: fails on valid input. 8847 continue 8848 fi 8849 rm -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 8857 if ac_fn_c_try_cpp "$LINENO"; then : 8858 # Broken: success on invalid input. 8859 continue 8860 else 8861 # Passes both tests. 8862 ac_preproc_ok=: 8863 break 8864 fi 8865 rm -f conftest.err conftest.i conftest.$ac_ext 8866 8867 done 8868 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 8869 rm -f conftest.i conftest.err conftest.$ac_ext 8870 if $ac_preproc_ok; then : 8871 break 8872 fi 8873 8874 done 8875 ac_cv_prog_CPP=$CPP 8876 8877 fi 8878 CPP=$ac_cv_prog_CPP 8879 else 8880 ac_cv_prog_CPP=$CPP 8881 fi 8882 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 8883 $as_echo "$CPP" >&6; } 8884 ac_preproc_ok=false 8885 for ac_c_preproc_warn_flag in '' yes 8886 do 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 8902 if ac_fn_c_try_cpp "$LINENO"; then : 8903 8904 else 8905 # Broken: fails on valid input. 8906 continue 8907 fi 8908 rm -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 8916 if ac_fn_c_try_cpp "$LINENO"; then : 8917 # Broken: success on invalid input. 8918 continue 8919 else 8920 # Passes both tests. 8921 ac_preproc_ok=: 8922 break 8923 fi 8924 rm -f conftest.err conftest.i conftest.$ac_ext 8925 8926 done 8927 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 8928 rm -f conftest.i conftest.err conftest.$ac_ext 8929 if $ac_preproc_ok; then : 8930 8931 else 8932 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 8933 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 8934 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 8935 See \`config.log' for more details" "$LINENO" 5; } 8936 fi 8937 8938 ac_ext=c 8939 ac_cpp='$CPP $CPPFLAGS' 8940 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 8941 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 8942 ac_compiler_gnu=$ac_cv_c_compiler_gnu 8943 8944 5763 8945 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 5764 8946 $as_echo_n "checking for ANSI C header files... " >&6; } … … 5890 9072 5891 9073 9074 for ac_header in dlfcn.h 9075 do : 9076 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default 9077 " 9078 if test "x$ac_cv_header_dlfcn_h" = xyes; then : 9079 cat >>confdefs.h <<_ACEOF 9080 #define HAVE_DLFCN_H 1 9081 _ACEOF 9082 9083 fi 9084 9085 done 9086 9087 9088 9089 9090 func_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. 9113 if 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 9131 else 9132 enable_shared=yes 9133 fi 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 # Check whether --enable-static was given. 9144 if 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 9162 else 9163 enable_static=yes 9164 fi 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 # Check whether --with-pic was given. 9176 if 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 9193 else 9194 pic_mode=default 9195 fi 9196 9197 9198 9199 9200 9201 9202 9203 9204 # Check whether --enable-fast-install was given. 9205 if 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 9223 else 9224 enable_fast_install=yes 9225 fi 9226 9227 9228 9229 9230 9231 9232 9233 9234 shared_archive_member_spec= 9235 case $host,$enable_shared in 9236 power*-*-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. 9241 if 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 9250 else 9251 if ${lt_cv_with_aix_soname+:} false; then : 9252 $as_echo_n "(cached) " >&6 9253 else 9254 lt_cv_with_aix_soname=aix 9255 fi 9256 9257 with_aix_soname=$lt_cv_with_aix_soname 9258 fi 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 ;; 9278 esac 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 # This can be used to rebuild libtool when needed 9290 LIBTOOL_DEPS=$ltmain 9291 9292 # Always use our own libtool. 9293 LIBTOOL='$(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 9324 test -z "$LN_S" && LN_S="ln -s" 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 if test -n "${ZSH_VERSION+set}"; then 9340 setopt NO_GLOB_SUBST 9341 fi 9342 9343 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 9344 $as_echo_n "checking for objdir... " >&6; } 9345 if ${lt_cv_objdir+:} false; then : 9346 $as_echo_n "(cached) " >&6 9347 else 9348 rm -f .libs 2>/dev/null 9349 mkdir .libs 2>/dev/null 9350 if test -d .libs; then 9351 lt_cv_objdir=.libs 9352 else 9353 # MS-DOS does not allow filenames that begin with a dot. 9354 lt_cv_objdir=_libs 9355 fi 9356 rmdir .libs 2>/dev/null 9357 fi 9358 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 9359 $as_echo "$lt_cv_objdir" >&6; } 9360 objdir=$lt_cv_objdir 9361 9362 9363 9364 9365 9366 cat >>confdefs.h <<_ACEOF 9367 #define LT_OBJDIR "$lt_cv_objdir/" 9368 _ACEOF 9369 9370 9371 9372 9373 case $host_os in 9374 aix3*) 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 ;; 9383 esac 9384 9385 # Global variables: 9386 ofile=libtool 9387 can_build_shared=yes 9388 9389 # All known linkers require a '.a' archive for static linking (except MSVC, 9390 # which needs '.lib'). 9391 libext=a 9392 9393 with_gnu_ld=$lt_cv_prog_gnu_ld 9394 9395 old_CC=$CC 9396 old_CFLAGS=$CFLAGS 9397 9398 # Set sane defaults for various variables 9399 test -z "$CC" && CC=cc 9400 test -z "$LTCC" && LTCC=$CC 9401 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 9402 test -z "$LD" && LD=ld 9403 test -z "$ac_objext" && ac_objext=o 9404 9405 func_cc_basename $compiler 9406 cc_basename=$func_cc_basename_result 9407 9408 9409 # Only perform the check for file, if the check method requires it 9410 test -z "$MAGIC_CMD" && MAGIC_CMD=file 9411 case $deplibs_check_method in 9412 file_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; } 9416 if ${lt_cv_path_MAGIC_CMD+:} false; then : 9417 $as_echo_n "(cached) " >&6 9418 else 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 ;; 9462 esac 9463 fi 9464 9465 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 9466 if test -n "$MAGIC_CMD"; then 9467 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 9468 $as_echo "$MAGIC_CMD" >&6; } 9469 else 9470 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 9471 $as_echo "no" >&6; } 9472 fi 9473 9474 9475 9476 9477 9478 if 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; } 9482 if ${lt_cv_path_MAGIC_CMD+:} false; then : 9483 $as_echo_n "(cached) " >&6 9484 else 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 ;; 9528 esac 9529 fi 9530 9531 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 9532 if test -n "$MAGIC_CMD"; then 9533 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 9534 $as_echo "$MAGIC_CMD" >&6; } 9535 else 9536 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 9537 $as_echo "no" >&6; } 9538 fi 9539 9540 9541 else 9542 MAGIC_CMD=: 9543 fi 9544 fi 9545 9546 fi 9547 ;; 9548 esac 9549 9550 # Use C for the default configuration in the libtool script 9551 9552 lt_save_CC=$CC 9553 ac_ext=c 9554 ac_cpp='$CPP $CPPFLAGS' 9555 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 9556 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 9557 ac_compiler_gnu=$ac_cv_c_compiler_gnu 9558 9559 9560 # Source file extension for C test sources. 9561 ac_ext=c 9562 9563 # Object file extension for compiled C test sources. 9564 objext=o 9565 objext=$objext 9566 9567 # Code to be used in simple compile tests 9568 lt_simple_compile_test_code="int some_variable = 0;" 9569 9570 # Code to be used in simple link tests 9571 lt_simple_link_test_code='int main(){return(0);}' 9572 9573 9574 9575 9576 9577 9578 9579 # If no C compiler was specified, use CC. 9580 LTCC=${LTCC-"$CC"} 9581 9582 # If no C compiler flags were specified, use CFLAGS. 9583 LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 9584 9585 # Allow CC to be a program name with arguments. 9586 compiler=$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. 9590 compiler_DEFAULT=$CC 9591 9592 # save warnings/boilerplate of simple test code 9593 ac_outfile=conftest.$ac_objext 9594 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 9595 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 9596 _lt_compiler_boilerplate=`cat conftest.err` 9597 $RM conftest* 9598 9599 ac_outfile=conftest.$ac_objext 9600 echo "$lt_simple_link_test_code" >conftest.$ac_ext 9601 eval "$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... 9610 if test -n "$compiler"; then 9611 9612 lt_prog_compiler_no_builtin_flag= 9613 9614 if 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; } 9624 if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : 9625 $as_echo_n "(cached) " >&6 9626 else 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 9656 fi 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 9660 if 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" 9662 else 9663 : 9664 fi 9665 9666 fi 9667 9668 9669 9670 9671 9672 9673 lt_prog_compiler_wl= 9674 lt_prog_compiler_pic= 9675 lt_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 10005 case $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 ;; 10013 esac 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; } 10017 if ${lt_cv_prog_compiler_pic+:} false; then : 10018 $as_echo_n "(cached) " >&6 10019 else 10020 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic 10021 fi 10022 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 10023 $as_echo "$lt_cv_prog_compiler_pic" >&6; } 10024 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic 10025 10026 # 10027 # Check to make sure the PIC flag actually works. 10028 # 10029 if 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; } 10032 if ${lt_cv_prog_compiler_pic_works+:} false; then : 10033 $as_echo_n "(cached) " >&6 10034 else 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 10064 fi 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 10068 if 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 10073 else 10074 lt_prog_compiler_pic= 10075 lt_prog_compiler_can_build_shared=no 10076 fi 10077 10078 fi 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 # 10091 # Check to make sure the static flag actually works. 10092 # 10093 wl=$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; } 10096 if ${lt_cv_prog_compiler_static_works+:} false; then : 10097 $as_echo_n "(cached) " >&6 10098 else 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 10121 fi 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 10125 if test yes = "$lt_cv_prog_compiler_static_works"; then 10126 : 10127 else 10128 lt_prog_compiler_static= 10129 fi 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; } 10139 if ${lt_cv_prog_compiler_c_o+:} false; then : 10140 $as_echo_n "(cached) " >&6 10141 else 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 10183 fi 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; } 10194 if ${lt_cv_prog_compiler_c_o+:} false; then : 10195 $as_echo_n "(cached) " >&6 10196 else 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 10238 fi 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 10245 hard_links=nottested 10246 if 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 10263 else 10264 need_locks=no 10265 fi 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 10830 else 10831 if ${lt_cv_aix_libpath_+:} false; then : 10832 $as_echo_n "(cached) " >&6 10833 else 10834 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 10835 /* end confdefs.h. */ 10836 10837 int 10838 main () 10839 { 10840 10841 ; 10842 return 0; 10843 } 10844 _ACEOF 10845 if 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 10859 fi 10860 rm -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 10866 fi 10867 10868 aix_libpath=$lt_cv_aix_libpath_ 10869 fi 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 10883 else 10884 if ${lt_cv_aix_libpath_+:} false; then : 10885 $as_echo_n "(cached) " >&6 10886 else 10887 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 10888 /* end confdefs.h. */ 10889 10890 int 10891 main () 10892 { 10893 10894 ; 10895 return 0; 10896 } 10897 _ACEOF 10898 if 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 10912 fi 10913 rm -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 10919 fi 10920 10921 aix_libpath=$lt_cv_aix_libpath_ 10922 fi 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; } 11166 if ${lt_cv_prog_compiler__b+:} false; then : 11167 $as_echo_n "(cached) " >&6 11168 else 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 11191 fi 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 11195 if 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' 11197 else 11198 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 11199 fi 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; } 11235 if ${lt_cv_irix_exported_symbol+:} false; then : 11236 $as_echo_n "(cached) " >&6 11237 else 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. */ 11242 int foo (void) { return 0; } 11243 _ACEOF 11244 if ac_fn_c_try_link "$LINENO"; then : 11245 lt_cv_irix_exported_symbol=yes 11246 else 11247 lt_cv_irix_exported_symbol=no 11248 fi 11249 rm -f core conftest.err conftest.$ac_objext \ 11250 conftest$ac_exeext conftest.$ac_ext 11251 LDFLAGS=$save_LDFLAGS 11252 fi 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; } 11537 test no = "$ld_shlibs" && can_build_shared=no 11538 11539 with_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 # 11558 case "x$archive_cmds_need_lc" in 11559 x|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; } 11574 if ${lt_cv_archive_cmds_need_lc+:} false; then : 11575 $as_echo_n "(cached) " >&6 11576 else 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 11614 fi 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 ;; 11622 esac 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 11778 if 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 ' 11820 BEGIN {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` 11846 else 11847 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 11848 fi 11849 library_names_spec= 11850 libname_spec='lib$name' 11851 soname_spec= 11852 shrext_cmds=.so 11853 postinstall_cmds= 11854 postuninstall_cmds= 11855 finish_cmds= 11856 finish_eval= 11857 shlibpath_var= 11858 shlibpath_overrides_runpath=unknown 11859 version_type=none 11860 dynamic_linker="$host_os ld.so" 11861 sys_lib_dlsearch_path_spec="/lib /usr/lib" 11862 need_lib_prefix=unknown 11863 hardcode_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 11867 need_version=unknown 11868 11869 11870 11871 case $host_os in 11872 aix3*) 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 11881 aix[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 11975 amigaos*) 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 11990 beos*) 11991 library_names_spec='$libname$shared_ext' 11992 dynamic_linker="$host_os ld.so" 11993 shlibpath_var=LIBRARY_PATH 11994 ;; 11995 11996 bsdi[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 12010 cygwin* | 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 12120 darwin* | 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 12135 dgux*) 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 12144 freebsd* | 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 12189 haiku*) 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 12202 hpux9* | 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 12251 interix[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 12263 irix5* | 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. 12301 linux*oldld* | linux*aout* | linux*coff*) 12302 dynamic_linker=no 12303 ;; 12304 12305 linux*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. 12326 linux* | 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 12339 else 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 12348 int 12349 main () 12350 { 12351 12352 ; 12353 return 0; 12354 } 12355 _ACEOF 12356 if 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 12359 fi 12360 fi 12361 rm -f core conftest.err conftest.$ac_objext \ 12362 conftest$ac_exeext conftest.$ac_ext 12363 LDFLAGS=$save_LDFLAGS 12364 libdir=$save_libdir 12365 12366 fi 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 12395 netbsdelf*-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 12407 netbsd*) 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 12425 newsos6) 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 12444 openbsd* | 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 12459 os2*) 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 12489 osf3* | 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 12500 rdos*) 12501 dynamic_linker=no 12502 ;; 12503 12504 solaris*) 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 12517 sunos4*) 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 12529 sysv4 | 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 12552 sysv4*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 12561 sysv5* | 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 12583 tpf*) 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 12594 uts4*) 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 ;; 12604 esac 12605 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 12606 $as_echo "$dynamic_linker" >&6; } 12607 test no = "$dynamic_linker" && can_build_shared=no 12608 12609 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 12610 if test yes = "$GCC"; then 12611 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 12612 fi 12613 12614 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 12615 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 12616 fi 12617 12618 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 12619 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 12620 fi 12621 12622 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 12623 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 12624 12625 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 12626 func_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 12629 configure_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; } 12729 hardcode_action= 12730 if 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 12747 else 12748 # We cannot hardcode anything, or else we can only hardcode existing 12749 # directories. 12750 hardcode_action=unsupported 12751 fi 12752 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 12753 $as_echo "$hardcode_action" >&6; } 12754 12755 if test relink = "$hardcode_action" || 12756 test yes = "$inherit_rpath"; then 12757 # Fast installation is not supported 12758 enable_fast_install=no 12759 elif test yes = "$shlibpath_overrides_runpath" || 12760 test no = "$enable_shared"; then 12761 # Fast installation is not necessary 12762 enable_fast_install=needless 12763 fi 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 12774 else 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; } 12799 if ${ac_cv_lib_dl_dlopen+:} false; then : 12800 $as_echo_n "(cached) " >&6 12801 else 12802 ac_check_lib_save_LIBS=$LIBS 12803 LIBS="-ldl $LIBS" 12804 cat 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 12811 extern "C" 12812 #endif 12813 char dlopen (); 12814 int 12815 main () 12816 { 12817 return dlopen (); 12818 ; 12819 return 0; 12820 } 12821 _ACEOF 12822 if ac_fn_c_try_link "$LINENO"; then : 12823 ac_cv_lib_dl_dlopen=yes 12824 else 12825 ac_cv_lib_dl_dlopen=no 12826 fi 12827 rm -f core conftest.err conftest.$ac_objext \ 12828 conftest$ac_exeext conftest.$ac_ext 12829 LIBS=$ac_check_lib_save_LIBS 12830 fi 12831 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 12832 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } 12833 if test "x$ac_cv_lib_dl_dlopen" = xyes; then : 12834 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl 12835 else 12836 12837 lt_cv_dlopen=dyld 12838 lt_cv_dlopen_libs= 12839 lt_cv_dlopen_self=yes 12840 12841 fi 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" 12855 if test "x$ac_cv_func_shl_load" = xyes; then : 12856 lt_cv_dlopen=shl_load 12857 else 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; } 12860 if ${ac_cv_lib_dld_shl_load+:} false; then : 12861 $as_echo_n "(cached) " >&6 12862 else 12863 ac_check_lib_save_LIBS=$LIBS 12864 LIBS="-ldld $LIBS" 12865 cat 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 12872 extern "C" 12873 #endif 12874 char shl_load (); 12875 int 12876 main () 12877 { 12878 return shl_load (); 12879 ; 12880 return 0; 12881 } 12882 _ACEOF 12883 if ac_fn_c_try_link "$LINENO"; then : 12884 ac_cv_lib_dld_shl_load=yes 12885 else 12886 ac_cv_lib_dld_shl_load=no 12887 fi 12888 rm -f core conftest.err conftest.$ac_objext \ 12889 conftest$ac_exeext conftest.$ac_ext 12890 LIBS=$ac_check_lib_save_LIBS 12891 fi 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; } 12894 if test "x$ac_cv_lib_dld_shl_load" = xyes; then : 12895 lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld 12896 else 12897 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" 12898 if test "x$ac_cv_func_dlopen" = xyes; then : 12899 lt_cv_dlopen=dlopen 12900 else 12901 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 12902 $as_echo_n "checking for dlopen in -ldl... " >&6; } 12903 if ${ac_cv_lib_dl_dlopen+:} false; then : 12904 $as_echo_n "(cached) " >&6 12905 else 12906 ac_check_lib_save_LIBS=$LIBS 12907 LIBS="-ldl $LIBS" 12908 cat 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 12915 extern "C" 12916 #endif 12917 char dlopen (); 12918 int 12919 main () 12920 { 12921 return dlopen (); 12922 ; 12923 return 0; 12924 } 12925 _ACEOF 12926 if ac_fn_c_try_link "$LINENO"; then : 12927 ac_cv_lib_dl_dlopen=yes 12928 else 12929 ac_cv_lib_dl_dlopen=no 12930 fi 12931 rm -f core conftest.err conftest.$ac_objext \ 12932 conftest$ac_exeext conftest.$ac_ext 12933 LIBS=$ac_check_lib_save_LIBS 12934 fi 12935 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 12936 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } 12937 if test "x$ac_cv_lib_dl_dlopen" = xyes; then : 12938 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl 12939 else 12940 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 12941 $as_echo_n "checking for dlopen in -lsvld... " >&6; } 12942 if ${ac_cv_lib_svld_dlopen+:} false; then : 12943 $as_echo_n "(cached) " >&6 12944 else 12945 ac_check_lib_save_LIBS=$LIBS 12946 LIBS="-lsvld $LIBS" 12947 cat 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 12954 extern "C" 12955 #endif 12956 char dlopen (); 12957 int 12958 main () 12959 { 12960 return dlopen (); 12961 ; 12962 return 0; 12963 } 12964 _ACEOF 12965 if ac_fn_c_try_link "$LINENO"; then : 12966 ac_cv_lib_svld_dlopen=yes 12967 else 12968 ac_cv_lib_svld_dlopen=no 12969 fi 12970 rm -f core conftest.err conftest.$ac_objext \ 12971 conftest$ac_exeext conftest.$ac_ext 12972 LIBS=$ac_check_lib_save_LIBS 12973 fi 12974 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 12975 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } 12976 if test "x$ac_cv_lib_svld_dlopen" = xyes; then : 12977 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld 12978 else 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; } 12981 if ${ac_cv_lib_dld_dld_link+:} false; then : 12982 $as_echo_n "(cached) " >&6 12983 else 12984 ac_check_lib_save_LIBS=$LIBS 12985 LIBS="-ldld $LIBS" 12986 cat 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 12993 extern "C" 12994 #endif 12995 char dld_link (); 12996 int 12997 main () 12998 { 12999 return dld_link (); 13000 ; 13001 return 0; 13002 } 13003 _ACEOF 13004 if ac_fn_c_try_link "$LINENO"; then : 13005 ac_cv_lib_dld_dld_link=yes 13006 else 13007 ac_cv_lib_dld_dld_link=no 13008 fi 13009 rm -f core conftest.err conftest.$ac_objext \ 13010 conftest$ac_exeext conftest.$ac_ext 13011 LIBS=$ac_check_lib_save_LIBS 13012 fi 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; } 13015 if test "x$ac_cv_lib_dld_dld_link" = xyes; then : 13016 lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld 13017 fi 13018 13019 13020 fi 13021 13022 13023 fi 13024 13025 13026 fi 13027 13028 13029 fi 13030 13031 13032 fi 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; } 13056 if ${lt_cv_dlopen_self+:} false; then : 13057 $as_echo_n "(cached) " >&6 13058 else 13059 if test yes = "$cross_compiling"; then : 13060 lt_cv_dlopen_self=cross 13061 else 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)) 13109 int fnord () __attribute__((visibility("default"))); 13110 #endif 13111 13112 int fnord () { return 42; } 13113 int 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 13150 fi 13151 rm -fr conftest* 13152 13153 13154 fi 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; } 13162 if ${lt_cv_dlopen_self_static+:} false; then : 13163 $as_echo_n "(cached) " >&6 13164 else 13165 if test yes = "$cross_compiling"; then : 13166 lt_cv_dlopen_self_static=cross 13167 else 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)) 13215 int fnord () __attribute__((visibility("default"))); 13216 #endif 13217 13218 int fnord () { return 42; } 13219 int 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 13256 fi 13257 rm -fr conftest* 13258 13259 13260 fi 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 13280 fi 13281 13282 13283 13284 13285 13286 13287 13288 13289 13290 13291 13292 13293 13294 13295 13296 13297 13298 striplib= 13299 old_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; } 13302 if 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; } 13307 else 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 13326 fi 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 13383 fi 13384 ac_ext=c 13385 ac_cpp='$CPP $CPPFLAGS' 13386 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 13387 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 13388 ac_compiler_gnu=$ac_cv_c_compiler_gnu 13389 13390 CC=$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 13396 ac_cpp='$CXXCPP $CPPFLAGS' 13397 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 13398 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 13399 ac_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; } 13402 if test -z "$CXXCPP"; then 13403 if ${ac_cv_prog_CXXCPP+:} false; then : 13404 $as_echo_n "(cached) " >&6 13405 else 13406 # Double quotes because CXXCPP needs to be expanded 13407 for CXXCPP in "$CXX -E" "/lib/cpp" 13408 do 13409 ac_preproc_ok=false 13410 for ac_cxx_preproc_warn_flag in '' yes 13411 do 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 13427 if ac_fn_cxx_try_cpp "$LINENO"; then : 13428 13429 else 13430 # Broken: fails on valid input. 13431 continue 13432 fi 13433 rm -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 13441 if ac_fn_cxx_try_cpp "$LINENO"; then : 13442 # Broken: success on invalid input. 13443 continue 13444 else 13445 # Passes both tests. 13446 ac_preproc_ok=: 13447 break 13448 fi 13449 rm -f conftest.err conftest.i conftest.$ac_ext 13450 13451 done 13452 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 13453 rm -f conftest.i conftest.err conftest.$ac_ext 13454 if $ac_preproc_ok; then : 13455 break 13456 fi 13457 13458 done 13459 ac_cv_prog_CXXCPP=$CXXCPP 13460 13461 fi 13462 CXXCPP=$ac_cv_prog_CXXCPP 13463 else 13464 ac_cv_prog_CXXCPP=$CXXCPP 13465 fi 13466 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 13467 $as_echo "$CXXCPP" >&6; } 13468 ac_preproc_ok=false 13469 for ac_cxx_preproc_warn_flag in '' yes 13470 do 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 13486 if ac_fn_cxx_try_cpp "$LINENO"; then : 13487 13488 else 13489 # Broken: fails on valid input. 13490 continue 13491 fi 13492 rm -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 13500 if ac_fn_cxx_try_cpp "$LINENO"; then : 13501 # Broken: success on invalid input. 13502 continue 13503 else 13504 # Passes both tests. 13505 ac_preproc_ok=: 13506 break 13507 fi 13508 rm -f conftest.err conftest.i conftest.$ac_ext 13509 13510 done 13511 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 13512 rm -f conftest.i conftest.err conftest.$ac_ext 13513 if $ac_preproc_ok; then : 13514 13515 else 13516 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 13517 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 13518 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check 13519 See \`config.log' for more details" "$LINENO" 5; } 13520 fi 13521 13522 ac_ext=c 13523 ac_cpp='$CPP $CPPFLAGS' 13524 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 13525 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 13526 ac_compiler_gnu=$ac_cv_c_compiler_gnu 13527 13528 else 13529 _lt_caught_CXX_error=yes 13530 fi 13531 13532 ac_ext=cpp 13533 ac_cpp='$CXXCPP $CPPFLAGS' 13534 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 13535 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 13536 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu 13537 13538 archive_cmds_need_lc_CXX=no 13539 allow_undefined_flag_CXX= 13540 always_export_symbols_CXX=no 13541 archive_expsym_cmds_CXX= 13542 compiler_needs_object_CXX=no 13543 export_dynamic_flag_spec_CXX= 13544 hardcode_direct_CXX=no 13545 hardcode_direct_absolute_CXX=no 13546 hardcode_libdir_flag_spec_CXX= 13547 hardcode_libdir_separator_CXX= 13548 hardcode_minus_L_CXX=no 13549 hardcode_shlibpath_var_CXX=unsupported 13550 hardcode_automatic_CXX=no 13551 inherit_rpath_CXX=no 13552 module_cmds_CXX= 13553 module_expsym_cmds_CXX= 13554 link_all_deplibs_CXX=unknown 13555 old_archive_cmds_CXX=$old_archive_cmds 13556 reload_flag_CXX=$reload_flag 13557 reload_cmds_CXX=$reload_cmds 13558 no_undefined_flag_CXX= 13559 whole_archive_flag_spec_CXX= 13560 enable_shared_with_static_runtimes_CXX=no 13561 13562 # Source file extension for C++ test sources. 13563 ac_ext=cpp 13564 13565 # Object file extension for compiled C++ test sources. 13566 objext=o 13567 objext_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. 13573 if 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. 13588 LTCC=${LTCC-"$CC"} 13589 13590 # If no C compiler flags were specified, use CFLAGS. 13591 LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 13592 13593 # Allow CC to be a program name with arguments. 13594 compiler=$CC 13595 13596 13597 # save warnings/boilerplate of simple test code 13598 ac_outfile=conftest.$ac_objext 13599 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 13600 eval "$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 13605 echo "$lt_simple_link_test_code" >conftest.$ac_ext 13606 eval "$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 13635 cc_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. 13653 if test "${with_gnu_ld+set}" = set; then : 13654 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes 13655 else 13656 with_gnu_ld=no 13657 fi 13658 13659 ac_prog=ld 13660 if 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 13691 elif 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; } 13694 else 13695 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 13696 $as_echo_n "checking for non-GNU ld... " >&6; } 13697 fi 13698 if ${lt_cv_path_LD+:} false; then : 13699 $as_echo_n "(cached) " >&6 13700 else 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 13722 else 13723 lt_cv_path_LD=$LD # Let the user override the test with a path. 13724 fi 13725 fi 13726 13727 LD=$lt_cv_path_LD 13728 if test -n "$LD"; then 13729 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 13730 $as_echo "$LD" >&6; } 13731 else 13732 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 13733 $as_echo "no" >&6; } 13734 fi 13735 test -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; } 13738 if ${lt_cv_prog_gnu_ld+:} false; then : 13739 $as_echo_n "(cached) " >&6 13740 else 13741 # I'd rather use --version here, but apparently some GNU lds only accept -v. 13742 case `$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 ;; 13749 esac 13750 fi 13751 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 13752 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 13753 with_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 13944 else 13945 if ${lt_cv_aix_libpath__CXX+:} false; then : 13946 $as_echo_n "(cached) " >&6 13947 else 13948 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13949 /* end confdefs.h. */ 13950 13951 int 13952 main () 13953 { 13954 13955 ; 13956 return 0; 13957 } 13958 _ACEOF 13959 if 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 13973 fi 13974 rm -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 13980 fi 13981 13982 aix_libpath=$lt_cv_aix_libpath__CXX 13983 fi 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 13998 else 13999 if ${lt_cv_aix_libpath__CXX+:} false; then : 14000 $as_echo_n "(cached) " >&6 14001 else 14002 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 14003 /* end confdefs.h. */ 14004 14005 int 14006 main () 14007 { 14008 14009 ; 14010 return 0; 14011 } 14012 _ACEOF 14013 if 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 14027 fi 14028 rm -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 14034 fi 14035 14036 aix_libpath=$lt_cv_aix_libpath__CXX 14037 fi 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: 14891 predep_objects_CXX= 14892 postdep_objects_CXX= 14893 predeps_CXX= 14894 postdeps_CXX= 14895 compiler_lib_search_path_CXX= 14896 14897 cat > conftest.$ac_ext <<_LT_EOF 14898 class Foo 14899 { 14900 public: 14901 Foo (void) { a = 0; } 14902 private: 14903 int a; 14904 }; 14905 _LT_EOF 14906 14907 14908 _lt_libdeps_save_CFLAGS=$CFLAGS 14909 case "$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" ;; 14913 esac 14914 14915 if { { 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 15006 else 15007 echo "libtool.m4: error: problem compiling CXX test program" 15008 fi 15009 15010 $RM -f confest.$objext 15011 CFLAGS=$_lt_libdeps_save_CFLAGS 15012 15013 # PORTME: override above test on systems where it is broken 15014 case $host_os in 15015 interix[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 ;; 15022 esac 15023 15024 15025 case " $postdeps_CXX " in 15026 *" -lc "*) archive_cmds_need_lc_CXX=no ;; 15027 esac 15028 compiler_lib_search_dirs_CXX= 15029 if 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!^ !!'` 15031 fi 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= 15064 lt_prog_compiler_pic_CXX= 15065 lt_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 15389 case $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 ;; 15397 esac 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; } 15401 if ${lt_cv_prog_compiler_pic_CXX+:} false; then : 15402 $as_echo_n "(cached) " >&6 15403 else 15404 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX 15405 fi 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; } 15408 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX 15409 15410 # 15411 # Check to make sure the PIC flag actually works. 15412 # 15413 if 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; } 15416 if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : 15417 $as_echo_n "(cached) " >&6 15418 else 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 15448 fi 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 15452 if 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 15457 else 15458 lt_prog_compiler_pic_CXX= 15459 lt_prog_compiler_can_build_shared_CXX=no 15460 fi 15461 15462 fi 15463 15464 15465 15466 15467 15468 # 15469 # Check to make sure the static flag actually works. 15470 # 15471 wl=$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; } 15474 if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : 15475 $as_echo_n "(cached) " >&6 15476 else 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 15499 fi 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 15503 if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then 15504 : 15505 else 15506 lt_prog_compiler_static_CXX= 15507 fi 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; } 15514 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : 15515 $as_echo_n "(cached) " >&6 15516 else 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 15558 fi 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; } 15566 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : 15567 $as_echo_n "(cached) " >&6 15568 else 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 15610 fi 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 15617 hard_links=nottested 15618 if 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 15635 else 15636 need_locks=no 15637 fi 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; } 15686 test no = "$ld_shlibs_CXX" && can_build_shared=no 15687 15688 with_gnu_ld_CXX=$with_gnu_ld 15689 15690 15691 15692 15693 15694 15695 # 15696 # Do we need to explicitly link libc? 15697 # 15698 case "x$archive_cmds_need_lc_CXX" in 15699 x|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; } 15714 if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : 15715 $as_echo_n "(cached) " >&6 15716 else 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 15754 fi 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 ;; 15762 esac 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 15828 library_names_spec= 15829 libname_spec='lib$name' 15830 soname_spec= 15831 shrext_cmds=.so 15832 postinstall_cmds= 15833 postuninstall_cmds= 15834 finish_cmds= 15835 finish_eval= 15836 shlibpath_var= 15837 shlibpath_overrides_runpath=unknown 15838 version_type=none 15839 dynamic_linker="$host_os ld.so" 15840 sys_lib_dlsearch_path_spec="/lib /usr/lib" 15841 need_lib_prefix=unknown 15842 hardcode_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 15846 need_version=unknown 15847 15848 15849 15850 case $host_os in 15851 aix3*) 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 15860 aix[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 15954 amigaos*) 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 15969 beos*) 15970 library_names_spec='$libname$shared_ext' 15971 dynamic_linker="$host_os ld.so" 15972 shlibpath_var=LIBRARY_PATH 15973 ;; 15974 15975 bsdi[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 15989 cygwin* | 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 16098 darwin* | 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 16112 dgux*) 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 16121 freebsd* | 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 16166 haiku*) 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 16179 hpux9* | 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 16228 interix[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 16240 irix5* | 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. 16278 linux*oldld* | linux*aout* | linux*coff*) 16279 dynamic_linker=no 16280 ;; 16281 16282 linux*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. 16303 linux* | 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 16316 else 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 16325 int 16326 main () 16327 { 16328 16329 ; 16330 return 0; 16331 } 16332 _ACEOF 16333 if 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 16336 fi 16337 fi 16338 rm -f core conftest.err conftest.$ac_objext \ 16339 conftest$ac_exeext conftest.$ac_ext 16340 LDFLAGS=$save_LDFLAGS 16341 libdir=$save_libdir 16342 16343 fi 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 16372 netbsdelf*-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 16384 netbsd*) 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 16402 newsos6) 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 16421 openbsd* | 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 16436 os2*) 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 16466 osf3* | 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 16477 rdos*) 16478 dynamic_linker=no 16479 ;; 16480 16481 solaris*) 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 16494 sunos4*) 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 16506 sysv4 | 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 16529 sysv4*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 16538 sysv5* | 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 16560 tpf*) 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 16571 uts4*) 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 ;; 16581 esac 16582 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 16583 $as_echo "$dynamic_linker" >&6; } 16584 test no = "$dynamic_linker" && can_build_shared=no 16585 16586 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 16587 if test yes = "$GCC"; then 16588 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 16589 fi 16590 16591 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 16592 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 16593 fi 16594 16595 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 16596 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 16597 fi 16598 16599 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 16600 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 16601 16602 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 16603 func_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 16606 configure_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; } 16649 hardcode_action_CXX= 16650 if 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 16667 else 16668 # We cannot hardcode anything, or else we can only hardcode existing 16669 # directories. 16670 hardcode_action_CXX=unsupported 16671 fi 16672 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 16673 $as_echo "$hardcode_action_CXX" >&6; } 16674 16675 if test relink = "$hardcode_action_CXX" || 16676 test yes = "$inherit_rpath_CXX"; then 16677 # Fast installation is not supported 16678 enable_fast_install=no 16679 elif test yes = "$shlibpath_overrides_runpath" || 16680 test no = "$enable_shared"; then 16681 # Fast installation is not necessary 16682 enable_fast_install=needless 16683 fi 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 16703 fi # test yes != "$_lt_caught_CXX_error" 16704 16705 ac_ext=c 16706 ac_cpp='$CPP $CPPFLAGS' 16707 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 16708 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 16709 ac_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; } 16736 set x ${MAKE-make} 16737 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` 16738 if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : 16739 $as_echo_n "(cached) " >&6 16740 else 16741 cat >conftest.make <<\_ACEOF 16742 SHELL = /bin/sh 16743 all: 16744 @echo '@@@%%%=$(MAKE)=@@@%%%' 16745 _ACEOF 16746 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. 16747 case `${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;; 16752 esac 16753 rm -f conftest.make 16754 fi 16755 if 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= 16759 else 16760 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 16761 $as_echo "no" >&6; } 16762 SET_MAKE="MAKE=${MAKE-make}" 16763 fi 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; } 16769 if ${ac_cv_lib_fibre_Fibre__yield+:} false; then : 16770 $as_echo_n "(cached) " >&6 16771 else 16772 ac_check_lib_save_LIBS=$LIBS 16773 LIBS="-lfibre $LIBS" 16774 cat 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 16781 extern "C" 16782 #endif 16783 char Fibre::yield (); 16784 int 16785 main () 16786 { 16787 return Fibre::yield (); 16788 ; 16789 return 0; 16790 } 16791 _ACEOF 16792 if ac_fn_c_try_link "$LINENO"; then : 16793 ac_cv_lib_fibre_Fibre__yield=yes 16794 else 16795 ac_cv_lib_fibre_Fibre__yield=no 16796 fi 16797 rm -f core conftest.err conftest.$ac_objext \ 16798 conftest$ac_exeext conftest.$ac_ext 16799 LIBS=$ac_check_lib_save_LIBS 16800 fi 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; } 16803 if test "x$ac_cv_lib_fibre_Fibre__yield" = xyes; then : 16804 HAVE_LIBFIBRE=1 16805 else 16806 HAVE_LIBFIBRE=0 16807 fi 16808 16809 if test "$HAVE_LIBFIBRE" -eq 1; then 16810 WITH_LIBFIBRE_TRUE= 16811 WITH_LIBFIBRE_FALSE='#' 16812 else 16813 WITH_LIBFIBRE_TRUE='#' 16814 WITH_LIBFIBRE_FALSE= 16815 fi 16816 16817 16818 # Checks for header files. 5892 16819 ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" 5893 16820 if test "x$ac_cv_type_size_t" = xyes; then : … … 6380 17307 fi 6381 17308 done 17309 17310 17311 #============================================================================== 17312 # backend compiler implementation 17313 17314 cat >>confdefs.h <<_ACEOF 17315 #define CFA_BACKEND_CC "${CC}" 17316 _ACEOF 17317 6382 17318 6383 17319 … … 7124 18060 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 7125 18061 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 18067 sed_quote_subst='$sed_quote_subst' 18068 double_quote_subst='$double_quote_subst' 18069 delay_variable_subst='$delay_variable_subst' 18070 macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' 18071 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' 18072 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' 18073 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' 18074 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' 18075 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' 18076 shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' 18077 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' 18078 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' 18079 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' 18080 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' 18081 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' 18082 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' 18083 build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' 18084 build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' 18085 build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' 18086 SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' 18087 Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' 18088 GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' 18089 EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' 18090 FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' 18091 LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' 18092 NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' 18093 LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' 18094 max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' 18095 ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' 18096 exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' 18097 lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' 18098 lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' 18099 lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' 18100 lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' 18101 lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' 18102 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' 18103 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' 18104 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' 18105 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' 18106 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' 18107 file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' 18108 want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' 18109 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' 18110 sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' 18111 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' 18112 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' 18113 archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' 18114 STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' 18115 RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' 18116 old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' 18117 old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' 18118 old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' 18119 lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' 18120 CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' 18121 CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' 18122 compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' 18123 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' 18124 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' 18125 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' 18126 lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' 18127 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' 18128 lt_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"`' 18129 lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' 18130 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' 18131 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' 18132 lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' 18133 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' 18134 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' 18135 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' 18136 lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' 18137 lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' 18138 lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' 18139 lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' 18140 need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' 18141 MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' 18142 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' 18143 NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' 18144 LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' 18145 OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' 18146 OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' 18147 libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' 18148 shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' 18149 extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' 18150 archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' 18151 enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' 18152 export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' 18153 whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' 18154 compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' 18155 old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' 18156 old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' 18157 archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' 18158 archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' 18159 module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' 18160 module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' 18161 with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' 18162 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' 18163 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' 18164 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' 18165 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' 18166 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' 18167 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' 18168 hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' 18169 hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' 18170 hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' 18171 inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' 18172 link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' 18173 always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' 18174 export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' 18175 exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' 18176 include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' 18177 prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' 18178 postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' 18179 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' 18180 variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' 18181 need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' 18182 need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' 18183 version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' 18184 runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' 18185 shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' 18186 shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' 18187 libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' 18188 library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' 18189 soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' 18190 install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' 18191 postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' 18192 postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' 18193 finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' 18194 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' 18195 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' 18196 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' 18197 configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' 18198 configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' 18199 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' 18200 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' 18201 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' 18202 enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' 18203 old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' 18204 striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' 18205 compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' 18206 predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' 18207 postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' 18208 predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' 18209 postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' 18210 compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' 18211 LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' 18212 reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' 18213 reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18214 old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18215 compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' 18216 GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' 18217 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' 18218 lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' 18219 lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' 18220 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' 18221 lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' 18222 archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' 18223 enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' 18224 export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' 18225 whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' 18226 compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' 18227 old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18228 old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18229 archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18230 archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18231 module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18232 module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18233 with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' 18234 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' 18235 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' 18236 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' 18237 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' 18238 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' 18239 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' 18240 hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' 18241 hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' 18242 hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' 18243 inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' 18244 link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' 18245 always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' 18246 export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18247 exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' 18248 include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' 18249 prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18250 postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' 18251 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' 18252 hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' 18253 compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' 18254 predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' 18255 postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' 18256 predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' 18257 postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' 18258 compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' 18259 18260 LTCC='$LTCC' 18261 LTCFLAGS='$LTCFLAGS' 18262 compiler='$compiler_DEFAULT' 18263 18264 # A function that is used when there is no print builtin or printf. 18265 func_fallback_echo () 18266 { 18267 eval 'cat <<_LTECHO_EOF 18268 \$1 18269 _LTECHO_EOF' 18270 } 18271 18272 # Quote evaled strings. 18273 for var in SHELL \ 18274 ECHO \ 18275 PATH_SEPARATOR \ 18276 SED \ 18277 GREP \ 18278 EGREP \ 18279 FGREP \ 18280 LD \ 18281 NM \ 18282 LN_S \ 18283 lt_SP2NL \ 18284 lt_NL2SP \ 18285 reload_flag \ 18286 OBJDUMP \ 18287 deplibs_check_method \ 18288 file_magic_cmd \ 18289 file_magic_glob \ 18290 want_nocaseglob \ 18291 DLLTOOL \ 18292 sharedlib_from_linklib_cmd \ 18293 AR \ 18294 AR_FLAGS \ 18295 archiver_list_spec \ 18296 STRIP \ 18297 RANLIB \ 18298 CC \ 18299 CFLAGS \ 18300 compiler \ 18301 lt_cv_sys_global_symbol_pipe \ 18302 lt_cv_sys_global_symbol_to_cdecl \ 18303 lt_cv_sys_global_symbol_to_import \ 18304 lt_cv_sys_global_symbol_to_c_name_address \ 18305 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ 18306 lt_cv_nm_interface \ 18307 nm_file_list_spec \ 18308 lt_cv_truncate_bin \ 18309 lt_prog_compiler_no_builtin_flag \ 18310 lt_prog_compiler_pic \ 18311 lt_prog_compiler_wl \ 18312 lt_prog_compiler_static \ 18313 lt_cv_prog_compiler_c_o \ 18314 need_locks \ 18315 MANIFEST_TOOL \ 18316 DSYMUTIL \ 18317 NMEDIT \ 18318 LIPO \ 18319 OTOOL \ 18320 OTOOL64 \ 18321 shrext_cmds \ 18322 export_dynamic_flag_spec \ 18323 whole_archive_flag_spec \ 18324 compiler_needs_object \ 18325 with_gnu_ld \ 18326 allow_undefined_flag \ 18327 no_undefined_flag \ 18328 hardcode_libdir_flag_spec \ 18329 hardcode_libdir_separator \ 18330 exclude_expsyms \ 18331 include_expsyms \ 18332 file_list_spec \ 18333 variables_saved_for_relink \ 18334 libname_spec \ 18335 library_names_spec \ 18336 soname_spec \ 18337 install_override_mode \ 18338 finish_eval \ 18339 old_striplib \ 18340 striplib \ 18341 compiler_lib_search_dirs \ 18342 predep_objects \ 18343 postdep_objects \ 18344 predeps \ 18345 postdeps \ 18346 compiler_lib_search_path \ 18347 LD_CXX \ 18348 reload_flag_CXX \ 18349 compiler_CXX \ 18350 lt_prog_compiler_no_builtin_flag_CXX \ 18351 lt_prog_compiler_pic_CXX \ 18352 lt_prog_compiler_wl_CXX \ 18353 lt_prog_compiler_static_CXX \ 18354 lt_cv_prog_compiler_c_o_CXX \ 18355 export_dynamic_flag_spec_CXX \ 18356 whole_archive_flag_spec_CXX \ 18357 compiler_needs_object_CXX \ 18358 with_gnu_ld_CXX \ 18359 allow_undefined_flag_CXX \ 18360 no_undefined_flag_CXX \ 18361 hardcode_libdir_flag_spec_CXX \ 18362 hardcode_libdir_separator_CXX \ 18363 exclude_expsyms_CXX \ 18364 include_expsyms_CXX \ 18365 file_list_spec_CXX \ 18366 compiler_lib_search_dirs_CXX \ 18367 predep_objects_CXX \ 18368 postdep_objects_CXX \ 18369 predeps_CXX \ 18370 postdeps_CXX \ 18371 compiler_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 18380 done 18381 18382 # Double-quote double-evaled strings. 18383 for var in reload_cmds \ 18384 old_postinstall_cmds \ 18385 old_postuninstall_cmds \ 18386 old_archive_cmds \ 18387 extract_expsyms_cmds \ 18388 old_archive_from_new_cmds \ 18389 old_archive_from_expsyms_cmds \ 18390 archive_cmds \ 18391 archive_expsym_cmds \ 18392 module_cmds \ 18393 module_expsym_cmds \ 18394 export_symbols_cmds \ 18395 prelink_cmds \ 18396 postlink_cmds \ 18397 postinstall_cmds \ 18398 postuninstall_cmds \ 18399 finish_cmds \ 18400 sys_lib_search_path_spec \ 18401 configure_time_dlsearch_path \ 18402 configure_time_lt_sys_library_path \ 18403 reload_cmds_CXX \ 18404 old_archive_cmds_CXX \ 18405 old_archive_from_new_cmds_CXX \ 18406 old_archive_from_expsyms_cmds_CXX \ 18407 archive_cmds_CXX \ 18408 archive_expsym_cmds_CXX \ 18409 module_cmds_CXX \ 18410 module_expsym_cmds_CXX \ 18411 export_symbols_cmds_CXX \ 18412 prelink_cmds_CXX \ 18413 postlink_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 18422 done 18423 18424 ac_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. 18428 if test -n "\${ZSH_VERSION+set}"; then 18429 setopt NO_GLOB_SUBST 18430 fi 18431 18432 18433 PACKAGE='$PACKAGE' 18434 VERSION='$VERSION' 18435 RM='$RM' 18436 ofile='$ofile' 18437 18438 18439 18440 18441 18442 7126 18443 _ACEOF 7127 18444 … … 7134 18451 "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:src/config.h.in" ;; 7135 18452 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 18453 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; 7136 18454 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 7137 18455 "driver/Makefile") CONFIG_FILES="$CONFIG_FILES driver/Makefile" ;; … … 7864 19182 } 7865 19183 ;; 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. 19229 available_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? 19237 macro_version=$macro_version 19238 macro_revision=$macro_revision 19239 19240 # Whether or not to build shared libraries. 19241 build_libtool_libs=$enable_shared 19242 19243 # Whether or not to build static libraries. 19244 build_old_libs=$enable_static 19245 19246 # What type of objects to build. 19247 pic_mode=$pic_mode 19248 19249 # Whether or not to optimize for fast installation. 19250 fast_install=$enable_fast_install 19251 19252 # Shared archive member basename,for filename based shared library versioning on AIX. 19253 shared_archive_member_spec=$shared_archive_member_spec 19254 19255 # Shell to use when invoking shell scripts. 19256 SHELL=$lt_SHELL 19257 19258 # An echo program that protects backslashes. 19259 ECHO=$lt_ECHO 19260 19261 # The PATH separator for the build system. 19262 PATH_SEPARATOR=$lt_PATH_SEPARATOR 19263 19264 # The host system. 19265 host_alias=$host_alias 19266 host=$host 19267 host_os=$host_os 19268 19269 # The build system. 19270 build_alias=$build_alias 19271 build=$build 19272 build_os=$build_os 19273 19274 # A sed program that does not truncate output. 19275 SED=$lt_SED 19276 19277 # Sed that helps us avoid accidentally triggering echo(1) options like -n. 19278 Xsed="\$SED -e 1s/^X//" 19279 19280 # A grep program that handles long lines. 19281 GREP=$lt_GREP 19282 19283 # An ERE matcher. 19284 EGREP=$lt_EGREP 19285 19286 # A literal string matcher. 19287 FGREP=$lt_FGREP 19288 19289 # A BSD- or MS-compatible name lister. 19290 NM=$lt_NM 19291 19292 # Whether we need soft or hard links. 19293 LN_S=$lt_LN_S 19294 19295 # What is the maximum length of a command? 19296 max_cmd_len=$max_cmd_len 19297 19298 # Object file suffix (normally "o"). 19299 objext=$ac_objext 19300 19301 # Executable file suffix (normally ""). 19302 exeext=$exeext 19303 19304 # whether the shell understands "unset". 19305 lt_unset=$lt_unset 19306 19307 # turn spaces into newlines. 19308 SP2NL=$lt_lt_SP2NL 19309 19310 # turn newlines into spaces. 19311 NL2SP=$lt_lt_NL2SP 19312 19313 # convert \$build file names to \$host format. 19314 to_host_file_cmd=$lt_cv_to_host_file_cmd 19315 19316 # convert \$build files to toolchain format. 19317 to_tool_file_cmd=$lt_cv_to_tool_file_cmd 19318 19319 # An object symbol dumper. 19320 OBJDUMP=$lt_OBJDUMP 19321 19322 # Method to check whether dependent libraries are shared objects. 19323 deplibs_check_method=$lt_deplibs_check_method 19324 19325 # Command to use when deplibs_check_method = "file_magic". 19326 file_magic_cmd=$lt_file_magic_cmd 19327 19328 # How to find potential files when deplibs_check_method = "file_magic". 19329 file_magic_glob=$lt_file_magic_glob 19330 19331 # Find potential files using nocaseglob when deplibs_check_method = "file_magic". 19332 want_nocaseglob=$lt_want_nocaseglob 19333 19334 # DLL creation program. 19335 DLLTOOL=$lt_DLLTOOL 19336 19337 # Command to associate shared and link libraries. 19338 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd 19339 19340 # The archiver. 19341 AR=$lt_AR 19342 19343 # Flags to create an archive. 19344 AR_FLAGS=$lt_AR_FLAGS 19345 19346 # How to feed a file listing to the archiver. 19347 archiver_list_spec=$lt_archiver_list_spec 19348 19349 # A symbol stripping program. 19350 STRIP=$lt_STRIP 19351 19352 # Commands used to install an old-style archive. 19353 RANLIB=$lt_RANLIB 19354 old_postinstall_cmds=$lt_old_postinstall_cmds 19355 old_postuninstall_cmds=$lt_old_postuninstall_cmds 19356 19357 # Whether to use a lock for old archive extraction. 19358 lock_old_archive_extraction=$lock_old_archive_extraction 19359 19360 # A C compiler. 19361 LTCC=$lt_CC 19362 19363 # LTCC compiler flags. 19364 LTCFLAGS=$lt_CFLAGS 19365 19366 # Take the output of nm and produce a listing of raw symbols and C names. 19367 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe 19368 19369 # Transform the output of nm in a proper C declaration. 19370 global_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. 19373 global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import 19374 19375 # Transform the output of nm in a C name address pair. 19376 global_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. 19379 global_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. 19382 nm_interface=$lt_lt_cv_nm_interface 19383 19384 # Specify filename containing input files for \$NM. 19385 nm_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. 19388 lt_sysroot=$lt_sysroot 19389 19390 # Command to truncate a binary pipe. 19391 lt_truncate_bin=$lt_lt_cv_truncate_bin 19392 19393 # The name of the directory that contains temporary libtool files. 19394 objdir=$objdir 19395 19396 # Used to examine libraries when file_magic_cmd begins with "file". 19397 MAGIC_CMD=$MAGIC_CMD 19398 19399 # Must we lock files when doing compilation? 19400 need_locks=$lt_need_locks 19401 19402 # Manifest tool. 19403 MANIFEST_TOOL=$lt_MANIFEST_TOOL 19404 19405 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. 19406 DSYMUTIL=$lt_DSYMUTIL 19407 19408 # Tool to change global to local symbols on Mac OS X. 19409 NMEDIT=$lt_NMEDIT 19410 19411 # Tool to manipulate fat objects and archives on Mac OS X. 19412 LIPO=$lt_LIPO 19413 19414 # ldd/readelf like tool for Mach-O binaries on Mac OS X. 19415 OTOOL=$lt_OTOOL 19416 19417 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. 19418 OTOOL64=$lt_OTOOL64 19419 19420 # Old archive suffix (normally "a"). 19421 libext=$libext 19422 19423 # Shared library suffix (normally ".so"). 19424 shrext_cmds=$lt_shrext_cmds 19425 19426 # The commands to extract the exported symbol list from a shared archive. 19427 extract_expsyms_cmds=$lt_extract_expsyms_cmds 19428 19429 # Variables whose values should be saved in libtool wrapper scripts and 19430 # restored at link time. 19431 variables_saved_for_relink=$lt_variables_saved_for_relink 19432 19433 # Do we need the "lib" prefix for modules? 19434 need_lib_prefix=$need_lib_prefix 19435 19436 # Do we need a version for libraries? 19437 need_version=$need_version 19438 19439 # Library versioning type. 19440 version_type=$version_type 19441 19442 # Shared library runtime path variable. 19443 runpath_var=$runpath_var 19444 19445 # Shared library path variable. 19446 shlibpath_var=$shlibpath_var 19447 19448 # Is shlibpath searched before the hard-coded library search path? 19449 shlibpath_overrides_runpath=$shlibpath_overrides_runpath 19450 19451 # Format of library name prefix. 19452 libname_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 19456 library_names_spec=$lt_library_names_spec 19457 19458 # The coded name of the library, if different from the real name. 19459 soname_spec=$lt_soname_spec 19460 19461 # Permission mode override for installation of shared libraries. 19462 install_override_mode=$lt_install_override_mode 19463 19464 # Command to use after installation of a shared archive. 19465 postinstall_cmds=$lt_postinstall_cmds 19466 19467 # Command to use after uninstallation of a shared archive. 19468 postuninstall_cmds=$lt_postuninstall_cmds 19469 19470 # Commands used to finish a libtool library installation in a directory. 19471 finish_cmds=$lt_finish_cmds 19472 19473 # As "finish_cmds", except a single script fragment to be evaled but 19474 # not shown. 19475 finish_eval=$lt_finish_eval 19476 19477 # Whether we should hardcode library paths into libraries. 19478 hardcode_into_libs=$hardcode_into_libs 19479 19480 # Compile-time system search path for libraries. 19481 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec 19482 19483 # Detected run-time system search path for libraries. 19484 sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path 19485 19486 # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. 19487 configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path 19488 19489 # Whether dlopen is supported. 19490 dlopen_support=$enable_dlopen 19491 19492 # Whether dlopen of programs is supported. 19493 dlopen_self=$enable_dlopen_self 19494 19495 # Whether dlopen of statically linked programs is supported. 19496 dlopen_self_static=$enable_dlopen_self_static 19497 19498 # Commands to strip libraries. 19499 old_striplib=$lt_old_striplib 19500 striplib=$lt_striplib 19501 19502 19503 # The linker used to build libraries. 19504 LD=$lt_LD 19505 19506 # How to create reloadable object files. 19507 reload_flag=$lt_reload_flag 19508 reload_cmds=$lt_reload_cmds 19509 19510 # Commands used to build an old-style archive. 19511 old_archive_cmds=$lt_old_archive_cmds 19512 19513 # A language specific compiler. 19514 CC=$lt_compiler 19515 19516 # Is the compiler the GNU compiler? 19517 with_gcc=$GCC 19518 19519 # Compiler flag to turn off builtin functions. 19520 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag 19521 19522 # Additional compiler flags for building library objects. 19523 pic_flag=$lt_lt_prog_compiler_pic 19524 19525 # How to pass a linker flag through the compiler. 19526 wl=$lt_lt_prog_compiler_wl 19527 19528 # Compiler flag to prevent dynamic linking. 19529 link_static_flag=$lt_lt_prog_compiler_static 19530 19531 # Does compiler simultaneously support -c and -o options? 19532 compiler_c_o=$lt_lt_cv_prog_compiler_c_o 19533 19534 # Whether or not to add -lc for building shared libraries. 19535 build_libtool_need_lc=$archive_cmds_need_lc 19536 19537 # Whether or not to disallow shared libs when runtime libs are static. 19538 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes 19539 19540 # Compiler flag to allow reflexive dlopens. 19541 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec 19542 19543 # Compiler flag to generate shared objects directly from archives. 19544 whole_archive_flag_spec=$lt_whole_archive_flag_spec 19545 19546 # Whether the compiler copes with passing no objects directly. 19547 compiler_needs_object=$lt_compiler_needs_object 19548 19549 # Create an old-style archive from a shared archive. 19550 old_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. 19553 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds 19554 19555 # Commands used to build a shared archive. 19556 archive_cmds=$lt_archive_cmds 19557 archive_expsym_cmds=$lt_archive_expsym_cmds 19558 19559 # Commands used to build a loadable module if different from building 19560 # a shared archive. 19561 module_cmds=$lt_module_cmds 19562 module_expsym_cmds=$lt_module_expsym_cmds 19563 19564 # Whether we are building with GNU ld or not. 19565 with_gnu_ld=$lt_with_gnu_ld 19566 19567 # Flag that allows shared libraries with undefined symbols to be built. 19568 allow_undefined_flag=$lt_allow_undefined_flag 19569 19570 # Flag that enforces no undefined symbols. 19571 no_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 19575 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec 19576 19577 # Whether we need a single "-rpath" flag with a separated argument. 19578 hardcode_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. 19582 hardcode_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. 19588 hardcode_direct_absolute=$hardcode_direct_absolute 19589 19590 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR 19591 # into the resulting binary. 19592 hardcode_minus_L=$hardcode_minus_L 19593 19594 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 19595 # into the resulting binary. 19596 hardcode_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. 19601 hardcode_automatic=$hardcode_automatic 19602 19603 # Set to yes if linker adds runtime paths of dependent libraries 19604 # to runtime path list. 19605 inherit_rpath=$inherit_rpath 19606 19607 # Whether libtool must link a program against all its dependency libraries. 19608 link_all_deplibs=$link_all_deplibs 19609 19610 # Set to "yes" if exported symbols are required. 19611 always_export_symbols=$always_export_symbols 19612 19613 # The commands to list exported symbols. 19614 export_symbols_cmds=$lt_export_symbols_cmds 19615 19616 # Symbols that should not be listed in the preloaded symbols. 19617 exclude_expsyms=$lt_exclude_expsyms 19618 19619 # Symbols that must always be exported. 19620 include_expsyms=$lt_include_expsyms 19621 19622 # Commands necessary for linking programs (against libraries) with templates. 19623 prelink_cmds=$lt_prelink_cmds 19624 19625 # Commands necessary for finishing linking programs. 19626 postlink_cmds=$lt_postlink_cmds 19627 19628 # Specify filename containing input files. 19629 file_list_spec=$lt_file_list_spec 19630 19631 # How to hardcode a shared library path into an executable. 19632 hardcode_action=$hardcode_action 19633 19634 # The directories searched by this compiler when creating a shared library. 19635 compiler_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. 19639 predep_objects=$lt_predep_objects 19640 postdep_objects=$lt_postdep_objects 19641 predeps=$lt_predeps 19642 postdeps=$lt_postdeps 19643 19644 # The library search path used internally by the compiler when linking 19645 # a shared library. 19646 compiler_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]" 19670 func_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. 19693 func_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. 19717 if test set != "${COLLECT_NAMES+set}"; then 19718 COLLECT_NAMES= 19719 export COLLECT_NAMES 19720 fi 19721 _LT_EOF 19722 ;; 19723 esac 19724 19725 19726 ltmain=$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. 19746 LD=$lt_LD_CXX 19747 19748 # How to create reloadable object files. 19749 reload_flag=$lt_reload_flag_CXX 19750 reload_cmds=$lt_reload_cmds_CXX 19751 19752 # Commands used to build an old-style archive. 19753 old_archive_cmds=$lt_old_archive_cmds_CXX 19754 19755 # A language specific compiler. 19756 CC=$lt_compiler_CXX 19757 19758 # Is the compiler the GNU compiler? 19759 with_gcc=$GCC_CXX 19760 19761 # Compiler flag to turn off builtin functions. 19762 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX 19763 19764 # Additional compiler flags for building library objects. 19765 pic_flag=$lt_lt_prog_compiler_pic_CXX 19766 19767 # How to pass a linker flag through the compiler. 19768 wl=$lt_lt_prog_compiler_wl_CXX 19769 19770 # Compiler flag to prevent dynamic linking. 19771 link_static_flag=$lt_lt_prog_compiler_static_CXX 19772 19773 # Does compiler simultaneously support -c and -o options? 19774 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX 19775 19776 # Whether or not to add -lc for building shared libraries. 19777 build_libtool_need_lc=$archive_cmds_need_lc_CXX 19778 19779 # Whether or not to disallow shared libs when runtime libs are static. 19780 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX 19781 19782 # Compiler flag to allow reflexive dlopens. 19783 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX 19784 19785 # Compiler flag to generate shared objects directly from archives. 19786 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX 19787 19788 # Whether the compiler copes with passing no objects directly. 19789 compiler_needs_object=$lt_compiler_needs_object_CXX 19790 19791 # Create an old-style archive from a shared archive. 19792 old_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. 19795 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX 19796 19797 # Commands used to build a shared archive. 19798 archive_cmds=$lt_archive_cmds_CXX 19799 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 19800 19801 # Commands used to build a loadable module if different from building 19802 # a shared archive. 19803 module_cmds=$lt_module_cmds_CXX 19804 module_expsym_cmds=$lt_module_expsym_cmds_CXX 19805 19806 # Whether we are building with GNU ld or not. 19807 with_gnu_ld=$lt_with_gnu_ld_CXX 19808 19809 # Flag that allows shared libraries with undefined symbols to be built. 19810 allow_undefined_flag=$lt_allow_undefined_flag_CXX 19811 19812 # Flag that enforces no undefined symbols. 19813 no_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 19817 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX 19818 19819 # Whether we need a single "-rpath" flag with a separated argument. 19820 hardcode_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. 19824 hardcode_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. 19830 hardcode_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. 19834 hardcode_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. 19838 hardcode_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. 19843 hardcode_automatic=$hardcode_automatic_CXX 19844 19845 # Set to yes if linker adds runtime paths of dependent libraries 19846 # to runtime path list. 19847 inherit_rpath=$inherit_rpath_CXX 19848 19849 # Whether libtool must link a program against all its dependency libraries. 19850 link_all_deplibs=$link_all_deplibs_CXX 19851 19852 # Set to "yes" if exported symbols are required. 19853 always_export_symbols=$always_export_symbols_CXX 19854 19855 # The commands to list exported symbols. 19856 export_symbols_cmds=$lt_export_symbols_cmds_CXX 19857 19858 # Symbols that should not be listed in the preloaded symbols. 19859 exclude_expsyms=$lt_exclude_expsyms_CXX 19860 19861 # Symbols that must always be exported. 19862 include_expsyms=$lt_include_expsyms_CXX 19863 19864 # Commands necessary for linking programs (against libraries) with templates. 19865 prelink_cmds=$lt_prelink_cmds_CXX 19866 19867 # Commands necessary for finishing linking programs. 19868 postlink_cmds=$lt_postlink_cmds_CXX 19869 19870 # Specify filename containing input files. 19871 file_list_spec=$lt_file_list_spec_CXX 19872 19873 # How to hardcode a shared library path into an executable. 19874 hardcode_action=$hardcode_action_CXX 19875 19876 # The directories searched by this compiler when creating a shared library. 19877 compiler_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. 19881 predep_objects=$lt_predep_objects_CXX 19882 postdep_objects=$lt_postdep_objects_CXX 19883 predeps=$lt_predeps_CXX 19884 postdeps=$lt_postdeps_CXX 19885 19886 # The library search path used internally by the compiler when linking 19887 # a shared library. 19888 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX 19889 19890 # ### END LIBTOOL TAG CONFIG: CXX 19891 _LT_EOF 19892 19893 ;; 7866 19894 7867 19895 esac -
configure.ac
raeb8f70 re99e43f 5 5 AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca]) 6 6 AC_CONFIG_AUX_DIR([automake]) 7 AC_CONFIG_MACRO_DIRS([automake]) 7 8 #AC_CONFIG_SRCDIR([src/main.cc]) 8 9 AC_CONFIG_HEADERS([config.h:src/config.h.in]) … … 55 56 AC_SUBST([DOendif]) 56 57 AM_SUBST_NOTMAKE([DOendif]) 57 58 #==============================================================================59 # backend compiler implementation60 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"; then64 BACKEND_CC=${backendcompiler}65 else66 AC_PATH_PROG(BACKEND_CC, gcc, []) # check gcc installed67 if test "x$BACKEND_CC" = "x"; then68 AC_MSG_ERROR(some version of gcc is needed. Get it at ftp://ftp.gnu.org)69 exit 170 fi71 fi72 AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${BACKEND_CC}", [Location of include files.])73 AC_SUBST(CFA_BACKEND_CC)74 58 75 59 #============================================================================== … … 172 156 echo -n "${LIBCFA_PATHS} " >> ${lib_dir}/config.data 173 157 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 175 160 done 176 161 … … 199 184 AC_PROG_LEX 200 185 if test "${LEX}" = "lex" ; then echo "Error: flex required." ; exit 1 ; fi 186 AC_PROG_LIBTOOL 201 187 AC_PROG_INSTALL 202 188 AC_PROG_MAKE_SET 203 AC_PROG_RANLIB204 189 205 190 # Checks for libraries. … … 227 212 228 213 #============================================================================== 214 # backend compiler implementation 215 AC_DEFINE_UNQUOTED(CFA_BACKEND_CC, "${CC}", [Backend compiler to use.]) 216 AC_SUBST(CFA_BACKEND_CC) 217 218 #============================================================================== 229 219 AC_CONFIG_FILES([ 230 220 Makefile -
doc/bibliography/pl.bib
raeb8f70 re99e43f 21 21 % toplas: ACM Trans. on Prog. Lang. & Sys. 22 22 % 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 24 string{ieeepds="IEEE Transactions on Parallel and Distributed Systems"} 25 @string{ieeepds="IEEE Trans. Parallel Distrib. Syst."} 26 string{ieeese="IEEE Transactions on Software Engineering"} 27 @string{ieeese="IEEE Trans. Softw. Eng."} 28 string{spe="Software---\-Practice and Experience"} 29 @string{spe="Softw. Pract. Exper."} 30 string{ccpe="Concurrency and Computation: Practice and Experience"} 31 @string{ccpe="Concurrency Comput.: Pract. Exper."} 32 string{sigplan="SIGPLAN Notices"} 33 @string{sigplan="SIGPLAN Not."} 34 string{joop="Journal of Object-Oriented Programming"} 35 @string{joop="J. of Object-Oriented Program."} 35 36 @string{popl="Conference Record of the ACM Symposium on Principles of Programming Languages"} 36 37 @string{osr="Operating Systems Review"} 37 38 @string{pldi="Programming Language Design and Implementation"} 38 39 @string{toplas="Transactions on Programming Languages and Systems"} 39 @string{mathann="Mathematische Annalen"}40 %@string{mathann="Math. Ann."}40 string{mathann="Mathematische Annalen"} 41 @string{mathann="Math. Ann."} 41 42 42 43 % A … … 566 567 } 567 568 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 568 580 @article{Kessels82, 569 581 keywords = {concurrency, critical section}, … … 653 665 author = {Joung, Yuh-Jzer}, 654 666 title = {Asynchronous group mutual exclusion}, 655 journal = {Distributed Computing}, 667 journal = {Dist. Comput.}, 668 optjournal = {Distributed Computing}, 656 669 year = {2000}, 657 670 month = {Nov}, … … 796 809 time computable inheritance hierarchy. 797 810 }, 798 comment 811 comment = { 799 812 Classes are predicates; if object {\tt o} is in class {\tt C}, then 800 813 {\tt C} is true of {\tt o}. Classes are combined with {\tt :AND}, … … 950 963 951 964 @article{Moss18, 952 keywords = {type systems, tuples, Cforall},965 keywords = {type systems, polymorphism, tuples, Cforall}, 953 966 contributer = {pabuhr@plg}, 954 967 author = {Aaron Moss and Robert Schluntz and Peter A. Buhr}, 955 968 title = {\textsf{C}$\mathbf{\forall}$ : Adding Modern Programming Language Features to C}, 969 journal = spe, 970 volume = 48, 971 number = 12, 972 month = dec, 956 973 year = 2018, 957 month = aug, 958 journal = spe, 974 pages = {2111-2146}, 959 975 note = {\href{http://dx.doi.org/10.1002/spe.2624}{http://\-dx.doi.org/\-10.1002/\-spe.2624}}, 960 976 } … … 989 1005 journal = {Dr. Dobb's Journal of Software Tools}, 990 1006 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}, 992 1011 comment = { 993 1012 A light-weight multitasking kernel for MS-DOS. A task\_control … … 1507 1526 } 1508 1527 1509 @ techreport{uC++,1528 @manual{uC++, 1510 1529 keywords = {C++, concurrency, light-weight process, shared memory}, 1511 1530 contributer = {pabuhr@plg}, 1531 key = {uC++}, 1512 1532 author = {Peter A. Buhr}, 1513 1533 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, 1518 1537 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uC++.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/uC++.pdf}}, 1519 1538 } … … 1586 1605 author = {Sun, Xianda}, 1587 1606 title = {Concurrent High-performance Persistent Hash Table In {J}ava}, 1588 school = {School of Computer Sc ience, University of Waterloo},1607 school = {School of Computer Sc., University of Waterloo}, 1589 1608 year = 2015, 1590 1609 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, … … 1936 1955 note = {Svensk Standard SS 63 61 14}, 1937 1956 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}, 1941 1971 } 1942 1972 … … 2078 2108 year = {1998}, 2079 2109 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} 2080 2120 } 2081 2121 … … 2880 2920 } 2881 2921 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 2882 2936 % F 2883 2937 … … 3223 3277 keywords = {Go programming language}, 3224 3278 contributer = {pabuhr@plg}, 3279 author = {Robert Griesemer and Rob Pike and Ken Thompson}, 3225 3280 title = {{Go} Programming Language}, 3226 author = {Robert Griesemer and Rob Pike and Ken Thompson},3227 3281 organization= {Google}, 3228 3282 year = 2009, … … 3416 3470 month = sep, 3417 3471 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}}, 3419 3473 } 3420 3474 … … 3554 3608 publisher = {ACM Press}, 3555 3609 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} 3556 3623 } 3557 3624 … … 3898 3965 author = {Peter A. Buhr and Martin Karsten and Jun Shih}, 3899 3966 title = {{\small\textsf{KDB}}: A Multi-threaded Debugger for Multi-threaded Applications}, 3900 booktitle = {Proc eedings of SPDT'96: SIGMETRICS Symposiumon Parallel and Distributed Tools},3967 booktitle = {Proc. of SPDT'96: SIGMETRICS Symp. on Parallel and Distributed Tools}, 3901 3968 publisher = {ACM Press}, 3902 3969 address = {Philadelphia, Pennsylvania, U.S.A.}, … … 5389 5456 } 5390 5457 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 5391 5469 @article{poly, 5392 5470 keywords = {Poly, Standard ML, Russell, persistence}, … … 5603 5681 author = {Peter A. Buhr and Robert Denda}, 5604 5682 title = {{$\mu$Profiler} : Profiling User-Level Threads in a Shared-Memory Programming Environment}, 5605 booktitle = {Proc eedings 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}, 5606 5684 series = {Lecture Notes in Computer Science}, 5607 5685 publisher = {Springer-Verlag}, … … 5974 6052 issn = {0164-0925}, 5975 6053 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}, 5977 6055 doi = {10.1145/1133651.1133653}, 5978 6056 acmid = {1133653}, … … 6241 6319 contributer = {pabuhr@plg}, 6242 6320 key = {Rust}, 6243 title = { The{R}ust Programming Language},6244 address = {TheRust Project Developers},6321 title = {{R}ust Programming Language}, 6322 optaddress = {Rust Project Developers}, 6245 6323 year = 2015, 6246 6324 note = {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}}, … … 6308 6386 publisher = {Springer}, 6309 6387 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}, 6310 6430 } 6311 6431 … … 7476 7596 } 7477 7597 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 7478 7619 % X 7479 7620 -
doc/papers/concurrency/Paper.tex
raeb8f70 re99e43f 686 686 Fib f1, f2; 687 687 for ( int i = 1; i <= 10; i += 1 ) { 688 sout | next( f1 ) | next( f2 ) | endl;688 sout | next( f1 ) | next( f2 ); 689 689 } 690 690 } … … 772 772 sout | " "; // separator 773 773 } 774 sout | endl;774 sout | nl; 775 775 } 776 776 } 777 777 void ?{}( Format & fmt ) { `resume( fmt );` } 778 778 void ^?{}( Format & fmt ) with( fmt ) { 779 if ( g != 0 || b != 0 ) sout | endl;779 if ( g != 0 || b != 0 ) sout | nl; 780 780 } 781 781 void format( Format & fmt ) { … … 855 855 for ( int i = 0; i < N; i += 1 ) { 856 856 int p1 = random( 100 ), p2 = random( 100 ); 857 sout | p1 | " " | p2 | endl;857 sout | p1 | " " | p2; 858 858 int status = delivery( c, p1, p2 ); 859 sout | " $" | money | endl | status | endl;859 sout | " $" | money | nl | status; 860 860 receipt += 1; 861 861 } 862 862 stop( c ); 863 sout | "prod stops" | endl;863 sout | "prod stops"; 864 864 } 865 865 int payment( Prod & prod, int money ) { … … 895 895 int money = 1, receipt; 896 896 for ( ; ! done; ) { 897 sout | p1 | " " | p2 | endl | " $" | money | endl;897 sout | p1 | " " | p2 | nl | " $" | money; 898 898 status += 1; 899 899 receipt = payment( p, money ); 900 sout | " #" | receipt | endl;900 sout | " #" | receipt; 901 901 money += 1; 902 902 } 903 sout | "cons stops" | endl;903 sout | "cons stops"; 904 904 } 905 905 int delivery( Cons & cons, int p1, int p2 ) { … … 1099 1099 1100 1100 void main(foo & this) { 1101 sout | "Hello World!" | endl;1101 sout | "Hello World!"; 1102 1102 } 1103 1103 \end{cfa} … … 1124 1124 1125 1125 void hello(/*unused*/ int) { 1126 sout | "Hello World!" | endl;1126 sout | "Hello World!"; 1127 1127 } 1128 1128 … … 1141 1141 thread World {}; 1142 1142 void main( World & this ) { 1143 sout | "World!" | endl;1143 sout | "World!"; 1144 1144 } 1145 1145 int main() { 1146 1146 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}$ 1148 1148 } $\C{// implicit joins before destruction}$ 1149 1149 \end{cfa} … … 1193 1193 total += subtotals[r]; $\C{// total subtotal}$ 1194 1194 } 1195 sout | total | endl;1195 sout | total; 1196 1196 } 1197 1197 \end{cfa} … … 2192 2192 BENCH( 2193 2193 for ( size_t i = 0; i < N; i += 1 ) { @resume( c );@ } ) 2194 sout | result`ns | endl;2194 sout | result`ns; 2195 2195 } 2196 2196 \end{cfa} … … 2205 2205 BENCH( 2206 2206 for ( size_t i = 0; i < N; i += 1 ) { @yield();@ } ) 2207 sout | result`ns | endl;2207 sout | result`ns; 2208 2208 } 2209 2209 \end{cfa} … … 2244 2244 int main() { 2245 2245 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; 2247 2247 } 2248 2248 \end{cfa} … … 2305 2305 BENCH( for ( size_t i = 0; i < N; i += 1 ) { @wait( c );@ } ); 2306 2306 go = 0; // stop other thread 2307 sout | result`ns | endl;2307 sout | result`ns; 2308 2308 } 2309 2309 int main() { … … 2356 2356 BENCH( for ( size_t i = 0; i < N; i += 1 ) { @waitfor( do_call, m );@ } ) 2357 2357 go = 0; // stop other thread 2358 sout | result`ns | endl;2358 sout | result`ns; 2359 2359 } 2360 2360 int main() { … … 2391 2391 int main() { 2392 2392 BENCH( for ( size_t i = 0; i < N; i += 1 ) { @MyThread m;@ } ) 2393 sout | result`ns | endl;2393 sout | result`ns; 2394 2394 } 2395 2395 \end{cfa} -
doc/proposals/flags.md
raeb8f70 re99e43f 60 60 ``` 61 61 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"; } 64 64 f |= FOO; // set FOO 65 65 f -= FOO; // unset FOO … … 88 88 ``` 89 89 FunFlags f = some_val(); 90 if ( f.FOO ) { sout | "f has FOO set" | endl; }90 if ( f.FOO ) { sout | "f has FOO set"; } 91 91 f.FOO = true; // set FOO 92 92 f.FOO = false; // unset FOO -
doc/theses/aaron_moss_PhD/phd/Makefile
raeb8f70 re99e43f 1 1 BUILD = build 2 2 BIBDIR = ../../../bibliography 3 EVALDIR = evaluation 3 4 TEXLIB = .:${BUILD}:${BIBDIR}: 4 5 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} 7 LATEX = TEXINPUTS=${TEXLIB} && export TEXINPUTS && latex -halt-on-error -output-directory=${BUILD} 6 8 BIBTEX = BIBINPUTS=${TEXLIB} && export BIBINPUTS && bibtex 9 10 VPATH = ${EVALDIR} 7 11 8 12 BASE = thesis … … 23 27 } 24 28 29 GRAPHS = ${addsuffix .tex, \ 30 generic-timing \ 31 } 32 25 33 .PHONY : all rebuild-refs clean wc 26 34 … … 33 41 wc ${SOURCES} 34 42 35 ${DOCUMENT} : ${SOURCES} ${BUILD} 36 ${LATEX} ${BASE} 37 ${LATEX} ${BASE} 43 ${DOCUMENT} : ${BASE}.ps 44 ps2pdf ${BUILD}/$< 38 45 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} 40 50 ${LATEX} ${BASE} 41 51 ${BIBTEX} ${BUILD}/${BASE} … … 43 53 ${LATEX} ${BASE} 44 54 55 ${GRAPHS} : generic-timing.gp generic-timing.dat ${BUILD} 56 gnuplot -e BUILD="'${BUILD}/'" ${EVALDIR}/generic-timing.gp 57 45 58 ${BUILD}: 46 59 mkdir -p ${BUILD} -
doc/theses/aaron_moss_PhD/phd/generic-types.tex
raeb8f70 re99e43f 135 135 136 136 \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} .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} and from which this chapter is closely based. 138 138 \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. 139 139 A 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. … … 179 179 \subsection{Related Work} 180 180 181 One approach to the design of generic types is that taken by \CC{} templates\cit {}.181 One approach to the design of generic types is that taken by \CC{} templates\cite{C++}. 182 182 The 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. 183 183 Template expansion has the benefit of generating code with near-optimal runtime efficiency, as distinct optimizations can be applied for each instantiation of the template. … … 185 185 The most significant restriction of the \CC{} template model is that it breaks separate compilation and C's translation-unit-based encapsulation mechanisms. 186 186 Because 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. 187 Furthermore, \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{}. 187 188 C 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{}. 188 189 189 Java\cit {} has another prominent implementation for generic types,based on a significantly different approach than \CC{}.190 Java\cite{Java8} has another prominent implementation for generic types, introduced in Java~5 and based on a significantly different approach than \CC{}. 190 191 The 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. 191 192 This 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. 192 193 To 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. 193 194 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} 195 Cyclone\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. 196 Cyclone 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. 197 Furthermore, 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!. 198 In the \CFA{} terminology discussed in Section~\ref{generic-impl-sec}, all Cyclone polymorphism must be dtype-static. 199 While 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 201 Many other languages include some form of generic types. 202 As 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. 203 Haskell\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{}. 204 Objective-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. 205 Go\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. 206 Go 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. 207 Go does not, however, allow user code to define generic types, restricting Go programmers to the small set of generic types defined by the compiler. 208 Rust 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. 209 On 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. 197 210 198 211 \subsection{\CFA{} Generics} … … 212 225 213 226 In 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.227 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. 215 228 216 229 !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. … … 234 247 \end{cfa} 235 248 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. 250 For example, the following declaration of a sorted set type ensures that the set key implements equality and relational comparison: 251 252 \begin{cfa} 253 forall(otype Key | { int ?==?(Key, Key); int ?<?(Key, Key); }) struct sorted_set; 254 \end{cfa} 255 256 These constraints are implemented by applying equivalent constraints to the compiler-generated constructors for this type. 257 258 \section{Implementation} \label{generic-impl-sec} 259 260 The 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. 261 While \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. 262 Instead, 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. 263 A \emph{dtype-static} type has polymorphic parameters but is still concrete. 264 Polymorphic 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. 265 In 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. 266 More 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. 267 To 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 271 forall(otype T) T value( pair(const char*, T) p ) { return p.second; } 272 273 // dtype-static, F* and T* are concrete but recursively polymorphic 274 forall(dtype F, otype T) T value( pair(F*, T*) ) { return *p.second; } 275 276 pair(const char*, int) p = {"magic", 42}; $\C[2.5in]{// concrete}$ 277 int i = value(p); 278 pair(void*, int*) q = {0, &p.second}; $\C[2.5in]{// concrete}$ 279 i = value(q); 280 double d = 1.0; 281 pair(double*, double*) r = {&d, &d}; $\C[2.5in]{// concrete}$ 282 d = value(r); 283 \end{cfa} 284 285 \subsection{Concrete Generic Types} 286 287 The \CFACC{} translator template expands concrete generic types into new structure types, affording maximal inlining. 288 To 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. 289 In 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. 290 A 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. 291 As 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} 294 struct _pair_conc0 { const char * first; int second; }; 295 \end{cfa} 296 297 A concrete generic type with dtype-static parameters is also expanded to a structure type, but this type is used for all matching instantiations. 298 In 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} 301 struct _pair_conc1 { void* first; void* second; }; 302 \end{cfa} 303 304 \subsection{Dynamic Generic Types} 305 306 In addition to this efficient implementation of concrete generic types, \CFA{} also offers flexibility with powerful support for dynamic generic types. 307 In the pre-existing compiler design, !otype! (and all !sized!) type parameters come with implicit size and alignment parameters provided by the caller. 308 The design for generic types presented here adds an \emph{offset array} containing structure-member offsets for dynamic generic !struct! types. 309 A dynamic generic !union! needs no such offset array, as all members are at offset 0, but size and alignment are still necessary. 310 Access 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 312 the offset arrays are statically generated where possible. 313 If 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. 314 As 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 320 Here, !_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} 324 size_t _offsetof_pair[] = {offsetof(_pair_conc0, first), offsetof(_pair_conc0, second)}; 325 \end{cfa} 326 327 \subsubsection{Layout Functions} 328 329 In some cases, the offset arrays cannot be statically generated. 330 For 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. 333 These 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. 334 Un!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. 335 Similarly, 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 337 The 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{}. 338 This 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. 339 Since \CFACC{} generates a distinct layout function for each type, constant-folding and loop unrolling are applied. 340 341 \begin{cfa} 342 forall(dtype T1, dtype T2, ... | sized(T1) | sized(T2) | ...) 343 void 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 362 Results of layout function calls are cached so that they are only computed once per type per function. 363 Layout 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. 364 For 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. 365 This 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 367 Whether a type is concrete, dtype-static, or dynamic is decided solely on the basis of the type arguments and !forall! clause type paramters. 368 This 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. 369 In 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. 370 However, 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 374 The reuse of dtype-static structure instantiations enables useful programming patterns at zero runtime cost. 375 The 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} 378 forall(dtype T) 379 int 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 385 Since !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 387 Another useful pattern enabled by reused dtype-static type instantiations is zero-cost \emph{tag structures}. 388 Sometimes, information is only used for type checking and can be omitted at runtime. 389 In 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 !?+?!. 390 These implementations may even be separately compiled, unlike \CC{} template functions. 391 However, 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} 394 forall(dtype Unit) struct scalar { unsigned long value; }; 395 struct metres {}; 396 struct litres {}; 397 398 forall(dtype U) scalar(U) ?+?(scalar(U) a, scalar(U) b) { 399 return (scalar(U)){ a.value + b.value }; 400 } 401 402 scalar(metres) half_marathon = { 21098 }; 403 scalar(litres) pool = { 2500000 }; 404 scalar(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 410 To 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}. 411 Since 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. 412 A more illustrative comparison measures the costs of idiomatic usage of each language's features. 413 The 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. 414 The 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} 417 int 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 437 The 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{}. 438 The \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. 439 The 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. 440 Note 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 442 Figure~\ref{generic-eval-fig} and Table~\ref{generic-eval-table} show the results of running the described benchmark. 443 The graph plots the median of five consecutive runs of each program, with an initial warm-up run omitted. 444 All code is compiled at \texttt{-O2} by gcc or g++ 6.4.0, with all \CC{} code compiled as \CCfourteen{}. 445 The 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. 446 I 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} \\ 460 maximum memory usage (MB) & 10\,001 & 2\,502 & 2\,503 & 11\,253 \\ 461 source code size (lines) & 201 & 191 & 125 & 294 \\ 462 redundant type annotations (lines) & 27 & 0 & 2 & 16 \\ 463 binary size (KB) & 14 & 257 & 14 & 37 \\ 464 \end{tabular} 465 \end{table} 466 467 The 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. 468 By 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. 470 The gcc compiler is unable to optimize some dead code and condense nested calls; a compiler designed for \CFA{} could more easily perform these optimizations. 471 Finally, 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. 474 The 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. 475 Use 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. 476 The 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. 477 On 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. 479 I 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 481 Line 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. 482 Such 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. 483 To 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. 484 The \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. 485 The \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. 248 486 249 487 \section{Future Work} 250 488 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) 489 The generic types design presented here is already sufficiently expressive to implement a variety of useful library types. 490 However, some other features based on this design could further improve \CFA{}. 491 492 The most pressing addition is the ability to have non-type generic parameters. 493 C 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. 494 More 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. 495 For 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 497 The implementation mechanisms behind this generic types design can also be used to add new features to \CFA{}. 498 One such potential feature would be to add \emph{field assertions} to the existing function and variable assertions on polymorphic type variables. 499 Implementation of these field assertions would be based on the same code that supports member access by dynamic offset calculation for dynamic generic types. 500 Simulating 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. 501 Of 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{}. 502 If 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 505 With 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. 506 However, 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. 507 Two 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. 508 These approaches are not mutually exclusive and allow performance optimizations to be applied only when necessary, without suffering global code bloat. 509 In 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 5 5 6 6 \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} 9 8 10 9 \centering -
doc/theses/aaron_moss_PhD/phd/macros.tex
raeb8f70 re99e43f 12 12 \newcommand{\CCseventeen}{\textrm{C}\kern-.1em\hbox{+\kern-.25em+}17} % C++17 symbolic name 13 13 \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 14 15 \newcommand{\Csharp}{C\raisebox{-0.7ex}{\Large$^\sharp$}} % C# symbolic name 15 16 … … 19 20 \newcommand{\etal}{\textit{et~al.}} 20 21 22 \newcommand{\myset}[1]{\left\{#1\right\}} 23 21 24 \newcommand{\TODO}[1]{\textbf{TODO:} \textit{#1}} 22 25 \newcommand{\cit}{\textsuperscript{[citation needed]}} -
doc/theses/aaron_moss_PhD/phd/thesis.tex
raeb8f70 re99e43f 21 21 22 22 \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 24 30 25 31 % Hyperlinks make it very easy to navigate an electronic document. … … 28 34 % Use the "hyperref" package 29 35 % 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} 31 38 % N.B. pagebackref=true provides links back from the References to the body text. This can cause trouble for printing. 32 39 … … 120 127 \input{background} 121 128 \input{generic-types} 129 \input{resolution-heuristics} 122 130 \input{type-environment} 123 \input{resolution-heuristics}124 131 \input{conclusion} 125 132 -
doc/theses/aaron_moss_PhD/phd/type-environment.tex
raeb8f70 re99e43f 2 2 \label{env-chap} 3 3 4 Talk about the type environment data structure. Pull from your presentation. 4 One key data structure for expression resolution is the \emph{type environment}. 5 As 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. 6 Furthermore, 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. 7 In 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 11 For purposes of this chapter, a \emph{type environment} $T$ is a set of \emph{type classes} $\myset{T_1, T_2, \cdots, T_{|T|}}$. 12 Each 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. 13 Each 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 34 Given this basic structure, type environments in \CFACC{} need to support eleven basic operations, summarized in Table~\ref{env-op-table}. 35 The first seven operations are straightforward queries and updates on these data structures: 36 The 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. 37 The 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 39 The 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$. 40 The $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 43 The $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. 45 It 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. 47 In \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. 48 If 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. 49 For 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!. 50 As 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. 51 For more information on \CFA{} unification, see \cite{Bilson03}. 52 The 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$. 53 If 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 55 Given the nature of the expression resolution problem as backtracking search, caching and concurrency are both useful tools to decrease runtime. 56 However, both of these approaches may produce multiple distinct descendants of the same initial type environment, which have possibly been mutated in incompatible ways. 57 As 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. 59 The 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'$. 61 Like $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 63 Finally, the backtracking access patterns of the compiler can be exploited to reduce memory usage or runtime through use of an appropriately designed data structure. 64 The 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$. 65 As 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. 66 These 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 72 The 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. 73 This 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. 74 Some 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. 75 These improvements do not change the fundamental issues with this data structure, however. 76 77 \subsection{Incremental Inheritance} 78 79 One 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. 80 This 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. 81 Since 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 83 For 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. 84 Any 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. 85 However, 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 87 This 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. 88 The 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. 89 These 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 93 Given 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}. 94 Union-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. 95 The 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. 98 If 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 100 The 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. 101 In 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. 102 This issue can be solved by including a side map from class representatives to the type class bound. 103 If 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 107 Another 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. 108 Since 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. 109 The 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. 110 Unfortunately, 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 114 The 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. 115 Aho, Hopcroft, and Ullman also include a circularly-linked list in their 1974 textbook~\cite{Aho74}. 116 However, 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. 117 In my version, the list data structure does not affect the layout of the union-find tree, maintaining the same asymptotic bounds as union-find. 118 In 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. 119 When two classes are unified, the !next! pointers of the representatives of those classes are swapped, splicing the two circularly-linked lists together. 120 Importantly, 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. 121 The 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 123 If 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. 124 Theorem~\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. 125 This 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.}. 126 Once 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} 129 The !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 138 On 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 142 Given 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. 143 Conchon 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 147 In 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. 148 In this manner, a tree of edits is formed, rooted at the actual array. 149 Read from the actual array at the root can be performed in constant time, as with a non-persistent array. 150 The 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. 151 The mutation algorithm at the root is in some sense a special case of the key operation on persistent arrays, $reroot$. 152 153 A rerooting operation takes any array reference and makes it the root node of the array. 154 This 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. 155 In 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. 156 While $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. 157 Also, 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. 158 Since 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 160 While 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. 161 In particular, an arbitrary number of type variables must be added to the environment. 162 As 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. 163 Besides 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. 164 In 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. 165 The 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. 166 Making !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. 167 The 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 169 Maintaining 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. 170 If 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. 171 This 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 173 The procedure for $combine(T, T')$ based on edit paths is as follows: 174 The 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. 175 By 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. 176 This procedure is repeated for both the class edit tree and the binding edit tree. 177 When the list of net changes to the environment has been produced, the additive changes are applied to $T$. 178 For 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. 179 The 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''$. 180 Where $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 184 In 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 79 79 ## Define the default recipes. 80 80 81 ${Build} :81 ${Build} : 82 82 mkdir -p ${Build} 83 83 -
doc/user/user.tex
raeb8f70 re99e43f 11 11 %% Created On : Wed Apr 6 14:53:29 2016 12 12 %% Last Modified By : Peter A. Buhr 13 %% Last Modified On : Fri Aug 31 07:54:50201814 %% Update Count : 3 39613 %% Last Modified On : Tue Dec 11 23:19:26 2018 14 %% Update Count : 3400 15 15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 16 16 … … 178 178 int main( void ) { 179 179 int x = 0, y = 1, z = 2; 180 ®sout | x | y | z | endl;®§\indexc{sout}§180 ®sout | x | y | z;®§\indexc{sout}§ 181 181 } 182 182 \end{cfa} … … 513 513 Floating exponentiation\index{exponentiation!floating} is performed using \Index{logarithm}s\index{exponentiation!logarithm}, so the base cannot be negative. 514 514 \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;515 sout | 2 ®\® 8u | 4 ®\® 3u | -4 ®\® 3u | 4 ®\® -3 | -4 ®\® -3 | 4.0 ®\® 2.1 | (1.0f+2.0fi) ®\® (3.0f+2.0fi); 516 516 256 64 -64 0.015625 -0.015625 18.3791736799526 0.264715-1.1922i 517 517 \end{cfa} … … 547 547 548 548 549 %\subsection{\texorpdfstring{\protect\lstinline@for@ Statement}{for Statement}} 550 \subsection{\texorpdfstring{\LstKeywordStyle{for} Statement}{for Statement}} 549 \subsection{Loop Control} 551 550 552 551 The ©for©/©while©/©do-while© loop-control allows empty or simplified ranges. … … 557 556 the down-to range ©-~=©\index{-~=@©-~=©} means inclusive range [N,M]. 558 557 ©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. 559 The up-to range uses ©+=© for increment; 560 the down-to range uses ©-=© for decrement. 560 561 The loop index is polymorphic in the type of the start value or comparison value when start is implicitly ©0©. 561 562 \begin{cquote} 562 563 \begin{tabular}{@{}ll|l@{}} 563 \multicolumn{2}{c|}{ forcontrol} & \multicolumn{1}{c}{output} \\564 \multicolumn{2}{c|}{loop control} & \multicolumn{1}{c}{output} \\ 564 565 \hline 565 566 \begin{cfa} … … 571 572 for ( ®10® ) { sout | "A"; } 572 573 for ( ®1 ~= 10 ~ 2® ) { sout | "B"; } 573 for ( ®10 -~= 1 ~ -2® ) { sout | "C"; }574 for ( ®10 -~= 1 ~ 2® ) { sout | "C"; } 574 575 for ( ®0.5 ~ 5.5® ) { sout | "D"; } 575 576 for ( ®5.5 -~ 0.5® ) { sout | "E"; } 576 577 for ( ®i; 10® ) { sout | i; } 577 578 for ( ®i; 1 ~= 10 ~ 2® ) { sout | i; } 578 for ( ®i; 10 -~= 1 ~ -2® ) { sout | i; }579 for ( ®i; 10 -~= 1 ~ 2® ) { sout | i; } 579 580 for ( ®i; 0.5 ~ 5.5® ) { sout | i; } 580 581 for ( ®i; 5.5 -~ 0.5® ) { sout | i; } 581 582 for ( ®ui; 2u ~= 10u ~ 2u® ) { sout | ui; } 582 for ( ®ui; 10u -~= 2u ~ -2u® ) { sout | ui; } 583 int start = 3, comp = 10, inc = 2; 583 for ( ®ui; 10u -~= 2u ~ 2u® ) { sout | ui; } 584 enum { N = 10 }; 585 for ( ®N® ) { sout | "N"; } 586 for ( ®i; N® ) { sout | i; } 587 for ( ®i; N -~ 0® ) { sout | i; } 588 const int start = 3, comp = 10, inc = 2; 584 589 for ( ®i; start ~ comp ~ inc + 1® ) { sout | i; } 585 590 \end{cfa} 586 591 & 587 592 \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; 593 sout | nl; 594 sout | nl; 595 sout | nl; 596 sout | "zero" | nl; 597 sout | nl; 598 sout | nl; 599 sout | nl; 600 sout | nl; 601 sout | nl; 602 sout | nl; 603 sout | nl; 604 sout | nl; 605 sout | nl; 606 sout | nl; 607 sout | nl; 608 sout | nl; 609 sout | nl | nl; 610 611 sout | nl; 612 sout | nl; 613 sout | nl | nl; 614 615 sout | nl; 607 616 \end{cfa} 608 617 & … … 611 620 empty 612 621 empty 613 622 zero 614 623 A 615 624 A A A A A A A A A A … … 625 634 2 4 6 8 10 626 635 10 8 6 4 2 636 637 N N N N N N N N N N 638 0 1 2 3 4 5 6 7 8 9 639 10 9 8 7 6 5 4 3 2 1 627 640 628 641 3 6 9 … … 2446 2459 int bar( int p ) { 2447 2460 ®i® += 1; §\C{// dependent on local variable}§ 2448 sout | ®i® | endl;2461 sout | ®i®; 2449 2462 } 2450 2463 return bar; §\C{// undefined because of local dependence}§ … … 2452 2465 int main() { 2453 2466 * [int]( int ) fp = foo(); §\C{// int (* fp)( int )}§ 2454 sout | fp( 3 ) | endl;2467 sout | fp( 3 ); 2455 2468 } 2456 2469 \end{cfa} … … 3218 3231 \begin{cfa} 3219 3232 int x = 1, y = 2, z = 3; 3220 sout | x ®|® y ®|® z | endl;3233 sout | x ®|® y ®|® z; 3221 3234 \end{cfa} 3222 3235 & … … 3239 3252 \begin{cfa} 3240 3253 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3241 sout | t1 | t2 | endl;§\C{// print tuples}§3254 sout | t1 | t2; §\C{// print tuples}§ 3242 3255 \end{cfa} 3243 3256 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3251 3264 & 3252 3265 \begin{cfa} 3253 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2) | endl;3266 sout | x * 3 | y + 1 | z << 2 | x == y | (x | y) | (x || y) | (x > z ? 1 : 2); 3254 3267 \end{cfa} 3255 3268 \\ … … 3277 3290 A separator does not appear at the start or end of a line. 3278 3291 \begin{cfa}[belowskip=0pt] 3279 sout | 1 | 2 | 3 | endl;3292 sout | 1 | 2 | 3; 3280 3293 \end{cfa} 3281 3294 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3286 3299 A separator does not appear before or after a character literal or variable. 3287 3300 \begin{cfa} 3288 sout | '1' | '2' | '3' | endl;3301 sout | '1' | '2' | '3'; 3289 3302 123 3290 3303 \end{cfa} … … 3293 3306 A separator does not appear before or after a null (empty) C string. 3294 3307 \begin{cfa} 3295 sout | 1 | "" | 2 | "" | 3 | endl;3308 sout | 1 | "" | 2 | "" | 3; 3296 3309 123 3297 3310 \end{cfa} … … 3303 3316 \begin{cfa}[mathescape=off] 3304 3317 sout | "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; 3306 3319 \end{cfa} 3307 3320 %$ … … 3317 3330 \begin{cfa}[belowskip=0pt] 3318 3331 sout | 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"; 3320 3333 \end{cfa} 3321 3334 \begin{cfa}[basicstyle=\tt,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3327 3340 A 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@ 3328 3341 \begin{cfa}[belowskip=0pt] 3329 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx" | endl;3342 sout | "x`" | 1 | "`x'" | 2 | "'x\"" | 3 | "\"x:" | 4 | ":x " | 5 | " x\t" | 6 | "\tx"; 3330 3343 \end{cfa} 3331 3344 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3336 3349 If a space is desired before or after one of the special string start/end characters, simply insert a space. 3337 3350 \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;3351 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; 3339 3352 \end{cfa} 3340 3353 \begin{cfa}[basicstyle=\tt,showspaces=true,showtabs=true,aboveskip=0pt,belowskip=0pt] … … 3353 3366 \begin{cfa}[mathescape=off,belowskip=0pt] 3354 3367 sepSet( sout, ", $" ); §\C{// set separator from " " to ", \$"}§ 3355 sout | 1 | 2 | 3 | " \"" | ®sep® | "\"" | endl;3368 sout | 1 | 2 | 3 | " \"" | ®sep® | "\""; 3356 3369 \end{cfa} 3357 3370 %$ … … 3362 3375 \begin{cfa}[belowskip=0pt] 3363 3376 sepSet( sout, " " ); §\C{// reset separator to " "}§ 3364 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\"" | endl;3377 sout | 1 | 2 | 3 | " \"" | ®sepGet( sout )® | "\""; 3365 3378 \end{cfa} 3366 3379 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3372 3385 strcpy( store, sepGet( sout ) ); §\C{// copy current separator}§ 3373 3386 sepSet( sout, "_" ); §\C{// change separator to underscore}§ 3374 sout | 1 | 2 | 3 | endl;3387 sout | 1 | 2 | 3; 3375 3388 \end{cfa} 3376 3389 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3379 3392 \begin{cfa}[belowskip=0pt] 3380 3393 sepSet( sout, store ); §\C{// change separator back to original}§ 3381 sout | 1 | 2 | 3 | endl;3394 sout | 1 | 2 | 3; 3382 3395 \end{cfa} 3383 3396 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3390 3403 \begin{cfa}[belowskip=0pt] 3391 3404 sepSetTuple( sout, " " ); §\C{// set tuple separator from ", " to " "}§ 3392 sout | t1 | t2 | " \"" | ®sepTuple® | "\"" | endl;3405 sout | t1 | t2 | " \"" | ®sepTuple® | "\""; 3393 3406 \end{cfa} 3394 3407 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3397 3410 \begin{cfa}[belowskip=0pt] 3398 3411 sepSetTuple( sout, ", " ); §\C{// reset tuple separator to ", "}§ 3399 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\"" | endl;3412 sout | t1 | t2 | " \"" | ®sepGetTuple( sout )® | "\""; 3400 3413 \end{cfa} 3401 3414 \begin{cfa}[showspaces=true,aboveskip=0pt] … … 3407 3420 Manipulators \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. 3408 3421 \begin{cfa}[belowskip=0pt] 3409 sout | sepDisable | 1 | 2 | 3 | endl;§\C{// globally turn off implicit separator}§3422 sout | sepDisable | 1 | 2 | 3; §\C{// globally turn off implicit separator}§ 3410 3423 \end{cfa} 3411 3424 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3413 3426 \end{cfa} 3414 3427 \begin{cfa}[belowskip=0pt] 3415 sout | sepEnable | 1 | 2 | 3 | endl; §\C{// globally turn on implicit separator}§3428 sout | sepEnable | 1 | 2 | 3; §\C{// globally turn on implicit separator}§ 3416 3429 \end{cfa} 3417 3430 \begin{cfa}[mathescape=off,showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3422 3435 Manipulators \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. 3423 3436 \begin{cfa}[belowskip=0pt] 3424 sout | 1 | sepOff | 2 | 3 | endl; §\C{// locally turn off implicit separator}§3437 sout | 1 | sepOff | 2 | 3; §\C{// locally turn off implicit separator}§ 3425 3438 \end{cfa} 3426 3439 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3428 3441 \end{cfa} 3429 3442 \begin{cfa}[belowskip=0pt] 3430 sout | sepDisable | 1 | sepOn | 2 | 3 | endl; §\C{// locally turn on implicit separator}§3443 sout | sepDisable | 1 | sepOn | 2 | 3; §\C{// locally turn on implicit separator}§ 3431 3444 \end{cfa} 3432 3445 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3435 3448 The tuple separator also responses to being turned on and off. 3436 3449 \begin{cfa}[belowskip=0pt] 3437 sout | t1 | sepOff | t2 | endl; §\C{// locally turn on/off implicit separator}§3450 sout | t1 | sepOff | t2; §\C{// locally turn on/off implicit separator}§ 3438 3451 \end{cfa} 3439 3452 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3443 3456 use ©sep© to accomplish this functionality. 3444 3457 \begin{cfa}[belowskip=0pt] 3445 sout | sepOn | 1 | 2 | 3 | sepOn | endl; §\C{// sepOn does nothing at start/end of line}§3458 sout | sepOn | 1 | 2 | 3 | sepOn; §\C{// sepOn does nothing at start/end of line}§ 3446 3459 \end{cfa} 3447 3460 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3449 3462 \end{cfa} 3450 3463 \begin{cfa}[belowskip=0pt] 3451 sout | sep | 1 | 2 | 3 | sep | endl; §\C{// use sep to print separator at start/end of line}§3464 sout | sep | 1 | 2 | 3 | sep ; §\C{// use sep to print separator at start/end of line}§ 3452 3465 \end{cfa} 3453 3466 \begin{cfa}[showspaces=true,aboveskip=0pt,belowskip=0pt] … … 3462 3475 int main( void ) { 3463 3476 int x = 1, y = 2, z = 3; 3464 sout | x | y | z | endl;3477 sout | x | y | z; 3465 3478 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 3466 sout | t1 | t2 | endl; // print tuples3467 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; 3471 3484 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; 3473 3486 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; 3477 3490 3478 3491 sepSet( sout, ", $" ); // set separator from " " to ", $" 3479 sout | 1 | 2 | 3 | " \"" | sep | "\"" | endl;3492 sout | 1 | 2 | 3 | " \"" | sep | "\""; 3480 3493 sepSet( sout, " " ); // reset separator to " " 3481 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" | endl;3494 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\""; 3482 3495 3483 3496 char store[sepSize]; 3484 3497 strcpy( store, sepGet( sout ) ); 3485 3498 sepSet( sout, "_" ); 3486 sout | 1 | 2 | 3 | endl;3499 sout | 1 | 2 | 3; 3487 3500 sepSet( sout, store ); 3488 sout | 1 | 2 | 3 | endl;3501 sout | 1 | 2 | 3; 3489 3502 3490 3503 sepSetTuple( sout, " " ); // set tuple separator from ", " to " " 3491 sout | t1 | t2 | " \"" | sepTuple | "\"" | endl;3504 sout | t1 | t2 | " \"" | sepTuple | "\""; 3492 3505 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 separator3496 sout | sepEnable | 1 | 2 | 3 | endl; // globally turn on implicit separator3497 3498 sout | 1 | sepOff | 2 | 3 | endl; // locally turn on implicit separator3499 sout | sepDisable | 1 | sepOn | 2 | 3 | endl; // globally turn off implicit separator3506 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 3500 3513 sout | sepEnable; 3501 sout | t1 | sepOff | t2 | endl; // locally turn on/off implicit separator3502 3503 sout | sepOn | 1 | 2 | 3 | sepOn | endl; // sepOn does nothing at start/end of line3504 sout | sep | 1 | 2 | 3 | sep | endl; // use sep to print separator at start/end of line3514 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 3505 3518 } 3506 3519 … … 4167 4180 Fibonacci f1, f2; 4168 4181 for ( int i = 1; i <= 10; i += 1 ) { 4169 sout | next( &f1 ) | ' ' | next( &f2 ) | endl;4182 sout | next( &f1 ) | ' ' | next( &f2 ); 4170 4183 } // for 4171 4184 } … … 4233 4246 MyThread f[4]; 4234 4247 } 4235 sout | global.value | endl;4248 sout | global.value; 4236 4249 } 4237 4250 \end{cfa} … … 4311 4324 void main( First * this ) { 4312 4325 for ( int i = 0; i < 10; i += 1 ) { 4313 sout | "First : Suspend No." | i + 1 | endl;4326 sout | "First : Suspend No." | i + 1; 4314 4327 yield(); 4315 4328 } … … 4320 4333 wait( this->lock ); 4321 4334 for ( int i = 0; i < 10; i += 1 ) { 4322 sout | "Second : Suspend No." | i + 1 | endl;4335 sout | "Second : Suspend No." | i + 1; 4323 4336 yield(); 4324 4337 } … … 4327 4340 int main( void ) { 4328 4341 signal_once lock; 4329 sout | "User main begin" | endl;4342 sout | "User main begin"; 4330 4343 { 4331 4344 processor p; … … 4335 4348 } 4336 4349 } 4337 sout | "User main end" | endl;4350 sout | "User main end"; 4338 4351 } 4339 4352 \end{cfa} … … 5032 5045 void ?{}( Line * l ) { 5033 5046 l->lnth = 0.0; 5034 sout | "default" | endl;5047 sout | "default"; 5035 5048 } 5036 5049 … … 5039 5052 void ?{}( Line * l, float lnth ) { 5040 5053 l->lnth = lnth; 5041 sout | "lnth" | l->lnth | endl;5054 sout | "lnth" | l->lnth; 5042 5055 5043 5056 } … … 5045 5058 // destructor 5046 5059 void ^?() { 5047 sout | "destroyed" | endl;5060 sout | "destroyed"; 5048 5061 l.lnth = 0.0; 5049 5062 } … … 5791 5804 In particular, output of ©char© variable now print a character rather than the decimal ASCII value of the character. 5792 5805 \begin{cfa} 5793 sout | 'x' | " " | (int)'x' | endl;5806 sout | 'x' | " " | (int)'x'; 5794 5807 x 120 5795 5808 \end{cfa} … … 7021 7034 #include <gmp>§\indexc{gmp}§ 7022 7035 int main( void ) { 7023 sout | "Factorial Numbers" | endl;7036 sout | "Factorial Numbers"; 7024 7037 Int fact = 1; 7025 7038 7026 sout | 0 | fact | endl;7039 sout | 0 | fact; 7027 7040 for ( unsigned int i = 1; i <= 40; i += 1 ) { 7028 7041 fact *= i; 7029 sout | i | fact | endl;7042 sout | i | fact; 7030 7043 } 7031 7044 } -
driver/Makefile.am
raeb8f70 re99e43f 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 # applies to both programs -
driver/Makefile.in
raeb8f70 re99e43f 96 96 subdir = driver 97 97 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 99 $(top_srcdir)/configure.ac 98 am__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 100 104 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 101 105 $(ACLOCAL_M4) … … 110 114 as_OBJECTS = $(am_as_OBJECTS) 111 115 as_LDADD = $(LDADD) 116 AM_V_lt = $(am__v_lt_@AM_V@) 117 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 118 am__v_lt_0 = --silent 119 am__v_lt_1 = 112 120 am_cc1_OBJECTS = cc1.$(OBJEXT) 113 121 cc1_OBJECTS = $(am_cc1_OBJECTS) … … 134 142 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 135 143 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 144 LTCXXCOMPILE = $(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) 136 148 AM_V_CXX = $(am__v_CXX_@AM_V@) 137 149 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 139 151 am__v_CXX_1 = 140 152 CXXLD = $(CXX) 141 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 142 -o $@ 153 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 154 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 155 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 143 156 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 144 157 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 177 190 AMTAR = @AMTAR@ 178 191 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 192 AR = @AR@ 179 193 AUTOCONF = @AUTOCONF@ 180 194 AUTOHEADER = @AUTOHEADER@ 181 195 AUTOMAKE = @AUTOMAKE@ 182 196 AWK = @AWK@ 183 BACKEND_CC = @BACKEND_CC@184 197 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 185 198 CC = @CC@ … … 201 214 CPPFLAGS = @CPPFLAGS@ 202 215 CXX = @CXX@ 216 CXXCPP = @CXXCPP@ 203 217 CXXDEPMODE = @CXXDEPMODE@ 204 218 CXXFLAGS = @CXXFLAGS@ … … 206 220 DEFS = @DEFS@ 207 221 DEPDIR = @DEPDIR@ 222 DLLTOOL = @DLLTOOL@ 208 223 DRIVER_DIR = @DRIVER_DIR@ 224 DSYMUTIL = @DSYMUTIL@ 225 DUMPBIN = @DUMPBIN@ 209 226 ECHO_C = @ECHO_C@ 210 227 ECHO_N = @ECHO_N@ … … 212 229 EGREP = @EGREP@ 213 230 EXEEXT = @EXEEXT@ 231 FGREP = @FGREP@ 214 232 GREP = @GREP@ 215 233 HOST_FLAGS = @HOST_FLAGS@ … … 219 237 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 220 238 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 239 LD = @LD@ 221 240 LDFLAGS = @LDFLAGS@ 222 241 LEX = @LEX@ … … 227 246 LIBOBJS = @LIBOBJS@ 228 247 LIBS = @LIBS@ 248 LIBTOOL = @LIBTOOL@ 249 LIPO = @LIPO@ 250 LN_S = @LN_S@ 229 251 LTLIBOBJS = @LTLIBOBJS@ 252 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 230 253 MAKEINFO = @MAKEINFO@ 254 MANIFEST_TOOL = @MANIFEST_TOOL@ 231 255 MKDIR_P = @MKDIR_P@ 256 NM = @NM@ 257 NMEDIT = @NMEDIT@ 258 OBJDUMP = @OBJDUMP@ 232 259 OBJEXT = @OBJEXT@ 260 OTOOL = @OTOOL@ 261 OTOOL64 = @OTOOL64@ 233 262 PACKAGE = @PACKAGE@ 234 263 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 240 269 PATH_SEPARATOR = @PATH_SEPARATOR@ 241 270 RANLIB = @RANLIB@ 271 SED = @SED@ 242 272 SET_MAKE = @SET_MAKE@ 243 273 SHELL = @SHELL@ … … 251 281 abs_top_builddir = @abs_top_builddir@ 252 282 abs_top_srcdir = @abs_top_srcdir@ 283 ac_ct_AR = @ac_ct_AR@ 253 284 ac_ct_CC = @ac_ct_CC@ 254 285 ac_ct_CXX = @ac_ct_CXX@ 286 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 255 287 am__include = @am__include@ 256 288 am__leading_dot = @am__leading_dot@ … … 300 332 top_srcdir = @top_srcdir@ 301 333 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 334 ACLOCAL_AMFLAGS = -I automake 302 335 303 336 # applies to both programs … … 313 346 314 347 .SUFFIXES: 315 .SUFFIXES: .cc . o .obj348 .SUFFIXES: .cc .lo .o .obj 316 349 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 317 350 @for dep in $?; do \ … … 353 386 sed 's/$(EXEEXT)$$//' | \ 354 387 while read p p1; do if test -f $$p \ 388 || test -f $$p1 \ 355 389 ; then echo "$$p"; echo "$$p"; else :; fi; \ 356 390 done | \ … … 367 401 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 368 402 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 $$?; \ 371 405 } \ 372 406 ; done … … 384 418 385 419 clean-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 387 427 388 428 clean-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 390 436 391 437 as$(EXEEXT): $(as_OBJECTS) $(as_DEPENDENCIES) $(EXTRA_as_DEPENDENCIES) … … 426 472 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 427 473 @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 483 mostlyclean-libtool: 484 -rm -f *.lo 485 486 clean-libtool: 487 -rm -rf .libs _libs 428 488 429 489 ID: $(am__tagged_files) … … 549 609 clean: clean-am 550 610 551 clean-am: clean-cc1libPROGRAMS clean-generic clean- noinstPROGRAMS\552 mostlyclean-am611 clean-am: clean-cc1libPROGRAMS clean-generic clean-libtool \ 612 clean-noinstPROGRAMS mostlyclean-am 553 613 554 614 distclean: distclean-am … … 606 666 mostlyclean: mostlyclean-am 607 667 608 mostlyclean-am: mostlyclean-compile mostlyclean-generic 668 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 669 mostlyclean-libtool 609 670 610 671 pdf: pdf-am … … 622 683 623 684 .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 \ 635 697 tags tags-am uninstall uninstall-am uninstall-cc1libPROGRAMS \ 636 698 uninstall-hook -
driver/as.cc
raeb8f70 re99e43f 1 // 1 // 2 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 3 // 4 4 // The contents of this file are covered under the licence agreement in the 5 5 // file "LICENCE" distributed with Cforall. 6 // 6 // 7 7 // as.c -- map assembler file, scan for debug information. If found, expand file by one character and insert Cforall 8 8 // language code on the N line from the start of the debug information. 9 // 9 // 10 10 // Author : Peter A. Buhr 11 11 // Created On : Wed Aug 1 10:49:42 2018 … … 13 13 // Last Modified On : Sat Sep 8 08:40:16 2018 14 14 // Update Count : 97 15 // 15 // 16 16 17 17 #include <cstdio> // perror … … 45 45 46 46 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 ); 48 48 if ( start == (void *)-1 ) { perror( "mmap" ); exit( EXIT_FAILURE ); }; 49 49 … … 65 65 } // if 66 66 67 if ( munmap( start, size ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk67 if ( munmap( start, size + 2 ) ) { perror( "munmap" ); exit( EXIT_FAILURE ); }; // update on disk 68 68 } // if 69 69 -
driver/cfa.cc
raeb8f70 re99e43f 403 403 404 404 // 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(); 406 408 nargs += 1; 407 409 args[nargs] = "-lcfa"; -
examples/ArrayN.c
raeb8f70 re99e43f 7 7 8 8 forall(otype index_t) 9 index_t offset_to_index(unsigned offset, index_t size) 10 { 9 index_t offset_to_index(unsigned offset, index_t size) { 11 10 return [offset / size.0, offset % size.1]; 12 11 } 13 12 14 int main(int argc, char* argv[]) 15 { 13 int main(int argc, char* argv[]) { 16 14 unsigned x = 0, y = 0, i = 0; 17 15 unsigned sx = 4, sy = 4; … … 20 18 [x, y] = offset_to_index(6, [sx, sy]); 21 19 22 sout | x | ' ' | y | endl;20 sout | x | ' ' | y; 23 21 24 22 return 0; -
examples/gc_no_raii/src/internal/collector.c
raeb8f70 re99e43f 38 38 void* gc_allocate(size_t target_size) 39 39 { 40 // sout | "Allocating " | target_size | " bytes" | endl;40 // sout | "Allocating " | target_size | " bytes"; 41 41 42 42 size_t size = gc_compute_size(target_size + sizeof(gc_object_header)); 43 43 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"; 46 46 47 47 check(size < POOL_SIZE_BYTES); -
examples/gc_no_raii/src/internal/state.h
raeb8f70 re99e43f 38 38 static inline bool gc_needs_collect(gc_state* state) 39 39 { 40 // sout | "Used Space: " | state->used_space | " bytes" | endl;40 // sout | "Used Space: " | state->used_space | " bytes"; 41 41 return state->used_space * 2 > state->total_space; 42 42 } -
examples/gc_no_raii/src/tools/print.h
raeb8f70 re99e43f 5 5 // #include <fstream.hfa> 6 6 // 7 // #define DEBUG_OUT(x) sout | x | endl;7 // #define DEBUG_OUT(x) sout | x; 8 8 // 9 9 // #else -
examples/multicore.c
raeb8f70 re99e43f 15 15 16 16 int main(int argc, char* argv[]) { 17 // sout | "User main begin" | endl;17 // sout | "User main begin"; 18 18 { 19 19 processor p; … … 22 22 } 23 23 } 24 // sout | "User main end" | endl;24 // sout | "User main end"; 25 25 } -
examples/prolog.c
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Mar 8 22:09:39 201613 // Update Count : 512 // Last Modified On : Tue Dec 11 23:27:19 2018 13 // Update Count : 6 14 14 // 15 15 16 16 #include <fstream.hfa> 17 17 18 void printResult( int x ) { sout | "int" | endl; }19 void printResult( double x ) { sout | "double" | endl; }20 void printResult( char * x ) { sout | "char*" | endl; }18 void printResult( int x ) { sout | "int"; } 19 void printResult( double x ) { sout | "double"; } 20 void printResult( char * x ) { sout | "char*"; } 21 21 22 22 void is_arithmetic( int x ) {} -
examples/quad.c
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Mar 8 22:07:02 201613 // Update Count : 812 // Last Modified On : Tue Dec 11 23:26:58 2018 13 // Update Count : 9 14 14 // 15 15 … … 28 28 int main() { 29 29 int N = 2; 30 sout | "result of quad of" | N | "is" | quad( N ) | endl;30 sout | "result of quad of" | N | "is" | quad( N ); 31 31 } 32 32 -
examples/square.c
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Mar 8 22:05:48 201613 // Update Count : 2 712 // Last Modified On : Tue Dec 11 23:28:24 2018 13 // Update Count : 28 14 14 // 15 15 … … 23 23 int main() { 24 24 #if 0 25 sout | "result of squaring 9 is " | endl;25 sout | "result of squaring 9 is "; 26 26 27 27 // char does not have multiplication. … … 30 30 } // ?*? 31 31 char c = 9; 32 sout | "char\t\t\t" | square( c ) | endl;32 sout | "char\t\t\t" | square( c ); 33 33 34 sout | square( s ) | endl;34 sout | square( s ); 35 35 #endif 36 36 short s = 9; … … 38 38 #if 0 39 39 signed int i = 9; 40 sout | "signed int\t\t" | square( i ) | endl;40 sout | "signed int\t\t" | square( i ); 41 41 42 42 unsigned int ui = 9; 43 sout | "unsigned int\t\t" | square( ui ) | endl;43 sout | "unsigned int\t\t" | square( ui ); 44 44 45 45 long int li = 9; 46 sout | "signed long int\t\t" | square( li ) | endl;46 sout | "signed long int\t\t" | square( li ); 47 47 48 48 unsigned long int uli = 9; 49 sout | "unsigned long int\t" | square( uli ) | endl;49 sout | "unsigned long int\t" | square( uli ); 50 50 51 51 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 ); 53 53 54 54 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 ); 56 56 57 57 float f = 9.0; 58 sout | "float\t\t\t" | square( f ) | endl;58 sout | "float\t\t\t" | square( f ); 59 59 60 60 double d = 9.0; 61 sout | "double\t\t\t" | square( d ) | endl;61 sout | "double\t\t\t" | square( d ); 62 62 63 63 long double ld = 9.0; 64 sout | "long double\t\t" | square( ld ) | endl;64 sout | "long double\t\t" | square( ld ); 65 65 #endif 66 66 } // main -
examples/twice.c
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Oct 19 21:52:57 201713 // Update Count : 4 612 // Last Modified On : Tue Dec 11 23:28:08 2018 13 // Update Count : 47 14 14 // 15 15 … … 28 28 29 29 int 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 ); 31 31 } 32 32 -
examples/wrapper/src/main.c
raeb8f70 re99e43f 1 1 #include "pointer.h" 2 2 3 wrapper_t make_copy(wrapper_t copy) 4 { 3 wrapper_t make_copy(wrapper_t copy) { 5 4 return copy; 6 5 } 7 6 8 int main(int argc, char const *argv[]) 9 { 7 int main(int argc, char const *argv[]) { 10 8 wrapper_t p = wrap(6); 11 12 sout | endl | "test started" | endl; 13 9 sout | nl | "test started"; 14 10 wrapper_t p2 = p; 15 16 11 clear(&p); 17 18 12 p = p2; 19 20 13 wrapper_t p3 = make_copy(p2); 21 22 sout | endl | "test ended" | endl; 23 14 sout | nl | "test ended"; 24 15 return 0; 25 16 } -
examples/wrapper/src/pointer.h
raeb8f70 re99e43f 34 34 void ?{}(content_t* this) 35 35 { 36 sout | "Constructing content" | endl;36 sout | "Constructing content"; 37 37 this->count = 0; 38 38 } … … 40 40 void ^?{}(content_t* this) 41 41 { 42 sout | "Destroying content" | endl;42 sout | "Destroying content"; 43 43 } 44 44 … … 53 53 void ?{}(wrapper_t* this) 54 54 { 55 sout | "Constructing empty ref pointer" | endl | endl;55 sout | "Constructing empty ref pointer" | nl; 56 56 this->ptr = NULL; 57 57 } … … 59 59 void ?{}(wrapper_t* this, wrapper_t rhs) 60 60 { 61 sout | "Constructing ref pointer from copy" | endl;61 sout | "Constructing ref pointer from copy"; 62 62 this->ptr = rhs.ptr; 63 63 this->ptr->count++; 64 sout | "Reference is " | this->ptr->count | endl | endl;64 sout | "Reference is " | this->ptr->count | nl; 65 65 } 66 66 … … 69 69 if(this->ptr) 70 70 { 71 sout | "Destroying ref pointer" | endl;71 sout | "Destroying ref pointer"; 72 72 this->ptr->count--; 73 sout | "Reference is " | this->ptr->count | endl | endl;73 sout | "Reference is " | this->ptr->count | nl; 74 74 if(!this->ptr->count) delete(this->ptr); 75 75 } 76 76 else 77 77 { 78 sout | "Destroying empty ref pointer" | endl | endl;78 sout | "Destroying empty ref pointer" | nl; 79 79 } 80 80 } … … 82 82 wrapper_t ?=?(wrapper_t* this, wrapper_t rhs) 83 83 { 84 sout | "Setting ref pointer" | endl;84 sout | "Setting ref pointer"; 85 85 if(this->ptr) 86 86 { 87 87 this->ptr->count--; 88 sout | "Reference is " | this->ptr->count | endl | endl;88 sout | "Reference is " | this->ptr->count | nl; 89 89 if(!this->ptr->count) delete(this->ptr); 90 90 } 91 91 this->ptr = rhs.ptr; 92 92 this->ptr->count++; 93 sout | "Reference is " | this->ptr->count | endl | endl;93 sout | "Reference is " | this->ptr->count | nl; 94 94 } 95 95 … … 98 98 this->ptr = c; 99 99 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; 102 102 } 103 103 104 104 void clear(wrapper_t* this) 105 105 { 106 sout | "Clearing ref pointer" | endl;106 sout | "Clearing ref pointer"; 107 107 this->ptr->count--; 108 sout | "Reference is " | this->ptr->count | endl | endl;108 sout | "Reference is " | this->ptr->count | nl; 109 109 if(!this->ptr->count) delete(this->ptr); 110 110 this->ptr = NULL; -
examples/zero_one.c
raeb8f70 re99e43f 3 3 void foo(zero_t o) 4 4 { 5 sout | "It's a Zero!" | endl;5 sout | "It's a Zero!"; 6 6 } 7 7 8 8 void foo(one_t o) 9 9 { 10 sout | "It's a One!" | endl;10 sout | "It's a One!"; 11 11 } 12 12 13 13 void foo(int o) 14 14 { 15 sout | "It's a Number!" | endl;15 sout | "It's a Number!"; 16 16 } 17 17 -
libcfa/Makefile.am
raeb8f70 re99e43f 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 SUBDIRS = prelude src # order important -
libcfa/Makefile.in
raeb8f70 re99e43f 89 89 PRE_UNINSTALL = : 90 90 POST_UNINSTALL = : 91 build_triplet = @build@ 92 host_triplet = @host@ 91 93 subdir = . 92 94 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 93 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 94 $(top_srcdir)/configure.ac 95 am__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 95 101 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 96 102 $(ACLOCAL_M4) … … 158 164 CSCOPE = cscope 159 165 DIST_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 166 am__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 166 174 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 167 175 distdir = $(PACKAGE)-$(VERSION) … … 209 217 AMTAR = @AMTAR@ 210 218 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 219 AR = @AR@ 211 220 ARCHITECTURE = @ARCHITECTURE@ 212 221 ARCH_FLAGS = @ARCH_FLAGS@ … … 227 236 CFA_NAME = @CFA_NAME@ 228 237 CFA_PREFIX = @CFA_PREFIX@ 238 CFA_VERSION = @CFA_VERSION@ 229 239 CFLAGS = @CFLAGS@ 230 240 CONFIGURATION = @CONFIGURATION@ … … 232 242 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 233 243 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 244 CPP = @CPP@ 234 245 CPPFLAGS = @CPPFLAGS@ 235 246 CXX = @CXX@ 247 CXXCPP = @CXXCPP@ 236 248 CXXDEPMODE = @CXXDEPMODE@ 237 249 CXXFLAGS = @CXXFLAGS@ … … 239 251 DEFS = @DEFS@ 240 252 DEPDIR = @DEPDIR@ 253 DLLTOOL = @DLLTOOL@ 241 254 DRIVER_DIR = @DRIVER_DIR@ 255 DSYMUTIL = @DSYMUTIL@ 256 DUMPBIN = @DUMPBIN@ 242 257 ECHO_C = @ECHO_C@ 243 258 ECHO_N = @ECHO_N@ 244 259 ECHO_T = @ECHO_T@ 260 EGREP = @EGREP@ 245 261 EXEEXT = @EXEEXT@ 262 FGREP = @FGREP@ 263 GREP = @GREP@ 246 264 INSTALL = @INSTALL@ 247 265 INSTALL_DATA = @INSTALL_DATA@ … … 249 267 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 250 268 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 269 LD = @LD@ 251 270 LDFLAGS = @LDFLAGS@ 252 271 LIBOBJS = @LIBOBJS@ 253 272 LIBS = @LIBS@ 273 LIBTOOL = @LIBTOOL@ 274 LIPO = @LIPO@ 275 LN_S = @LN_S@ 254 276 LTLIBOBJS = @LTLIBOBJS@ 277 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 255 278 MAKEINFO = @MAKEINFO@ 279 MANIFEST_TOOL = @MANIFEST_TOOL@ 256 280 MKDIR_P = @MKDIR_P@ 281 NM = @NM@ 282 NMEDIT = @NMEDIT@ 283 OBJDUMP = @OBJDUMP@ 257 284 OBJEXT = @OBJEXT@ 285 OTOOL = @OTOOL@ 286 OTOOL64 = @OTOOL64@ 258 287 PACKAGE = @PACKAGE@ 259 288 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 265 294 PATH_SEPARATOR = @PATH_SEPARATOR@ 266 295 RANLIB = @RANLIB@ 296 SED = @SED@ 267 297 SET_MAKE = @SET_MAKE@ 268 298 SHELL = @SHELL@ … … 273 303 abs_top_builddir = @abs_top_builddir@ 274 304 abs_top_srcdir = @abs_top_srcdir@ 305 ac_ct_AR = @ac_ct_AR@ 275 306 ac_ct_CC = @ac_ct_CC@ 276 307 ac_ct_CXX = @ac_ct_CXX@ 308 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 277 309 am__include = @am__include@ 278 310 am__leading_dot = @am__leading_dot@ … … 281 313 am__untar = @am__untar@ 282 314 bindir = @bindir@ 315 build = @build@ 283 316 build_alias = @build_alias@ 317 build_cpu = @build_cpu@ 318 build_os = @build_os@ 319 build_vendor = @build_vendor@ 284 320 builddir = @builddir@ 285 321 datadir = @datadir@ … … 288 324 dvidir = @dvidir@ 289 325 exec_prefix = @exec_prefix@ 326 host = @host@ 290 327 host_alias = @host_alias@ 328 host_cpu = @host_cpu@ 329 host_os = @host_os@ 330 host_vendor = @host_vendor@ 291 331 htmldir = @htmldir@ 292 332 includedir = @includedir@ … … 314 354 top_srcdir = @top_srcdir@ 315 355 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 356 ACLOCAL_AMFLAGS = -I automake 316 357 SUBDIRS = prelude src # order important 317 358 all: all-recursive … … 351 392 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) 352 393 $(am__aclocal_m4_deps): 394 395 mostlyclean-libtool: 396 -rm -f *.lo 397 398 clean-libtool: 399 -rm -rf .libs _libs 400 401 distclean-libtool: 402 -rm -f libtool config.lt 353 403 354 404 # This directory's subdirectories are mostly independent; you can cd … … 683 733 clean: clean-recursive 684 734 685 clean-am: clean-generic mostlyclean-am735 clean-am: clean-generic clean-libtool mostlyclean-am 686 736 687 737 distclean: distclean-recursive 688 738 -rm -f $(am__CONFIG_DISTCLEAN_FILES) 689 739 -rm -f Makefile 690 distclean-am: clean-am distclean-generic distclean-tags 740 distclean-am: clean-am distclean-generic distclean-libtool \ 741 distclean-tags 691 742 692 743 dvi: dvi-recursive … … 738 789 mostlyclean: mostlyclean-recursive 739 790 740 mostlyclean-am: mostlyclean-generic 791 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 741 792 742 793 pdf: pdf-recursive … … 754 805 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ 755 806 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 768 820 769 821 .PRECIOUS: Makefile -
libcfa/aclocal.m4
raeb8f70 re99e43f 1171 1171 ]) # _AM_PROG_TAR 1172 1172 1173 m4_include([automake/libtool.m4]) 1174 m4_include([automake/ltoptions.m4]) 1175 m4_include([automake/ltsugar.m4]) 1176 m4_include([automake/ltversion.m4]) 1177 m4_include([automake/lt~obsolete.m4]) -
libcfa/configure
raeb8f70 re99e43f 198 198 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO 199 199 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 209 test \$(( 1 + 1 )) = 2 || exit 1" 201 210 if (eval "$as_required") 2>/dev/null; then : 202 211 as_have_required=yes … … 556 565 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 557 566 567 SHELL=${CONFIG_SHELL-/bin/sh} 568 558 569 559 570 test -n "$DJDIR" || exec 7<&0 </dev/null … … 585 596 PACKAGE_URL='' 586 597 598 # Factoring default headers for most tests. 599 ac_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 587 634 ac_subst_vars='am__EXEEXT_FALSE 588 635 am__EXEEXT_TRUE 589 636 LTLIBOBJS 590 637 LIBOBJS 591 RANLIB592 638 am__fastdepCCAS_FALSE 593 639 am__fastdepCCAS_TRUE … … 595 641 CCASFLAGS 596 642 CCAS 643 CXXCPP 644 am__fastdepCXX_FALSE 645 am__fastdepCXX_TRUE 646 CXXDEPMODE 647 ac_ct_CXX 648 CXXFLAGS 649 CXX 650 CPP 651 LT_SYS_LIBRARY_PATH 652 OTOOL64 653 OTOOL 654 LIPO 655 NMEDIT 656 DSYMUTIL 657 MANIFEST_TOOL 658 RANLIB 659 ac_ct_AR 660 AR 661 DLLTOOL 662 OBJDUMP 663 LN_S 664 NM 665 ac_ct_DUMPBIN 666 DUMPBIN 667 LD 668 FGREP 669 EGREP 670 GREP 671 SED 597 672 am__fastdepCC_FALSE 598 673 am__fastdepCC_TRUE 599 674 CCDEPMODE 600 ac_ct_CC601 CFLAGS602 CC603 am__fastdepCXX_FALSE604 am__fastdepCXX_TRUE605 CXXDEPMODE606 675 am__nodep 607 676 AMDEPBACKSLASH … … 613 682 OBJEXT 614 683 EXEEXT 615 ac_ct_C XX684 ac_ct_CC 616 685 CPPFLAGS 617 686 LDFLAGS 618 CXXFLAGS 619 CXX 687 CFLAGS 688 CC 689 host_os 690 host_vendor 691 host_cpu 692 host 693 build_os 694 build_vendor 695 build_cpu 696 build 697 LIBTOOL 620 698 CFA_LIBDIR 621 699 CFA_BINDIR … … 631 709 CFACPP 632 710 CFACC 711 CFA_VERSION 633 712 DRIVER_DIR 634 713 CONFIGURATION … … 705 784 enable_silent_rules 706 785 with_cfa_name 786 enable_shared 787 enable_static 788 with_pic 789 enable_fast_install 790 with_aix_soname 707 791 enable_dependency_tracking 792 with_gnu_ld 793 with_sysroot 794 enable_libtool_lock 708 795 ' 709 796 ac_precious_vars='build_alias … … 713 800 CONFIGURATION 714 801 DRIVER_DIR 715 CXX 716 CXXFLAGS 802 CFA_VERSION 803 CC 804 CFLAGS 717 805 LDFLAGS 718 806 LIBS 719 807 CPPFLAGS 808 LT_SYS_LIBRARY_PATH 809 CPP 810 CXX 811 CXXFLAGS 720 812 CCC 721 CC 722 CFLAGS 813 CXXCPP 723 814 CCAS 724 815 CCASFLAGS' … … 1335 1426 --program-suffix=SUFFIX append SUFFIX to installed program names 1336 1427 --program-transform-name=PROGRAM run sed PROGRAM on installed program names 1428 1429 System types: 1430 --build=BUILD configure for building on BUILD [guessed] 1431 --host=HOST cross-compile to build programs to run on HOST [BUILD] 1337 1432 _ACEOF 1338 1433 fi … … 1350 1445 --enable-silent-rules less verbose build output (undo: "make V=1") 1351 1446 --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] 1352 1451 --enable-dependency-tracking 1353 1452 do not reject slow dependency extractors 1354 1453 --disable-dependency-tracking 1355 1454 speeds up one-time build 1455 --disable-libtool-lock avoid locking (might break parallel builds) 1356 1456 1357 1457 Optional Packages: … … 1359 1459 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) 1360 1460 --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). 1361 1469 1362 1470 Some influential environment variables: … … 1367 1475 deubg, nodebug, nolib (prelude-only) 1368 1476 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 1371 1480 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a 1372 1481 nonstandard directory <lib dir> … … 1374 1483 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if 1375 1484 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 1378 1491 CCAS assembler compiler command (defaults to CC) 1379 1492 CCASFLAGS assembler compiler flags (defaults to CFLAGS) … … 1458 1571 ## Autoconf initialization. ## 1459 1572 ## ------------------------ ## 1573 1574 # ac_fn_c_try_compile LINENO 1575 # -------------------------- 1576 # Try to compile conftest.$ac_ext, and return whether this succeeded. 1577 ac_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" 1582 case "(($ac_try" in 1583 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1584 *) ac_try_echo=$ac_try;; 1585 esac 1586 eval 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 1601 else 1602 $as_echo "$as_me: failed program was:" >&5 1603 sed 's/^/| /' conftest.$ac_ext >&5 1604 1605 ac_retval=1 1606 fi 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. 1615 ac_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" 1620 case "(($ac_try" in 1621 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1622 *) ac_try_echo=$ac_try;; 1623 esac 1624 eval 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 1642 else 1643 $as_echo "$as_me: failed program was:" >&5 1644 sed 's/^/| /' conftest.$ac_ext >&5 1645 1646 ac_retval=1 1647 fi 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. 1662 ac_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; } 1667 if eval \${$3+:} false; then : 1668 $as_echo_n "(cached) " >&6 1669 else 1670 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 1671 /* end confdefs.h. */ 1672 $4 1673 #include <$2> 1674 _ACEOF 1675 if ac_fn_c_try_compile "$LINENO"; then : 1676 eval "$3=yes" 1677 else 1678 eval "$3=no" 1679 fi 1680 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 1681 fi 1682 eval 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. 1692 ac_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" 1696 case "(($ac_try" in 1697 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1698 *) ac_try_echo=$ac_try;; 1699 esac 1700 eval 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 1715 else 1716 $as_echo "$as_me: failed program was:" >&5 1717 sed 's/^/| /' conftest.$ac_ext >&5 1718 1719 ac_retval=1 1720 fi 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. 1730 ac_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" 1734 case "(($ac_try" in 1735 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1736 *) ac_try_echo=$ac_try;; 1737 esac 1738 eval 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;; 1747 esac 1748 eval 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 1755 else 1756 $as_echo "$as_me: program exited with status $ac_status" >&5 1757 $as_echo "$as_me: failed program was:" >&5 1758 sed 's/^/| /' conftest.$ac_ext >&5 1759 1760 ac_retval=$ac_status 1761 fi 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 1771 ac_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; } 1776 if eval \${$3+:} false; then : 1777 $as_echo_n "(cached) " >&6 1778 else 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 1802 extern "C" 1803 #endif 1804 char $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 1809 choke me 1810 #endif 1811 1812 int 1813 main () 1814 { 1815 return $2 (); 1816 ; 1817 return 0; 1818 } 1819 _ACEOF 1820 if ac_fn_c_try_link "$LINENO"; then : 1821 eval "$3=yes" 1822 else 1823 eval "$3=no" 1824 fi 1825 rm -f core conftest.err conftest.$ac_objext \ 1826 conftest$ac_exeext conftest.$ac_ext 1827 fi 1828 eval 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 1460 1834 1461 1835 # ac_fn_cxx_try_compile LINENO … … 1497 1871 } # ac_fn_cxx_try_compile 1498 1872 1499 # ac_fn_c _try_compileLINENO1500 # ------------------------ --1501 # Try to compileconftest.$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. 1876 ac_fn_cxx_try_cpp () 1503 1877 { 1504 1878 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" 1507 1880 case "(($ac_try" in 1508 1881 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; … … 1511 1884 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" 1512 1885 $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 1899 else 1900 $as_echo "$as_me: failed program was:" >&5 1901 sed 's/^/| /' conftest.$ac_ext >&5 1902 1903 ac_retval=1 1904 fi 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. 1913 ac_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" 1918 case "(($ac_try" in 1919 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 1920 *) ac_try_echo=$ac_try;; 1921 esac 1922 eval 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 1514 1925 ac_status=$? 1515 1926 if test -s conftest.err; then … … 1520 1931 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 1521 1932 test $ac_status = 0; } && { 1522 test -z "$ac_c _werror_flag" ||1933 test -z "$ac_cxx_werror_flag" || 1523 1934 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 : 1525 1939 ac_retval=0 1526 1940 else … … 1530 1944 ac_retval=1 1531 1945 fi 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 1532 1951 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno 1533 1952 as_fn_set_status $ac_retval 1534 1953 1535 } # ac_fn_c _try_compile1954 } # ac_fn_cxx_try_link 1536 1955 cat >config.log <<_ACEOF 1537 1956 This file contains any messages produced by compilers while … … 1887 2306 1888 2307 ac_aux_dir= 1889 for ac_dir in ./automake "$srcdir"/./automake; do2308 for ac_dir in automake "$srcdir"/automake; do 1890 2309 if test -f "$ac_dir/install-sh"; then 1891 2310 ac_aux_dir=$ac_dir … … 1903 2322 done 1904 2323 if test -z "$ac_aux_dir"; then 1905 as_fn_error $? "cannot find install-sh, install.sh, or shtool in ./automake \"$srcdir\"/./automake" "$LINENO" 52324 as_fn_error $? "cannot find install-sh, install.sh, or shtool in automake \"$srcdir\"/automake" "$LINENO" 5 1906 2325 fi 1907 2326 … … 1913 2332 ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. 1914 2333 ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. 2334 1915 2335 1916 2336 … … 2507 2927 : ${CFLAGS=""} 2508 2928 2929 # define this to override 2930 AR_FLAGS="cr" 2931 2509 2932 # Allow program name tansformation 2510 2933 # will fill program_transform_name with appropriate sed regex … … 2515 2938 2516 2939 2940 2517 2941 CFACC=${DRIVER_DIR}cfa 2518 2942 CFACPP=${DRIVER_DIR}cfa-cpp 2943 2519 2944 2520 2945 … … 2546 2971 CONFIG_BUILDLIB="no" 2547 2972 ;; 2973 *) 2974 as_fn_error $? "'Invalid value $CONFIGURATION for \$CONFIGURATION'" "$LINENO" 5 2975 ;; 2548 2976 esac 2549 2977 … … 2648 3076 2649 3077 # 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 3078 case `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;} ;; 3082 esac 3083 3084 3085 3086 macro_version='2.4.6' 3087 macro_revision='2.4.6' 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 ltmain=$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; } 3109 if ${ac_cv_build+:} false; then : 3110 $as_echo_n "(cached) " >&6 3111 else 3112 ac_build_alias=$build_alias 3113 test "x$ac_build_alias" = x && 3114 ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` 3115 test "x$ac_build_alias" = x && 3116 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 3117 ac_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 3120 fi 3121 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 3122 $as_echo "$ac_cv_build" >&6; } 3123 case $ac_cv_build in 3124 *-*-*) ;; 3125 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; 3126 esac 3127 build=$ac_cv_build 3128 ac_save_IFS=$IFS; IFS='-' 3129 set x $ac_cv_build 3130 shift 3131 build_cpu=$1 3132 build_vendor=$2 3133 shift; shift 3134 # Remember, the first character of IFS is used to create $*, 3135 # except with old shells: 3136 build_os=$* 3137 IFS=$ac_save_IFS 3138 case $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; } 3143 if ${ac_cv_host+:} false; then : 3144 $as_echo_n "(cached) " >&6 3145 else 3146 if test "x$host_alias" = x; then 3147 ac_cv_host=$ac_cv_build 3148 else 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 3151 fi 3152 3153 fi 3154 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 3155 $as_echo "$ac_cv_host" >&6; } 3156 case $ac_cv_host in 3157 *-*-*) ;; 3158 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; 3159 esac 3160 host=$ac_cv_host 3161 ac_save_IFS=$IFS; IFS='-' 3162 set x $ac_cv_host 3163 shift 3164 host_cpu=$1 3165 host_vendor=$2 3166 shift; shift 3167 # Remember, the first character of IFS is used to create $*, 3168 # except with old shells: 3169 host_os=$* 3170 IFS=$ac_save_IFS 3171 case $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. 3176 sed_quote_subst='s/\(["`$\\]\)/\\\1/g' 3177 3178 # Same as above, but do not quote variable references. 3179 double_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. 3183 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 3184 3185 # Sed substitution to delay expansion of an escaped single quote. 3186 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 3187 3188 # Sed substitution to avoid accidental globbing in evaled expressions 3189 no_glob_subst='s/\*/\\\*/g' 3190 3191 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 3192 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 3193 ECHO=$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. 3198 if 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 --' 3201 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 3202 ECHO='printf %s\n' 3203 else 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' 3212 fi 3213 3214 # func_echo_all arg... 3215 # Invoke $ECHO with all args, space-separated. 3216 func_echo_all () 3217 { 3218 $ECHO "" 3219 } 3220 3221 case $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; } ;; 3228 esac 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 DEPDIR="${am__leading_dot}deps" 3244 3245 ac_config_commands="$ac_config_commands depfiles" 3246 3247 3248 am_make=${MAKE-make} 3249 cat > confinc << 'END' 3250 am__doit: 3251 @echo this is the am__doit target 3252 .PHONY: am__doit 3253 END 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; } 3257 am__include="#" 3258 am__quote= 3259 _am_result=none 3260 # First try GNU make style include. 3261 echo "include confinc" > confmf 3262 # Ignore all kinds of additional output from 'make'. 3263 case `$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 ;; 3269 esac 3270 # Now try BSD make style include. 3271 if 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 3280 fi 3281 3282 3283 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 3284 $as_echo "$_am_result" >&6; } 3285 rm -f confinc confmf 3286 3287 # Check whether --enable-dependency-tracking was given. 3288 if test "${enable_dependency_tracking+set}" = set; then : 3289 enableval=$enable_dependency_tracking; 3290 fi 3291 3292 if test "x$enable_dependency_tracking" != xno; then 3293 am_depcomp="$ac_aux_dir/depcomp" 3294 AMDEPBACKSLASH='\' 3295 am__nodep='_no' 3296 fi 3297 if test "x$enable_dependency_tracking" != xno; then 3298 AMDEP_TRUE= 3299 AMDEP_FALSE='#' 3300 else 3301 AMDEP_TRUE='#' 3302 AMDEP_FALSE= 3303 fi 3304 3305 3306 ac_ext=c 3307 ac_cpp='$CPP $CPPFLAGS' 3308 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 3309 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 3310 ac_compiler_gnu=$ac_cv_c_compiler_gnu 3311 if 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. 3313 set dummy ${ac_tool_prefix}gcc; ac_word=$2 2664 3314 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 2665 3315 $as_echo_n "checking for $ac_word... " >&6; } 2666 if ${ac_cv_prog_C XX+:} false; then :3316 if ${ac_cv_prog_CC+:} false; then : 2667 3317 $as_echo_n "(cached) " >&6 2668 3318 else 2669 if test -n "$C XX"; then2670 ac_cv_prog_C XX="$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. 2671 3321 else 2672 3322 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 2677 3327 for ac_exec_ext in '' $ac_executable_extensions; do 2678 3328 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 2679 ac_cv_prog_C XX="$ac_tool_prefix$ac_prog"3329 ac_cv_prog_CC="${ac_tool_prefix}gcc" 2680 3330 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 2681 3331 break 2 … … 2687 3337 fi 2688 3338 fi 2689 C XX=$ac_cv_prog_CXX2690 if test -n "$C XX"; then2691 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $C XX" >&52692 $as_echo "$C XX" >&6; }3339 CC=$ac_cv_prog_CC 3340 if test -n "$CC"; then 3341 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3342 $as_echo "$CC" >&6; } 2693 3343 else 2694 3344 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 2697 3347 2698 3348 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 3349 fi 3350 if 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. 3353 set dummy gcc; ac_word=$2 2708 3354 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 2709 3355 $as_echo_n "checking for $ac_word... " >&6; } 2710 if ${ac_cv_prog_ac_ct_C XX+:} false; then :3356 if ${ac_cv_prog_ac_ct_CC+:} false; then : 2711 3357 $as_echo_n "(cached) " >&6 2712 3358 else 2713 if test -n "$ac_ct_C XX"; then2714 ac_cv_prog_ac_ct_C XX="$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. 2715 3361 else 2716 3362 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR … … 2721 3367 for ac_exec_ext in '' $ac_executable_extensions; do 2722 3368 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then 2723 ac_cv_prog_ac_ct_C XX="$ac_prog"3369 ac_cv_prog_ac_ct_CC="gcc" 2724 3370 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 2725 3371 break 2 … … 2731 3377 fi 2732 3378 fi 2733 ac_ct_C XX=$ac_cv_prog_ac_ct_CXX2734 if test -n "$ac_ct_C XX"; then2735 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_C XX" >&52736 $as_echo "$ac_ct_C XX" >&6; }3379 ac_ct_CC=$ac_cv_prog_ac_ct_CC 3380 if 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; } 2737 3383 else 2738 3384 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 … … 2740 3386 fi 2741 3387 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="" 2748 3390 else 2749 3391 case $cross_compiling:$ac_tool_warned in … … 2753 3395 ac_tool_warned=yes ;; 2754 3396 esac 2755 C XX=$ac_ct_CXX3397 CC=$ac_ct_CC 2756 3398 fi 2757 fi 2758 3399 else 3400 CC="$ac_cv_prog_CC" 3401 fi 3402 3403 if 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. 3406 set 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; } 3409 if ${ac_cv_prog_CC+:} false; then : 3410 $as_echo_n "(cached) " >&6 3411 else 3412 if test -n "$CC"; then 3413 ac_cv_prog_CC="$CC" # Let the user override the test. 3414 else 3415 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3416 for as_dir in $PATH 3417 do 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 2759 3425 fi 2760 fi 3426 done 3427 done 3428 IFS=$as_save_IFS 3429 3430 fi 3431 fi 3432 CC=$ac_cv_prog_CC 3433 if test -n "$CC"; then 3434 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3435 $as_echo "$CC" >&6; } 3436 else 3437 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3438 $as_echo "no" >&6; } 3439 fi 3440 3441 3442 fi 3443 fi 3444 if test -z "$CC"; then 3445 # Extract the first word of "cc", so it can be a program name with args. 3446 set 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; } 3449 if ${ac_cv_prog_CC+:} false; then : 3450 $as_echo_n "(cached) " >&6 3451 else 3452 if test -n "$CC"; then 3453 ac_cv_prog_CC="$CC" # Let the user override the test. 3454 else 3455 ac_prog_rejected=no 3456 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3457 for as_dir in $PATH 3458 do 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 3471 done 3472 done 3473 IFS=$as_save_IFS 3474 3475 if 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 3486 fi 3487 fi 3488 fi 3489 CC=$ac_cv_prog_CC 3490 if test -n "$CC"; then 3491 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3492 $as_echo "$CC" >&6; } 3493 else 3494 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3495 $as_echo "no" >&6; } 3496 fi 3497 3498 3499 fi 3500 if 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. 3505 set 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; } 3508 if ${ac_cv_prog_CC+:} false; then : 3509 $as_echo_n "(cached) " >&6 3510 else 3511 if test -n "$CC"; then 3512 ac_cv_prog_CC="$CC" # Let the user override the test. 3513 else 3514 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3515 for as_dir in $PATH 3516 do 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 3525 done 3526 done 3527 IFS=$as_save_IFS 3528 3529 fi 3530 fi 3531 CC=$ac_cv_prog_CC 3532 if test -n "$CC"; then 3533 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 3534 $as_echo "$CC" >&6; } 3535 else 3536 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3537 $as_echo "no" >&6; } 3538 fi 3539 3540 3541 test -n "$CC" && break 3542 done 3543 fi 3544 if test -z "$CC"; then 3545 ac_ct_CC=$CC 3546 for ac_prog in cl.exe 3547 do 3548 # Extract the first word of "$ac_prog", so it can be a program name with args. 3549 set 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; } 3552 if ${ac_cv_prog_ac_ct_CC+:} false; then : 3553 $as_echo_n "(cached) " >&6 3554 else 3555 if test -n "$ac_ct_CC"; then 3556 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. 3557 else 3558 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 3559 for as_dir in $PATH 3560 do 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 3569 done 3570 done 3571 IFS=$as_save_IFS 3572 3573 fi 3574 fi 3575 ac_ct_CC=$ac_cv_prog_ac_ct_CC 3576 if 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; } 3579 else 3580 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 3581 $as_echo "no" >&6; } 3582 fi 3583 3584 3585 test -n "$ac_ct_CC" && break 3586 done 3587 3588 if test "x$ac_ct_CC" = x; then 3589 CC="" 3590 else 3591 case $cross_compiling:$ac_tool_warned in 3592 yes:) 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;} 3595 ac_tool_warned=yes ;; 3596 esac 3597 CC=$ac_ct_CC 3598 fi 3599 fi 3600 3601 fi 3602 3603 3604 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 3605 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 3606 as_fn_error $? "no acceptable C compiler found in \$PATH 3607 See \`config.log' for more details" "$LINENO" 5; } 3608 2761 3609 # Provide some information about the compiler. 2762 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C ++compiler version" >&53610 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 2763 3611 set X $ac_compile 2764 3612 ac_compiler=$2 … … 2800 3648 # It will help us diagnose broken compilers, and finding out an intuition 2801 3649 # of exeext. 2802 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C ++compiler works" >&52803 $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; } 2804 3652 ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` 2805 3653 … … 2871 3719 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 2872 3720 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 2873 as_fn_error 77 "C ++compiler cannot create executables3721 as_fn_error 77 "C compiler cannot create executables 2874 3722 See \`config.log' for more details" "$LINENO" 5; } 2875 3723 else … … 2877 3725 $as_echo "yes" >&6; } 2878 3726 fi 2879 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C ++compiler default output file name" >&52880 $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; } 2881 3729 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 2882 3730 $as_echo "$ac_file" >&6; } … … 2972 3820 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 2973 3821 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 2974 as_fn_error $? "cannot run C ++compiled programs.3822 as_fn_error $? "cannot run C compiled programs. 2975 3823 If you meant to cross compile, use \`--host'. 2976 3824 See \`config.log' for more details" "$LINENO" 5; } … … 3034 3882 OBJEXT=$ac_cv_objext 3035 3883 ac_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; } 3886 if ${ac_cv_c_compiler_gnu+:} false; then : 3887 $as_echo_n "(cached) " >&6 3888 else 3889 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3890 /* end confdefs.h. */ 3891 3892 int 3893 main () 3894 { 3895 #ifndef __GNUC__ 3896 choke me 3897 #endif 3898 3899 ; 3900 return 0; 3901 } 3902 _ACEOF 3903 if ac_fn_c_try_compile "$LINENO"; then : 3904 ac_compiler_gnu=yes 3905 else 3906 ac_compiler_gnu=no 3907 fi 3908 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3909 ac_cv_c_compiler_gnu=$ac_compiler_gnu 3910 3911 fi 3912 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 3913 $as_echo "$ac_cv_c_compiler_gnu" >&6; } 3914 if test $ac_compiler_gnu = yes; then 3915 GCC=yes 3916 else 3917 GCC= 3918 fi 3919 ac_test_CFLAGS=${CFLAGS+set} 3920 ac_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; } 3923 if ${ac_cv_prog_cc_g+:} false; then : 3924 $as_echo_n "(cached) " >&6 3925 else 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 3933 int 3934 main () 3935 { 3936 3937 ; 3938 return 0; 3939 } 3940 _ACEOF 3941 if ac_fn_c_try_compile "$LINENO"; then : 3942 ac_cv_prog_cc_g=yes 3943 else 3944 CFLAGS="" 3945 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 3946 /* end confdefs.h. */ 3947 3948 int 3949 main () 3950 { 3951 3952 ; 3953 return 0; 3954 } 3955 _ACEOF 3956 if ac_fn_c_try_compile "$LINENO"; then : 3957 3958 else 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 3964 int 3965 main () 3966 { 3967 3968 ; 3969 return 0; 3970 } 3971 _ACEOF 3972 if ac_fn_c_try_compile "$LINENO"; then : 3973 ac_cv_prog_cc_g=yes 3974 fi 3975 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3976 fi 3977 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3978 fi 3979 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 3980 ac_c_werror_flag=$ac_save_c_werror_flag 3981 fi 3982 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 3983 $as_echo "$ac_cv_prog_cc_g" >&6; } 3984 if test "$ac_test_CFLAGS" = set; then 3985 CFLAGS=$ac_save_CFLAGS 3986 elif 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 3992 else 3993 if test "$GCC" = yes; then 3994 CFLAGS="-O2" 3995 else 3996 CFLAGS= 3997 fi 3998 fi 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; } 4001 if ${ac_cv_prog_cc_c89+:} false; then : 4002 $as_echo_n "(cached) " >&6 4003 else 4004 ac_cv_prog_cc_c89=no 4005 ac_save_CC=$CC 4006 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 4007 /* end confdefs.h. */ 4008 #include <stdarg.h> 4009 #include <stdio.h> 4010 struct stat; 4011 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ 4012 struct buf { int x; }; 4013 FILE * (*rcsopen) (struct buf *, struct stat *, int); 4014 static char *e (p, i) 4015 char **p; 4016 int i; 4017 { 4018 return p[i]; 4019 } 4020 static 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. */ 4037 int 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' 4042 int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; 4043 4044 int test (int i, double x); 4045 struct s1 {int (*f) (int a);}; 4046 struct s2 {int (*f) (double a);}; 4047 int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); 4048 int argc; 4049 char **argv; 4050 int 4051 main () 4052 { 4053 return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; 4054 ; 4055 return 0; 4056 } 4057 _ACEOF 4058 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ 4059 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" 4060 do 4061 CC="$ac_save_CC $ac_arg" 4062 if ac_fn_c_try_compile "$LINENO"; then : 4063 ac_cv_prog_cc_c89=$ac_arg 4064 fi 4065 rm -f core conftest.err conftest.$ac_objext 4066 test "x$ac_cv_prog_cc_c89" != "xno" && break 4067 done 4068 rm -f conftest.$ac_ext 4069 CC=$ac_save_CC 4070 4071 fi 4072 # AC_CACHE_VAL 4073 case "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; } ;; 4084 esac 4085 if test "x$ac_cv_prog_cc_c89" != xno; then : 4086 4087 fi 4088 4089 ac_ext=c 4090 ac_cpp='$CPP $CPPFLAGS' 4091 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 4092 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 4093 ac_compiler_gnu=$ac_cv_c_compiler_gnu 4094 4095 ac_ext=c 4096 ac_cpp='$CPP $CPPFLAGS' 4097 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 4098 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 4099 ac_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; } 4102 if ${am_cv_prog_cc_c_o+:} false; then : 4103 $as_echo_n "(cached) " >&6 4104 else 4105 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 4106 /* end confdefs.h. */ 4107 4108 int 4109 main () 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 4136 fi 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; } 4139 if 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" 4146 fi 4147 ac_ext=c 4148 ac_cpp='$CPP $CPPFLAGS' 4149 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 4150 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 4151 ac_compiler_gnu=$ac_cv_c_compiler_gnu 4152 4153 4154 depcc="$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; } 4158 if ${am_cv_CC_dependencies_compiler_type+:} false; then : 4159 $as_echo_n "(cached) " >&6 4160 else 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 4262 else 4263 am_cv_CC_dependencies_compiler_type=none 4264 fi 4265 4266 fi 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; } 4269 CCDEPMODE=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='#' 4276 else 4277 am__fastdepCC_TRUE='#' 4278 am__fastdepCC_FALSE= 4279 fi 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; } 4284 if ${ac_cv_path_SED+:} false; then : 4285 $as_echo_n "(cached) " >&6 4286 else 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 4297 for as_dir in $PATH 4298 do 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 4307 case `"$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;; 4331 esac 4332 4333 $ac_path_SED_found && break 3 4334 done 4335 done 4336 done 4337 IFS=$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 4341 else 4342 ac_cv_path_SED=$SED 4343 fi 4344 4345 fi 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 4351 test -z "$SED" && SED=sed 4352 Xsed="$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; } 4366 if ${ac_cv_path_GREP+:} false; then : 4367 $as_echo_n "(cached) " >&6 4368 else 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 4373 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 4374 do 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 4383 case `"$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;; 4407 esac 4408 4409 $ac_path_GREP_found && break 3 4410 done 4411 done 4412 done 4413 IFS=$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 4417 else 4418 ac_cv_path_GREP=$GREP 4419 fi 4420 4421 fi 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; } 4429 if ${ac_cv_path_EGREP+:} false; then : 4430 $as_echo_n "(cached) " >&6 4431 else 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 4439 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 4440 do 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 4449 case `"$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;; 4473 esac 4474 4475 $ac_path_EGREP_found && break 3 4476 done 4477 done 4478 done 4479 IFS=$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 4483 else 4484 ac_cv_path_EGREP=$EGREP 4485 fi 4486 4487 fi 4488 fi 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; } 4496 if ${ac_cv_path_FGREP+:} false; then : 4497 $as_echo_n "(cached) " >&6 4498 else 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 4506 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin 4507 do 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 4516 case `"$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;; 4540 esac 4541 4542 $ac_path_FGREP_found && break 3 4543 done 4544 done 4545 done 4546 IFS=$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 4550 else 4551 ac_cv_path_FGREP=$FGREP 4552 fi 4553 4554 fi 4555 fi 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 4561 test -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. 4582 if test "${with_gnu_ld+set}" = set; then : 4583 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes 4584 else 4585 with_gnu_ld=no 4586 fi 4587 4588 ac_prog=ld 4589 if 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 4620 elif 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; } 4623 else 4624 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 4625 $as_echo_n "checking for non-GNU ld... " >&6; } 4626 fi 4627 if ${lt_cv_path_LD+:} false; then : 4628 $as_echo_n "(cached) " >&6 4629 else 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 4651 else 4652 lt_cv_path_LD=$LD # Let the user override the test with a path. 4653 fi 4654 fi 4655 4656 LD=$lt_cv_path_LD 4657 if test -n "$LD"; then 4658 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 4659 $as_echo "$LD" >&6; } 4660 else 4661 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4662 $as_echo "no" >&6; } 4663 fi 4664 test -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; } 4667 if ${lt_cv_prog_gnu_ld+:} false; then : 4668 $as_echo_n "(cached) " >&6 4669 else 4670 # I'd rather use --version here, but apparently some GNU lds only accept -v. 4671 case `$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 ;; 4678 esac 4679 fi 4680 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 4681 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 4682 with_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; } 4694 if ${lt_cv_path_NM+:} false; then : 4695 $as_echo_n "(cached) " >&6 4696 else 4697 if test -n "$NM"; then 4698 # Let the user override the test. 4699 lt_cv_path_NM=$NM 4700 else 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} 4744 fi 4745 fi 4746 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 4747 $as_echo "$lt_cv_path_NM" >&6; } 4748 if test no != "$lt_cv_path_NM"; then 4749 NM=$lt_cv_path_NM 4750 else 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. 4759 set 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; } 4762 if ${ac_cv_prog_DUMPBIN+:} false; then : 4763 $as_echo_n "(cached) " >&6 4764 else 4765 if test -n "$DUMPBIN"; then 4766 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. 4767 else 4768 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4769 for as_dir in $PATH 4770 do 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 4779 done 4780 done 4781 IFS=$as_save_IFS 4782 4783 fi 4784 fi 4785 DUMPBIN=$ac_cv_prog_DUMPBIN 4786 if test -n "$DUMPBIN"; then 4787 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 4788 $as_echo "$DUMPBIN" >&6; } 4789 else 4790 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4791 $as_echo "no" >&6; } 4792 fi 4793 4794 4795 test -n "$DUMPBIN" && break 4796 done 4797 fi 4798 if test -z "$DUMPBIN"; then 4799 ac_ct_DUMPBIN=$DUMPBIN 4800 for ac_prog in dumpbin "link -dump" 4801 do 4802 # Extract the first word of "$ac_prog", so it can be a program name with args. 4803 set 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; } 4806 if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : 4807 $as_echo_n "(cached) " >&6 4808 else 4809 if test -n "$ac_ct_DUMPBIN"; then 4810 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. 4811 else 4812 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 4813 for as_dir in $PATH 4814 do 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 4823 done 4824 done 4825 IFS=$as_save_IFS 4826 4827 fi 4828 fi 4829 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN 4830 if 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; } 4833 else 4834 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 4835 $as_echo "no" >&6; } 4836 fi 4837 4838 4839 test -n "$ac_ct_DUMPBIN" && break 4840 done 4841 4842 if test "x$ac_ct_DUMPBIN" = x; then 4843 DUMPBIN=":" 4844 else 4845 case $cross_compiling:$ac_tool_warned in 4846 yes:) 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;} 4849 ac_tool_warned=yes ;; 4850 esac 4851 DUMPBIN=$ac_ct_DUMPBIN 4852 fi 4853 fi 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 4868 fi 4869 test -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; } 4878 if ${lt_cv_nm_interface+:} false; then : 4879 $as_echo_n "(cached) " >&6 4880 else 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* 4895 fi 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; } 4901 LN_S=$as_ln_s 4902 if test "$LN_S" = "ln -s"; then 4903 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 4904 $as_echo "yes" >&6; } 4905 else 4906 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 4907 $as_echo "no, using $LN_S" >&6; } 4908 fi 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; } 4913 if ${lt_cv_sys_max_cmd_len+:} false; then : 4914 $as_echo_n "(cached) " >&6 4915 else 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 5039 fi 5040 5041 if 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; } 5044 else 5045 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 5046 $as_echo "none" >&6; } 5047 fi 5048 max_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 5059 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 5060 lt_unset=unset 5061 else 5062 lt_unset=false 5063 fi 5064 5065 5066 5067 5068 5069 # test EBCDIC or ASCII 5070 case `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 ;; 5080 esac 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; } 5092 if ${lt_cv_to_host_file_cmd+:} false; then : 5093 $as_echo_n "(cached) " >&6 5094 else 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 ;; 5125 esac 5126 5127 fi 5128 5129 to_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; } 5139 if ${lt_cv_to_tool_file_cmd+:} false; then : 5140 $as_echo_n "(cached) " >&6 5141 else 5142 #assume ordinary cross tools, or native build. 5143 lt_cv_to_tool_file_cmd=func_convert_file_noop 5144 case $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 ;; 5152 esac 5153 5154 fi 5155 5156 to_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; } 5166 if ${lt_cv_ld_reload_flag+:} false; then : 5167 $as_echo_n "(cached) " >&6 5168 else 5169 lt_cv_ld_reload_flag='-r' 5170 fi 5171 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 5172 $as_echo "$lt_cv_ld_reload_flag" >&6; } 5173 reload_flag=$lt_cv_ld_reload_flag 5174 case $reload_flag in 5175 "" | " "*) ;; 5176 *) reload_flag=" $reload_flag" ;; 5177 esac 5178 reload_cmds='$LD$reload_flag -o $output$reload_objs' 5179 case $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 ;; 5192 esac 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 if 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. 5204 set 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; } 5207 if ${ac_cv_prog_OBJDUMP+:} false; then : 5208 $as_echo_n "(cached) " >&6 5209 else 5210 if test -n "$OBJDUMP"; then 5211 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. 5212 else 5213 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5214 for as_dir in $PATH 5215 do 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 5224 done 5225 done 5226 IFS=$as_save_IFS 5227 5228 fi 5229 fi 5230 OBJDUMP=$ac_cv_prog_OBJDUMP 5231 if test -n "$OBJDUMP"; then 5232 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 5233 $as_echo "$OBJDUMP" >&6; } 5234 else 5235 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5236 $as_echo "no" >&6; } 5237 fi 5238 5239 5240 fi 5241 if 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. 5244 set 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; } 5247 if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : 5248 $as_echo_n "(cached) " >&6 5249 else 5250 if test -n "$ac_ct_OBJDUMP"; then 5251 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. 5252 else 5253 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5254 for as_dir in $PATH 5255 do 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 5264 done 5265 done 5266 IFS=$as_save_IFS 5267 5268 fi 5269 fi 5270 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP 5271 if 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; } 5274 else 5275 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5276 $as_echo "no" >&6; } 5277 fi 5278 5279 if test "x$ac_ct_OBJDUMP" = x; then 5280 OBJDUMP="false" 5281 else 5282 case $cross_compiling:$ac_tool_warned in 5283 yes:) 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;} 5286 ac_tool_warned=yes ;; 5287 esac 5288 OBJDUMP=$ac_ct_OBJDUMP 5289 fi 5290 else 5291 OBJDUMP="$ac_cv_prog_OBJDUMP" 5292 fi 5293 5294 test -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; } 5306 if ${lt_cv_deplibs_check_method+:} false; then : 5307 $as_echo_n "(cached) " >&6 5308 else 5309 lt_cv_file_magic_cmd='$MAGIC_CMD' 5310 lt_cv_file_magic_test_file= 5311 lt_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 5323 case $host_os in 5324 aix[4-9]*) 5325 lt_cv_deplibs_check_method=pass_all 5326 ;; 5327 5328 beos*) 5329 lt_cv_deplibs_check_method=pass_all 5330 ;; 5331 5332 bsdi[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 5338 cygwin*) 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 5344 mingw* | 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 5358 cegcc*) 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 5364 darwin* | rhapsody*) 5365 lt_cv_deplibs_check_method=pass_all 5366 ;; 5367 5368 freebsd* | 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 5384 haiku*) 5385 lt_cv_deplibs_check_method=pass_all 5386 ;; 5387 5388 hpux10.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 5406 interix[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 5411 irix5* | 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. 5422 linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 5423 lt_cv_deplibs_check_method=pass_all 5424 ;; 5425 5426 netbsd* | 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 5434 newos6*) 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 5444 openbsd* | 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 5452 osf3* | osf4* | osf5*) 5453 lt_cv_deplibs_check_method=pass_all 5454 ;; 5455 5456 rdos*) 5457 lt_cv_deplibs_check_method=pass_all 5458 ;; 5459 5460 solaris*) 5461 lt_cv_deplibs_check_method=pass_all 5462 ;; 5463 5464 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 5465 lt_cv_deplibs_check_method=pass_all 5466 ;; 5467 5468 sysv4 | 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 5495 tpf*) 5496 lt_cv_deplibs_check_method=pass_all 5497 ;; 5498 os2*) 5499 lt_cv_deplibs_check_method=pass_all 5500 ;; 5501 esac 5502 5503 fi 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 5507 file_magic_glob= 5508 want_nocaseglob=no 5509 if 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 5519 fi 5520 5521 file_magic_cmd=$lt_cv_file_magic_cmd 5522 deplibs_check_method=$lt_cv_deplibs_check_method 5523 test -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 5546 if 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. 5548 set 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; } 5551 if ${ac_cv_prog_DLLTOOL+:} false; then : 5552 $as_echo_n "(cached) " >&6 5553 else 5554 if test -n "$DLLTOOL"; then 5555 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. 5556 else 5557 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5558 for as_dir in $PATH 5559 do 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 5568 done 5569 done 5570 IFS=$as_save_IFS 5571 5572 fi 5573 fi 5574 DLLTOOL=$ac_cv_prog_DLLTOOL 5575 if test -n "$DLLTOOL"; then 5576 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 5577 $as_echo "$DLLTOOL" >&6; } 5578 else 5579 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5580 $as_echo "no" >&6; } 5581 fi 5582 5583 5584 fi 5585 if 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. 5588 set 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; } 5591 if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : 5592 $as_echo_n "(cached) " >&6 5593 else 5594 if test -n "$ac_ct_DLLTOOL"; then 5595 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. 5596 else 5597 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5598 for as_dir in $PATH 5599 do 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 5608 done 5609 done 5610 IFS=$as_save_IFS 5611 5612 fi 5613 fi 5614 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL 5615 if 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; } 5618 else 5619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5620 $as_echo "no" >&6; } 5621 fi 5622 5623 if test "x$ac_ct_DLLTOOL" = x; then 5624 DLLTOOL="false" 5625 else 5626 case $cross_compiling:$ac_tool_warned in 5627 yes:) 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;} 5630 ac_tool_warned=yes ;; 5631 esac 5632 DLLTOOL=$ac_ct_DLLTOOL 5633 fi 5634 else 5635 DLLTOOL="$ac_cv_prog_DLLTOOL" 5636 fi 5637 5638 test -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; } 5651 if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : 5652 $as_echo_n "(cached) " >&6 5653 else 5654 lt_cv_sharedlib_from_linklib_cmd='unknown' 5655 5656 case $host_os in 5657 cygwin* | 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 ;; 5673 esac 5674 5675 fi 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; } 5678 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 5679 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 5680 5681 5682 5683 5684 5685 5686 5687 5688 if 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. 5692 set 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; } 5695 if ${ac_cv_prog_AR+:} false; then : 5696 $as_echo_n "(cached) " >&6 5697 else 5698 if test -n "$AR"; then 5699 ac_cv_prog_AR="$AR" # Let the user override the test. 5700 else 5701 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5702 for as_dir in $PATH 5703 do 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 5712 done 5713 done 5714 IFS=$as_save_IFS 5715 5716 fi 5717 fi 5718 AR=$ac_cv_prog_AR 5719 if test -n "$AR"; then 5720 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 5721 $as_echo "$AR" >&6; } 5722 else 5723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5724 $as_echo "no" >&6; } 5725 fi 5726 5727 5728 test -n "$AR" && break 5729 done 5730 fi 5731 if test -z "$AR"; then 5732 ac_ct_AR=$AR 5733 for ac_prog in ar 5734 do 5735 # Extract the first word of "$ac_prog", so it can be a program name with args. 5736 set 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; } 5739 if ${ac_cv_prog_ac_ct_AR+:} false; then : 5740 $as_echo_n "(cached) " >&6 5741 else 5742 if test -n "$ac_ct_AR"; then 5743 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. 5744 else 5745 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5746 for as_dir in $PATH 5747 do 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 5756 done 5757 done 5758 IFS=$as_save_IFS 5759 5760 fi 5761 fi 5762 ac_ct_AR=$ac_cv_prog_ac_ct_AR 5763 if 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; } 5766 else 5767 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5768 $as_echo "no" >&6; } 5769 fi 5770 5771 5772 test -n "$ac_ct_AR" && break 5773 done 5774 5775 if test "x$ac_ct_AR" = x; then 5776 AR="false" 5777 else 5778 case $cross_compiling:$ac_tool_warned in 5779 yes:) 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;} 5782 ac_tool_warned=yes ;; 5783 esac 5784 AR=$ac_ct_AR 5785 fi 5786 fi 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; } 5803 if ${lt_cv_ar_at_file+:} false; then : 5804 $as_echo_n "(cached) " >&6 5805 else 5806 lt_cv_ar_at_file=no 5807 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 5808 /* end confdefs.h. */ 5809 5810 int 5811 main () 5812 { 5813 5814 ; 5815 return 0; 5816 } 5817 _ACEOF 5818 if 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 5840 fi 5841 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 5842 5843 fi 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 5847 if test no = "$lt_cv_ar_at_file"; then 5848 archiver_list_spec= 5849 else 5850 archiver_list_spec=$lt_cv_ar_at_file 5851 fi 5852 5853 5854 5855 5856 5857 5858 5859 if 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. 5861 set 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; } 5864 if ${ac_cv_prog_STRIP+:} false; then : 5865 $as_echo_n "(cached) " >&6 5866 else 5867 if test -n "$STRIP"; then 5868 ac_cv_prog_STRIP="$STRIP" # Let the user override the test. 5869 else 5870 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5871 for as_dir in $PATH 5872 do 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 5881 done 5882 done 5883 IFS=$as_save_IFS 5884 5885 fi 5886 fi 5887 STRIP=$ac_cv_prog_STRIP 5888 if test -n "$STRIP"; then 5889 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 5890 $as_echo "$STRIP" >&6; } 5891 else 5892 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5893 $as_echo "no" >&6; } 5894 fi 5895 5896 5897 fi 5898 if 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. 5901 set 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; } 5904 if ${ac_cv_prog_ac_ct_STRIP+:} false; then : 5905 $as_echo_n "(cached) " >&6 5906 else 5907 if test -n "$ac_ct_STRIP"; then 5908 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. 5909 else 5910 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5911 for as_dir in $PATH 5912 do 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 5921 done 5922 done 5923 IFS=$as_save_IFS 5924 5925 fi 5926 fi 5927 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP 5928 if 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; } 5931 else 5932 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5933 $as_echo "no" >&6; } 5934 fi 5935 5936 if test "x$ac_ct_STRIP" = x; then 5937 STRIP=":" 5938 else 5939 case $cross_compiling:$ac_tool_warned in 5940 yes:) 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;} 5943 ac_tool_warned=yes ;; 5944 esac 5945 STRIP=$ac_ct_STRIP 5946 fi 5947 else 5948 STRIP="$ac_cv_prog_STRIP" 5949 fi 5950 5951 test -z "$STRIP" && STRIP=: 5952 5953 5954 5955 5956 5957 5958 if 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. 5960 set 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; } 5963 if ${ac_cv_prog_RANLIB+:} false; then : 5964 $as_echo_n "(cached) " >&6 5965 else 5966 if test -n "$RANLIB"; then 5967 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. 5968 else 5969 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 5970 for as_dir in $PATH 5971 do 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 5980 done 5981 done 5982 IFS=$as_save_IFS 5983 5984 fi 5985 fi 5986 RANLIB=$ac_cv_prog_RANLIB 5987 if test -n "$RANLIB"; then 5988 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 5989 $as_echo "$RANLIB" >&6; } 5990 else 5991 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 5992 $as_echo "no" >&6; } 5993 fi 5994 5995 5996 fi 5997 if 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. 6000 set 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; } 6003 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : 6004 $as_echo_n "(cached) " >&6 6005 else 6006 if test -n "$ac_ct_RANLIB"; then 6007 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. 6008 else 6009 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6010 for as_dir in $PATH 6011 do 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 6020 done 6021 done 6022 IFS=$as_save_IFS 6023 6024 fi 6025 fi 6026 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB 6027 if 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; } 6030 else 6031 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6032 $as_echo "no" >&6; } 6033 fi 6034 6035 if test "x$ac_ct_RANLIB" = x; then 6036 RANLIB=":" 6037 else 6038 case $cross_compiling:$ac_tool_warned in 6039 yes:) 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;} 6042 ac_tool_warned=yes ;; 6043 esac 6044 RANLIB=$ac_ct_RANLIB 6045 fi 6046 else 6047 RANLIB="$ac_cv_prog_RANLIB" 6048 fi 6049 6050 test -z "$RANLIB" && RANLIB=: 6051 6052 6053 6054 6055 6056 6057 # Determine commands to create old-style static archives. 6058 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 6059 old_postinstall_cmds='chmod 644 $oldlib' 6060 old_postuninstall_cmds= 6061 6062 if 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" 6072 fi 6073 6074 case $host_os in 6075 darwin*) 6076 lock_old_archive_extraction=yes ;; 6077 *) 6078 lock_old_archive_extraction=no ;; 6079 esac 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. 6120 LTCC=${LTCC-"$CC"} 6121 6122 # If no C compiler flags were specified, use CFLAGS. 6123 LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 6124 6125 # Allow CC to be a program name with arguments. 6126 compiler=$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; } 6132 if ${lt_cv_sys_global_symbol_pipe+:} false; then : 6133 $as_echo_n "(cached) " >&6 6134 else 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. 6140 symcode='[BCDEGRST]' 6141 6142 # Regexp to match symbols that can be accessed directly from C. 6143 sympat='\([_A-Za-z][_A-Za-z0-9]*\)' 6144 6145 # Define system-specific variables. 6146 case $host_os in 6147 aix*) 6148 symcode='[BCDT]' 6149 ;; 6150 cygwin* | mingw* | pw32* | cegcc*) 6151 symcode='[ABCDGISTW]' 6152 ;; 6153 hpux*) 6154 if test ia64 = "$host_cpu"; then 6155 symcode='[ABCDEGRST]' 6156 fi 6157 ;; 6158 irix* | nonstopux*) 6159 symcode='[BCDEGRST]' 6160 ;; 6161 osf*) 6162 symcode='[BCDEGQRST]' 6163 ;; 6164 solaris*) 6165 symcode='[BDRT]' 6166 ;; 6167 sco3.2v5*) 6168 symcode='[DT]' 6169 ;; 6170 sysv4.2uw2*) 6171 symcode='[DT]' 6172 ;; 6173 sysv5* | sco5v6* | unixware* | OpenUNIX*) 6174 symcode='[ABDT]' 6175 ;; 6176 sysv4) 6177 symcode='[DFNSTU]' 6178 ;; 6179 esac 6180 6181 # If we're using GNU nm, then use its standard symbol codes. 6182 case `$NM -V 2>&1` in 6183 *GNU* | *'with BFD'*) 6184 symcode='[ABCDGIRSTW]' ;; 6185 esac 6186 6187 if 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'" 6196 else 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= 6202 fi 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. 6207 lt_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 6213 lt_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. 6220 lt_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 6227 opt_cr= 6228 case $build_os in 6229 mingw*) 6230 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 6231 ;; 6232 esac 6233 6234 # Try without a prefix underscore, then with it. 6235 for 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 6272 extern "C" { 6273 #endif 6274 char nm_test_var; 6275 void nm_test_func(void); 6276 void nm_test_func(void){} 6277 #ifdef __cplusplus 6278 } 6279 #endif 6280 int 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 6319 extern "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. */ 6329 LT_DLSYM_CONST struct { 6330 const char *name; 6331 void *address; 6332 } 6333 lt__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 6344 static 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 6389 done 6390 6391 fi 6392 6393 if test -z "$lt_cv_sys_global_symbol_pipe"; then 6394 lt_cv_sys_global_symbol_to_cdecl= 6395 fi 6396 if 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; } 6399 else 6400 { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 6401 $as_echo "ok" >&6; } 6402 fi 6403 6404 # Response file support. 6405 if test "$lt_cv_nm_interface" = "MS dumpbin"; then 6406 nm_file_list_spec='@' 6407 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then 6408 nm_file_list_spec='@' 6409 fi 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. 6451 if test "${with_sysroot+set}" = set; then : 6452 withval=$with_sysroot; 6453 else 6454 with_sysroot=no 6455 fi 6456 6457 6458 lt_sysroot= 6459 case $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 ;; 6475 esac 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; } 6486 if ${ac_cv_path_lt_DD+:} false; then : 6487 $as_echo_n "(cached) " >&6 6488 else 6489 printf 0123456789abcdef0123456789abcdef >conftest.i 6490 cat conftest.i conftest.i >conftest2.i 6491 : ${lt_DD:=$DD} 6492 if 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 6496 for as_dir in $PATH 6497 do 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 6504 if "$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=: 6507 fi 6508 $ac_path_lt_DD_found && break 3 6509 done 6510 done 6511 done 6512 IFS=$as_save_IFS 6513 if test -z "$ac_cv_path_lt_DD"; then 6514 : 6515 fi 6516 else 6517 ac_cv_path_lt_DD=$lt_DD 6518 fi 6519 6520 rm -f conftest.i conftest2.i conftest.out 6521 fi 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; } 6528 if ${lt_cv_truncate_bin+:} false; then : 6529 $as_echo_n "(cached) " >&6 6530 else 6531 printf 0123456789abcdef0123456789abcdef >conftest.i 6532 cat conftest.i conftest.i >conftest2.i 6533 lt_cv_truncate_bin= 6534 if "$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" 6537 fi 6538 rm -f conftest.i conftest2.i conftest.out 6539 test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" 6540 fi 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. 6551 func_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. 6565 if test "${enable_libtool_lock+set}" = set; then : 6566 enableval=$enable_libtool_lock; 6567 fi 6568 6569 test 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. 6573 case $host in 6574 ia64-*-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 6632 mips64*-*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 6668 x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ 6669 s390*-*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; } 6745 if ${lt_cv_cc_needs_belf+:} false; then : 6746 $as_echo_n "(cached) " >&6 6747 else 6748 ac_ext=c 6749 ac_cpp='$CPP $CPPFLAGS' 6750 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 6751 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 6752 ac_compiler_gnu=$ac_cv_c_compiler_gnu 6753 6754 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 6755 /* end confdefs.h. */ 6756 6757 int 6758 main () 6759 { 6760 6761 ; 6762 return 0; 6763 } 6764 _ACEOF 6765 if ac_fn_c_try_link "$LINENO"; then : 6766 lt_cv_cc_needs_belf=yes 6767 else 6768 lt_cv_cc_needs_belf=no 6769 fi 6770 rm -f core conftest.err conftest.$ac_objext \ 6771 conftest$ac_exeext conftest.$ac_ext 6772 ac_ext=c 6773 ac_cpp='$CPP $CPPFLAGS' 6774 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 6775 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 6776 ac_compiler_gnu=$ac_cv_c_compiler_gnu 6777 6778 fi 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 ;; 6823 esac 6824 6825 need_locks=$enable_libtool_lock 6826 6827 if 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. 6829 set 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; } 6832 if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : 6833 $as_echo_n "(cached) " >&6 6834 else 6835 if test -n "$MANIFEST_TOOL"; then 6836 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. 6837 else 6838 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6839 for as_dir in $PATH 6840 do 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 6849 done 6850 done 6851 IFS=$as_save_IFS 6852 6853 fi 6854 fi 6855 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL 6856 if test -n "$MANIFEST_TOOL"; then 6857 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 6858 $as_echo "$MANIFEST_TOOL" >&6; } 6859 else 6860 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6861 $as_echo "no" >&6; } 6862 fi 6863 6864 6865 fi 6866 if 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. 6869 set 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; } 6872 if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : 6873 $as_echo_n "(cached) " >&6 6874 else 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. 6877 else 6878 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6879 for as_dir in $PATH 6880 do 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 6889 done 6890 done 6891 IFS=$as_save_IFS 6892 6893 fi 6894 fi 6895 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL 6896 if 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; } 6899 else 6900 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6901 $as_echo "no" >&6; } 6902 fi 6903 6904 if test "x$ac_ct_MANIFEST_TOOL" = x; then 6905 MANIFEST_TOOL=":" 6906 else 6907 case $cross_compiling:$ac_tool_warned in 6908 yes:) 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;} 6911 ac_tool_warned=yes ;; 6912 esac 6913 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL 6914 fi 6915 else 6916 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" 6917 fi 6918 6919 test -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; } 6922 if ${lt_cv_path_mainfest_tool+:} false; then : 6923 $as_echo_n "(cached) " >&6 6924 else 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* 6933 fi 6934 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 6935 $as_echo "$lt_cv_path_mainfest_tool" >&6; } 6936 if test yes != "$lt_cv_path_mainfest_tool"; then 6937 MANIFEST_TOOL=: 6938 fi 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. 6949 set 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; } 6952 if ${ac_cv_prog_DSYMUTIL+:} false; then : 6953 $as_echo_n "(cached) " >&6 6954 else 6955 if test -n "$DSYMUTIL"; then 6956 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. 6957 else 6958 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6959 for as_dir in $PATH 6960 do 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 6969 done 6970 done 6971 IFS=$as_save_IFS 6972 6973 fi 6974 fi 6975 DSYMUTIL=$ac_cv_prog_DSYMUTIL 6976 if test -n "$DSYMUTIL"; then 6977 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 6978 $as_echo "$DSYMUTIL" >&6; } 6979 else 6980 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 6981 $as_echo "no" >&6; } 6982 fi 6983 6984 6985 fi 6986 if 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. 6989 set 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; } 6992 if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : 6993 $as_echo_n "(cached) " >&6 6994 else 6995 if test -n "$ac_ct_DSYMUTIL"; then 6996 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. 6997 else 6998 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 6999 for as_dir in $PATH 7000 do 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 7009 done 7010 done 7011 IFS=$as_save_IFS 7012 7013 fi 7014 fi 7015 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL 7016 if 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; } 7019 else 7020 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7021 $as_echo "no" >&6; } 7022 fi 7023 7024 if test "x$ac_ct_DSYMUTIL" = x; then 7025 DSYMUTIL=":" 7026 else 7027 case $cross_compiling:$ac_tool_warned in 7028 yes:) 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;} 7031 ac_tool_warned=yes ;; 7032 esac 7033 DSYMUTIL=$ac_ct_DSYMUTIL 7034 fi 7035 else 7036 DSYMUTIL="$ac_cv_prog_DSYMUTIL" 7037 fi 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. 7041 set 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; } 7044 if ${ac_cv_prog_NMEDIT+:} false; then : 7045 $as_echo_n "(cached) " >&6 7046 else 7047 if test -n "$NMEDIT"; then 7048 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. 7049 else 7050 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7051 for as_dir in $PATH 7052 do 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 7061 done 7062 done 7063 IFS=$as_save_IFS 7064 7065 fi 7066 fi 7067 NMEDIT=$ac_cv_prog_NMEDIT 7068 if test -n "$NMEDIT"; then 7069 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 7070 $as_echo "$NMEDIT" >&6; } 7071 else 7072 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7073 $as_echo "no" >&6; } 7074 fi 7075 7076 7077 fi 7078 if 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. 7081 set 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; } 7084 if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : 7085 $as_echo_n "(cached) " >&6 7086 else 7087 if test -n "$ac_ct_NMEDIT"; then 7088 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. 7089 else 7090 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7091 for as_dir in $PATH 7092 do 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 7101 done 7102 done 7103 IFS=$as_save_IFS 7104 7105 fi 7106 fi 7107 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT 7108 if 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; } 7111 else 7112 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7113 $as_echo "no" >&6; } 7114 fi 7115 7116 if test "x$ac_ct_NMEDIT" = x; then 7117 NMEDIT=":" 7118 else 7119 case $cross_compiling:$ac_tool_warned in 7120 yes:) 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;} 7123 ac_tool_warned=yes ;; 7124 esac 7125 NMEDIT=$ac_ct_NMEDIT 7126 fi 7127 else 7128 NMEDIT="$ac_cv_prog_NMEDIT" 7129 fi 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. 7133 set 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; } 7136 if ${ac_cv_prog_LIPO+:} false; then : 7137 $as_echo_n "(cached) " >&6 7138 else 7139 if test -n "$LIPO"; then 7140 ac_cv_prog_LIPO="$LIPO" # Let the user override the test. 7141 else 7142 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7143 for as_dir in $PATH 7144 do 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 7153 done 7154 done 7155 IFS=$as_save_IFS 7156 7157 fi 7158 fi 7159 LIPO=$ac_cv_prog_LIPO 7160 if test -n "$LIPO"; then 7161 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 7162 $as_echo "$LIPO" >&6; } 7163 else 7164 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7165 $as_echo "no" >&6; } 7166 fi 7167 7168 7169 fi 7170 if 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. 7173 set 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; } 7176 if ${ac_cv_prog_ac_ct_LIPO+:} false; then : 7177 $as_echo_n "(cached) " >&6 7178 else 7179 if test -n "$ac_ct_LIPO"; then 7180 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. 7181 else 7182 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7183 for as_dir in $PATH 7184 do 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 7193 done 7194 done 7195 IFS=$as_save_IFS 7196 7197 fi 7198 fi 7199 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO 7200 if 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; } 7203 else 7204 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7205 $as_echo "no" >&6; } 7206 fi 7207 7208 if test "x$ac_ct_LIPO" = x; then 7209 LIPO=":" 7210 else 7211 case $cross_compiling:$ac_tool_warned in 7212 yes:) 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;} 7215 ac_tool_warned=yes ;; 7216 esac 7217 LIPO=$ac_ct_LIPO 7218 fi 7219 else 7220 LIPO="$ac_cv_prog_LIPO" 7221 fi 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. 7225 set 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; } 7228 if ${ac_cv_prog_OTOOL+:} false; then : 7229 $as_echo_n "(cached) " >&6 7230 else 7231 if test -n "$OTOOL"; then 7232 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. 7233 else 7234 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7235 for as_dir in $PATH 7236 do 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 7245 done 7246 done 7247 IFS=$as_save_IFS 7248 7249 fi 7250 fi 7251 OTOOL=$ac_cv_prog_OTOOL 7252 if test -n "$OTOOL"; then 7253 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 7254 $as_echo "$OTOOL" >&6; } 7255 else 7256 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7257 $as_echo "no" >&6; } 7258 fi 7259 7260 7261 fi 7262 if 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. 7265 set 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; } 7268 if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : 7269 $as_echo_n "(cached) " >&6 7270 else 7271 if test -n "$ac_ct_OTOOL"; then 7272 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. 7273 else 7274 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7275 for as_dir in $PATH 7276 do 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 7285 done 7286 done 7287 IFS=$as_save_IFS 7288 7289 fi 7290 fi 7291 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL 7292 if 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; } 7295 else 7296 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7297 $as_echo "no" >&6; } 7298 fi 7299 7300 if test "x$ac_ct_OTOOL" = x; then 7301 OTOOL=":" 7302 else 7303 case $cross_compiling:$ac_tool_warned in 7304 yes:) 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;} 7307 ac_tool_warned=yes ;; 7308 esac 7309 OTOOL=$ac_ct_OTOOL 7310 fi 7311 else 7312 OTOOL="$ac_cv_prog_OTOOL" 7313 fi 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. 7317 set 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; } 7320 if ${ac_cv_prog_OTOOL64+:} false; then : 7321 $as_echo_n "(cached) " >&6 7322 else 7323 if test -n "$OTOOL64"; then 7324 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. 7325 else 7326 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7327 for as_dir in $PATH 7328 do 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 7337 done 7338 done 7339 IFS=$as_save_IFS 7340 7341 fi 7342 fi 7343 OTOOL64=$ac_cv_prog_OTOOL64 7344 if test -n "$OTOOL64"; then 7345 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 7346 $as_echo "$OTOOL64" >&6; } 7347 else 7348 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7349 $as_echo "no" >&6; } 7350 fi 7351 7352 7353 fi 7354 if 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. 7357 set 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; } 7360 if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : 7361 $as_echo_n "(cached) " >&6 7362 else 7363 if test -n "$ac_ct_OTOOL64"; then 7364 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. 7365 else 7366 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7367 for as_dir in $PATH 7368 do 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 7377 done 7378 done 7379 IFS=$as_save_IFS 7380 7381 fi 7382 fi 7383 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 7384 if 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; } 7387 else 7388 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 7389 $as_echo "no" >&6; } 7390 fi 7391 7392 if test "x$ac_ct_OTOOL64" = x; then 7393 OTOOL64=":" 7394 else 7395 case $cross_compiling:$ac_tool_warned in 7396 yes:) 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;} 7399 ac_tool_warned=yes ;; 7400 esac 7401 OTOOL64=$ac_ct_OTOOL64 7402 fi 7403 else 7404 OTOOL64="$ac_cv_prog_OTOOL64" 7405 fi 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; } 7435 if ${lt_cv_apple_cc_single_mod+:} false; then : 7436 $as_echo_n "(cached) " >&6 7437 else 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 7465 fi 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; } 7471 if ${lt_cv_ld_exported_symbols_list+:} false; then : 7472 $as_echo_n "(cached) " >&6 7473 else 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 7481 int 7482 main () 7483 { 7484 7485 ; 7486 return 0; 7487 } 7488 _ACEOF 7489 if ac_fn_c_try_link "$LINENO"; then : 7490 lt_cv_ld_exported_symbols_list=yes 7491 else 7492 lt_cv_ld_exported_symbols_list=no 7493 fi 7494 rm -f core conftest.err conftest.$ac_objext \ 7495 conftest$ac_exeext conftest.$ac_ext 7496 LDFLAGS=$save_LDFLAGS 7497 7498 fi 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; } 7504 if ${lt_cv_ld_force_load+:} false; then : 7505 $as_echo_n "(cached) " >&6 7506 else 7507 lt_cv_ld_force_load=no 7508 cat > conftest.c << _LT_EOF 7509 int 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 7518 int 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 7533 fi 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]" 7585 func_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 7606 ac_ext=c 7607 ac_cpp='$CPP $CPPFLAGS' 7608 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 7609 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 7610 ac_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. 7614 if test -n "$CPP" && test -d "$CPP"; then 7615 CPP= 7616 fi 7617 if test -z "$CPP"; then 7618 if ${ac_cv_prog_CPP+:} false; then : 7619 $as_echo_n "(cached) " >&6 7620 else 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 7625 for ac_c_preproc_warn_flag in '' yes 7626 do 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 7642 if ac_fn_c_try_cpp "$LINENO"; then : 7643 7644 else 7645 # Broken: fails on valid input. 7646 continue 7647 fi 7648 rm -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 7656 if ac_fn_c_try_cpp "$LINENO"; then : 7657 # Broken: success on invalid input. 7658 continue 7659 else 7660 # Passes both tests. 7661 ac_preproc_ok=: 7662 break 7663 fi 7664 rm -f conftest.err conftest.i conftest.$ac_ext 7665 7666 done 7667 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 7668 rm -f conftest.i conftest.err conftest.$ac_ext 7669 if $ac_preproc_ok; then : 7670 break 7671 fi 7672 7673 done 7674 ac_cv_prog_CPP=$CPP 7675 7676 fi 7677 CPP=$ac_cv_prog_CPP 7678 else 7679 ac_cv_prog_CPP=$CPP 7680 fi 7681 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 7682 $as_echo "$CPP" >&6; } 7683 ac_preproc_ok=false 7684 for ac_c_preproc_warn_flag in '' yes 7685 do 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 7701 if ac_fn_c_try_cpp "$LINENO"; then : 7702 7703 else 7704 # Broken: fails on valid input. 7705 continue 7706 fi 7707 rm -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 7715 if ac_fn_c_try_cpp "$LINENO"; then : 7716 # Broken: success on invalid input. 7717 continue 7718 else 7719 # Passes both tests. 7720 ac_preproc_ok=: 7721 break 7722 fi 7723 rm -f conftest.err conftest.i conftest.$ac_ext 7724 7725 done 7726 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 7727 rm -f conftest.i conftest.err conftest.$ac_ext 7728 if $ac_preproc_ok; then : 7729 7730 else 7731 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 7732 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 7733 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check 7734 See \`config.log' for more details" "$LINENO" 5; } 7735 fi 7736 7737 ac_ext=c 7738 ac_cpp='$CPP $CPPFLAGS' 7739 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 7740 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 7741 ac_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; } 7746 if ${ac_cv_header_stdc+:} false; then : 7747 $as_echo_n "(cached) " >&6 7748 else 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 7756 int 7757 main () 7758 { 7759 7760 ; 7761 return 0; 7762 } 7763 _ACEOF 7764 if ac_fn_c_try_compile "$LINENO"; then : 7765 ac_cv_header_stdc=yes 7766 else 7767 ac_cv_header_stdc=no 7768 fi 7769 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 7770 7771 if 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 7778 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | 7779 $EGREP "memchr" >/dev/null 2>&1; then : 7780 7781 else 7782 ac_cv_header_stdc=no 7783 fi 7784 rm -f conftest* 7785 7786 fi 7787 7788 if 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 7795 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | 7796 $EGREP "free" >/dev/null 2>&1; then : 7797 7798 else 7799 ac_cv_header_stdc=no 7800 fi 7801 rm -f conftest* 7802 7803 fi 7804 7805 if 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 : 7809 else 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))) 7826 int 7827 main () 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 7837 if ac_fn_c_try_run "$LINENO"; then : 7838 7839 else 7840 ac_cv_header_stdc=no 7841 fi 7842 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ 7843 conftest.$ac_objext conftest.beam conftest.$ac_ext 7844 fi 7845 7846 fi 7847 fi 7848 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 7849 $as_echo "$ac_cv_header_stdc" >&6; } 7850 if test $ac_cv_header_stdc = yes; then 7851 7852 $as_echo "#define STDC_HEADERS 1" >>confdefs.h 7853 7854 fi 7855 7856 # On IRIX 5.3, sys/types and inttypes.h are conflicting. 7857 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ 7858 inttypes.h stdint.h unistd.h 7859 do : 7860 as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` 7861 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default 7862 " 7863 if 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 7868 fi 7869 7870 done 7871 7872 7873 for ac_header in dlfcn.h 7874 do : 7875 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default 7876 " 7877 if test "x$ac_cv_header_dlfcn_h" = xyes; then : 7878 cat >>confdefs.h <<_ACEOF 7879 #define HAVE_DLFCN_H 1 7880 _ACEOF 7881 7882 fi 7883 7884 done 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. 7901 if 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 7919 else 7920 enable_shared=yes 7921 fi 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 # Check whether --enable-static was given. 7932 if 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 7950 else 7951 enable_static=yes 7952 fi 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 # Check whether --with-pic was given. 7964 if 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 7981 else 7982 pic_mode=default 7983 fi 7984 7985 7986 7987 7988 7989 7990 7991 7992 # Check whether --enable-fast-install was given. 7993 if 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 8011 else 8012 enable_fast_install=yes 8013 fi 8014 8015 8016 8017 8018 8019 8020 8021 8022 shared_archive_member_spec= 8023 case $host,$enable_shared in 8024 power*-*-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. 8029 if 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 8038 else 8039 if ${lt_cv_with_aix_soname+:} false; then : 8040 $as_echo_n "(cached) " >&6 8041 else 8042 lt_cv_with_aix_soname=aix 8043 fi 8044 8045 with_aix_soname=$lt_cv_with_aix_soname 8046 fi 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 ;; 8066 esac 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 # This can be used to rebuild libtool when needed 8078 LIBTOOL_DEPS=$ltmain 8079 8080 # Always use our own libtool. 8081 LIBTOOL='$(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 8112 test -z "$LN_S" && LN_S="ln -s" 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 if test -n "${ZSH_VERSION+set}"; then 8128 setopt NO_GLOB_SUBST 8129 fi 8130 8131 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 8132 $as_echo_n "checking for objdir... " >&6; } 8133 if ${lt_cv_objdir+:} false; then : 8134 $as_echo_n "(cached) " >&6 8135 else 8136 rm -f .libs 2>/dev/null 8137 mkdir .libs 2>/dev/null 8138 if test -d .libs; then 8139 lt_cv_objdir=.libs 8140 else 8141 # MS-DOS does not allow filenames that begin with a dot. 8142 lt_cv_objdir=_libs 8143 fi 8144 rmdir .libs 2>/dev/null 8145 fi 8146 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 8147 $as_echo "$lt_cv_objdir" >&6; } 8148 objdir=$lt_cv_objdir 8149 8150 8151 8152 8153 8154 cat >>confdefs.h <<_ACEOF 8155 #define LT_OBJDIR "$lt_cv_objdir/" 8156 _ACEOF 8157 8158 8159 8160 8161 case $host_os in 8162 aix3*) 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 ;; 8171 esac 8172 8173 # Global variables: 8174 ofile=libtool 8175 can_build_shared=yes 8176 8177 # All known linkers require a '.a' archive for static linking (except MSVC, 8178 # which needs '.lib'). 8179 libext=a 8180 8181 with_gnu_ld=$lt_cv_prog_gnu_ld 8182 8183 old_CC=$CC 8184 old_CFLAGS=$CFLAGS 8185 8186 # Set sane defaults for various variables 8187 test -z "$CC" && CC=cc 8188 test -z "$LTCC" && LTCC=$CC 8189 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 8190 test -z "$LD" && LD=ld 8191 test -z "$ac_objext" && ac_objext=o 8192 8193 func_cc_basename $compiler 8194 cc_basename=$func_cc_basename_result 8195 8196 8197 # Only perform the check for file, if the check method requires it 8198 test -z "$MAGIC_CMD" && MAGIC_CMD=file 8199 case $deplibs_check_method in 8200 file_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; } 8204 if ${lt_cv_path_MAGIC_CMD+:} false; then : 8205 $as_echo_n "(cached) " >&6 8206 else 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 ;; 8250 esac 8251 fi 8252 8253 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 8254 if test -n "$MAGIC_CMD"; then 8255 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 8256 $as_echo "$MAGIC_CMD" >&6; } 8257 else 8258 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8259 $as_echo "no" >&6; } 8260 fi 8261 8262 8263 8264 8265 8266 if 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; } 8270 if ${lt_cv_path_MAGIC_CMD+:} false; then : 8271 $as_echo_n "(cached) " >&6 8272 else 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 ;; 8316 esac 8317 fi 8318 8319 MAGIC_CMD=$lt_cv_path_MAGIC_CMD 8320 if test -n "$MAGIC_CMD"; then 8321 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 8322 $as_echo "$MAGIC_CMD" >&6; } 8323 else 8324 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 8325 $as_echo "no" >&6; } 8326 fi 8327 8328 8329 else 8330 MAGIC_CMD=: 8331 fi 8332 fi 8333 8334 fi 8335 ;; 8336 esac 8337 8338 # Use C for the default configuration in the libtool script 8339 8340 lt_save_CC=$CC 8341 ac_ext=c 8342 ac_cpp='$CPP $CPPFLAGS' 8343 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 8344 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 8345 ac_compiler_gnu=$ac_cv_c_compiler_gnu 8346 8347 8348 # Source file extension for C test sources. 8349 ac_ext=c 8350 8351 # Object file extension for compiled C test sources. 8352 objext=o 8353 objext=$objext 8354 8355 # Code to be used in simple compile tests 8356 lt_simple_compile_test_code="int some_variable = 0;" 8357 8358 # Code to be used in simple link tests 8359 lt_simple_link_test_code='int main(){return(0);}' 8360 8361 8362 8363 8364 8365 8366 8367 # If no C compiler was specified, use CC. 8368 LTCC=${LTCC-"$CC"} 8369 8370 # If no C compiler flags were specified, use CFLAGS. 8371 LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 8372 8373 # Allow CC to be a program name with arguments. 8374 compiler=$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. 8378 compiler_DEFAULT=$CC 8379 8380 # save warnings/boilerplate of simple test code 8381 ac_outfile=conftest.$ac_objext 8382 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 8383 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 8384 _lt_compiler_boilerplate=`cat conftest.err` 8385 $RM conftest* 8386 8387 ac_outfile=conftest.$ac_objext 8388 echo "$lt_simple_link_test_code" >conftest.$ac_ext 8389 eval "$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... 8398 if test -n "$compiler"; then 8399 8400 lt_prog_compiler_no_builtin_flag= 8401 8402 if 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; } 8412 if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : 8413 $as_echo_n "(cached) " >&6 8414 else 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 8444 fi 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 8448 if 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" 8450 else 8451 : 8452 fi 8453 8454 fi 8455 8456 8457 8458 8459 8460 8461 lt_prog_compiler_wl= 8462 lt_prog_compiler_pic= 8463 lt_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 8793 case $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 ;; 8801 esac 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; } 8805 if ${lt_cv_prog_compiler_pic+:} false; then : 8806 $as_echo_n "(cached) " >&6 8807 else 8808 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic 8809 fi 8810 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 8811 $as_echo "$lt_cv_prog_compiler_pic" >&6; } 8812 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic 8813 8814 # 8815 # Check to make sure the PIC flag actually works. 8816 # 8817 if 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; } 8820 if ${lt_cv_prog_compiler_pic_works+:} false; then : 8821 $as_echo_n "(cached) " >&6 8822 else 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 8852 fi 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 8856 if 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 8861 else 8862 lt_prog_compiler_pic= 8863 lt_prog_compiler_can_build_shared=no 8864 fi 8865 8866 fi 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 # 8879 # Check to make sure the static flag actually works. 8880 # 8881 wl=$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; } 8884 if ${lt_cv_prog_compiler_static_works+:} false; then : 8885 $as_echo_n "(cached) " >&6 8886 else 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 8909 fi 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 8913 if test yes = "$lt_cv_prog_compiler_static_works"; then 8914 : 8915 else 8916 lt_prog_compiler_static= 8917 fi 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; } 8927 if ${lt_cv_prog_compiler_c_o+:} false; then : 8928 $as_echo_n "(cached) " >&6 8929 else 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 8971 fi 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; } 8982 if ${lt_cv_prog_compiler_c_o+:} false; then : 8983 $as_echo_n "(cached) " >&6 8984 else 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 9026 fi 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 9033 hard_links=nottested 9034 if 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 9051 else 9052 need_locks=no 9053 fi 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 9618 else 9619 if ${lt_cv_aix_libpath_+:} false; then : 9620 $as_echo_n "(cached) " >&6 9621 else 9622 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 9623 /* end confdefs.h. */ 9624 9625 int 9626 main () 9627 { 9628 9629 ; 9630 return 0; 9631 } 9632 _ACEOF 9633 if 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 9647 fi 9648 rm -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 9654 fi 9655 9656 aix_libpath=$lt_cv_aix_libpath_ 9657 fi 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 9671 else 9672 if ${lt_cv_aix_libpath_+:} false; then : 9673 $as_echo_n "(cached) " >&6 9674 else 9675 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 9676 /* end confdefs.h. */ 9677 9678 int 9679 main () 9680 { 9681 9682 ; 9683 return 0; 9684 } 9685 _ACEOF 9686 if 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 9700 fi 9701 rm -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 9707 fi 9708 9709 aix_libpath=$lt_cv_aix_libpath_ 9710 fi 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; } 9954 if ${lt_cv_prog_compiler__b+:} false; then : 9955 $as_echo_n "(cached) " >&6 9956 else 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 9979 fi 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 9983 if 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' 9985 else 9986 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 9987 fi 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; } 10023 if ${lt_cv_irix_exported_symbol+:} false; then : 10024 $as_echo_n "(cached) " >&6 10025 else 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. */ 10030 int foo (void) { return 0; } 10031 _ACEOF 10032 if ac_fn_c_try_link "$LINENO"; then : 10033 lt_cv_irix_exported_symbol=yes 10034 else 10035 lt_cv_irix_exported_symbol=no 10036 fi 10037 rm -f core conftest.err conftest.$ac_objext \ 10038 conftest$ac_exeext conftest.$ac_ext 10039 LDFLAGS=$save_LDFLAGS 10040 fi 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; } 10325 test no = "$ld_shlibs" && can_build_shared=no 10326 10327 with_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 # 10346 case "x$archive_cmds_need_lc" in 10347 x|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; } 10362 if ${lt_cv_archive_cmds_need_lc+:} false; then : 10363 $as_echo_n "(cached) " >&6 10364 else 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 10402 fi 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 ;; 10410 esac 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 10566 if 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 ' 10608 BEGIN {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` 10634 else 10635 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 10636 fi 10637 library_names_spec= 10638 libname_spec='lib$name' 10639 soname_spec= 10640 shrext_cmds=.so 10641 postinstall_cmds= 10642 postuninstall_cmds= 10643 finish_cmds= 10644 finish_eval= 10645 shlibpath_var= 10646 shlibpath_overrides_runpath=unknown 10647 version_type=none 10648 dynamic_linker="$host_os ld.so" 10649 sys_lib_dlsearch_path_spec="/lib /usr/lib" 10650 need_lib_prefix=unknown 10651 hardcode_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 10655 need_version=unknown 10656 10657 10658 10659 case $host_os in 10660 aix3*) 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 10669 aix[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 10763 amigaos*) 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 10778 beos*) 10779 library_names_spec='$libname$shared_ext' 10780 dynamic_linker="$host_os ld.so" 10781 shlibpath_var=LIBRARY_PATH 10782 ;; 10783 10784 bsdi[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 10798 cygwin* | 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 10908 darwin* | 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 10923 dgux*) 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 10932 freebsd* | 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 10977 haiku*) 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 10990 hpux9* | 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 11039 interix[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 11051 irix5* | 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. 11089 linux*oldld* | linux*aout* | linux*coff*) 11090 dynamic_linker=no 11091 ;; 11092 11093 linux*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. 11114 linux* | 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 11127 else 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 11136 int 11137 main () 11138 { 11139 11140 ; 11141 return 0; 11142 } 11143 _ACEOF 11144 if 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 11147 fi 11148 fi 11149 rm -f core conftest.err conftest.$ac_objext \ 11150 conftest$ac_exeext conftest.$ac_ext 11151 LDFLAGS=$save_LDFLAGS 11152 libdir=$save_libdir 11153 11154 fi 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 11183 netbsdelf*-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 11195 netbsd*) 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 11213 newsos6) 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 11232 openbsd* | 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 11247 os2*) 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 11277 osf3* | 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 11288 rdos*) 11289 dynamic_linker=no 11290 ;; 11291 11292 solaris*) 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 11305 sunos4*) 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 11317 sysv4 | 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 11340 sysv4*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 11349 sysv5* | 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 11371 tpf*) 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 11382 uts4*) 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 ;; 11392 esac 11393 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 11394 $as_echo "$dynamic_linker" >&6; } 11395 test no = "$dynamic_linker" && can_build_shared=no 11396 11397 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 11398 if test yes = "$GCC"; then 11399 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 11400 fi 11401 11402 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 11403 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 11404 fi 11405 11406 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 11407 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 11408 fi 11409 11410 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 11411 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 11412 11413 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 11414 func_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 11417 configure_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; } 11517 hardcode_action= 11518 if 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 11535 else 11536 # We cannot hardcode anything, or else we can only hardcode existing 11537 # directories. 11538 hardcode_action=unsupported 11539 fi 11540 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 11541 $as_echo "$hardcode_action" >&6; } 11542 11543 if test relink = "$hardcode_action" || 11544 test yes = "$inherit_rpath"; then 11545 # Fast installation is not supported 11546 enable_fast_install=no 11547 elif test yes = "$shlibpath_overrides_runpath" || 11548 test no = "$enable_shared"; then 11549 # Fast installation is not necessary 11550 enable_fast_install=needless 11551 fi 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 11562 else 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; } 11587 if ${ac_cv_lib_dl_dlopen+:} false; then : 11588 $as_echo_n "(cached) " >&6 11589 else 11590 ac_check_lib_save_LIBS=$LIBS 11591 LIBS="-ldl $LIBS" 11592 cat 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 11599 extern "C" 11600 #endif 11601 char dlopen (); 11602 int 11603 main () 11604 { 11605 return dlopen (); 11606 ; 11607 return 0; 11608 } 11609 _ACEOF 11610 if ac_fn_c_try_link "$LINENO"; then : 11611 ac_cv_lib_dl_dlopen=yes 11612 else 11613 ac_cv_lib_dl_dlopen=no 11614 fi 11615 rm -f core conftest.err conftest.$ac_objext \ 11616 conftest$ac_exeext conftest.$ac_ext 11617 LIBS=$ac_check_lib_save_LIBS 11618 fi 11619 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 11620 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } 11621 if test "x$ac_cv_lib_dl_dlopen" = xyes; then : 11622 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl 11623 else 11624 11625 lt_cv_dlopen=dyld 11626 lt_cv_dlopen_libs= 11627 lt_cv_dlopen_self=yes 11628 11629 fi 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" 11643 if test "x$ac_cv_func_shl_load" = xyes; then : 11644 lt_cv_dlopen=shl_load 11645 else 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; } 11648 if ${ac_cv_lib_dld_shl_load+:} false; then : 11649 $as_echo_n "(cached) " >&6 11650 else 11651 ac_check_lib_save_LIBS=$LIBS 11652 LIBS="-ldld $LIBS" 11653 cat 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 11660 extern "C" 11661 #endif 11662 char shl_load (); 11663 int 11664 main () 11665 { 11666 return shl_load (); 11667 ; 11668 return 0; 11669 } 11670 _ACEOF 11671 if ac_fn_c_try_link "$LINENO"; then : 11672 ac_cv_lib_dld_shl_load=yes 11673 else 11674 ac_cv_lib_dld_shl_load=no 11675 fi 11676 rm -f core conftest.err conftest.$ac_objext \ 11677 conftest$ac_exeext conftest.$ac_ext 11678 LIBS=$ac_check_lib_save_LIBS 11679 fi 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; } 11682 if test "x$ac_cv_lib_dld_shl_load" = xyes; then : 11683 lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld 11684 else 11685 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" 11686 if test "x$ac_cv_func_dlopen" = xyes; then : 11687 lt_cv_dlopen=dlopen 11688 else 11689 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 11690 $as_echo_n "checking for dlopen in -ldl... " >&6; } 11691 if ${ac_cv_lib_dl_dlopen+:} false; then : 11692 $as_echo_n "(cached) " >&6 11693 else 11694 ac_check_lib_save_LIBS=$LIBS 11695 LIBS="-ldl $LIBS" 11696 cat 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 11703 extern "C" 11704 #endif 11705 char dlopen (); 11706 int 11707 main () 11708 { 11709 return dlopen (); 11710 ; 11711 return 0; 11712 } 11713 _ACEOF 11714 if ac_fn_c_try_link "$LINENO"; then : 11715 ac_cv_lib_dl_dlopen=yes 11716 else 11717 ac_cv_lib_dl_dlopen=no 11718 fi 11719 rm -f core conftest.err conftest.$ac_objext \ 11720 conftest$ac_exeext conftest.$ac_ext 11721 LIBS=$ac_check_lib_save_LIBS 11722 fi 11723 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 11724 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } 11725 if test "x$ac_cv_lib_dl_dlopen" = xyes; then : 11726 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl 11727 else 11728 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 11729 $as_echo_n "checking for dlopen in -lsvld... " >&6; } 11730 if ${ac_cv_lib_svld_dlopen+:} false; then : 11731 $as_echo_n "(cached) " >&6 11732 else 11733 ac_check_lib_save_LIBS=$LIBS 11734 LIBS="-lsvld $LIBS" 11735 cat 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 11742 extern "C" 11743 #endif 11744 char dlopen (); 11745 int 11746 main () 11747 { 11748 return dlopen (); 11749 ; 11750 return 0; 11751 } 11752 _ACEOF 11753 if ac_fn_c_try_link "$LINENO"; then : 11754 ac_cv_lib_svld_dlopen=yes 11755 else 11756 ac_cv_lib_svld_dlopen=no 11757 fi 11758 rm -f core conftest.err conftest.$ac_objext \ 11759 conftest$ac_exeext conftest.$ac_ext 11760 LIBS=$ac_check_lib_save_LIBS 11761 fi 11762 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 11763 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } 11764 if test "x$ac_cv_lib_svld_dlopen" = xyes; then : 11765 lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld 11766 else 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; } 11769 if ${ac_cv_lib_dld_dld_link+:} false; then : 11770 $as_echo_n "(cached) " >&6 11771 else 11772 ac_check_lib_save_LIBS=$LIBS 11773 LIBS="-ldld $LIBS" 11774 cat 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 11781 extern "C" 11782 #endif 11783 char dld_link (); 11784 int 11785 main () 11786 { 11787 return dld_link (); 11788 ; 11789 return 0; 11790 } 11791 _ACEOF 11792 if ac_fn_c_try_link "$LINENO"; then : 11793 ac_cv_lib_dld_dld_link=yes 11794 else 11795 ac_cv_lib_dld_dld_link=no 11796 fi 11797 rm -f core conftest.err conftest.$ac_objext \ 11798 conftest$ac_exeext conftest.$ac_ext 11799 LIBS=$ac_check_lib_save_LIBS 11800 fi 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; } 11803 if test "x$ac_cv_lib_dld_dld_link" = xyes; then : 11804 lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld 11805 fi 11806 11807 11808 fi 11809 11810 11811 fi 11812 11813 11814 fi 11815 11816 11817 fi 11818 11819 11820 fi 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; } 11844 if ${lt_cv_dlopen_self+:} false; then : 11845 $as_echo_n "(cached) " >&6 11846 else 11847 if test yes = "$cross_compiling"; then : 11848 lt_cv_dlopen_self=cross 11849 else 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)) 11897 int fnord () __attribute__((visibility("default"))); 11898 #endif 11899 11900 int fnord () { return 42; } 11901 int 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 11938 fi 11939 rm -fr conftest* 11940 11941 11942 fi 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; } 11950 if ${lt_cv_dlopen_self_static+:} false; then : 11951 $as_echo_n "(cached) " >&6 11952 else 11953 if test yes = "$cross_compiling"; then : 11954 lt_cv_dlopen_self_static=cross 11955 else 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)) 12003 int fnord () __attribute__((visibility("default"))); 12004 #endif 12005 12006 int fnord () { return 42; } 12007 int 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 12044 fi 12045 rm -fr conftest* 12046 12047 12048 fi 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 12068 fi 12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 striplib= 12087 old_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; } 12090 if 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; } 12095 else 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 12114 fi 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 12171 fi 12172 ac_ext=c 12173 ac_cpp='$CPP $CPPFLAGS' 12174 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 12175 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 12176 ac_compiler_gnu=$ac_cv_c_compiler_gnu 12177 12178 CC=$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 12203 ac_ext=cpp 12204 ac_cpp='$CXXCPP $CPPFLAGS' 12205 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 12206 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 12207 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu 12208 if 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. 12216 set 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; } 12219 if ${ac_cv_prog_CXX+:} false; then : 12220 $as_echo_n "(cached) " >&6 12221 else 12222 if test -n "$CXX"; then 12223 ac_cv_prog_CXX="$CXX" # Let the user override the test. 12224 else 12225 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 12226 for as_dir in $PATH 12227 do 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 12236 done 12237 done 12238 IFS=$as_save_IFS 12239 12240 fi 12241 fi 12242 CXX=$ac_cv_prog_CXX 12243 if test -n "$CXX"; then 12244 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 12245 $as_echo "$CXX" >&6; } 12246 else 12247 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12248 $as_echo "no" >&6; } 12249 fi 12250 12251 12252 test -n "$CXX" && break 12253 done 12254 fi 12255 if 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 12258 do 12259 # Extract the first word of "$ac_prog", so it can be a program name with args. 12260 set 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; } 12263 if ${ac_cv_prog_ac_ct_CXX+:} false; then : 12264 $as_echo_n "(cached) " >&6 12265 else 12266 if test -n "$ac_ct_CXX"; then 12267 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. 12268 else 12269 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 12270 for as_dir in $PATH 12271 do 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 12280 done 12281 done 12282 IFS=$as_save_IFS 12283 12284 fi 12285 fi 12286 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX 12287 if 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; } 12290 else 12291 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12292 $as_echo "no" >&6; } 12293 fi 12294 12295 12296 test -n "$ac_ct_CXX" && break 12297 done 12298 12299 if test "x$ac_ct_CXX" = x; then 12300 CXX="g++" 12301 else 12302 case $cross_compiling:$ac_tool_warned in 12303 yes:) 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;} 12306 ac_tool_warned=yes ;; 12307 esac 12308 CXX=$ac_ct_CXX 12309 fi 12310 fi 12311 12312 fi 12313 fi 12314 # Provide some information about the compiler. 12315 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 12316 set X $ac_compile 12317 ac_compiler=$2 12318 for ac_option in --version -v -V -qversion; do 12319 { { ac_try="$ac_compiler $ac_option >&5" 12320 case "(($ac_try" in 12321 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 12322 *) ac_try_echo=$ac_try;; 12323 esac 12324 eval 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; } 12337 done 12338 3036 12339 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 3037 12340 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } … … 3154 12457 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 3155 12458 ac_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 target3165 .PHONY: am__doit3166 END3167 # 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" >&53169 $as_echo_n "checking for style of include used by $am_make... " >&6; }3170 am__include="#"3171 am__quote=3172 _am_result=none3173 # First try GNU make style include.3174 echo "include confinc" > confmf3175 # 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=include3179 am__quote=3180 _am_result=GNU3181 ;;3182 esac3183 # Now try BSD make style include.3184 if test "$am__include" = "#"; then3185 echo '.include "confinc"' > confmf3186 case `$am_make -s -f confmf 2> /dev/null` in #(3187 *the\ am__doit\ target*)3188 am__include=.include3189 am__quote="\""3190 _am_result=BSD3191 ;;3192 esac3193 fi3194 3195 3196 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&53197 $as_echo "$_am_result" >&6; }3198 rm -f confinc confmf3199 3200 # Check whether --enable-dependency-tracking was given.3201 if test "${enable_dependency_tracking+set}" = set; then :3202 enableval=$enable_dependency_tracking;3203 fi3204 3205 if test "x$enable_dependency_tracking" != xno; then3206 am_depcomp="$ac_aux_dir/depcomp"3207 AMDEPBACKSLASH='\'3208 am__nodep='_no'3209 fi3210 if test "x$enable_dependency_tracking" != xno; then3211 AMDEP_TRUE=3212 AMDEP_FALSE='#'3213 else3214 AMDEP_TRUE='#'3215 AMDEP_FALSE=3216 fi3217 3218 3219 12459 3220 12460 depcc="$CXX" am_compiler_list= … … 3346 12586 3347 12587 12588 12589 12590 func_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 12602 ac_cpp='$CXXCPP $CPPFLAGS' 12603 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 12604 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 12605 ac_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; } 12608 if test -z "$CXXCPP"; then 12609 if ${ac_cv_prog_CXXCPP+:} false; then : 12610 $as_echo_n "(cached) " >&6 12611 else 12612 # Double quotes because CXXCPP needs to be expanded 12613 for CXXCPP in "$CXX -E" "/lib/cpp" 12614 do 12615 ac_preproc_ok=false 12616 for ac_cxx_preproc_warn_flag in '' yes 12617 do 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 12633 if ac_fn_cxx_try_cpp "$LINENO"; then : 12634 12635 else 12636 # Broken: fails on valid input. 12637 continue 12638 fi 12639 rm -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 12647 if ac_fn_cxx_try_cpp "$LINENO"; then : 12648 # Broken: success on invalid input. 12649 continue 12650 else 12651 # Passes both tests. 12652 ac_preproc_ok=: 12653 break 12654 fi 12655 rm -f conftest.err conftest.i conftest.$ac_ext 12656 12657 done 12658 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 12659 rm -f conftest.i conftest.err conftest.$ac_ext 12660 if $ac_preproc_ok; then : 12661 break 12662 fi 12663 12664 done 12665 ac_cv_prog_CXXCPP=$CXXCPP 12666 12667 fi 12668 CXXCPP=$ac_cv_prog_CXXCPP 12669 else 12670 ac_cv_prog_CXXCPP=$CXXCPP 12671 fi 12672 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 12673 $as_echo "$CXXCPP" >&6; } 12674 ac_preproc_ok=false 12675 for ac_cxx_preproc_warn_flag in '' yes 12676 do 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 12692 if ac_fn_cxx_try_cpp "$LINENO"; then : 12693 12694 else 12695 # Broken: fails on valid input. 12696 continue 12697 fi 12698 rm -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 12706 if ac_fn_cxx_try_cpp "$LINENO"; then : 12707 # Broken: success on invalid input. 12708 continue 12709 else 12710 # Passes both tests. 12711 ac_preproc_ok=: 12712 break 12713 fi 12714 rm -f conftest.err conftest.i conftest.$ac_ext 12715 12716 done 12717 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. 12718 rm -f conftest.i conftest.err conftest.$ac_ext 12719 if $ac_preproc_ok; then : 12720 12721 else 12722 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 12723 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} 12724 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check 12725 See \`config.log' for more details" "$LINENO" 5; } 12726 fi 12727 12728 ac_ext=c 12729 ac_cpp='$CPP $CPPFLAGS' 12730 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 12731 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 12732 ac_compiler_gnu=$ac_cv_c_compiler_gnu 12733 12734 else 12735 _lt_caught_CXX_error=yes 12736 fi 12737 12738 ac_ext=cpp 12739 ac_cpp='$CXXCPP $CPPFLAGS' 12740 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' 12741 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 12742 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu 12743 12744 archive_cmds_need_lc_CXX=no 12745 allow_undefined_flag_CXX= 12746 always_export_symbols_CXX=no 12747 archive_expsym_cmds_CXX= 12748 compiler_needs_object_CXX=no 12749 export_dynamic_flag_spec_CXX= 12750 hardcode_direct_CXX=no 12751 hardcode_direct_absolute_CXX=no 12752 hardcode_libdir_flag_spec_CXX= 12753 hardcode_libdir_separator_CXX= 12754 hardcode_minus_L_CXX=no 12755 hardcode_shlibpath_var_CXX=unsupported 12756 hardcode_automatic_CXX=no 12757 inherit_rpath_CXX=no 12758 module_cmds_CXX= 12759 module_expsym_cmds_CXX= 12760 link_all_deplibs_CXX=unknown 12761 old_archive_cmds_CXX=$old_archive_cmds 12762 reload_flag_CXX=$reload_flag 12763 reload_cmds_CXX=$reload_cmds 12764 no_undefined_flag_CXX= 12765 whole_archive_flag_spec_CXX= 12766 enable_shared_with_static_runtimes_CXX=no 12767 12768 # Source file extension for C++ test sources. 12769 ac_ext=cpp 12770 12771 # Object file extension for compiled C++ test sources. 12772 objext=o 12773 objext_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. 12779 if 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. 12794 LTCC=${LTCC-"$CC"} 12795 12796 # If no C compiler flags were specified, use CFLAGS. 12797 LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 12798 12799 # Allow CC to be a program name with arguments. 12800 compiler=$CC 12801 12802 12803 # save warnings/boilerplate of simple test code 12804 ac_outfile=conftest.$ac_objext 12805 echo "$lt_simple_compile_test_code" >conftest.$ac_ext 12806 eval "$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 12811 echo "$lt_simple_link_test_code" >conftest.$ac_ext 12812 eval "$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 12841 cc_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. 12859 if test "${with_gnu_ld+set}" = set; then : 12860 withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes 12861 else 12862 with_gnu_ld=no 12863 fi 12864 12865 ac_prog=ld 12866 if 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 12897 elif 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; } 12900 else 12901 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 12902 $as_echo_n "checking for non-GNU ld... " >&6; } 12903 fi 12904 if ${lt_cv_path_LD+:} false; then : 12905 $as_echo_n "(cached) " >&6 12906 else 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 12928 else 12929 lt_cv_path_LD=$LD # Let the user override the test with a path. 12930 fi 12931 fi 12932 12933 LD=$lt_cv_path_LD 12934 if test -n "$LD"; then 12935 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 12936 $as_echo "$LD" >&6; } 12937 else 12938 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 12939 $as_echo "no" >&6; } 12940 fi 12941 test -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; } 12944 if ${lt_cv_prog_gnu_ld+:} false; then : 12945 $as_echo_n "(cached) " >&6 12946 else 12947 # I'd rather use --version here, but apparently some GNU lds only accept -v. 12948 case `$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 ;; 12955 esac 12956 fi 12957 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 12958 $as_echo "$lt_cv_prog_gnu_ld" >&6; } 12959 with_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 13150 else 13151 if ${lt_cv_aix_libpath__CXX+:} false; then : 13152 $as_echo_n "(cached) " >&6 13153 else 13154 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13155 /* end confdefs.h. */ 13156 13157 int 13158 main () 13159 { 13160 13161 ; 13162 return 0; 13163 } 13164 _ACEOF 13165 if 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 13179 fi 13180 rm -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 13186 fi 13187 13188 aix_libpath=$lt_cv_aix_libpath__CXX 13189 fi 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 13204 else 13205 if ${lt_cv_aix_libpath__CXX+:} false; then : 13206 $as_echo_n "(cached) " >&6 13207 else 13208 cat confdefs.h - <<_ACEOF >conftest.$ac_ext 13209 /* end confdefs.h. */ 13210 13211 int 13212 main () 13213 { 13214 13215 ; 13216 return 0; 13217 } 13218 _ACEOF 13219 if 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 13233 fi 13234 rm -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 13240 fi 13241 13242 aix_libpath=$lt_cv_aix_libpath__CXX 13243 fi 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: 14097 predep_objects_CXX= 14098 postdep_objects_CXX= 14099 predeps_CXX= 14100 postdeps_CXX= 14101 compiler_lib_search_path_CXX= 14102 14103 cat > conftest.$ac_ext <<_LT_EOF 14104 class Foo 14105 { 14106 public: 14107 Foo (void) { a = 0; } 14108 private: 14109 int a; 14110 }; 14111 _LT_EOF 14112 14113 14114 _lt_libdeps_save_CFLAGS=$CFLAGS 14115 case "$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" ;; 14119 esac 14120 14121 if { { 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 14212 else 14213 echo "libtool.m4: error: problem compiling CXX test program" 14214 fi 14215 14216 $RM -f confest.$objext 14217 CFLAGS=$_lt_libdeps_save_CFLAGS 14218 14219 # PORTME: override above test on systems where it is broken 14220 case $host_os in 14221 interix[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 ;; 14228 esac 14229 14230 14231 case " $postdeps_CXX " in 14232 *" -lc "*) archive_cmds_need_lc_CXX=no ;; 14233 esac 14234 compiler_lib_search_dirs_CXX= 14235 if 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!^ !!'` 14237 fi 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= 14270 lt_prog_compiler_pic_CXX= 14271 lt_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 14595 case $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 ;; 14603 esac 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; } 14607 if ${lt_cv_prog_compiler_pic_CXX+:} false; then : 14608 $as_echo_n "(cached) " >&6 14609 else 14610 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX 14611 fi 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; } 14614 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX 14615 14616 # 14617 # Check to make sure the PIC flag actually works. 14618 # 14619 if 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; } 14622 if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : 14623 $as_echo_n "(cached) " >&6 14624 else 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 14654 fi 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 14658 if 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 14663 else 14664 lt_prog_compiler_pic_CXX= 14665 lt_prog_compiler_can_build_shared_CXX=no 14666 fi 14667 14668 fi 14669 14670 14671 14672 14673 14674 # 14675 # Check to make sure the static flag actually works. 14676 # 14677 wl=$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; } 14680 if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : 14681 $as_echo_n "(cached) " >&6 14682 else 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 14705 fi 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 14709 if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then 14710 : 14711 else 14712 lt_prog_compiler_static_CXX= 14713 fi 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; } 14720 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : 14721 $as_echo_n "(cached) " >&6 14722 else 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 14764 fi 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; } 14772 if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : 14773 $as_echo_n "(cached) " >&6 14774 else 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 14816 fi 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 14823 hard_links=nottested 14824 if 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 14841 else 14842 need_locks=no 14843 fi 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; } 14892 test no = "$ld_shlibs_CXX" && can_build_shared=no 14893 14894 with_gnu_ld_CXX=$with_gnu_ld 14895 14896 14897 14898 14899 14900 14901 # 14902 # Do we need to explicitly link libc? 14903 # 14904 case "x$archive_cmds_need_lc_CXX" in 14905 x|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; } 14920 if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : 14921 $as_echo_n "(cached) " >&6 14922 else 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 14960 fi 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 ;; 14968 esac 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 15034 library_names_spec= 15035 libname_spec='lib$name' 15036 soname_spec= 15037 shrext_cmds=.so 15038 postinstall_cmds= 15039 postuninstall_cmds= 15040 finish_cmds= 15041 finish_eval= 15042 shlibpath_var= 15043 shlibpath_overrides_runpath=unknown 15044 version_type=none 15045 dynamic_linker="$host_os ld.so" 15046 sys_lib_dlsearch_path_spec="/lib /usr/lib" 15047 need_lib_prefix=unknown 15048 hardcode_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 15052 need_version=unknown 15053 15054 15055 15056 case $host_os in 15057 aix3*) 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 15066 aix[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 15160 amigaos*) 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 15175 beos*) 15176 library_names_spec='$libname$shared_ext' 15177 dynamic_linker="$host_os ld.so" 15178 shlibpath_var=LIBRARY_PATH 15179 ;; 15180 15181 bsdi[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 15195 cygwin* | 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 15304 darwin* | 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 15318 dgux*) 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 15327 freebsd* | 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 15372 haiku*) 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 15385 hpux9* | 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 15434 interix[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 15446 irix5* | 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. 15484 linux*oldld* | linux*aout* | linux*coff*) 15485 dynamic_linker=no 15486 ;; 15487 15488 linux*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. 15509 linux* | 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 15522 else 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 15531 int 15532 main () 15533 { 15534 15535 ; 15536 return 0; 15537 } 15538 _ACEOF 15539 if 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 15542 fi 15543 fi 15544 rm -f core conftest.err conftest.$ac_objext \ 15545 conftest$ac_exeext conftest.$ac_ext 15546 LDFLAGS=$save_LDFLAGS 15547 libdir=$save_libdir 15548 15549 fi 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 15578 netbsdelf*-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 15590 netbsd*) 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 15608 newsos6) 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 15627 openbsd* | 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 15642 os2*) 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 15672 osf3* | 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 15683 rdos*) 15684 dynamic_linker=no 15685 ;; 15686 15687 solaris*) 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 15700 sunos4*) 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 15712 sysv4 | 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 15735 sysv4*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 15744 sysv5* | 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 15766 tpf*) 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 15777 uts4*) 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 ;; 15787 esac 15788 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 15789 $as_echo "$dynamic_linker" >&6; } 15790 test no = "$dynamic_linker" && can_build_shared=no 15791 15792 variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 15793 if test yes = "$GCC"; then 15794 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 15795 fi 15796 15797 if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 15798 sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 15799 fi 15800 15801 if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 15802 sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 15803 fi 15804 15805 # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 15806 configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 15807 15808 # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 15809 func_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 15812 configure_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; } 15855 hardcode_action_CXX= 15856 if 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 15873 else 15874 # We cannot hardcode anything, or else we can only hardcode existing 15875 # directories. 15876 hardcode_action_CXX=unsupported 15877 fi 15878 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 15879 $as_echo "$hardcode_action_CXX" >&6; } 15880 15881 if test relink = "$hardcode_action_CXX" || 15882 test yes = "$inherit_rpath_CXX"; then 15883 # Fast installation is not supported 15884 enable_fast_install=no 15885 elif test yes = "$shlibpath_overrides_runpath" || 15886 test no = "$enable_shared"; then 15887 # Fast installation is not necessary 15888 enable_fast_install=needless 15889 fi 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 15909 fi # test yes != "$_lt_caught_CXX_error" 15910 15911 ac_ext=c 15912 ac_cpp='$CPP $CPPFLAGS' 15913 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' 15914 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' 15915 ac_compiler_gnu=$ac_cv_c_compiler_gnu 15916 15917 3348 15918 ac_ext=c 3349 15919 ac_cpp='$CPP $CPPFLAGS' … … 4206 16776 4207 16777 16778 4208 16779 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 4209 16780 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } … … 4235 16806 $as_echo "no" >&6; } 4236 16807 SET_MAKE="MAKE=${MAKE-make}" 4237 fi4238 4239 if test -n "$ac_tool_prefix"; then4240 # 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=$24242 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54243 $as_echo_n "checking for $ac_word... " >&6; }4244 if ${ac_cv_prog_RANLIB+:} false; then :4245 $as_echo_n "(cached) " >&64246 else4247 if test -n "$RANLIB"; then4248 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.4249 else4250 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4251 for as_dir in $PATH4252 do4253 IFS=$as_save_IFS4254 test -z "$as_dir" && as_dir=.4255 for ac_exec_ext in '' $ac_executable_extensions; do4256 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4257 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"4258 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54259 break 24260 fi4261 done4262 done4263 IFS=$as_save_IFS4264 4265 fi4266 fi4267 RANLIB=$ac_cv_prog_RANLIB4268 if test -n "$RANLIB"; then4269 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&54270 $as_echo "$RANLIB" >&6; }4271 else4272 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54273 $as_echo "no" >&6; }4274 fi4275 4276 4277 fi4278 if test -z "$ac_cv_prog_RANLIB"; then4279 ac_ct_RANLIB=$RANLIB4280 # Extract the first word of "ranlib", so it can be a program name with args.4281 set dummy ranlib; ac_word=$24282 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&54283 $as_echo_n "checking for $ac_word... " >&6; }4284 if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :4285 $as_echo_n "(cached) " >&64286 else4287 if test -n "$ac_ct_RANLIB"; then4288 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.4289 else4290 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR4291 for as_dir in $PATH4292 do4293 IFS=$as_save_IFS4294 test -z "$as_dir" && as_dir=.4295 for ac_exec_ext in '' $ac_executable_extensions; do4296 if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then4297 ac_cv_prog_ac_ct_RANLIB="ranlib"4298 $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&54299 break 24300 fi4301 done4302 done4303 IFS=$as_save_IFS4304 4305 fi4306 fi4307 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB4308 if test -n "$ac_ct_RANLIB"; then4309 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&54310 $as_echo "$ac_ct_RANLIB" >&6; }4311 else4312 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&54313 $as_echo "no" >&6; }4314 fi4315 4316 if test "x$ac_ct_RANLIB" = x; then4317 RANLIB=":"4318 else4319 case $cross_compiling:$ac_tool_warned in4320 yes:)4321 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&54322 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}4323 ac_tool_warned=yes ;;4324 esac4325 RANLIB=$ac_ct_RANLIB4326 fi4327 else4328 RANLIB="$ac_cv_prog_RANLIB"4329 16808 fi 4330 16809 … … 4502 16981 Usually this means the macro was only invoked conditionally." "$LINENO" 5 4503 16982 fi 16983 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then 16984 as_fn_error $? "conditional \"am__fastdepCC\" was never defined. 16985 Usually this means the macro was only invoked conditionally." "$LINENO" 5 16986 fi 4504 16987 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then 4505 16988 as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. … … 5078 17561 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" 5079 17562 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 17568 sed_quote_subst='$sed_quote_subst' 17569 double_quote_subst='$double_quote_subst' 17570 delay_variable_subst='$delay_variable_subst' 17571 macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' 17572 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' 17573 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' 17574 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' 17575 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' 17576 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' 17577 shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' 17578 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' 17579 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' 17580 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' 17581 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' 17582 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' 17583 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' 17584 build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' 17585 build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' 17586 build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' 17587 SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' 17588 Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' 17589 GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' 17590 EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' 17591 FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' 17592 LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' 17593 NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' 17594 LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' 17595 max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' 17596 ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' 17597 exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' 17598 lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' 17599 lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' 17600 lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' 17601 lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' 17602 lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' 17603 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' 17604 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' 17605 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' 17606 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' 17607 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' 17608 file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' 17609 want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' 17610 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' 17611 sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' 17612 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' 17613 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' 17614 archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' 17615 STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' 17616 RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' 17617 old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' 17618 old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' 17619 old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' 17620 lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' 17621 CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' 17622 CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' 17623 compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' 17624 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' 17625 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' 17626 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' 17627 lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' 17628 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' 17629 lt_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"`' 17630 lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' 17631 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' 17632 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' 17633 lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' 17634 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' 17635 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' 17636 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' 17637 lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' 17638 lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' 17639 lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' 17640 lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' 17641 need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' 17642 MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' 17643 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' 17644 NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' 17645 LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' 17646 OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' 17647 OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' 17648 libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' 17649 shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' 17650 extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' 17651 archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' 17652 enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' 17653 export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' 17654 whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' 17655 compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' 17656 old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' 17657 old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' 17658 archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' 17659 archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' 17660 module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' 17661 module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' 17662 with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' 17663 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' 17664 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' 17665 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' 17666 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' 17667 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' 17668 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' 17669 hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' 17670 hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' 17671 hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' 17672 inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' 17673 link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' 17674 always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' 17675 export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' 17676 exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' 17677 include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' 17678 prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' 17679 postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' 17680 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' 17681 variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' 17682 need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' 17683 need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' 17684 version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' 17685 runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' 17686 shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' 17687 shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' 17688 libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' 17689 library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' 17690 soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' 17691 install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' 17692 postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' 17693 postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' 17694 finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' 17695 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' 17696 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' 17697 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' 17698 configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' 17699 configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' 17700 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' 17701 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' 17702 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' 17703 enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' 17704 old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' 17705 striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' 17706 compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' 17707 predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' 17708 postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' 17709 predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' 17710 postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' 17711 compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' 17712 LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' 17713 reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' 17714 reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17715 old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17716 compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' 17717 GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' 17718 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' 17719 lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' 17720 lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' 17721 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' 17722 lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' 17723 archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' 17724 enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' 17725 export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' 17726 whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' 17727 compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' 17728 old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17729 old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17730 archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17731 archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17732 module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17733 module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17734 with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' 17735 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' 17736 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' 17737 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' 17738 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' 17739 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' 17740 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' 17741 hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' 17742 hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' 17743 hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' 17744 inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' 17745 link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' 17746 always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' 17747 export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17748 exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' 17749 include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' 17750 prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17751 postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' 17752 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' 17753 hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' 17754 compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' 17755 predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' 17756 postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' 17757 predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' 17758 postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' 17759 compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' 17760 17761 LTCC='$LTCC' 17762 LTCFLAGS='$LTCFLAGS' 17763 compiler='$compiler_DEFAULT' 17764 17765 # A function that is used when there is no print builtin or printf. 17766 func_fallback_echo () 17767 { 17768 eval 'cat <<_LTECHO_EOF 17769 \$1 17770 _LTECHO_EOF' 17771 } 17772 17773 # Quote evaled strings. 17774 for var in SHELL \ 17775 ECHO \ 17776 PATH_SEPARATOR \ 17777 SED \ 17778 GREP \ 17779 EGREP \ 17780 FGREP \ 17781 LD \ 17782 NM \ 17783 LN_S \ 17784 lt_SP2NL \ 17785 lt_NL2SP \ 17786 reload_flag \ 17787 OBJDUMP \ 17788 deplibs_check_method \ 17789 file_magic_cmd \ 17790 file_magic_glob \ 17791 want_nocaseglob \ 17792 DLLTOOL \ 17793 sharedlib_from_linklib_cmd \ 17794 AR \ 17795 AR_FLAGS \ 17796 archiver_list_spec \ 17797 STRIP \ 17798 RANLIB \ 17799 CC \ 17800 CFLAGS \ 17801 compiler \ 17802 lt_cv_sys_global_symbol_pipe \ 17803 lt_cv_sys_global_symbol_to_cdecl \ 17804 lt_cv_sys_global_symbol_to_import \ 17805 lt_cv_sys_global_symbol_to_c_name_address \ 17806 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ 17807 lt_cv_nm_interface \ 17808 nm_file_list_spec \ 17809 lt_cv_truncate_bin \ 17810 lt_prog_compiler_no_builtin_flag \ 17811 lt_prog_compiler_pic \ 17812 lt_prog_compiler_wl \ 17813 lt_prog_compiler_static \ 17814 lt_cv_prog_compiler_c_o \ 17815 need_locks \ 17816 MANIFEST_TOOL \ 17817 DSYMUTIL \ 17818 NMEDIT \ 17819 LIPO \ 17820 OTOOL \ 17821 OTOOL64 \ 17822 shrext_cmds \ 17823 export_dynamic_flag_spec \ 17824 whole_archive_flag_spec \ 17825 compiler_needs_object \ 17826 with_gnu_ld \ 17827 allow_undefined_flag \ 17828 no_undefined_flag \ 17829 hardcode_libdir_flag_spec \ 17830 hardcode_libdir_separator \ 17831 exclude_expsyms \ 17832 include_expsyms \ 17833 file_list_spec \ 17834 variables_saved_for_relink \ 17835 libname_spec \ 17836 library_names_spec \ 17837 soname_spec \ 17838 install_override_mode \ 17839 finish_eval \ 17840 old_striplib \ 17841 striplib \ 17842 compiler_lib_search_dirs \ 17843 predep_objects \ 17844 postdep_objects \ 17845 predeps \ 17846 postdeps \ 17847 compiler_lib_search_path \ 17848 LD_CXX \ 17849 reload_flag_CXX \ 17850 compiler_CXX \ 17851 lt_prog_compiler_no_builtin_flag_CXX \ 17852 lt_prog_compiler_pic_CXX \ 17853 lt_prog_compiler_wl_CXX \ 17854 lt_prog_compiler_static_CXX \ 17855 lt_cv_prog_compiler_c_o_CXX \ 17856 export_dynamic_flag_spec_CXX \ 17857 whole_archive_flag_spec_CXX \ 17858 compiler_needs_object_CXX \ 17859 with_gnu_ld_CXX \ 17860 allow_undefined_flag_CXX \ 17861 no_undefined_flag_CXX \ 17862 hardcode_libdir_flag_spec_CXX \ 17863 hardcode_libdir_separator_CXX \ 17864 exclude_expsyms_CXX \ 17865 include_expsyms_CXX \ 17866 file_list_spec_CXX \ 17867 compiler_lib_search_dirs_CXX \ 17868 predep_objects_CXX \ 17869 postdep_objects_CXX \ 17870 predeps_CXX \ 17871 postdeps_CXX \ 17872 compiler_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 17881 done 17882 17883 # Double-quote double-evaled strings. 17884 for var in reload_cmds \ 17885 old_postinstall_cmds \ 17886 old_postuninstall_cmds \ 17887 old_archive_cmds \ 17888 extract_expsyms_cmds \ 17889 old_archive_from_new_cmds \ 17890 old_archive_from_expsyms_cmds \ 17891 archive_cmds \ 17892 archive_expsym_cmds \ 17893 module_cmds \ 17894 module_expsym_cmds \ 17895 export_symbols_cmds \ 17896 prelink_cmds \ 17897 postlink_cmds \ 17898 postinstall_cmds \ 17899 postuninstall_cmds \ 17900 finish_cmds \ 17901 sys_lib_search_path_spec \ 17902 configure_time_dlsearch_path \ 17903 configure_time_lt_sys_library_path \ 17904 reload_cmds_CXX \ 17905 old_archive_cmds_CXX \ 17906 old_archive_from_new_cmds_CXX \ 17907 old_archive_from_expsyms_cmds_CXX \ 17908 archive_cmds_CXX \ 17909 archive_expsym_cmds_CXX \ 17910 module_cmds_CXX \ 17911 module_expsym_cmds_CXX \ 17912 export_symbols_cmds_CXX \ 17913 prelink_cmds_CXX \ 17914 postlink_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 17923 done 17924 17925 ac_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. 17929 if test -n "\${ZSH_VERSION+set}"; then 17930 setopt NO_GLOB_SUBST 17931 fi 17932 17933 17934 PACKAGE='$PACKAGE' 17935 VERSION='$VERSION' 17936 RM='$RM' 17937 ofile='$ofile' 17938 17939 17940 17941 17942 17943 5080 17944 _ACEOF 5081 17945 … … 5087 17951 case $ac_config_target in 5088 17952 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; 17953 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; 5089 17954 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 5090 17955 "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; … … 5612 18477 } 5613 18478 ;; 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. 18524 available_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? 18532 macro_version=$macro_version 18533 macro_revision=$macro_revision 18534 18535 # Whether or not to build shared libraries. 18536 build_libtool_libs=$enable_shared 18537 18538 # Whether or not to build static libraries. 18539 build_old_libs=$enable_static 18540 18541 # What type of objects to build. 18542 pic_mode=$pic_mode 18543 18544 # Whether or not to optimize for fast installation. 18545 fast_install=$enable_fast_install 18546 18547 # Shared archive member basename,for filename based shared library versioning on AIX. 18548 shared_archive_member_spec=$shared_archive_member_spec 18549 18550 # Shell to use when invoking shell scripts. 18551 SHELL=$lt_SHELL 18552 18553 # An echo program that protects backslashes. 18554 ECHO=$lt_ECHO 18555 18556 # The PATH separator for the build system. 18557 PATH_SEPARATOR=$lt_PATH_SEPARATOR 18558 18559 # The host system. 18560 host_alias=$host_alias 18561 host=$host 18562 host_os=$host_os 18563 18564 # The build system. 18565 build_alias=$build_alias 18566 build=$build 18567 build_os=$build_os 18568 18569 # A sed program that does not truncate output. 18570 SED=$lt_SED 18571 18572 # Sed that helps us avoid accidentally triggering echo(1) options like -n. 18573 Xsed="\$SED -e 1s/^X//" 18574 18575 # A grep program that handles long lines. 18576 GREP=$lt_GREP 18577 18578 # An ERE matcher. 18579 EGREP=$lt_EGREP 18580 18581 # A literal string matcher. 18582 FGREP=$lt_FGREP 18583 18584 # A BSD- or MS-compatible name lister. 18585 NM=$lt_NM 18586 18587 # Whether we need soft or hard links. 18588 LN_S=$lt_LN_S 18589 18590 # What is the maximum length of a command? 18591 max_cmd_len=$max_cmd_len 18592 18593 # Object file suffix (normally "o"). 18594 objext=$ac_objext 18595 18596 # Executable file suffix (normally ""). 18597 exeext=$exeext 18598 18599 # whether the shell understands "unset". 18600 lt_unset=$lt_unset 18601 18602 # turn spaces into newlines. 18603 SP2NL=$lt_lt_SP2NL 18604 18605 # turn newlines into spaces. 18606 NL2SP=$lt_lt_NL2SP 18607 18608 # convert \$build file names to \$host format. 18609 to_host_file_cmd=$lt_cv_to_host_file_cmd 18610 18611 # convert \$build files to toolchain format. 18612 to_tool_file_cmd=$lt_cv_to_tool_file_cmd 18613 18614 # An object symbol dumper. 18615 OBJDUMP=$lt_OBJDUMP 18616 18617 # Method to check whether dependent libraries are shared objects. 18618 deplibs_check_method=$lt_deplibs_check_method 18619 18620 # Command to use when deplibs_check_method = "file_magic". 18621 file_magic_cmd=$lt_file_magic_cmd 18622 18623 # How to find potential files when deplibs_check_method = "file_magic". 18624 file_magic_glob=$lt_file_magic_glob 18625 18626 # Find potential files using nocaseglob when deplibs_check_method = "file_magic". 18627 want_nocaseglob=$lt_want_nocaseglob 18628 18629 # DLL creation program. 18630 DLLTOOL=$lt_DLLTOOL 18631 18632 # Command to associate shared and link libraries. 18633 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd 18634 18635 # The archiver. 18636 AR=$lt_AR 18637 18638 # Flags to create an archive. 18639 AR_FLAGS=$lt_AR_FLAGS 18640 18641 # How to feed a file listing to the archiver. 18642 archiver_list_spec=$lt_archiver_list_spec 18643 18644 # A symbol stripping program. 18645 STRIP=$lt_STRIP 18646 18647 # Commands used to install an old-style archive. 18648 RANLIB=$lt_RANLIB 18649 old_postinstall_cmds=$lt_old_postinstall_cmds 18650 old_postuninstall_cmds=$lt_old_postuninstall_cmds 18651 18652 # Whether to use a lock for old archive extraction. 18653 lock_old_archive_extraction=$lock_old_archive_extraction 18654 18655 # A C compiler. 18656 LTCC=$lt_CC 18657 18658 # LTCC compiler flags. 18659 LTCFLAGS=$lt_CFLAGS 18660 18661 # Take the output of nm and produce a listing of raw symbols and C names. 18662 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe 18663 18664 # Transform the output of nm in a proper C declaration. 18665 global_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. 18668 global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import 18669 18670 # Transform the output of nm in a C name address pair. 18671 global_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. 18674 global_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. 18677 nm_interface=$lt_lt_cv_nm_interface 18678 18679 # Specify filename containing input files for \$NM. 18680 nm_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. 18683 lt_sysroot=$lt_sysroot 18684 18685 # Command to truncate a binary pipe. 18686 lt_truncate_bin=$lt_lt_cv_truncate_bin 18687 18688 # The name of the directory that contains temporary libtool files. 18689 objdir=$objdir 18690 18691 # Used to examine libraries when file_magic_cmd begins with "file". 18692 MAGIC_CMD=$MAGIC_CMD 18693 18694 # Must we lock files when doing compilation? 18695 need_locks=$lt_need_locks 18696 18697 # Manifest tool. 18698 MANIFEST_TOOL=$lt_MANIFEST_TOOL 18699 18700 # Tool to manipulate archived DWARF debug symbol files on Mac OS X. 18701 DSYMUTIL=$lt_DSYMUTIL 18702 18703 # Tool to change global to local symbols on Mac OS X. 18704 NMEDIT=$lt_NMEDIT 18705 18706 # Tool to manipulate fat objects and archives on Mac OS X. 18707 LIPO=$lt_LIPO 18708 18709 # ldd/readelf like tool for Mach-O binaries on Mac OS X. 18710 OTOOL=$lt_OTOOL 18711 18712 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. 18713 OTOOL64=$lt_OTOOL64 18714 18715 # Old archive suffix (normally "a"). 18716 libext=$libext 18717 18718 # Shared library suffix (normally ".so"). 18719 shrext_cmds=$lt_shrext_cmds 18720 18721 # The commands to extract the exported symbol list from a shared archive. 18722 extract_expsyms_cmds=$lt_extract_expsyms_cmds 18723 18724 # Variables whose values should be saved in libtool wrapper scripts and 18725 # restored at link time. 18726 variables_saved_for_relink=$lt_variables_saved_for_relink 18727 18728 # Do we need the "lib" prefix for modules? 18729 need_lib_prefix=$need_lib_prefix 18730 18731 # Do we need a version for libraries? 18732 need_version=$need_version 18733 18734 # Library versioning type. 18735 version_type=$version_type 18736 18737 # Shared library runtime path variable. 18738 runpath_var=$runpath_var 18739 18740 # Shared library path variable. 18741 shlibpath_var=$shlibpath_var 18742 18743 # Is shlibpath searched before the hard-coded library search path? 18744 shlibpath_overrides_runpath=$shlibpath_overrides_runpath 18745 18746 # Format of library name prefix. 18747 libname_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 18751 library_names_spec=$lt_library_names_spec 18752 18753 # The coded name of the library, if different from the real name. 18754 soname_spec=$lt_soname_spec 18755 18756 # Permission mode override for installation of shared libraries. 18757 install_override_mode=$lt_install_override_mode 18758 18759 # Command to use after installation of a shared archive. 18760 postinstall_cmds=$lt_postinstall_cmds 18761 18762 # Command to use after uninstallation of a shared archive. 18763 postuninstall_cmds=$lt_postuninstall_cmds 18764 18765 # Commands used to finish a libtool library installation in a directory. 18766 finish_cmds=$lt_finish_cmds 18767 18768 # As "finish_cmds", except a single script fragment to be evaled but 18769 # not shown. 18770 finish_eval=$lt_finish_eval 18771 18772 # Whether we should hardcode library paths into libraries. 18773 hardcode_into_libs=$hardcode_into_libs 18774 18775 # Compile-time system search path for libraries. 18776 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec 18777 18778 # Detected run-time system search path for libraries. 18779 sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path 18780 18781 # Explicit LT_SYS_LIBRARY_PATH set during ./configure time. 18782 configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path 18783 18784 # Whether dlopen is supported. 18785 dlopen_support=$enable_dlopen 18786 18787 # Whether dlopen of programs is supported. 18788 dlopen_self=$enable_dlopen_self 18789 18790 # Whether dlopen of statically linked programs is supported. 18791 dlopen_self_static=$enable_dlopen_self_static 18792 18793 # Commands to strip libraries. 18794 old_striplib=$lt_old_striplib 18795 striplib=$lt_striplib 18796 18797 18798 # The linker used to build libraries. 18799 LD=$lt_LD 18800 18801 # How to create reloadable object files. 18802 reload_flag=$lt_reload_flag 18803 reload_cmds=$lt_reload_cmds 18804 18805 # Commands used to build an old-style archive. 18806 old_archive_cmds=$lt_old_archive_cmds 18807 18808 # A language specific compiler. 18809 CC=$lt_compiler 18810 18811 # Is the compiler the GNU compiler? 18812 with_gcc=$GCC 18813 18814 # Compiler flag to turn off builtin functions. 18815 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag 18816 18817 # Additional compiler flags for building library objects. 18818 pic_flag=$lt_lt_prog_compiler_pic 18819 18820 # How to pass a linker flag through the compiler. 18821 wl=$lt_lt_prog_compiler_wl 18822 18823 # Compiler flag to prevent dynamic linking. 18824 link_static_flag=$lt_lt_prog_compiler_static 18825 18826 # Does compiler simultaneously support -c and -o options? 18827 compiler_c_o=$lt_lt_cv_prog_compiler_c_o 18828 18829 # Whether or not to add -lc for building shared libraries. 18830 build_libtool_need_lc=$archive_cmds_need_lc 18831 18832 # Whether or not to disallow shared libs when runtime libs are static. 18833 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes 18834 18835 # Compiler flag to allow reflexive dlopens. 18836 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec 18837 18838 # Compiler flag to generate shared objects directly from archives. 18839 whole_archive_flag_spec=$lt_whole_archive_flag_spec 18840 18841 # Whether the compiler copes with passing no objects directly. 18842 compiler_needs_object=$lt_compiler_needs_object 18843 18844 # Create an old-style archive from a shared archive. 18845 old_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. 18848 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds 18849 18850 # Commands used to build a shared archive. 18851 archive_cmds=$lt_archive_cmds 18852 archive_expsym_cmds=$lt_archive_expsym_cmds 18853 18854 # Commands used to build a loadable module if different from building 18855 # a shared archive. 18856 module_cmds=$lt_module_cmds 18857 module_expsym_cmds=$lt_module_expsym_cmds 18858 18859 # Whether we are building with GNU ld or not. 18860 with_gnu_ld=$lt_with_gnu_ld 18861 18862 # Flag that allows shared libraries with undefined symbols to be built. 18863 allow_undefined_flag=$lt_allow_undefined_flag 18864 18865 # Flag that enforces no undefined symbols. 18866 no_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 18870 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec 18871 18872 # Whether we need a single "-rpath" flag with a separated argument. 18873 hardcode_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. 18877 hardcode_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. 18883 hardcode_direct_absolute=$hardcode_direct_absolute 18884 18885 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR 18886 # into the resulting binary. 18887 hardcode_minus_L=$hardcode_minus_L 18888 18889 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 18890 # into the resulting binary. 18891 hardcode_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. 18896 hardcode_automatic=$hardcode_automatic 18897 18898 # Set to yes if linker adds runtime paths of dependent libraries 18899 # to runtime path list. 18900 inherit_rpath=$inherit_rpath 18901 18902 # Whether libtool must link a program against all its dependency libraries. 18903 link_all_deplibs=$link_all_deplibs 18904 18905 # Set to "yes" if exported symbols are required. 18906 always_export_symbols=$always_export_symbols 18907 18908 # The commands to list exported symbols. 18909 export_symbols_cmds=$lt_export_symbols_cmds 18910 18911 # Symbols that should not be listed in the preloaded symbols. 18912 exclude_expsyms=$lt_exclude_expsyms 18913 18914 # Symbols that must always be exported. 18915 include_expsyms=$lt_include_expsyms 18916 18917 # Commands necessary for linking programs (against libraries) with templates. 18918 prelink_cmds=$lt_prelink_cmds 18919 18920 # Commands necessary for finishing linking programs. 18921 postlink_cmds=$lt_postlink_cmds 18922 18923 # Specify filename containing input files. 18924 file_list_spec=$lt_file_list_spec 18925 18926 # How to hardcode a shared library path into an executable. 18927 hardcode_action=$hardcode_action 18928 18929 # The directories searched by this compiler when creating a shared library. 18930 compiler_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. 18934 predep_objects=$lt_predep_objects 18935 postdep_objects=$lt_postdep_objects 18936 predeps=$lt_predeps 18937 postdeps=$lt_postdeps 18938 18939 # The library search path used internally by the compiler when linking 18940 # a shared library. 18941 compiler_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]" 18965 func_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. 18988 func_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. 19012 if test set != "${COLLECT_NAMES+set}"; then 19013 COLLECT_NAMES= 19014 export COLLECT_NAMES 19015 fi 19016 _LT_EOF 19017 ;; 19018 esac 19019 19020 19021 ltmain=$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. 19041 LD=$lt_LD_CXX 19042 19043 # How to create reloadable object files. 19044 reload_flag=$lt_reload_flag_CXX 19045 reload_cmds=$lt_reload_cmds_CXX 19046 19047 # Commands used to build an old-style archive. 19048 old_archive_cmds=$lt_old_archive_cmds_CXX 19049 19050 # A language specific compiler. 19051 CC=$lt_compiler_CXX 19052 19053 # Is the compiler the GNU compiler? 19054 with_gcc=$GCC_CXX 19055 19056 # Compiler flag to turn off builtin functions. 19057 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX 19058 19059 # Additional compiler flags for building library objects. 19060 pic_flag=$lt_lt_prog_compiler_pic_CXX 19061 19062 # How to pass a linker flag through the compiler. 19063 wl=$lt_lt_prog_compiler_wl_CXX 19064 19065 # Compiler flag to prevent dynamic linking. 19066 link_static_flag=$lt_lt_prog_compiler_static_CXX 19067 19068 # Does compiler simultaneously support -c and -o options? 19069 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX 19070 19071 # Whether or not to add -lc for building shared libraries. 19072 build_libtool_need_lc=$archive_cmds_need_lc_CXX 19073 19074 # Whether or not to disallow shared libs when runtime libs are static. 19075 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX 19076 19077 # Compiler flag to allow reflexive dlopens. 19078 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX 19079 19080 # Compiler flag to generate shared objects directly from archives. 19081 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX 19082 19083 # Whether the compiler copes with passing no objects directly. 19084 compiler_needs_object=$lt_compiler_needs_object_CXX 19085 19086 # Create an old-style archive from a shared archive. 19087 old_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. 19090 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX 19091 19092 # Commands used to build a shared archive. 19093 archive_cmds=$lt_archive_cmds_CXX 19094 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 19095 19096 # Commands used to build a loadable module if different from building 19097 # a shared archive. 19098 module_cmds=$lt_module_cmds_CXX 19099 module_expsym_cmds=$lt_module_expsym_cmds_CXX 19100 19101 # Whether we are building with GNU ld or not. 19102 with_gnu_ld=$lt_with_gnu_ld_CXX 19103 19104 # Flag that allows shared libraries with undefined symbols to be built. 19105 allow_undefined_flag=$lt_allow_undefined_flag_CXX 19106 19107 # Flag that enforces no undefined symbols. 19108 no_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 19112 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX 19113 19114 # Whether we need a single "-rpath" flag with a separated argument. 19115 hardcode_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. 19119 hardcode_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. 19125 hardcode_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. 19129 hardcode_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. 19133 hardcode_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. 19138 hardcode_automatic=$hardcode_automatic_CXX 19139 19140 # Set to yes if linker adds runtime paths of dependent libraries 19141 # to runtime path list. 19142 inherit_rpath=$inherit_rpath_CXX 19143 19144 # Whether libtool must link a program against all its dependency libraries. 19145 link_all_deplibs=$link_all_deplibs_CXX 19146 19147 # Set to "yes" if exported symbols are required. 19148 always_export_symbols=$always_export_symbols_CXX 19149 19150 # The commands to list exported symbols. 19151 export_symbols_cmds=$lt_export_symbols_cmds_CXX 19152 19153 # Symbols that should not be listed in the preloaded symbols. 19154 exclude_expsyms=$lt_exclude_expsyms_CXX 19155 19156 # Symbols that must always be exported. 19157 include_expsyms=$lt_include_expsyms_CXX 19158 19159 # Commands necessary for linking programs (against libraries) with templates. 19160 prelink_cmds=$lt_prelink_cmds_CXX 19161 19162 # Commands necessary for finishing linking programs. 19163 postlink_cmds=$lt_postlink_cmds_CXX 19164 19165 # Specify filename containing input files. 19166 file_list_spec=$lt_file_list_spec_CXX 19167 19168 # How to hardcode a shared library path into an executable. 19169 hardcode_action=$hardcode_action_CXX 19170 19171 # The directories searched by this compiler when creating a shared library. 19172 compiler_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. 19176 predep_objects=$lt_predep_objects_CXX 19177 postdep_objects=$lt_postdep_objects_CXX 19178 predeps=$lt_predeps_CXX 19179 postdeps=$lt_postdeps_CXX 19180 19181 # The library search path used internally by the compiler when linking 19182 # a shared library. 19183 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX 19184 19185 # ### END LIBTOOL TAG CONFIG: CXX 19186 _LT_EOF 19187 19188 ;; 5614 19189 5615 19190 esac -
libcfa/configure.ac
raeb8f70 re99e43f 4 4 AC_PREREQ([2.68]) 5 5 AC_INIT([cfa-cc],[1.0.0.0],[cforall@plg.uwaterloo.ca]) 6 AC_CONFIG_AUX_DIR([./automake]) 6 AC_CONFIG_AUX_DIR([automake]) 7 AC_CONFIG_MACRO_DIRS([automake]) 7 8 AM_SILENT_RULES([yes]) 8 9 … … 14 15 : ${CFLAGS=""} 15 16 17 # define this to override 18 AR_FLAGS="cr" 19 16 20 # Allow program name tansformation 17 21 # will fill program_transform_name with appropriate sed regex … … 21 25 AC_ARG_VAR(CONFIGURATION, [The configuration to use when building libcfa, options are: deubg, nodebug, nolib (prelude-only)]) 22 26 AC_ARG_VAR(DRIVER_DIR, [The path to the cforall driver directory]) 27 AC_ARG_VAR(CFA_VERSION, [The long version of cfa]) 23 28 24 29 CFACC=${DRIVER_DIR}cfa … … 26 31 AC_SUBST(CFACC) 27 32 AC_SUBST(CFACPP) 33 AC_SUBST(CFA_VERSION) 28 34 29 35 #============================================================================== … … 53 59 CONFIG_BUILDLIB="no" 54 60 ;; 61 *) 62 AC_MSG_ERROR('Invalid value $CONFIGURATION for \$CONFIGURATION') 63 ;; 55 64 esac 56 65 … … 70 79 71 80 # Checks for programs. 81 LT_INIT 82 72 83 AC_PROG_CXX 73 84 AC_PROG_CC 74 85 AM_PROG_AS 86 AC_PROG_LIBTOOL 75 87 AC_PROG_INSTALL 76 88 AC_PROG_MAKE_SET 77 AC_PROG_RANLIB78 89 79 90 AC_CONFIG_FILES([ -
libcfa/prelude/Makefile.am
raeb8f70 re99e43f 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 ACLOCAL_AMFLAGS = -I automake 19 20 20 21 # put into lib for now … … 23 24 24 25 CC = @CFACC@ 25 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@26 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 26 27 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 27 28 -
libcfa/prelude/Makefile.in
raeb8f70 re99e43f 90 90 PRE_UNINSTALL = : 91 91 POST_UNINSTALL = : 92 build_triplet = @build@ 93 host_triplet = @host@ 92 94 subdir = prelude 93 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 94 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 95 $(top_srcdir)/configure.ac 96 am__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 96 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 97 103 $(ACLOCAL_M4) … … 154 160 AMTAR = @AMTAR@ 155 161 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 162 AR = @AR@ 156 163 ARCHITECTURE = @ARCHITECTURE@ 157 164 ARCH_FLAGS = @ARCH_FLAGS@ … … 172 179 CFA_NAME = @CFA_NAME@ 173 180 CFA_PREFIX = @CFA_PREFIX@ 181 CFA_VERSION = @CFA_VERSION@ 174 182 CFLAGS = @CFLAGS@ 175 183 CONFIGURATION = @CONFIGURATION@ … … 177 185 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 178 186 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 187 CPP = @CPP@ 179 188 CPPFLAGS = @CPPFLAGS@ 180 189 CXX = @CXX@ 190 CXXCPP = @CXXCPP@ 181 191 CXXDEPMODE = @CXXDEPMODE@ 182 192 CXXFLAGS = @CXXFLAGS@ … … 184 194 DEFS = @DEFS@ 185 195 DEPDIR = @DEPDIR@ 196 DLLTOOL = @DLLTOOL@ 186 197 DRIVER_DIR = @DRIVER_DIR@ 198 DSYMUTIL = @DSYMUTIL@ 199 DUMPBIN = @DUMPBIN@ 187 200 ECHO_C = @ECHO_C@ 188 201 ECHO_N = @ECHO_N@ 189 202 ECHO_T = @ECHO_T@ 203 EGREP = @EGREP@ 190 204 EXEEXT = @EXEEXT@ 205 FGREP = @FGREP@ 206 GREP = @GREP@ 191 207 INSTALL = @INSTALL@ 192 208 INSTALL_DATA = @INSTALL_DATA@ … … 194 210 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 195 211 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 212 LD = @LD@ 196 213 LDFLAGS = @LDFLAGS@ 197 214 LIBOBJS = @LIBOBJS@ 198 215 LIBS = @LIBS@ 216 LIBTOOL = @LIBTOOL@ 217 LIPO = @LIPO@ 218 LN_S = @LN_S@ 199 219 LTLIBOBJS = @LTLIBOBJS@ 220 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 200 221 MAKEINFO = @MAKEINFO@ 222 MANIFEST_TOOL = @MANIFEST_TOOL@ 201 223 MKDIR_P = @MKDIR_P@ 224 NM = @NM@ 225 NMEDIT = @NMEDIT@ 226 OBJDUMP = @OBJDUMP@ 202 227 OBJEXT = @OBJEXT@ 228 OTOOL = @OTOOL@ 229 OTOOL64 = @OTOOL64@ 203 230 PACKAGE = @PACKAGE@ 204 231 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 210 237 PATH_SEPARATOR = @PATH_SEPARATOR@ 211 238 RANLIB = @RANLIB@ 239 SED = @SED@ 212 240 SET_MAKE = @SET_MAKE@ 213 241 SHELL = @SHELL@ … … 218 246 abs_top_builddir = @abs_top_builddir@ 219 247 abs_top_srcdir = @abs_top_srcdir@ 248 ac_ct_AR = @ac_ct_AR@ 220 249 ac_ct_CC = @ac_ct_CC@ 221 250 ac_ct_CXX = @ac_ct_CXX@ 251 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 222 252 am__include = @am__include@ 223 253 am__leading_dot = @am__leading_dot@ … … 226 256 am__untar = @am__untar@ 227 257 bindir = @bindir@ 258 build = @build@ 228 259 build_alias = @build_alias@ 260 build_cpu = @build_cpu@ 261 build_os = @build_os@ 262 build_vendor = @build_vendor@ 229 263 builddir = @builddir@ 230 264 datadir = @datadir@ … … 233 267 dvidir = @dvidir@ 234 268 exec_prefix = @exec_prefix@ 269 host = @host@ 235 270 host_alias = @host_alias@ 271 host_cpu = @host_cpu@ 272 host_os = @host_os@ 273 host_vendor = @host_vendor@ 236 274 htmldir = @htmldir@ 237 275 includedir = @includedir@ … … 261 299 # create object files in directory with source files 262 300 AUTOMAKE_OPTIONS = foreign subdir-objects 301 ACLOCAL_AMFLAGS = -I automake 263 302 264 303 # put into lib for now 265 304 cfalibdir = ${CFA_LIBDIR} 266 305 cfalib_DATA = gcc-builtins.cf builtins.cf extras.cf prelude.cfa bootloader.c 267 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@306 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 268 307 AM_CFAFLAGS = @CONFIG_CFAFLAGS@ 269 308 MOSTLYCLEANFILES = bootloader.c builtins.cf extras.cf gcc-builtins.c gcc-builtins.cf prelude.cfa … … 301 340 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 302 341 $(am__aclocal_m4_deps): 342 343 mostlyclean-libtool: 344 -rm -f *.lo 345 346 clean-libtool: 347 -rm -rf .libs _libs 303 348 install-cfalibDATA: $(cfalib_DATA) 304 349 @$(NORMAL_INSTALL) … … 400 445 clean: clean-am 401 446 402 clean-am: clean-generic mostlyclean-am447 clean-am: clean-generic clean-libtool mostlyclean-am 403 448 404 449 distclean: distclean-am … … 453 498 mostlyclean: mostlyclean-am 454 499 455 mostlyclean-am: mostlyclean-generic 500 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 456 501 457 502 pdf: pdf-am … … 467 512 .MAKE: install-am install-strip 468 513 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 \ 477 523 maintainer-clean-generic maintainer-clean-local mostlyclean \ 478 mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall\479 uninstall-am uninstall-cfalibDATA524 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 525 tags-am uninstall uninstall-am uninstall-cfalibDATA 480 526 481 527 .PRECIOUS: Makefile -
libcfa/src/Makefile.am
raeb8f70 re99e43f 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 A RFLAGS = cr19 ACLOCAL_AMFLAGS = -I automake 20 20 21 21 include $(srcdir)/../../src/cfa.make 22 22 23 23 libdir = ${CFA_LIBDIR} 24 lib_L IBRARIES = libcfa.a24 lib_LTLIBRARIES = libcfa.la 25 25 26 26 VPATH += :../prelude … … 31 31 # The built sources must not depend on the installed headers 32 32 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 33 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@33 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 34 34 AM_CCASFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@ 35 35 CFACC = @CFACC@ … … 37 37 #---------------------------------------------------------------------------------------------------------------- 38 38 if BUILDLIB 39 headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa 39 40 headers = fstream.hfa iostream.hfa iterator.hfa limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 40 41 containers/maybe.hfa containers/pair.hfa containers/result.hfa containers/vector.hfa 41 42 42 headers_nosrc = math.hfa gmp.hfa time_t.hfa bits/align.hfa bits/containers.hfa bits/defs.hfa bits/debug.hfa bits/locks.hfa43 44 43 # not all platforms support concurrency, add option do disable it 44 headers_nosrc += concurrency/invoke.h 45 45 headers += concurrency/coroutine.hfa concurrency/thread.hfa concurrency/kernel.hfa concurrency/monitor.hfa concurrency/mutex.hfa 46 47 headers_nosrc += concurrency/invoke.h48 46 49 47 libsrc = startup.cfa interpose.cfa bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa ${headers:.hfa=.cfa} … … 63 61 64 62 # add dependency of cfa files 65 libobjs = $(addsuffix . o, $(basename $(filter %.cfa,$(libsrc))))63 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 66 64 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 67 65 … … 70 68 libdeps = $(join \ 71 69 $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \ 72 $(notdir ${libobjs:. o=.Po}) \70 $(notdir ${libobjs:.lo=.Plo}) \ 73 71 ) 74 72 … … 76 74 77 75 prelude.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 ${@} 79 77 78 prelude.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 ${@} 80 81 81 82 82 83 #---------------------------------------------------------------------------------------------------------------- 83 libcfa_a_SOURCES = prelude.cfa ${libsrc} 84 libcfa_la_SOURCES = prelude.cfa ${libsrc} 85 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 84 86 85 stdhdr = $ {shell find ${srcdir}/stdhdr -type f -printf "%p "}87 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 86 88 87 89 cfa_includedir = $(CFA_INCDIR) -
libcfa/src/Makefile.in
raeb8f70 re99e43f 90 90 PRE_UNINSTALL = : 91 91 POST_UNINSTALL = : 92 build_triplet = @build@ 93 host_triplet = @host@ 92 94 subdir = src 93 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 94 am__aclocal_m4_deps = $(top_srcdir)/../automake/cfa.m4 \ 95 $(top_srcdir)/configure.ac 96 am__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 96 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 97 103 $(ACLOCAL_M4) … … 129 135 } 130 136 am__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 \ 137 LTLIBRARIES = $(lib_LTLIBRARIES) 138 libcfa_la_LIBADD = 139 am__libcfa_la_SOURCES_DIST = prelude.cfa startup.cfa interpose.cfa \ 140 140 bits/debug.cfa assert.cfa exception.c virtual.c heap.cfa \ 141 141 fstream.cfa iostream.cfa iterator.cfa limits.cfa rational.cfa \ … … 148 148 concurrency/invoke.c concurrency/preemption.cfa 149 149 am__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 163 am_libcfa_la_OBJECTS = prelude.lo $(am__objects_2) 164 libcfa_la_OBJECTS = $(am_libcfa_la_OBJECTS) 165 AM_V_lt = $(am__v_lt_@AM_V@) 166 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 167 am__v_lt_0 = --silent 168 am__v_lt_1 = 169 libcfa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 170 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 171 $(libcfa_la_LDFLAGS) $(LDFLAGS) -o $@ 173 172 AM_V_P = $(am__v_P_@AM_V@) 174 173 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 184 183 am__v_at_1 = 185 184 DEFAULT_INCLUDES = -I.@am__isrc@ 186 depcomp = $(SHELL) $(top_srcdir)/ ./automake/depcomp185 depcomp = $(SHELL) $(top_srcdir)/automake/depcomp 187 186 am__depfiles_maybe = depfiles 188 187 am__mv = mv -f 189 188 CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 190 189 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) 190 LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 191 $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \ 192 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ 193 $(AM_CCASFLAGS) $(CCASFLAGS) 191 194 AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) 192 195 am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) … … 195 198 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 196 199 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 200 LTCOMPILE = $(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) 197 204 AM_V_CC = $(am__v_CC_@AM_V@) 198 205 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 200 207 am__v_CC_1 = 201 208 CCLD = $(CC) 202 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 209 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 210 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 211 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 203 212 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 204 213 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 205 214 am__v_CCLD_0 = @echo " CCLD " $@; 206 215 am__v_CCLD_1 = 207 SOURCES = $(libcfa_ a_SOURCES)208 DIST_SOURCES = $(am__libcfa_ a_SOURCES_DIST)216 SOURCES = $(libcfa_la_SOURCES) 217 DIST_SOURCES = $(am__libcfa_la_SOURCES_DIST) 209 218 am__can_run_installinfo = \ 210 219 case $$AM_UPDATE_INFO_DIR in \ … … 212 221 *) (install-info --version) >/dev/null 2>&1;; \ 213 222 esac 214 am__nobase_cfa_include_HEADERS_DIST = $ {shell find ${srcdir}/stdhdr \215 -type f -printf "%p " }fstream.hfa iostream.hfa iterator.hfa \223 am__nobase_cfa_include_HEADERS_DIST = $(shell find $(srcdir)/stdhdr \ 224 -type f -printf "%p ") fstream.hfa iostream.hfa iterator.hfa \ 216 225 limits.hfa rational.hfa time.hfa stdlib.hfa common.hfa \ 217 226 containers/maybe.hfa containers/pair.hfa containers/result.hfa \ … … 242 251 CTAGS = ctags 243 252 am__DIST_COMMON = $(srcdir)/../../src/cfa.make $(srcdir)/Makefile.in \ 244 $(top_srcdir)/ ./automake/depcomp253 $(top_srcdir)/automake/depcomp 245 254 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 246 255 VPATH = @srcdir@ :../prelude … … 248 257 AMTAR = @AMTAR@ 249 258 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 259 AR = @AR@ 250 260 ARCHITECTURE = @ARCHITECTURE@ 251 261 ARCH_FLAGS = @ARCH_FLAGS@ … … 266 276 CFA_NAME = @CFA_NAME@ 267 277 CFA_PREFIX = @CFA_PREFIX@ 278 CFA_VERSION = @CFA_VERSION@ 268 279 CFLAGS = @CFLAGS@ 269 280 CONFIGURATION = @CONFIGURATION@ … … 271 282 CONFIG_CFAFLAGS = @CONFIG_CFAFLAGS@ 272 283 CONFIG_CFLAGS = @CONFIG_CFLAGS@ 284 CPP = @CPP@ 273 285 CPPFLAGS = @CPPFLAGS@ 274 286 CXX = @CXX@ 287 CXXCPP = @CXXCPP@ 275 288 CXXDEPMODE = @CXXDEPMODE@ 276 289 CXXFLAGS = @CXXFLAGS@ … … 278 291 DEFS = @DEFS@ 279 292 DEPDIR = @DEPDIR@ 293 DLLTOOL = @DLLTOOL@ 280 294 DRIVER_DIR = @DRIVER_DIR@ 295 DSYMUTIL = @DSYMUTIL@ 296 DUMPBIN = @DUMPBIN@ 281 297 ECHO_C = @ECHO_C@ 282 298 ECHO_N = @ECHO_N@ 283 299 ECHO_T = @ECHO_T@ 300 EGREP = @EGREP@ 284 301 EXEEXT = @EXEEXT@ 302 FGREP = @FGREP@ 303 GREP = @GREP@ 285 304 INSTALL = @INSTALL@ 286 305 INSTALL_DATA = @INSTALL_DATA@ … … 288 307 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 289 308 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 309 LD = @LD@ 290 310 LDFLAGS = @LDFLAGS@ 291 311 LIBOBJS = @LIBOBJS@ 292 312 LIBS = @LIBS@ 313 LIBTOOL = @LIBTOOL@ 314 LIPO = @LIPO@ 315 LN_S = @LN_S@ 293 316 LTLIBOBJS = @LTLIBOBJS@ 317 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 294 318 MAKEINFO = @MAKEINFO@ 319 MANIFEST_TOOL = @MANIFEST_TOOL@ 295 320 MKDIR_P = @MKDIR_P@ 321 NM = @NM@ 322 NMEDIT = @NMEDIT@ 323 OBJDUMP = @OBJDUMP@ 296 324 OBJEXT = @OBJEXT@ 325 OTOOL = @OTOOL@ 326 OTOOL64 = @OTOOL64@ 297 327 PACKAGE = @PACKAGE@ 298 328 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 304 334 PATH_SEPARATOR = @PATH_SEPARATOR@ 305 335 RANLIB = @RANLIB@ 336 SED = @SED@ 306 337 SET_MAKE = @SET_MAKE@ 307 338 SHELL = @SHELL@ … … 312 343 abs_top_builddir = @abs_top_builddir@ 313 344 abs_top_srcdir = @abs_top_srcdir@ 345 ac_ct_AR = @ac_ct_AR@ 314 346 ac_ct_CC = @ac_ct_CC@ 315 347 ac_ct_CXX = @ac_ct_CXX@ 348 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 316 349 am__include = @am__include@ 317 350 am__leading_dot = @am__leading_dot@ … … 320 353 am__untar = @am__untar@ 321 354 bindir = @bindir@ 355 build = @build@ 322 356 build_alias = @build_alias@ 357 build_cpu = @build_cpu@ 358 build_os = @build_os@ 359 build_vendor = @build_vendor@ 323 360 builddir = @builddir@ 324 361 datadir = @datadir@ … … 327 364 dvidir = @dvidir@ 328 365 exec_prefix = @exec_prefix@ 366 host = @host@ 329 367 host_alias = @host_alias@ 368 host_cpu = @host_cpu@ 369 host_os = @host_os@ 370 host_vendor = @host_vendor@ 330 371 htmldir = @htmldir@ 331 372 includedir = @includedir@ … … 355 396 # create object files in directory with source files 356 397 AUTOMAKE_OPTIONS = foreign subdir-objects 357 A RFLAGS = cr398 ACLOCAL_AMFLAGS = -I automake 358 399 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS) 400 LTCFACOMPILE = $(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 359 405 AM_V_CFA = $(am__v_CFA_@AM_V@) 360 406 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 361 407 am__v_CFA_0 = @echo " CFA " $@; 362 408 am__v_CFA_1 = 363 lib_LIBRARIES = libcfa.a 409 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@) 410 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@) 411 am__v_JAVAC_0 = @echo " JAVAC " $@; 412 am__v_JAVAC_1 = 413 AM_V_GOC = $(am__v_GOC_@AM_V@) 414 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@) 415 am__v_GOC_0 = @echo " GOC " $@; 416 am__v_GOC_1 = 417 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 418 AM_V_UPP = $(am__v_UPP_@AM_V@) 419 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 420 am__v_UPP_0 = @echo " UPP " $@; 421 am__v_UPP_1 = 422 lib_LTLIBRARIES = libcfa.la 364 423 365 424 # AM_CFLAGS for all cfa source … … 368 427 # The built sources must not depend on the installed headers 369 428 AM_CFAFLAGS = -quiet -in-tree -I$(srcdir)/stdhdr @CONFIG_CFAFLAGS@ 370 AM_CFLAGS = -g -Wall -Wno-unused-function @ARCH_FLAGS@ @CONFIG_CFLAGS@429 AM_CFLAGS = -g -Wall -Wno-unused-function -fPIC @ARCH_FLAGS@ @CONFIG_CFLAGS@ 371 430 AM_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 372 440 @BUILDLIB_FALSE@headers = 373 374 #----------------------------------------------------------------------------------------------------------------375 376 # not all platforms support concurrency, add option do disable it377 441 @BUILDLIB_TRUE@headers = fstream.hfa iostream.hfa iterator.hfa \ 378 442 @BUILDLIB_TRUE@ limits.hfa rational.hfa time.hfa stdlib.hfa \ … … 382 446 @BUILDLIB_TRUE@ concurrency/thread.hfa concurrency/kernel.hfa \ 383 447 @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.h389 448 @BUILDLIB_FALSE@libsrc = 390 449 … … 402 461 403 462 # add dependency of cfa files 404 libobjs = $(addsuffix . o, $(basename $(filter %.cfa,$(libsrc))))463 libobjs = $(addsuffix .lo, $(basename $(filter %.cfa,$(libsrc)))) 405 464 406 465 # .deps inclusion is not done automatically by automake for new languages 407 466 libdeps = $(join \ 408 467 $(addsuffix $(DEPDIR)/ , $(dir $(libobjs) ) ), \ 409 $(notdir ${libobjs:. o=.Po}) \468 $(notdir ${libobjs:.lo=.Plo}) \ 410 469 ) 411 470 412 471 413 472 #---------------------------------------------------------------------------------------------------------------- 414 libcfa_a_SOURCES = prelude.cfa ${libsrc} 415 stdhdr = ${shell find ${srcdir}/stdhdr -type f -printf "%p "} 473 libcfa_la_SOURCES = prelude.cfa ${libsrc} 474 libcfa_la_LDFLAGS = -version-info @CFA_VERSION@ 475 stdhdr = $(shell find $(srcdir)/stdhdr -type f -printf "%p ") 416 476 cfa_includedir = $(CFA_INCDIR) 417 477 nobase_cfa_include_HEADERS = ${stdhdr} ${headers} ${headers_nosrc} … … 419 479 420 480 .SUFFIXES: 421 .SUFFIXES: .S .c .cfa . o .obj481 .SUFFIXES: .S .c .cfa .lo .o .obj 422 482 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/../../src/cfa.make $(am__configure_deps) 423 483 @for dep in $?; do \ … … 450 510 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 451 511 $(am__aclocal_m4_deps): 452 install-libLIBRARIES: $(lib_LIBRARIES) 512 513 install-libLTLIBRARIES: $(lib_LTLIBRARIES) 453 514 @$(NORMAL_INSTALL) 454 @list='$(lib_L IBRARIES)'; test -n "$(libdir)" || list=; \515 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 455 516 list2=; for p in $$list; do \ 456 517 if test -f $$p; then \ … … 461 522 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ 462 523 $(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 528 uninstall-libLTLIBRARIES: 529 @$(NORMAL_UNINSTALL) 530 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ 467 531 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"; \ 473 535 done 474 536 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) 537 clean-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 } 483 547 bits/$(am__dirstamp): 484 548 @$(MKDIR_P) bits … … 487 551 @$(MKDIR_P) bits/$(DEPDIR) 488 552 @: > bits/$(DEPDIR)/$(am__dirstamp) 489 bits/debug.$(OBJEXT): bits/$(am__dirstamp) \ 490 bits/$(DEPDIR)/$(am__dirstamp) 553 bits/debug.lo: bits/$(am__dirstamp) bits/$(DEPDIR)/$(am__dirstamp) 491 554 containers/$(am__dirstamp): 492 555 @$(MKDIR_P) containers … … 495 558 @$(MKDIR_P) containers/$(DEPDIR) 496 559 @: > containers/$(DEPDIR)/$(am__dirstamp) 497 containers/maybe. $(OBJEXT): containers/$(am__dirstamp) \560 containers/maybe.lo: containers/$(am__dirstamp) \ 498 561 containers/$(DEPDIR)/$(am__dirstamp) 499 containers/pair. $(OBJEXT): containers/$(am__dirstamp) \562 containers/pair.lo: containers/$(am__dirstamp) \ 500 563 containers/$(DEPDIR)/$(am__dirstamp) 501 containers/result. $(OBJEXT): containers/$(am__dirstamp) \564 containers/result.lo: containers/$(am__dirstamp) \ 502 565 containers/$(DEPDIR)/$(am__dirstamp) 503 containers/vector. $(OBJEXT): containers/$(am__dirstamp) \566 containers/vector.lo: containers/$(am__dirstamp) \ 504 567 containers/$(DEPDIR)/$(am__dirstamp) 505 568 concurrency/$(am__dirstamp): … … 509 572 @$(MKDIR_P) concurrency/$(DEPDIR) 510 573 @: > concurrency/$(DEPDIR)/$(am__dirstamp) 511 concurrency/coroutine. $(OBJEXT): concurrency/$(am__dirstamp) \574 concurrency/coroutine.lo: concurrency/$(am__dirstamp) \ 512 575 concurrency/$(DEPDIR)/$(am__dirstamp) 513 concurrency/thread. $(OBJEXT): concurrency/$(am__dirstamp) \576 concurrency/thread.lo: concurrency/$(am__dirstamp) \ 514 577 concurrency/$(DEPDIR)/$(am__dirstamp) 515 concurrency/kernel. $(OBJEXT): concurrency/$(am__dirstamp) \578 concurrency/kernel.lo: concurrency/$(am__dirstamp) \ 516 579 concurrency/$(DEPDIR)/$(am__dirstamp) 517 concurrency/monitor. $(OBJEXT): concurrency/$(am__dirstamp) \580 concurrency/monitor.lo: concurrency/$(am__dirstamp) \ 518 581 concurrency/$(DEPDIR)/$(am__dirstamp) 519 concurrency/mutex. $(OBJEXT): concurrency/$(am__dirstamp) \582 concurrency/mutex.lo: concurrency/$(am__dirstamp) \ 520 583 concurrency/$(DEPDIR)/$(am__dirstamp) 521 concurrency/CtxSwitch-@ARCHITECTURE@.$(OBJEXT): \ 522 concurrency/$(am__dirstamp) \ 584 concurrency/CtxSwitch-@ARCHITECTURE@.lo: concurrency/$(am__dirstamp) \ 523 585 concurrency/$(DEPDIR)/$(am__dirstamp) 524 concurrency/alarm. $(OBJEXT): concurrency/$(am__dirstamp) \586 concurrency/alarm.lo: concurrency/$(am__dirstamp) \ 525 587 concurrency/$(DEPDIR)/$(am__dirstamp) 526 concurrency/invoke. $(OBJEXT): concurrency/$(am__dirstamp) \588 concurrency/invoke.lo: concurrency/$(am__dirstamp) \ 527 589 concurrency/$(DEPDIR)/$(am__dirstamp) 528 concurrency/preemption. $(OBJEXT): concurrency/$(am__dirstamp) \590 concurrency/preemption.lo: concurrency/$(am__dirstamp) \ 529 591 concurrency/$(DEPDIR)/$(am__dirstamp) 530 592 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 593 libcfa.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) 535 595 536 596 mostlyclean-compile: 537 597 -rm -f *.$(OBJEXT) 538 598 -rm -f bits/*.$(OBJEXT) 599 -rm -f bits/*.lo 539 600 -rm -f concurrency/*.$(OBJEXT) 601 -rm -f concurrency/*.lo 540 602 -rm -f containers/*.$(OBJEXT) 603 -rm -f containers/*.lo 541 604 542 605 distclean-compile: 543 606 -rm -f *.tab.c 544 607 545 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.P o@am__quote@546 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/virtual.P o@am__quote@547 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/CtxSwitch-@ARCHITECTURE@.P o@am__quote@548 @AMDEP_TRUE@@am__include@ @am__quote@concurrency/$(DEPDIR)/invoke.P o@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@ 549 612 550 613 .S.o: … … 564 627 @am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 565 628 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 566 637 .c.o: 567 638 @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ … … 579 650 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 580 651 @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 661 mostlyclean-libtool: 662 -rm -f *.lo 663 664 clean-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 581 669 install-nobase_cfa_includeHEADERS: $(nobase_cfa_include_HEADERS) 582 670 @$(NORMAL_INSTALL) … … 688 776 check-am: all-am 689 777 check: check-am 690 all-am: Makefile $(L IBRARIES) $(HEADERS)778 all-am: Makefile $(LTLIBRARIES) $(HEADERS) 691 779 installdirs: 692 780 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(cfa_includedir)"; do \ … … 731 819 clean: clean-am 732 820 733 clean-am: clean-generic clean-libLIBRARIES mostlyclean-am 821 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ 822 mostlyclean-am 734 823 735 824 distclean: distclean-am … … 757 846 install-dvi-am: 758 847 759 install-exec-am: install-libL IBRARIES848 install-exec-am: install-libLTLIBRARIES 760 849 761 850 install-html: install-html-am … … 787 876 mostlyclean: mostlyclean-am 788 877 789 mostlyclean-am: mostlyclean-compile mostlyclean-generic 878 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 879 mostlyclean-libtool 790 880 791 881 pdf: pdf-am … … 797 887 ps-am: 798 888 799 uninstall-am: uninstall-libL IBRARIES \889 uninstall-am: uninstall-libLTLIBRARIES \ 800 890 uninstall-nobase_cfa_includeHEADERS 801 891 … … 803 893 804 894 .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 \ 811 902 install-nobase_cfa_includeHEADERS install-pdf install-pdf-am \ 812 903 install-ps install-ps-am install-strip installcheck \ 813 904 installcheck-am installdirs maintainer-clean \ 814 905 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_includeHEADERS906 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 818 909 819 910 .PRECIOUS: Makefile … … 824 915 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 825 916 $(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 826 922 $(libobjs) : @CFACC@ @CFACPP@ prelude.cfa 827 923 … … 829 925 830 926 prelude.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 929 prelude.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 ${@} 832 932 833 933 #---------------------------------------------------------------------------------------------------------------- -
libcfa/src/bits/locks.hfa
raeb8f70 re99e43f 37 37 #endif 38 38 39 #if defined( __i386 ) || defined( __x86_64 ) || defined( __ARM_ARCH )40 // Intel recommendation41 #define __ALIGN__ __attribute__(( aligned (128) ))42 #elif defined( __sparc )43 #define __ALIGN__ CALIGN44 #else45 #error unsupported architecture46 #endif47 48 39 struct __spinlock_t { 49 40 // 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; 54 42 #ifdef __CFA_DEBUG__ 55 43 // previous function to acquire the lock … … 58 46 void* prev_thrd; 59 47 #endif 60 } __ALIGN__;48 }; 61 49 62 50 #ifdef __cforall -
libcfa/src/concurrency/invoke.h
raeb8f70 re99e43f 59 59 volatile bool in_progress; 60 60 } preemption_state; 61 } kernelTLS ;61 } kernelTLS __attribute__ ((tls_model ( "initial-exec" ))); 62 62 } 63 63 -
libcfa/src/concurrency/kernel.cfa
raeb8f70 re99e43f 57 57 //----------------------------------------------------------------------------- 58 58 // Global state 59 thread_local struct KernelThreadData kernelTLS = {59 thread_local struct KernelThreadData kernelTLS __attribute__ ((tls_model ( "initial-exec" ))) = { 60 60 NULL, 61 61 NULL, -
libcfa/src/concurrency/kernel_private.hfa
raeb8f70 re99e43f 79 79 }; 80 80 81 extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state ;81 extern volatile thread_local __cfa_kernel_preemption_state_t preemption_state __attribute__ ((tls_model ( "initial-exec" ))); 82 82 83 83 //----------------------------------------------------------------------------- -
libcfa/src/exception.c
raeb8f70 re99e43f 246 246 } 247 247 248 #if defined(PIC) 249 #warning Exceptions not yet supported when using Position-Independent Code 250 __attribute__((noinline)) 251 void __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 248 257 // This is our personality routine. For every stack frame anotated with ".cfi_personality 0x3,__gcfa_personality_v0". 249 258 // This function will be called twice when unwinding. Once in the search phased and once in the cleanup phase. … … 477 486 ); 478 487 #endif // __i386 || __x86_64 488 #endif //PIC -
libcfa/src/fstream.cfa
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Aug 10 18:19:40201813 // Update Count : 28412 // Last Modified On : Mon Dec 24 18:33:38 2018 13 // Update Count : 304 14 14 // 15 15 … … 20 20 #include <stdarg.h> // varargs 21 21 #include <string.h> // strlen 22 #include <stdbool.h> // true/false23 22 #include <float.h> // DBL_DIG, LDBL_DIG 24 23 #include <complex.h> // creal, cimag … … 27 26 #define IO_MSG "I/O error: " 28 27 29 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, const char * separator, const char * tupleSeparator ) {28 void ?{}( ofstream & os, void * file, bool sepDefault, bool sepOnOff, bool nlOnOff, bool prt, const char * separator, const char * tupleSeparator ) { 30 29 os.file = file; 31 30 os.sepDefault = sepDefault; 32 31 os.sepOnOff = sepOnOff; 32 os.nlOnOff = nlOnOff; 33 os.prt = prt; 33 34 sepSet( os, separator ); 34 35 sepSetCur( os, sepGet( os ) ); … … 44 45 bool getNL( ofstream & os ) { return os.sawNL; } 45 46 void setNL( ofstream & os, bool state ) { os.sawNL = state; } 47 bool getANL( ofstream & os ) { return os.nlOnOff; } 48 bool getPrt( ofstream & os ) { return os.prt; } 49 void setPrt( ofstream & os, bool state ) { os.prt = state; } 46 50 47 51 // public … … 72 76 } // sepEnable 73 77 78 void nlOn( ofstream & os ) { os.nlOnOff = true; } 79 void nlOff( ofstream & os ) { os.nlOnOff = false; } 80 74 81 const char * sepGet( ofstream & os ) { return os.separator; } 75 82 void sepSet( ofstream & os, const char * s ) { … … 103 110 } // if 104 111 #endif // __CFA_DEBUG__ 105 (os){ file, true, false, " ", ", " };112 (os){ file, true, false, true, false, " ", ", " }; 106 113 } // open 107 114 … … 143 150 va_end( args ); 144 151 152 setPrt( os, true ); // called in output cascade 145 153 sepReset( os ); // reset separator 146 154 return len; 147 155 } // fmt 148 156 149 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, " ", ", " };157 static ofstream soutFile = { (FILE *)(&_IO_2_1_stdout_), true, false, true, false, " ", ", " }; 150 158 ofstream & sout = soutFile; 151 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, " ", ", " };159 static ofstream serrFile = { (FILE *)(&_IO_2_1_stderr_), true, false, true, false, " ", ", " }; 152 160 ofstream & serr = serrFile; 153 161 -
libcfa/src/fstream.hfa
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 13:54:27201813 // Update Count : 1 3212 // Last Modified On : Mon Dec 24 18:33:41 2018 13 // Update Count : 149 14 14 // 15 15 … … 23 23 bool sepDefault; 24 24 bool sepOnOff; 25 bool nlOnOff; 26 bool prt; // print text 25 27 bool sawNL; 26 28 const char * sepCur; … … 37 39 bool getNL( ofstream & ); 38 40 void setNL( ofstream &, bool ); 41 bool getANL( ofstream & ); 42 bool getPrt( ofstream & ); 43 void setPrt( ofstream &, bool ); 39 44 40 45 // public … … 43 48 bool sepDisable( ofstream & ); 44 49 bool sepEnable( ofstream & ); 50 void nlOn( ofstream & ); 51 void nlOff( ofstream & ); 45 52 46 53 const char * sepGet( ofstream & ); … … 55 62 void close( ofstream & ); 56 63 ofstream & write( ofstream &, const char * data, size_t size ); 57 int fmt( ofstream &, const char f mt[], ... );64 int fmt( ofstream &, const char format[], ... ); 58 65 59 66 void ?{}( ofstream & os ); … … 76 83 ifstream & read( ifstream & is, char * data, size_t size ); 77 84 ifstream & ungetc( ifstream & is, char c ); 78 int fmt( ifstream &, const char f mt[], ... );85 int fmt( ifstream &, const char format[], ... ); 79 86 80 87 void ?{}( ifstream & is ); -
libcfa/src/gmp.hfa
raeb8f70 re99e43f 10 10 // Created On : Tue Apr 19 08:43:43 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Dec 7 09:10:41 201713 // Update Count : 2 112 // Last Modified On : Tue Dec 4 23:25:51 2018 13 // Update Count : 22 14 14 // 15 15 … … 262 262 } // ?|? 263 263 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 } // ?|? 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 } // ?|? 271 272 void ?|?( ostype & os, Int mp ) { 273 (ostype)(os | mp); if ( getANL( os ) ) nl( os ); 274 } // ?|? 275 } // distribution 271 276 272 277 // Local Variables: // -
libcfa/src/iostream.cfa
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 13:56:43201813 // Update Count : 47312 // Last Modified On : Mon Dec 24 18:33:40 2018 13 // Update Count : 589 14 14 // 15 15 … … 19 19 #include <stdio.h> 20 20 #include <stdbool.h> // true/false 21 //#include <string.h> 21 //#include <string.h> // strlen, strcmp 22 22 extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); 23 23 extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))); … … 32 32 return os; 33 33 } // ?|? 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 ); 52 63 } // ?|? 53 64 … … 57 68 return os; 58 69 } // ?|? 70 void & ?|?( ostype & os, short int si ) { 71 (ostype &)(os | si); nl( os ); 72 } // ?|? 59 73 60 74 ostype & ?|?( ostype & os, unsigned short int usi ) { … … 63 77 return os; 64 78 } // ?|? 79 void & ?|?( ostype & os, unsigned short int usi ) { 80 (ostype &)(os | usi); nl( os ); 81 } // ?|? 65 82 66 83 ostype & ?|?( ostype & os, int i ) { … … 69 86 return os; 70 87 } // ?|? 88 void & ?|?( ostype & os, int i ) { 89 (ostype &)(os | i); nl( os ); 90 } // ?|? 71 91 72 92 ostype & ?|?( ostype & os, unsigned int ui ) { … … 75 95 return os; 76 96 } // ?|? 97 void & ?|?( ostype & os, unsigned int ui ) { 98 (ostype &)(os | ui); nl( os ); 99 } // ?|? 77 100 78 101 ostype & ?|?( ostype & os, long int li ) { … … 81 104 return os; 82 105 } // ?|? 106 void & ?|?( ostype & os, long int li ) { 107 (ostype &)(os | li); nl( os ); 108 } // ?|? 83 109 84 110 ostype & ?|?( ostype & os, unsigned long int uli ) { … … 87 113 return os; 88 114 } // ?|? 115 void & ?|?( ostype & os, unsigned long int uli ) { 116 (ostype &)(os | uli); nl( os ); 117 } // ?|? 89 118 90 119 ostype & ?|?( ostype & os, long long int lli ) { … … 93 122 return os; 94 123 } // ?|? 124 void & ?|?( ostype & os, long long int lli ) { 125 (ostype &)(os | lli); nl( os ); 126 } // ?|? 95 127 96 128 ostype & ?|?( ostype & os, unsigned long long int ulli ) { … … 99 131 return os; 100 132 } // ?|? 133 void & ?|?( ostype & os, unsigned long long int ulli ) { 134 (ostype &)(os | ulli); nl( os ); 135 } // ?|? 101 136 102 137 ostype & ?|?( ostype & os, float f ) { … … 105 140 return os; 106 141 } // ?|? 142 void & ?|?( ostype & os, float f ) { 143 (ostype &)(os | f); nl( os ); 144 } // ?|? 107 145 108 146 ostype & ?|?( ostype & os, double d ) { … … 111 149 return os; 112 150 } // ?|? 151 void & ?|?( ostype & os, double d ) { 152 (ostype &)(os | d); nl( os ); 153 } // ?|? 113 154 114 155 ostype & ?|?( ostype & os, long double ld ) { … … 117 158 return os; 118 159 } // ?|? 160 void & ?|?( ostype & os, long double ld ) { 161 (ostype &)(os | ld); nl( os ); 162 } // ?|? 119 163 120 164 ostype & ?|?( ostype & os, float _Complex fc ) { … … 123 167 return os; 124 168 } // ?|? 169 void & ?|?( ostype & os, float _Complex fc ) { 170 (ostype &)(os | fc); nl( os ); 171 } // ?|? 125 172 126 173 ostype & ?|?( ostype & os, double _Complex dc ) { … … 129 176 return os; 130 177 } // ?|? 178 void & ?|?( ostype & os, double _Complex dc ) { 179 (ostype &)(os | dc); nl( os ); 180 } // ?|? 131 181 132 182 ostype & ?|?( ostype & os, long double _Complex ldc ) { … … 134 184 fmt( os, "%.*Lg%+.*Lgi", LDBL_DIG, creall( ldc ), LDBL_DIG, cimagl( ldc ) ); 135 185 return os; 186 } // ?|? 187 void & ?|?( ostype & os, long double _Complex ldc ) { 188 (ostype &)(os | ldc); nl( os ); 136 189 } // ?|? 137 190 … … 174 227 return write( os, str, len ); 175 228 } // ?|? 229 void ?|?( ostype & os, const char * str ) { 230 (ostype &)(os | str); nl( os ); 231 } // ?|? 176 232 177 233 // ostype & ?|?( ostype & os, const char16_t * str ) { … … 200 256 return os; 201 257 } // ?|? 202 258 void ?|?( ostype & os, const void * p ) { 259 (ostype &)(os | p); nl( os ); 260 } // ?|? 203 261 204 262 // manipulators 205 263 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 207 271 } // ?|? 208 272 209 273 ostype & sep( ostype & os ) { 210 os | sepGet( os ); 211 return os; 274 return (ostype &)(os | sepGet( os )); 212 275 } // sep 213 276 214 277 ostype & sepTuple( ostype & os ) { 215 os | sepGetTuple( os ); 216 return os; 278 return os | sepGetTuple( os ); 217 279 } // sepTuple 218 280 219 ostype & endl( ostype & os ) { 220 os | '\n'; 281 ostype & nl( ostype & os ) { 282 (ostype &)(os | '\n'); 283 setPrt( os, false ); // turn off 221 284 setNL( os, true ); 222 285 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 226 298 227 299 ostype & sepOn( ostype & os ) { 228 sepOn( os ); 300 sepOn( os ); // call void returning 229 301 return os; 230 302 } // sepOn 231 303 232 304 ostype & sepOff( ostype & os ) { 233 sepOff( os ); 305 sepOff( os ); // call void returning 234 306 return os; 235 307 } // sepOff 236 308 237 309 ostype & sepEnable( ostype & os ) { 238 sepEnable( os ); 310 sepEnable( os ); // call void returning 239 311 return os; 240 312 } // sepEnable 241 313 242 314 ostype & sepDisable( ostype & os ) { 243 sepDisable( os ); 315 sepDisable( os ); // call void returning 244 316 return os; 245 317 } // 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 246 328 } // distribution 247 329 248 249 330 // 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 } // ?|? 331 forall( 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 258 348 259 349 //--------------------------------------- 260 350 261 351 // 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 } // ?|?352 forall( 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 273 363 274 364 //--------------------------------------- … … 386 476 } // ?|? 387 477 388 istype & endl( istype & is ) {478 istype & nl( istype & is ) { 389 479 fmt( is, "%*[ \t\f\n\r\v]" ); // ignore whitespace 390 480 return is; 391 } // endl481 } // nl 392 482 } // distribution 393 483 … … 410 500 // Local Variables: // 411 501 // tab-width: 4 // 412 // compile-command: "cfa iostream.c " //502 // compile-command: "cfa iostream.cfa" // 413 503 // End: // -
libcfa/src/iostream.hfa
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 08:22:49201813 // Update Count : 15612 // Last Modified On : Mon Dec 24 18:33:40 2018 13 // Update Count : 220 14 14 // 15 15 … … 20 20 trait ostream( dtype ostype ) { 21 21 // private 22 bool sepPrt( ostype & ); // returnseparator state (on/off)22 bool sepPrt( ostype & ); // get separator state (on/off) 23 23 void sepReset( ostype & ); // set separator state to default state 24 24 void sepReset( ostype &, bool ); // set separator and default state 25 25 const char * sepGetCur( ostype & ); // get current separator string 26 26 void sepSetCur( ostype &, const char * ); // set current separator string 27 bool getNL( ostype & ); // check newline27 bool getNL( ostype & ); // check newline 28 28 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 29 32 // public 30 33 void sepOn( ostype & ); // turn separator state on 31 34 void sepOff( ostype & ); // turn separator state off 32 35 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 34 39 35 40 const char * sepGet( ostype & ); // get separator string … … 43 48 void close( ostype & os ); 44 49 ostype & write( ostype &, const char *, size_t ); 45 int fmt( ostype &, const char f mt[], ... );50 int fmt( ostype &, const char format[], ... ); 46 51 }; // ostream 47 52 … … 58 63 forall( dtype ostype | ostream( ostype ) ) { 59 64 ostype & ?|?( ostype &, bool ); 65 void ?|?( ostype &, bool ); 60 66 61 67 ostype & ?|?( ostype &, char ); 68 void ?|?( ostype &, char ); 62 69 ostype & ?|?( ostype &, signed char ); 70 void ?|?( ostype &, signed char ); 63 71 ostype & ?|?( ostype &, unsigned char ); 72 void ?|?( ostype &, unsigned char ); 64 73 65 74 ostype & ?|?( ostype &, short int ); 75 void ?|?( ostype &, short int ); 66 76 ostype & ?|?( ostype &, unsigned short int ); 77 void ?|?( ostype &, unsigned short int ); 67 78 ostype & ?|?( ostype &, int ); 79 void ?|?( ostype &, int ); 68 80 ostype & ?|?( ostype &, unsigned int ); 81 void ?|?( ostype &, unsigned int ); 69 82 ostype & ?|?( ostype &, long int ); 83 void ?|?( ostype &, long int ); 70 84 ostype & ?|?( ostype &, long long int ); 85 void ?|?( ostype &, long long int ); 71 86 ostype & ?|?( ostype &, unsigned long int ); 87 void ?|?( ostype &, unsigned long int ); 72 88 ostype & ?|?( ostype &, unsigned long long int ); 89 void ?|?( ostype &, unsigned long long int ); 73 90 74 91 ostype & ?|?( ostype &, float ); // FIX ME: should not be required 92 void ?|?( ostype &, float ); // FIX ME: should not be required 75 93 ostype & ?|?( ostype &, double ); 94 void ?|?( ostype &, double ); 76 95 ostype & ?|?( ostype &, long double ); 96 void ?|?( ostype &, long double ); 77 97 78 98 ostype & ?|?( ostype &, float _Complex ); 99 void ?|?( ostype &, float _Complex ); 79 100 ostype & ?|?( ostype &, double _Complex ); 101 void ?|?( ostype &, double _Complex ); 80 102 ostype & ?|?( ostype &, long double _Complex ); 103 void ?|?( ostype &, long double _Complex ); 81 104 82 105 ostype & ?|?( ostype &, const char * ); 106 void ?|?( ostype &, const char * ); 83 107 // ostype & ?|?( ostype &, const char16_t * ); 84 108 #if ! ( __ARM_ARCH_ISA_ARM == 1 && __ARM_32BIT_STATE == 1 ) // char32_t == wchar_t => ambiguous … … 87 111 // ostype & ?|?( ostype &, const wchar_t * ); 88 112 ostype & ?|?( ostype &, const void * ); 113 void ?|?( ostype &, const void * ); 89 114 90 115 // manipulators 91 116 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 & ); 93 121 ostype & sep( ostype & ); 94 122 ostype & sepTuple( ostype & ); … … 97 125 ostype & sepDisable( ostype & ); 98 126 ostype & sepEnable( ostype & ); 127 ostype & nlOn( ostype & ); 128 ostype & nlOff( ostype & ); 99 129 } // distribution 100 130 101 131 // tuples 102 forall( dtype ostype, otype T, ttype Params | writeable( T, ostype ) | { ostype & ?|?( ostype &, Params ); } ) 103 ostype & ?|?( ostype & os, T arg, Params rest ); 132 forall( 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 104 136 105 137 // 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 ); 138 forall( 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 111 142 112 143 //--------------------------------------- … … 119 150 istype & read( istype &, char *, size_t ); 120 151 istype & ungetc( istype &, char ); 121 int fmt( istype &, const char f mt[], ... );152 int fmt( istype &, const char format[], ... ); 122 153 }; // istream 123 154 … … 152 183 // manipulators 153 184 istype & ?|?( istype &, istype & (*)( istype & ) ); 154 istype & endl( istype & is );185 istype & nl( istype & is ); 155 186 } // distribution 156 187 … … 164 195 165 196 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 199 forall( 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 171 205 172 206 // Local Variables: // -
libcfa/src/iterator.cfa
raeb8f70 re99e43f 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 7 08:38:23 201713 // Update Count : 2 812 // Last Modified On : Fri Nov 2 07:17:37 2018 13 // Update Count : 29 14 14 // 15 15 … … 33 33 // Local Variables: // 34 34 // tab-width: 4 // 35 // compile-command: "cfa iterator.c " //35 // compile-command: "cfa iterator.cfa" // 36 36 // End: // -
libcfa/src/rational.cfa
raeb8f70 re99e43f 10 10 // Created On : Wed Apr 6 17:54:28 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S at Jun 2 09:24:33201813 // Update Count : 1 6212 // Last Modified On : Sun Dec 23 22:56:49 2018 13 // Update Count : 170 14 14 // 15 15 … … 35 35 static RationalImpl simplify( RationalImpl & n, RationalImpl & d ) { 36 36 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."; 38 38 exit( EXIT_FAILURE ); 39 39 } // exit … … 175 175 } // ?|? 176 176 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 181 186 } // distribution 182 187 -
libcfa/src/rational.hfa
raeb8f70 re99e43f 12 12 // Created On : Wed Apr 6 17:56:25 2016 13 13 // Last Modified By : Peter A. Buhr 14 // Last Modified On : Sat Jun 2 09:10:01201815 // Update Count : 10 514 // Last Modified On : Tue Dec 4 23:07:46 2018 15 // Update Count : 106 16 16 // 17 17 … … 92 92 istype & ?|?( istype &, Rational(RationalImpl) & ); 93 93 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 96 98 } // distribution 97 99 -
libcfa/src/stdlib.hfa
raeb8f70 re99e43f 10 10 // Created On : Thu Jan 28 17:12:35 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 27 07:21:36201813 // Update Count : 34 512 // Last Modified On : Mon Dec 17 15:37:45 2018 13 // Update Count : 346 14 14 // 15 15 … … 178 178 179 179 static 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 ); } 181 181 unsigned int ato( const char * sptr ) { return (unsigned int)strtoul( sptr, 0, 10 ); } 182 182 long int ato( const char * sptr ) { return strtol( sptr, 0, 10 ); } -
libcfa/src/time.cfa
raeb8f70 re99e43f 10 10 // Created On : Tue Mar 27 13:33:14 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun May 6 22:26:00201813 // Update Count : 3712 // Last Modified On : Sun Dec 23 22:57:48 2018 13 // Update Count : 57 14 14 // 15 15 … … 31 31 32 32 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 } // ?|? 33 forall( 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 43 48 44 49 … … 137 142 } // strftime 138 143 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 } // ?|? 144 forall( 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 157 166 158 167 // Local Variables: // -
src/CodeTools/ResolvProtoDump.cc
raeb8f70 re99e43f 51 51 52 52 /// Child constructor 53 ProtoDump(const ProtoDump* p, Type* r) 53 ProtoDump(const ProtoDump* p, Type* r) 54 54 : decls(), exprs(), subs(), closed(p->closed), parent(p), rtnType(r) {} 55 55 56 56 // 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), 59 59 rtnType(maybeClone(o.rtnType.get())) {} 60 60 ProtoDump( ProtoDump&& ) = default; … … 69 69 parent = o.parent; 70 70 rtnType.reset( maybeClone(o.rtnType.get()) ); 71 71 72 72 return *this; 73 73 } 74 ProtoDump& operator= (ProtoDump&&) = de fault;74 ProtoDump& operator= (ProtoDump&&) = delete; 75 75 76 76 private: … … 96 96 subs.emplace_back( std::move(sub.pass) ); 97 97 } 98 98 99 99 /// Whether lists should be separated, terminated, or preceded by their separator 100 100 enum septype { separated, terminated, preceded }; … … 102 102 /// builds space-separated list of types 103 103 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, 105 105 septype mode = separated ) { 106 106 if ( tys.empty() ) return; … … 121 121 /// builds list of types wrapped as tuple type 122 122 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, 124 124 std::stringstream& ss ) { 125 125 switch ( tys.size() ) { … … 162 162 if ( name.compare( 0, 10, "_operator_" ) == 0 ) { 163 163 ss << name.substr(10); 164 } else if ( name.compare( "_constructor" ) == 0 164 } else if ( name.compare( "_constructor" ) == 0 165 165 || name.compare( "_destructor" ) == 0 ) { 166 166 ss << name.substr(1); … … 173 173 174 174 /// 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, 176 176 std::string&& pre = "" ) { 177 177 // safety check for anonymous names … … 187 187 op_name( info.outputName, ss ); 188 188 return; 189 } 190 189 } 190 191 191 // replace retval names 192 192 if ( name.compare( 0, 8, "_retval_" ) == 0 ) { … … 195 195 return; 196 196 } 197 197 198 198 // default to just name, with first character in lowercase 199 ss << pre 199 ss << pre 200 200 << (char)std::tolower( static_cast<unsigned char>(name[0]) ) 201 201 << (name.c_str() + 1); … … 221 221 // strip trailing "_generic_" from autogen names (avoids some user-generation issues) 222 222 char generic[] = "_generic_"; size_t n_generic = sizeof(generic) - 1; 223 if ( stripped.size() >= n_generic 223 if ( stripped.size() >= n_generic 224 224 && stripped.substr( stripped.size() - n_generic ) == generic ) { 225 225 stripped.resize( stripped.size() - n_generic ); … … 237 237 unsigned depth; ///< Depth of nesting from root type 238 238 239 TypePrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 239 TypePrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 240 240 : ss(ss), closed(closed), depth(0) {} 241 241 … … 337 337 } 338 338 }; 339 339 340 340 /// builds description of function 341 341 void build( const std::string& name, FunctionType* fnTy, std::stringstream& ss ) { … … 350 350 for ( TypeDecl* tyvar : fnTy->forall ) { 351 351 for ( DeclarationWithType* assn : tyvar->assertions ) { 352 ss << " | "; 352 ss << " | "; 353 353 build( assn->name, assn->get_type(), ss ); 354 354 } … … 360 360 // ignore top-level references 361 361 Type *norefs = ty->stripReferences(); 362 362 363 363 // fall back to function declaration if function type 364 364 if ( PointerType* pTy = dynamic_cast< PointerType* >(norefs) ) { … … 409 409 std::stringstream& ss; ///< Output to print to 410 410 411 ExprPrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 411 ExprPrinter( const std::unordered_set<std::string>& closed, std::stringstream& ss ) 412 412 : closed(closed), ss(ss) {} 413 413 … … 476 476 visit_children = false; 477 477 } 478 478 479 479 /// Member access handled as function from aggregate to member 480 480 void previsit( UntypedMemberExpr* expr ) { … … 662 662 } 663 663 } 664 664 665 665 // add named parameters and returns to local scope 666 666 body.pass.addAll( decl->type->returnVals ); … … 679 679 void previsit( StructDecl* sd ) { addAggregateFields(sd); } 680 680 void previsit( UnionDecl* ud ) { addAggregateFields(ud); } 681 681 682 682 void previsit( EnumDecl* ed ) { 683 std::unique_ptr<Type> eType = 683 std::unique_ptr<Type> eType = 684 684 std::make_unique<BasicType>( Type::Qualifiers{}, BasicType::SignedInt ); 685 685 686 686 // add field names directly to enclosing scope 687 687 for ( Declaration* member : ed->members ) { -
src/Makefile.am
raeb8f70 re99e43f 17 17 # create object files in directory with source files 18 18 AUTOMAKE_OPTIONS = foreign subdir-objects 19 ACLOCAL_AMFLAGS = -I automake 19 20 20 21 SRC = main.cc \ -
src/Makefile.in
raeb8f70 re99e43f 141 141 subdir = src 142 142 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 143 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 144 $(top_srcdir)/configure.ac 143 am__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 145 149 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 146 150 $(ACLOCAL_M4) … … 151 155 CONFIG_CLEAN_VPATH_FILES = 152 156 LIBRARIES = $(noinst_LIBRARIES) 153 AR = ar154 157 AM_V_AR = $(am__v_AR_@AM_V@) 155 158 am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) … … 295 298 ___driver_cfa_cpp_OBJECTS = $(am____driver_cfa_cpp_OBJECTS) 296 299 ___driver_cfa_cpp_DEPENDENCIES = 300 AM_V_lt = $(am__v_lt_@AM_V@) 301 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 302 am__v_lt_0 = --silent 303 am__v_lt_1 = 297 304 am_demangler_OBJECTS = SymTab/demangler.$(OBJEXT) 298 305 demangler_OBJECTS = $(am_demangler_OBJECTS) … … 316 323 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 317 324 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 325 LTCXXCOMPILE = $(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) 318 329 AM_V_CXX = $(am__v_CXX_@AM_V@) 319 330 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 321 332 am__v_CXX_1 = 322 333 CXXLD = $(CXX) 323 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 324 -o $@ 334 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 335 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 336 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 325 337 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 326 338 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 328 340 am__v_CXXLD_1 = 329 341 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 342 LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 343 $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS) 330 344 AM_V_LEX = $(am__v_LEX_@AM_V@) 331 345 am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) … … 336 350 -e s/c++$$/h++/ -e s/c$$/h/ 337 351 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 352 LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 353 $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) 338 354 AM_V_YACC = $(am__v_YACC_@AM_V@) 339 355 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) … … 342 358 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 343 359 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 360 LTCOMPILE = $(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) 344 364 AM_V_CC = $(am__v_CC_@AM_V@) 345 365 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 347 367 am__v_CC_1 = 348 368 CCLD = $(CC) 349 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 369 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 370 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 371 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 350 372 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 351 373 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 397 419 AMTAR = @AMTAR@ 398 420 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 421 AR = @AR@ 399 422 AUTOCONF = @AUTOCONF@ 400 423 AUTOHEADER = @AUTOHEADER@ 401 424 AUTOMAKE = @AUTOMAKE@ 402 425 AWK = @AWK@ 403 BACKEND_CC = @BACKEND_CC@404 426 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 405 427 CC = @CC@ … … 421 443 CPPFLAGS = @CPPFLAGS@ 422 444 CXX = @CXX@ 445 CXXCPP = @CXXCPP@ 423 446 CXXDEPMODE = @CXXDEPMODE@ 424 447 CXXFLAGS = @CXXFLAGS@ … … 426 449 DEFS = @DEFS@ 427 450 DEPDIR = @DEPDIR@ 451 DLLTOOL = @DLLTOOL@ 428 452 DRIVER_DIR = @DRIVER_DIR@ 453 DSYMUTIL = @DSYMUTIL@ 454 DUMPBIN = @DUMPBIN@ 429 455 ECHO_C = @ECHO_C@ 430 456 ECHO_N = @ECHO_N@ … … 432 458 EGREP = @EGREP@ 433 459 EXEEXT = @EXEEXT@ 460 FGREP = @FGREP@ 434 461 GREP = @GREP@ 435 462 HOST_FLAGS = @HOST_FLAGS@ … … 439 466 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 440 467 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 468 LD = @LD@ 441 469 LDFLAGS = @LDFLAGS@ 442 470 LEX = @LEX@ … … 447 475 LIBOBJS = @LIBOBJS@ 448 476 LIBS = @LIBS@ 477 LIBTOOL = @LIBTOOL@ 478 LIPO = @LIPO@ 479 LN_S = @LN_S@ 449 480 LTLIBOBJS = @LTLIBOBJS@ 481 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 450 482 MAKEINFO = @MAKEINFO@ 483 MANIFEST_TOOL = @MANIFEST_TOOL@ 451 484 MKDIR_P = @MKDIR_P@ 485 NM = @NM@ 486 NMEDIT = @NMEDIT@ 487 OBJDUMP = @OBJDUMP@ 452 488 OBJEXT = @OBJEXT@ 489 OTOOL = @OTOOL@ 490 OTOOL64 = @OTOOL64@ 453 491 PACKAGE = @PACKAGE@ 454 492 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 460 498 PATH_SEPARATOR = @PATH_SEPARATOR@ 461 499 RANLIB = @RANLIB@ 500 SED = @SED@ 462 501 SET_MAKE = @SET_MAKE@ 463 502 SHELL = @SHELL@ … … 471 510 abs_top_builddir = @abs_top_builddir@ 472 511 abs_top_srcdir = @abs_top_srcdir@ 512 ac_ct_AR = @ac_ct_AR@ 473 513 ac_ct_CC = @ac_ct_CC@ 474 514 ac_ct_CXX = @ac_ct_CXX@ 515 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 475 516 am__include = @am__include@ 476 517 am__leading_dot = @am__leading_dot@ … … 522 563 # create object files in directory with source files 523 564 AUTOMAKE_OPTIONS = foreign subdir-objects 565 ACLOCAL_AMFLAGS = -I automake 524 566 SRC = main.cc MakeLibCfa.cc CompilationState.cc CodeGen/Generate.cc \ 525 567 CodeGen/CodeGenerator.cc CodeGen/GenType.cc \ … … 681 723 682 724 .SUFFIXES: 683 .SUFFIXES: .cc .ll . o .obj .yy725 .SUFFIXES: .cc .ll .lo .o .obj .yy 684 726 $(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) 685 727 @for dep in $?; do \ … … 970 1012 sed 's/$(EXEEXT)$$//' | \ 971 1013 while read p p1; do if test -f $$p \ 1014 || test -f $$p1 \ 972 1015 ; then echo "$$p"; echo "$$p"; else :; fi; \ 973 1016 done | \ … … 984 1027 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 985 1028 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 $$?; \ 988 1031 } \ 989 1032 ; done … … 1001 1044 1002 1045 clean-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 1004 1053 CodeGen/Generate.$(OBJEXT): CodeGen/$(am__dirstamp) \ 1005 1054 CodeGen/$(DEPDIR)/$(am__dirstamp) … … 1241 1290 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 1242 1291 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 1243 1300 .ll.cc: 1244 1301 $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) … … 1246 1303 .yy.cc: 1247 1304 $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) 1305 1306 mostlyclean-libtool: 1307 -rm -f *.lo 1308 1309 clean-libtool: 1310 -rm -rf .libs _libs 1311 -rm -rf ../driver/.libs ../driver/_libs 1248 1312 1249 1313 ID: $(am__tagged_files) … … 1405 1469 clean: clean-am 1406 1470 1407 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean- noinstLIBRARIES\1408 mostlyclean-am1471 clean-am: clean-cfa_cpplibPROGRAMS clean-generic clean-libtool \ 1472 clean-noinstLIBRARIES mostlyclean-am 1409 1473 1410 1474 distclean: distclean-am … … 1461 1525 mostlyclean: mostlyclean-am 1462 1526 1463 mostlyclean-am: mostlyclean-compile mostlyclean-generic 1527 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 1528 mostlyclean-libtool 1464 1529 1465 1530 pdf: pdf-am … … 1476 1541 1477 1542 .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 \ 1490 1556 uninstall-cfa_cpplibPROGRAMS 1491 1557 -
src/Parser/DeclarationNode.cc
raeb8f70 re99e43f 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 20 14:56:54201813 // Update Count : 110 712 // Last Modified On : Thu Nov 1 20:54:26 2018 13 // Update Count : 1108 14 14 // 15 15 … … 402 402 } 403 403 404 DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr ) {405 DeclarationNode * newnode = new DeclarationNode; 406 newnode->type = new TypeData( TypeData::Typeof );404 DeclarationNode * DeclarationNode::newTypeof( ExpressionNode * expr, bool basetypeof ) { 405 DeclarationNode * newnode = new DeclarationNode; 406 newnode->type = new TypeData( basetypeof ? TypeData::Basetypeof : TypeData::Typeof ); 407 407 newnode->type->typeexpr = expr; 408 408 return newnode; -
src/Parser/ParseNode.h
raeb8f70 re99e43f 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 4 09:39:40201813 // Update Count : 85 312 // Last Modified On : Thu Nov 1 20:54:53 2018 13 // Update Count : 854 14 14 // 15 15 … … 249 249 static DeclarationNode * newBitfield( ExpressionNode * size ); 250 250 static DeclarationNode * newTuple( DeclarationNode * members ); 251 static DeclarationNode * newTypeof( ExpressionNode * expr );251 static DeclarationNode * newTypeof( ExpressionNode * expr, bool basetypeof = false ); 252 252 static DeclarationNode * newAttr( const std::string *, ExpressionNode * expr ); // @ attributes 253 253 static DeclarationNode * newAttr( const std::string *, DeclarationNode * type ); // @ attributes -
src/Parser/TypeData.cc
raeb8f70 re99e43f 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 20 14:39:31201813 // Update Count : 62 212 // Last Modified On : Fri Nov 2 07:54:26 2018 13 // Update Count : 624 14 14 // 15 15 … … 96 96 break; 97 97 case Typeof: 98 case Basetypeof: 98 99 // typeexpr = new Typeof_t; 99 100 typeexpr = nullptr; … … 166 167 break; 167 168 case Typeof: 169 case Basetypeof: 168 170 // delete typeexpr->expr; 169 171 delete typeexpr; … … 245 247 break; 246 248 case Typeof: 249 case Basetypeof: 247 250 newtype->typeexpr = maybeClone( typeexpr ); 248 251 break; … … 419 422 } // if 420 423 break; 424 case Basetypeof: 425 os << "base-"; 426 #if defined(__GNUC__) && __GNUC__ >= 7 427 __attribute__((fallthrough)); 428 #endif 421 429 case Typeof: 422 430 os << "type-of expression "; … … 457 465 case Tuple: 458 466 case Typeof: 467 case Basetypeof: 459 468 case Builtin: 460 469 assertf(false, "Tried to get leaf name from kind without a name: %d", kind); … … 513 522 switch ( td->kind ) { 514 523 case TypeData::Unknown: 515 // fill in implicit int516 return new BasicType( buildQualifiers( td ), BasicType::SignedInt );524 // fill in implicit int 525 return new BasicType( buildQualifiers( td ), BasicType::SignedInt ); 517 526 case TypeData::Basic: 518 return buildBasicType( td );527 return buildBasicType( td ); 519 528 case TypeData::Pointer: 520 return buildPointer( td );529 return buildPointer( td ); 521 530 case TypeData::Array: 522 return buildArray( td );531 return buildArray( td ); 523 532 case TypeData::Reference: 524 return buildReference( td );533 return buildReference( td ); 525 534 case TypeData::Function: 526 return buildFunction( td );535 return buildFunction( td ); 527 536 case TypeData::AggregateInst: 528 return buildAggInst( td );537 return buildAggInst( td ); 529 538 case TypeData::EnumConstant: 530 // the name gets filled in later -- by SymTab::Validate531 return new EnumInstType( buildQualifiers( td ), "" );539 // the name gets filled in later -- by SymTab::Validate 540 return new EnumInstType( buildQualifiers( td ), "" ); 532 541 case TypeData::SymbolicInst: 533 return buildSymbolicInst( td );542 return buildSymbolicInst( td ); 534 543 case TypeData::Tuple: 535 return buildTuple( td );544 return buildTuple( td ); 536 545 case TypeData::Typeof: 537 return buildTypeof( td ); 546 case TypeData::Basetypeof: 547 return buildTypeof( td ); 538 548 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 } 548 558 case TypeData::GlobalScope: 549 return new GlobalScopeType();559 return new GlobalScopeType(); 550 560 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 ) ); 552 562 case TypeData::Symbolic: 553 563 case TypeData::Enum: 554 564 case TypeData::Aggregate: 555 assert( false );565 assert( false ); 556 566 } // switch 557 567 … … 929 939 930 940 TypeofType * buildTypeof( const TypeData * td ) { 931 assert( td->kind == TypeData::Typeof );941 assert( td->kind == TypeData::Typeof || td->kind == TypeData::Basetypeof ); 932 942 assert( td->typeexpr ); 933 943 // 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 }; 935 946 } // buildTypeof 936 947 -
src/Parser/TypeData.h
raeb8f70 re99e43f 10 10 // Created On : Sat May 16 15:18:36 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jul 20 13:56:40201813 // Update Count : 19 512 // Last Modified On : Thu Nov 1 20:56:46 2018 13 // Update Count : 196 14 14 // 15 15 … … 27 27 struct TypeData { 28 28 enum Kind { Basic, Pointer, Reference, Array, Function, Aggregate, AggregateInst, Enum, EnumConstant, Symbolic, 29 SymbolicInst, Tuple, Typeof, B uiltin, GlobalScope, Qualified, Unknown };29 SymbolicInst, Tuple, Typeof, Basetypeof, Builtin, GlobalScope, Qualified, Unknown }; 30 30 31 31 struct Aggregate_t { -
src/Parser/lex.ll
raeb8f70 re99e43f 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Wed Aug 29 15:02:41201813 * Update Count : 68 612 * Last Modified On : Thu Nov 1 20:57:35 2018 13 * Update Count : 687 14 14 */ 15 15 … … 209 209 __attribute__ { KEYWORD_RETURN(ATTRIBUTE); } // GCC 210 210 auto { KEYWORD_RETURN(AUTO); } 211 basetypeof { KEYWORD_RETURN(BASETYPEOF); } // CFA 211 212 _Bool { KEYWORD_RETURN(BOOL); } // C99 212 213 break { KEYWORD_RETURN(BREAK); } -
src/Parser/parser.yy
raeb8f70 re99e43f 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 30 17:02:25201813 // Update Count : 40 2912 // Last Modified On : Thu Nov 8 18:08:23 2018 13 // Update Count : 4052 14 14 // 15 15 … … 186 186 } // fieldDecl 187 187 188 ExpressionNode *forInc( const OperKinds op ) {189 return new ExpressionNode( build_constantInteger( *new string( op == OperKinds::LThan || op == OperKinds::LEThan ? "1" : "-1" ) ) );190 } // forInc191 192 188 ForCtrl * 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()); 194 190 if ( constant && (constant->get_constant()->get_value() == "0" || constant->get_constant()->get_value() == "1") ) { 195 191 type = new ExpressionNode( new CastExpr( maybeMoveBuild< Expression >(type), new BasicType( Type::Qualifiers(), BasicType::SignedInt ) ) ); 196 192 } // if 197 193 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 ) ) ), 199 195 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 200 ForCtrl * 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 201 206 } // forCtrl 202 207 … … 261 266 %token ZERO_T ONE_T // CFA 262 267 %token VALIST // GCC 263 %token TYPEOF LABEL// GCC268 %token TYPEOF BASETYPEOF LABEL // GCC 264 269 %token ENUM STRUCT UNION 265 270 %token EXCEPTION // CFA … … 636 641 { $$ = new ExpressionNode( build_fieldSel( $1, build_tuple( $4 ) ) ); } 637 642 | 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 ) ) ); } 641 644 | postfix_expression ARROW INTEGERconstant // CFA, tuple index 642 645 { $$ = new ExpressionNode( build_pfieldSel( $1, build_constantInteger( *$3 ) ) ); } … … 1137 1140 | FOR '(' push for_control_expression ')' statement pop 1138 1141 { $$ = 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 ) ); } 1139 1144 ; 1140 1145 1141 1146 for_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" ) ) ) ); } 1151 1150 | 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" ) ) ) ); } 1153 1152 | constant_expression inclexcl constant_expression '~' constant_expression // CFA 1154 1153 { $$ = 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 1195 1162 { $$ = new ForCtrl( $1, $3, $5 ); } 1163 | ';' comma_expression_opt ';' comma_expression_opt 1164 { $$ = new ForCtrl( (ExpressionNode * )nullptr, $2, $4 ); } 1196 1165 | declaration comma_expression_opt ';' comma_expression_opt // C99, declaration has ';' 1197 1166 { $$ = new ForCtrl( $1, $2, $4 ); } … … 1855 1824 1856 1825 indirect_type: 1857 TYPEOF '(' type ')' // GCC: typeof( x) y;1826 TYPEOF '(' type ')' // GCC: typeof( x ) y; 1858 1827 { $$ = $3; } 1859 | TYPEOF '(' comma_expression ')' // GCC: typeof( a+b) y;1828 | TYPEOF '(' comma_expression ')' // GCC: typeof( a+b ) y; 1860 1829 { $$ = 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; 1862 1835 { $$ = 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; 1864 1837 { $$ = DeclarationNode::newAttr( $1, $3 ); } 1865 1838 | ZERO_T // CFA -
src/ResolvExpr/Alternative.cc
raeb8f70 re99e43f 120 120 os << "Null expression!" << std::endl; 121 121 } // if 122 os << indent << "Environment: 122 os << indent << "Environment:"; 123 123 env.print( os, indent+1 ); 124 124 os << std::endl; -
src/ResolvExpr/AlternativeFinder.cc
raeb8f70 re99e43f 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sat May 16 23:52:08 2015 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : Fri Oct -5 10:01:00201813 // Update Count : 3 411 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Nov 1 21:00:56 2018 13 // Update Count : 35 14 14 // 15 15 … … 500 500 needAssertions[ *assert ].isUsed = true; 501 501 } 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 } 609 504 610 505 /// Unique identifier for matching expression resolutions to their requesting expression … … 613 508 template< typename OutputIterator > 614 509 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 626 510 // Set need bindings for any unbound assertions 627 511 UniqueId crntResnSlot = 0; // matching ID for this expression's assertions … … 1373 1257 /// Gets name from untyped member expression (member must be NameExpr) 1374 1258 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 1375 1262 NameExpr * nameExpr = dynamic_cast< NameExpr * >( memberExpr->get_member() ); 1376 1263 assert( nameExpr ); -
src/ResolvExpr/ResolveTypeof.cc
raeb8f70 re99e43f 67 67 std::cerr << std::endl; 68 68 #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 70 83 Expression * newExpr = resolveInVoidContext( typeofType->expr, indexer ); 71 84 assert( newExpr->result && ! newExpr->result->isVoid() ); 72 Type *newType = newExpr->result;85 newType = newExpr->result; 73 86 newExpr->result = nullptr; 74 87 delete typeofType; 75 88 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; 79 108 } 80 109 } // namespace ResolvExpr -
src/SynTree/Expression.cc
raeb8f70 re99e43f 376 376 os << "Untyped Member Expression, with field: " << std::endl << indent+1; 377 377 member->print(os, indent+1 ); 378 os << indent << "... from aggregate: 378 os << indent << "... from aggregate:" << std::endl << indent+1; 379 379 aggregate->print(os, indent+1); 380 380 Expression::print( os, indent ); … … 405 405 406 406 void MemberExpr::print( std::ostream &os, Indenter indent ) const { 407 os << "Member Expression, with field: 407 os << "Member Expression, with field:" << std::endl; 408 408 os << indent+1; 409 409 member->print( os, indent+1 ); 410 os << std::endl << indent << "... from aggregate: 410 os << std::endl << indent << "... from aggregate:" << std::endl << indent+1; 411 411 aggregate->print(os, indent + 1); 412 412 Expression::print( os, indent ); -
src/SynTree/FunctionDecl.cc
raeb8f70 re99e43f 87 87 88 88 if ( statements ) { 89 os << indent << "... with body 89 os << indent << "... with body" << endl << indent+1; 90 90 statements->print( os, indent+1 ); 91 91 } // if -
src/SynTree/FunctionType.cc
raeb8f70 re99e43f 66 66 os << indent+1 << "accepting unspecified arguments" << endl; 67 67 } // if 68 os << indent << "... returning 68 os << indent << "... returning"; 69 69 if ( returnVals.empty() ) { 70 os << " nothing" << endl;70 os << " nothing" << endl; 71 71 } else { 72 72 os << endl; -
src/SynTree/ObjectDecl.cc
raeb8f70 re99e43f 66 66 67 67 if ( ! attributes.empty() ) { 68 os << std::endl << indent << "... with attributes: 68 os << std::endl << indent << "... with attributes:" << std::endl; 69 69 printAll( attributes, os, indent+1 ); 70 70 } -
src/SynTree/ReferenceToType.cc
raeb8f70 re99e43f 93 93 else { 94 94 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(); 96 96 if ( ! parameters.empty() ) { 97 97 os << endl << indent << "... with parameters" << endl; … … 136 136 else { 137 137 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(); 139 139 if ( ! parameters.empty() ) { 140 140 os << endl << indent << "... with parameters" << endl; … … 160 160 else { 161 161 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(); 163 163 } // if 164 164 } -
src/SynTree/Type.h
raeb8f70 re99e43f 598 598 class TypeofType : public Type { 599 599 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 * >() ); 603 606 TypeofType( const TypeofType& ); 604 607 virtual ~TypeofType(); -
src/SynTree/TypeofType.cc
raeb8f70 re99e43f 23 23 class Attribute; 24 24 25 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, const std::list< Attribute * > & attributes ) : Type( tq, attributes ), expr( expr ) { 26 } 25 TypeofType::TypeofType( const Type::Qualifiers &tq, Expression *expr, 26 const std::list< Attribute * > & attributes ) 27 : Type( tq, attributes ), expr( expr ), is_basetypeof(false) {} 27 28 28 TypeofType::TypeofType( const TypeofType &other ) : Type( other ), expr( maybeClone( other.expr ) ) { 29 } 29 TypeofType::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 33 TypeofType::TypeofType( const TypeofType &other ) 34 : Type( other ), expr( maybeClone( other.expr ) ), is_basetypeof( other.is_basetypeof ) {} 30 35 31 36 TypeofType::~TypeofType() { … … 35 40 void TypeofType::print( std::ostream &os, Indenter indent ) const { 36 41 Type::print( os, indent ); 42 if ( is_basetypeof ) { os << "base-"; } 37 43 os << "type-of expression "; 38 44 if ( expr ) { -
src/cfa.make
raeb8f70 re99e43f 1 2 1 3 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS) 4 LTCFACOMPILE = $(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) 2 8 3 9 AM_V_CFA = $(am__v_CFA_@AM_V@) … … 10 16 $(CFACOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ 11 17 $(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 24 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@) 25 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@) 26 am__v_JAVAC_0 = @echo " JAVAC " $@; 27 am__v_JAVAC_1 = 28 29 AM_V_GOC = $(am__v_GOC_@AM_V@) 30 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@) 31 am__v_GOC_0 = @echo " GOC " $@; 32 am__v_GOC_1 = 33 34 35 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 36 37 AM_V_UPP = $(am__v_UPP_@AM_V@) 38 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 39 am__v_UPP_0 = @echo " UPP " $@; 40 am__v_UPP_1 = -
src/config.h.in
raeb8f70 re99e43f 7 7 #undef CFA_64_CPU 8 8 9 /* Location of include files. */9 /* Backend compiler to use. */ 10 10 #undef CFA_BACKEND_CC 11 11 … … 67 67 #undef HAVE_ALLOCA_H 68 68 69 /* Define to 1 if you have the <dlfcn.h> header file. */ 70 #undef HAVE_DLFCN_H 71 69 72 /* Define to 1 if you have the <fenv.h> header file. */ 70 73 #undef HAVE_FENV_H … … 129 132 /* Define to 1 if the system has the type `_Bool'. */ 130 133 #undef HAVE__BOOL 134 135 /* Define to the sub-directory where libtool stores uninstalled libraries. */ 136 #undef LT_OBJDIR 131 137 132 138 /* Name of package */ -
src/main.cc
raeb8f70 re99e43f 487 487 resolvep = true; 488 488 break; 489 489 case 'R': // dump resolv-proto instance 490 490 resolvprotop = true; 491 491 break; -
tests/.expect/alloc-ERROR.txt
raeb8f70 re99e43f 1 alloc.c :265:1 error: No reasonable alternatives for expression Applying untyped:1 alloc.cfa:265:1 error: No reasonable alternatives for expression Applying untyped: 2 2 Name: ?=? 3 3 ...to: … … 19 19 20 20 21 alloc.c :266:1 error: No reasonable alternatives for expression Applying untyped:21 alloc.cfa:266:1 error: No reasonable alternatives for expression Applying untyped: 22 22 Name: ?=? 23 23 ...to: … … 39 39 40 40 41 alloc.c :267:1 error: No reasonable alternatives for expression Applying untyped:41 alloc.cfa:267:1 error: No reasonable alternatives for expression Applying untyped: 42 42 Name: ?=? 43 43 ...to: … … 50 50 51 51 52 alloc.c :268:1 error: No reasonable alternatives for expression Applying untyped:52 alloc.cfa:268:1 error: No reasonable alternatives for expression Applying untyped: 53 53 Name: ?=? 54 54 ...to: -
tests/.expect/castError.txt
raeb8f70 re99e43f 1 castError.c :7:1 error: Cannot choose between 3 alternatives for expression1 castError.cfa:7:1 error: Cannot choose between 3 alternatives for expression 2 2 Cast of: 3 3 Name: f … … 7 7 Variable Expression: f: function 8 8 accepting unspecified arguments 9 ... returning nothing 9 ... returning nothing 10 10 11 11 ... to: … … 14 14 char 15 15 ) 16 Environment: 16 Environment: 17 17 18 18 Cost ( 1, 0, 0, 0, 0, 0 ): Cast of: … … 23 23 char 24 24 ) 25 Environment: 25 Environment: 26 26 27 27 Cost ( 1, 0, 0, 0, 0, 0 ): Cast of: … … 32 32 char 33 33 ) 34 Environment: 34 Environment: 35 35 36 36 -
tests/.expect/completeTypeError.txt
raeb8f70 re99e43f 1 completeTypeError.c :33:1 error: No reasonable alternatives for expression Applying untyped:1 completeTypeError.cfa:33:1 error: No reasonable alternatives for expression Applying untyped: 2 2 Name: *? 3 3 ...to: 4 4 Name: v 5 5 6 completeTypeError.c :34:1 error: No reasonable alternatives for expression Applying untyped:6 completeTypeError.cfa:34:1 error: No reasonable alternatives for expression Applying untyped: 7 7 Name: *? 8 8 ...to: 9 9 Name: y 10 10 11 completeTypeError.c :35:1 error: No reasonable alternatives for expression Applying untyped:11 completeTypeError.cfa:35:1 error: No reasonable alternatives for expression Applying untyped: 12 12 Name: foo 13 13 ...to: 14 14 Name: v 15 15 16 completeTypeError.c :36:1 error: No reasonable alternatives for expression Applying untyped:16 completeTypeError.cfa:36:1 error: No reasonable alternatives for expression Applying untyped: 17 17 Name: baz 18 18 ...to: 19 19 Name: v 20 20 21 completeTypeError.c :37:1 error: No reasonable alternatives for expression Applying untyped:21 completeTypeError.cfa:37:1 error: No reasonable alternatives for expression Applying untyped: 22 22 Name: quux 23 23 ...to: 24 24 Name: v 25 25 26 completeTypeError.c :58:1 error: No reasonable alternatives for expression Applying untyped:26 completeTypeError.cfa:58:1 error: No reasonable alternatives for expression Applying untyped: 27 27 Name: baz 28 28 ...to: 29 29 Name: y 30 30 31 completeTypeError.c :59:1 error: No reasonable alternatives for expression Applying untyped:31 completeTypeError.cfa:59:1 error: No reasonable alternatives for expression Applying untyped: 32 32 Name: quux 33 33 ...to: 34 34 Name: y 35 35 36 completeTypeError.c :60:1 error: No reasonable alternatives for expression Applying untyped:36 completeTypeError.cfa:60:1 error: No reasonable alternatives for expression Applying untyped: 37 37 Name: *? 38 38 ...to: 39 39 Name: y 40 40 41 completeTypeError.c :72:1 error: No resolvable alternatives for expression Applying untyped:41 completeTypeError.cfa:72:1 error: No resolvable alternatives for expression Applying untyped: 42 42 Name: baz 43 43 ...to: -
tests/.expect/declarationErrors.txt
raeb8f70 re99e43f 1 declarationErrors.c :16:1 error: duplicate static in declaration of x1: static const volatile short int1 declarationErrors.cfa:16:1 error: duplicate static in declaration of x1: static const volatile short int 2 2 3 declarationErrors.c :17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int3 declarationErrors.cfa:17:1 error: conflicting extern & static in declaration of x2: extern const volatile short int 4 4 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 int5 declarationErrors.cfa:18:1 error: conflicting extern & auto, conflicting extern & static, conflicting extern & static, duplicate extern in declaration of x3: extern const volatile short int 6 6 7 declarationErrors.c :19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous07 declarationErrors.cfa:19:1 error: duplicate static in declaration of x4: static const volatile instance of const volatile struct __anonymous0 8 8 with members 9 9 i: int … … 11 11 12 12 13 declarationErrors.c :20:1 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous113 declarationErrors.cfa:20:1 error: duplicate const, duplicate static, duplicate volatile in declaration of x5: static const volatile instance of const volatile struct __anonymous1 14 14 with members 15 15 i: int … … 17 17 18 18 19 declarationErrors.c :22:1 error: duplicate static in declaration of x6: static const volatile Int19 declarationErrors.cfa:22:1 error: duplicate static in declaration of x6: static const volatile Int 20 20 21 declarationErrors.c :24:1 error: duplicate const in declaration of f01: static inline function21 declarationErrors.cfa:24:1 error: duplicate const in declaration of f01: static inline function 22 22 with no parameters 23 23 returning const volatile int 24 24 25 25 26 declarationErrors.c :25:1 error: duplicate volatile in declaration of f02: static inline function26 declarationErrors.cfa:25:1 error: duplicate volatile in declaration of f02: static inline function 27 27 with no parameters 28 28 returning const volatile int 29 29 30 30 31 declarationErrors.c :26:1 error: duplicate const in declaration of f03: static inline function31 declarationErrors.cfa:26:1 error: duplicate const in declaration of f03: static inline function 32 32 with no parameters 33 33 returning const volatile int 34 34 35 35 36 declarationErrors.c :27:1 error: duplicate volatile in declaration of f04: static inline function36 declarationErrors.cfa:27:1 error: duplicate volatile in declaration of f04: static inline function 37 37 with no parameters 38 38 returning const volatile int 39 39 40 40 41 declarationErrors.c :28:1 error: duplicate const in declaration of f05: static inline function41 declarationErrors.cfa:28:1 error: duplicate const in declaration of f05: static inline function 42 42 with no parameters 43 43 returning const volatile int 44 44 45 45 46 declarationErrors.c :29:1 error: duplicate volatile in declaration of f06: static inline function46 declarationErrors.cfa:29:1 error: duplicate volatile in declaration of f06: static inline function 47 47 with no parameters 48 48 returning const volatile int 49 49 50 50 51 declarationErrors.c :30:1 error: duplicate const in declaration of f07: static inline function51 declarationErrors.cfa:30:1 error: duplicate const in declaration of f07: static inline function 52 52 with no parameters 53 53 returning const volatile int 54 54 55 55 56 declarationErrors.c :31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function56 declarationErrors.cfa:31:1 error: duplicate const, duplicate volatile in declaration of f08: static inline function 57 57 with no parameters 58 58 returning const volatile int 59 59 60 60 61 declarationErrors.c :33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function61 declarationErrors.cfa:33:1 error: duplicate const, duplicate volatile in declaration of f09: static inline function 62 62 with no parameters 63 63 returning const volatile int 64 64 65 65 66 declarationErrors.c :34:1 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function66 declarationErrors.cfa:34:1 error: duplicate const, duplicate _Atomic, duplicate _Atomic, duplicate const, duplicate restrict, duplicate volatile in declaration of f09: static inline function 67 67 with no parameters 68 68 returning const restrict volatile _Atomic int -
tests/.expect/loopctrl.txt
raeb8f70 re99e43f 3 3 empty 4 4 5 zero 5 6 A 6 A A7 7 A A A A A A A A A A 8 8 B B B B B … … 10 10 D D D D D 11 11 E E E E E 12 0 1 2 3 4 5 6 7 8 9 12 13 13 0 1 2 3 4 5 6 7 8 9 14 14 1 3 5 7 9 … … 18 18 2 4 6 8 10 19 19 10 8 6 4 2 20 21 22 N N N N N N N N N N 23 0 1 2 3 4 5 6 7 8 9 24 10 9 8 7 6 5 4 3 2 1 25 26 20 27 3 6 9 28 29 21 30 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 22 31 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 32 23 33 (0 0)(1 1)(2 2)(3 3)(4 4)(5 5)(6 6)(7 7)(8 8)(9 9) 24 34 (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 T1 nested-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 Z2 nested-types.c :74:1 error: Qualified type requires an aggregate on the left, but has: signed int3 nested-types.c :75:1 error: Undefined type in qualified type: Qualified Type:1 nested-types.cfa:73:1 error: Use of undefined global type Z 2 nested-types.cfa:74:1 error: Qualified type requires an aggregate on the left, but has: signed int 3 nested-types.cfa:75:1 error: Undefined type in qualified type: Qualified Type: 4 4 instance of struct S with body 1 5 5 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 int2 scopeErrors.c :20:1 error: duplicate function definition for butThisIsAnError: function1 scopeErrors.cfa:2:1 error: duplicate object definition for thisIsAnError: signed int 2 scopeErrors.cfa:20:1 error: duplicate function definition for butThisIsAnError: function 3 3 ... with parameters 4 4 double 5 ... returning 5 ... returning 6 6 _retval_butThisIsAnError: double 7 ... with attributes: 7 ... with attributes: 8 8 Attribute with name: unused 9 9 10 ... with body 10 ... with body 11 11 CompoundStmt 12 12 -
tests/.expect/typedefRedef-ERR1.txt
raeb8f70 re99e43f 1 typedefRedef.c :4:1 error: Cannot redefine typedef: Foo2 typedefRedef.c :60:1 error: Cannot redefine typedef: ARR1 typedefRedef.cfa:4:1 error: Cannot redefine typedef: Foo 2 typedefRedef.cfa:60:1 error: Cannot redefine typedef: ARR -
tests/KRfunctions.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // KRfunctions.c --7 // KRfunctions.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Feb 16 15:23:17 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Aug 20 07:34:17 201713 // Update Count : 712 // Last Modified On : Tue Nov 6 17:50:34 2018 13 // Update Count : 9 14 14 // 15 15 … … 49 49 // Local Variables: // 50 50 // tab-width: 4 // 51 // compile-command: "cfa KRfunctions.c " //51 // compile-command: "cfa KRfunctions.cfa" // 52 52 // End: // -
tests/Makefile.am
raeb8f70 re99e43f 11 11 ## Created On : Sun May 31 09:08:15 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Wed Jun 6 16:42:20201814 ## Update Count : 4913 ## Last Modified On : Tue Nov 20 11:18:51 2018 14 ## Update Count : 68 15 15 ############################################################################### 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 19 20 include $(top_srcdir)/src/cfa.make 18 21 19 22 debug=yes … … 36 39 37 40 AM_CFLAGS += ${DEBUG_FLAGS} ${INSTALL_FLAGS} ${ARCH_FLAGS} 38 39 41 CC = @CFACC@ 40 42 … … 42 44 43 45 .PHONY: list .validate 44 .INTERMEDIATE: .validate .validate.c 45 EXTRA_PROGRAMS = fstream_test avl_test# build but do not install46 .INTERMEDIATE: .validate .validate.cfa 47 EXTRA_PROGRAMS = avl_test .dummy_hack # build but do not install 46 48 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.c49 avl_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 50 52 51 53 #---------------------------------------------------------------------------------------------------------------- … … 62 64 @+${TEST_PY} --list ${concurrent} 63 65 64 .validate: .validate.c 65 $(C OMPILE) .validate.c-fsyntax-only -Wall -Wextra -Werror66 .validate: .validate.cfa 67 $(CFACOMPILE) .validate.cfa -fsyntax-only -Wall -Wextra -Werror 66 68 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: 68 74 @echo "int main() { return 0; }" > ${@} 69 75 … … 72 78 73 79 #---------------------------------------------------------------------------------------------------------------- 80 74 81 # implicit rule so not all test require a rule 75 % : %.c $(CC)76 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})82 % : %.cfa $(CFACC) 83 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 77 84 78 declarationSpecifier: declarationSpecifier.c $(CC)79 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})85 declarationSpecifier: declarationSpecifier.cfa $(CFACC) 86 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 80 87 81 gccExtensions : gccExtensions.c $(CC)82 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})88 gccExtensions : gccExtensions.cfa $(CFACC) 89 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 83 90 84 extension : extension.c $(CC)85 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})91 extension : extension.cfa $(CFACC) 92 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 86 93 87 attributes : attributes.c $(CC)88 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})94 attributes : attributes.cfa $(CFACC) 95 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 89 96 90 functions: functions.c $(CC)91 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})97 functions: functions.cfa $(CFACC) 98 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 92 99 93 KRfunctions : KRfunctions.c $(CC)94 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})100 KRfunctions : KRfunctions.cfa $(CFACC) 101 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 95 102 96 sched-ext-parse : sched-ext-parse.c $(C C)97 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})103 sched-ext-parse : sched-ext-parse.c $(CFACC) 104 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 98 105 99 gmp : gmp.c $(CC)100 $(PRETTY_PATH) $(C OMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})106 gmp : gmp.cfa $(CFACC) 107 $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 101 108 102 109 #builtins 103 builtins/sync: builtins/sync.c $(CC)104 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only110 builtins/sync: builtins/sync.cfa $(CFACC) 111 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 105 112 106 113 #------------------------------------------------------------------------------ 114 107 115 #To make errors path independent we need to cd into the correct directories 108 completeTypeError : completeTypeError.c $(CC)109 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})116 completeTypeError : completeTypeError.cfa $(CFACC) 117 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 110 118 111 typedefRedef-ERR1: typedefRedef.c $(CC)112 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})119 typedefRedef-ERR1: typedefRedef.cfa $(CFACC) 120 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 113 121 114 alloc-ERROR: alloc.c $(CC)115 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})122 alloc-ERROR: alloc.cfa $(CFACC) 123 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 116 124 117 fallthrough-ERROR: fallthrough.c $(CC)118 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})125 fallthrough-ERROR: fallthrough.cfa $(CFACC) 126 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 119 127 120 nested-types-ERR1: nested-types.c $(CC)121 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})128 nested-types-ERR1: nested-types.cfa $(CFACC) 129 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 122 130 123 nested-types-ERR2: nested-types.c $(CC)124 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})131 nested-types-ERR2: nested-types.cfa $(CFACC) 132 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 125 133 126 134 # Constructor/destructor tests 127 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)128 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})135 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC) 136 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 129 137 130 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)131 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})138 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC) 139 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 132 140 133 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)134 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})141 raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC) 142 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 135 143 136 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)137 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})144 raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC) 145 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 138 146 139 147 # Warnings 140 warnings/self-assignment: warnings/self-assignment.c $(CC)141 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only148 warnings/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 91 91 build_triplet = @build@ 92 92 host_triplet = @host@ 93 EXTRA_PROGRAMS = fstream_test$(EXEEXT) avl_test$(EXEEXT)93 EXTRA_PROGRAMS = avl_test$(EXEEXT) .dummy_hack$(EXEEXT) 94 94 subdir = tests 95 95 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 96 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 97 $(top_srcdir)/configure.ac 96 am__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 98 102 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 99 103 $(ACLOCAL_M4) … … 103 107 CONFIG_CLEAN_FILES = config.py 104 108 CONFIG_CLEAN_VPATH_FILES = test.py 109 am__dummy_hack_OBJECTS = .dummy_hack.$(OBJEXT) 110 _dummy_hack_OBJECTS = $(am__dummy_hack_OBJECTS) 111 _dummy_hack_LDADD = $(LDADD) 112 AM_V_lt = $(am__v_lt_@AM_V@) 113 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 114 am__v_lt_0 = --silent 115 am__v_lt_1 = 105 116 am__dirstamp = $(am__leading_dot)dirstamp 106 117 am_avl_test_OBJECTS = avltree/avl_test.$(OBJEXT) \ … … 110 121 avl_test_OBJECTS = $(am_avl_test_OBJECTS) 111 122 avl_test_LDADD = $(LDADD) 112 am_fstream_test_OBJECTS = fstream_test.$(OBJEXT)113 fstream_test_OBJECTS = $(am_fstream_test_OBJECTS)114 fstream_test_LDADD = $(LDADD)115 123 AM_V_P = $(am__v_P_@AM_V@) 116 124 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 131 139 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 132 140 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 141 LTCOMPILE = $(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) 133 145 AM_V_CC = $(am__v_CC_@AM_V@) 134 146 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 136 148 am__v_CC_1 = 137 149 CCLD = $(CC) 138 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 150 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 151 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 152 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 139 153 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 140 154 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) 141 155 am__v_CCLD_0 = @echo " CCLD " $@; 142 156 am__v_CCLD_1 = 143 SOURCES = $( avl_test_SOURCES) $(fstream_test_SOURCES)144 DIST_SOURCES = $( avl_test_SOURCES) $(fstream_test_SOURCES)157 SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES) 158 DIST_SOURCES = $(_dummy_hack_SOURCES) $(avl_test_SOURCES) 145 159 am__can_run_installinfo = \ 146 160 case $$AM_UPDATE_INFO_DIR in \ … … 168 182 CTAGS = ctags 169 183 am__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 171 186 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 172 187 ACLOCAL = @ACLOCAL@ … … 174 189 AMTAR = @AMTAR@ 175 190 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 191 AR = @AR@ 176 192 AUTOCONF = @AUTOCONF@ 177 193 AUTOHEADER = @AUTOHEADER@ 178 194 AUTOMAKE = @AUTOMAKE@ 179 195 AWK = @AWK@ 180 BACKEND_CC = @BACKEND_CC@181 196 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 182 197 CC = @CFACC@ … … 198 213 CPPFLAGS = @CPPFLAGS@ 199 214 CXX = @CXX@ 215 CXXCPP = @CXXCPP@ 200 216 CXXDEPMODE = @CXXDEPMODE@ 201 217 CXXFLAGS = @CXXFLAGS@ … … 203 219 DEFS = @DEFS@ 204 220 DEPDIR = @DEPDIR@ 221 DLLTOOL = @DLLTOOL@ 205 222 DRIVER_DIR = @DRIVER_DIR@ 223 DSYMUTIL = @DSYMUTIL@ 224 DUMPBIN = @DUMPBIN@ 206 225 ECHO_C = @ECHO_C@ 207 226 ECHO_N = @ECHO_N@ … … 209 228 EGREP = @EGREP@ 210 229 EXEEXT = @EXEEXT@ 230 FGREP = @FGREP@ 211 231 GREP = @GREP@ 212 232 HOST_FLAGS = @HOST_FLAGS@ … … 216 236 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 217 237 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 238 LD = @LD@ 218 239 LDFLAGS = @LDFLAGS@ 219 240 LEX = @LEX@ … … 224 245 LIBOBJS = @LIBOBJS@ 225 246 LIBS = @LIBS@ 247 LIBTOOL = @LIBTOOL@ 248 LIPO = @LIPO@ 249 LN_S = @LN_S@ 226 250 LTLIBOBJS = @LTLIBOBJS@ 251 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 227 252 MAKEINFO = @MAKEINFO@ 253 MANIFEST_TOOL = @MANIFEST_TOOL@ 228 254 MKDIR_P = @MKDIR_P@ 255 NM = @NM@ 256 NMEDIT = @NMEDIT@ 257 OBJDUMP = @OBJDUMP@ 229 258 OBJEXT = @OBJEXT@ 259 OTOOL = @OTOOL@ 260 OTOOL64 = @OTOOL64@ 230 261 PACKAGE = @PACKAGE@ 231 262 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 237 268 PATH_SEPARATOR = @PATH_SEPARATOR@ 238 269 RANLIB = @RANLIB@ 270 SED = @SED@ 239 271 SET_MAKE = @SET_MAKE@ 240 272 SHELL = @SHELL@ … … 248 280 abs_top_builddir = @abs_top_builddir@ 249 281 abs_top_srcdir = @abs_top_srcdir@ 282 ac_ct_AR = @ac_ct_AR@ 250 283 ac_ct_CC = @ac_ct_CC@ 251 284 ac_ct_CXX = @ac_ct_CXX@ 285 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 252 286 am__include = @am__include@ 253 287 am__leading_dot = @am__leading_dot@ … … 297 331 top_srcdir = @top_srcdir@ 298 332 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 333 ACLOCAL_AMFLAGS = -I automake 334 CFACOMPILE = $(CFACC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CFAFLAGS) $(CFAFLAGS) $(AM_CFLAGS) $(CFLAGS) 335 LTCFACOMPILE = $(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 340 AM_V_CFA = $(am__v_CFA_@AM_V@) 341 am__v_CFA_ = $(am__v_CFA_@AM_DEFAULT_V@) 342 am__v_CFA_0 = @echo " CFA " $@; 343 am__v_CFA_1 = 344 AM_V_JAVAC = $(am__v_JAVAC_@AM_V@) 345 am__v_JAVAC_ = $(am__v_JAVAC_@AM_DEFAULT_V@) 346 am__v_JAVAC_0 = @echo " JAVAC " $@; 347 am__v_JAVAC_1 = 348 AM_V_GOC = $(am__v_GOC_@AM_V@) 349 am__v_GOC_ = $(am__v_GOC_@AM_DEFAULT_V@) 350 am__v_GOC_0 = @echo " GOC " $@; 351 am__v_GOC_1 = 352 UPPCOMPILE = $(UPPCC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_UPPFLAGS) $(UPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_CFLAGS) $(CFLAGS) 353 AM_V_UPP = $(am__v_UPP_@AM_V@) 354 am__v_UPP_ = $(am__v_UPP_@AM_DEFAULT_V@) 355 am__v_UPP_0 = @echo " UPP " $@; 356 am__v_UPP_1 = 299 357 debug = yes 300 358 installed = no … … 309 367 ${INSTALL_FLAGS} ${ARCH_FLAGS} 310 368 PRETTY_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 369 avl_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 313 372 all: all-am 314 373 315 374 .SUFFIXES: 316 .SUFFIXES: .c . o .obj .validate317 $(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) 318 377 @for dep in $?; do \ 319 378 case '$(am__configure_deps)' in \ … … 335 394 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ 336 395 esac; 396 $(top_srcdir)/src/cfa.make $(am__empty): 337 397 338 398 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) … … 346 406 config.py: $(top_builddir)/config.status $(srcdir)/config.py.in 347 407 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) 348 412 avltree/$(am__dirstamp): 349 413 @$(MKDIR_P) avltree … … 371 435 $(AM_V_CCLD)$(LINK) $(avl_test_OBJECTS) $(avl_test_LDADD) $(LIBS) 372 436 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 377 437 mostlyclean-compile: 378 438 -rm -f *.$(OBJEXT) … … 382 442 -rm -f *.tab.c 383 443 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@ 392 445 393 446 .c.o: … … 406 459 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 407 460 @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 470 mostlyclean-libtool: 471 -rm -f *.lo 472 473 clean-libtool: 474 -rm -rf .libs _libs 408 475 409 476 ID: $(am__tagged_files) … … 527 594 clean: clean-am 528 595 529 clean-am: clean-generic clean-l ocal mostlyclean-am596 clean-am: clean-generic clean-libtool clean-local mostlyclean-am 530 597 531 598 distclean: distclean-am 532 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)599 -rm -rf ./$(DEPDIR) 533 600 -rm -f Makefile 534 601 distclean-am: clean-am distclean-compile distclean-generic \ … … 576 643 577 644 maintainer-clean: maintainer-clean-am 578 -rm -rf ./$(DEPDIR) avltree/$(DEPDIR)645 -rm -rf ./$(DEPDIR) 579 646 -rm -f Makefile 580 647 maintainer-clean-am: distclean-am maintainer-clean-generic … … 582 649 mostlyclean: mostlyclean-am 583 650 584 mostlyclean-am: mostlyclean-compile mostlyclean-generic 651 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 652 mostlyclean-libtool 585 653 586 654 pdf: pdf-am … … 597 665 598 666 .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 \ 609 678 tags tags-am uninstall uninstall-am 610 679 … … 612 681 613 682 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 614 693 .PHONY: list .validate 615 .INTERMEDIATE: .validate .validate.c 694 .INTERMEDIATE: .validate .validate.cfa 616 695 617 696 #---------------------------------------------------------------------------------------------------------------- … … 628 707 @+${TEST_PY} --list ${concurrent} 629 708 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: 634 717 @echo "int main() { return 0; }" > ${@} 635 718 … … 638 721 639 722 #---------------------------------------------------------------------------------------------------------------- 723 640 724 # implicit rule so not all test require a rule 641 % : %.c $(CC)642 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})643 644 declarationSpecifier: declarationSpecifier.c $(CC)645 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})646 647 gccExtensions : gccExtensions.c $(CC)648 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})649 650 extension : extension.c $(CC)651 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})652 653 attributes : attributes.c $(CC)654 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})655 656 functions: functions.c $(CC)657 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})658 659 KRfunctions : KRfunctions.c $(CC)660 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})661 662 sched-ext-parse : sched-ext-parse.c $(C C)663 $(PRETTY_PATH) $(C OMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})664 665 gmp : gmp.c $(CC)666 $(PRETTY_PATH) $(C OMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})725 % : %.cfa $(CFACC) 726 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 727 728 declarationSpecifier: declarationSpecifier.cfa $(CFACC) 729 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 730 731 gccExtensions : gccExtensions.cfa $(CFACC) 732 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 733 734 extension : extension.cfa $(CFACC) 735 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 736 737 attributes : attributes.cfa $(CFACC) 738 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 739 740 functions: functions.cfa $(CFACC) 741 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 742 743 KRfunctions : KRfunctions.cfa $(CFACC) 744 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 745 746 sched-ext-parse : sched-ext-parse.c $(CFACC) 747 $(PRETTY_PATH) $(CFACOMPILE) -CFA -XCFA -p $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 748 749 gmp : gmp.cfa $(CFACC) 750 $(PRETTY_PATH) $(CFACOMPILE) -lgmp $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 667 751 668 752 #builtins 669 builtins/sync: builtins/sync.c $(CC)670 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only753 builtins/sync: builtins/sync.cfa $(CFACC) 754 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 671 755 672 756 #------------------------------------------------------------------------------ 757 673 758 #To make errors path independent we need to cd into the correct directories 674 completeTypeError : completeTypeError.c $(CC)675 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})676 677 typedefRedef-ERR1: typedefRedef.c $(CC)678 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})679 680 alloc-ERROR: alloc.c $(CC)681 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})682 683 fallthrough-ERROR: fallthrough.c $(CC)684 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})685 686 nested-types-ERR1: nested-types.c $(CC)687 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})688 689 nested-types-ERR2: nested-types.c $(CC)690 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})759 completeTypeError : completeTypeError.cfa $(CFACC) 760 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 761 762 typedefRedef-ERR1: typedefRedef.cfa $(CFACC) 763 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 764 765 alloc-ERROR: alloc.cfa $(CFACC) 766 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 767 768 fallthrough-ERROR: fallthrough.cfa $(CFACC) 769 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 770 771 nested-types-ERR1: nested-types.cfa $(CFACC) 772 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 773 774 nested-types-ERR2: nested-types.cfa $(CFACC) 775 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 691 776 692 777 # Constructor/destructor tests 693 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.c $(CC)694 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})695 696 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.c $(CC)697 $(PRETTY_PATH) $(C OMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})698 699 raii/memberCtors-ERR1: raii/memberCtors.c $(CC)700 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})701 702 raii/ctor-autogen-ERR1: raii/ctor-autogen.c $(CC)703 $(PRETTY_PATH) $(C OMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@})778 raii/dtor-early-exit-ERR1: raii/dtor-early-exit.cfa $(CFACC) 779 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 780 781 raii/dtor-early-exit-ERR2: raii/dtor-early-exit.cfa $(CFACC) 782 $(PRETTY_PATH) $(CFACOMPILE) -DERR2 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 783 784 raii/memberCtors-ERR1: raii/memberCtors.cfa $(CFACC) 785 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 786 787 raii/ctor-autogen-ERR1: raii/ctor-autogen.cfa $(CFACC) 788 $(PRETTY_PATH) $(CFACOMPILE) -DERR1 $(shell realpath --relative-to=${srcdir} ${<}) -o $(abspath ${@}) 704 789 705 790 # Warnings 706 warnings/self-assignment: warnings/self-assignment.c $(CC)707 $(PRETTY_PATH) $(C OMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only791 warnings/self-assignment: warnings/self-assignment.cfa $(CFACC) 792 $(PRETTY_PATH) $(CFACOMPILE) $(shell realpath --relative-to=${srcdir} ${<}) 2> $(abspath ${@}) -fsyntax-only 708 793 709 794 # Tell versions [3.59,3.63) of GNU make to not export all variables. -
tests/abs.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // abs.c --7 // abs.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Jan 28 18:26:16 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 22 22:31:03 201713 // Update Count : 5 212 // Last Modified On : Tue Dec 4 21:33:15 2018 13 // Update Count : 55 14 14 // 15 15 … … 19 19 int main( void ) { 20 20 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 ); 31 31 } // main 32 32 33 33 // Local Variables: // 34 34 // tab-width: 4 // 35 // compile-command: "cfa abs.c " //35 // compile-command: "cfa abs.cfa" // 36 36 // End: // -
tests/alloc.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // alloc.c --7 // alloc.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Feb 3 07:56:22 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 9 06:21:35201813 // Update Count : 33 712 // Last Modified On : Tue Nov 6 17:50:52 2018 13 // Update Count : 339 14 14 // 15 15 … … 272 272 // Local Variables: // 273 273 // tab-width: 4 // 274 // compile-command: "cfa alloc.c " //274 // compile-command: "cfa alloc.cfa" // 275 275 // End: // -
tests/ato.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // ato.c --7 // ato.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Feb 4 08:10:57 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Nov 16 18:31:56 201713 // Update Count : 8912 // Last Modified On : Tue Dec 4 21:33:53 2018 13 // Update Count : 92 14 14 // 15 15 … … 20 20 const char * sptr = "-123"; 21 21 int i = ato( sptr ); 22 sout | i | sptr | endl;22 sout | i | sptr; 23 23 sptr = "123"; 24 24 unsigned int ui = ato( sptr ); 25 sout | ui | sptr | endl;25 sout | ui | sptr; 26 26 27 27 sptr = "-123"; 28 28 long int li = ato( sptr ); 29 sout | li | sptr | endl;29 sout | li | sptr; 30 30 sptr = "123"; 31 31 unsigned long int uli = ato( sptr ); 32 sout | uli | sptr | endl;32 sout | uli | sptr; 33 33 34 34 sptr = "-123"; 35 35 long long int lli = ato( sptr ); 36 sout | lli | sptr | endl;36 sout | lli | sptr; 37 37 sptr = "123"; 38 38 unsigned long long int ulli = ato( sptr ); 39 sout | ulli | sptr | endl;39 sout | ulli | sptr; 40 40 41 41 sptr = "-123.456"; 42 42 float f = ato( sptr ); 43 sout | f | sptr | endl;43 sout | f | sptr; 44 44 sptr = "-123.4567890123456"; 45 45 double d = ato( sptr ); 46 sout | d | sptr | endl;46 sout | d | sptr; 47 47 sptr = "-123.45678901234567890123456789"; 48 48 long double ld = ato( sptr ); 49 sout | ld | sptr | endl;49 sout | ld | sptr; 50 50 51 51 sptr = "-123.456-123.456i"; 52 52 float _Complex fc = ato( sptr ); 53 sout | fc | sptr | endl;53 sout | fc | sptr; 54 54 sptr = "-123.4567890123456+123.4567890123456i"; 55 55 double _Complex dc = ato( sptr ); 56 sout | dc | sptr | endl;56 sout | dc | sptr; 57 57 sptr = "123.45678901234567890123456789-123.45678901234567890123456789i"; 58 58 long double _Complex ldc = ato( sptr ); 59 sout | ldc | sptr | endl;59 sout | ldc | sptr; 60 60 sptr = "123.45678901234-123.4567890i"; 61 61 long double _Complex ldc2 = ato( sptr ); 62 sout | ldc2 | sptr | endl;62 sout | ldc2 | sptr; 63 63 64 64 65 65 sptr = "-123"; 66 66 i = strto( sptr, 0, 10 ); 67 sout | i | sptr | endl;67 sout | i | sptr; 68 68 sptr = "123"; 69 69 ui = strto( sptr, 0, 10 ); 70 sout | ui | sptr | endl;70 sout | ui | sptr; 71 71 72 72 sptr = "-123"; 73 73 li = strto( sptr, 0, 10 ); 74 sout | li | sptr | endl;74 sout | li | sptr; 75 75 sptr = "123"; 76 76 uli = strto( sptr, 0, 10 ); 77 sout | uli | sptr | endl;77 sout | uli | sptr; 78 78 79 79 sptr = "-123"; 80 80 lli = strto( sptr, 0, 10 ); 81 sout | lli | sptr | endl;81 sout | lli | sptr; 82 82 sptr = "123"; 83 83 ulli = strto( sptr, 0, 10 ); 84 sout | ulli | sptr | endl;84 sout | ulli | sptr; 85 85 86 86 sptr = "-123.456"; 87 87 f = strto( sptr, 0 ); 88 sout | f | sptr | endl;88 sout | f | sptr; 89 89 sptr = "-123.4567890123456"; 90 90 d = strto( sptr, 0 ); 91 sout | d | sptr | endl;91 sout | d | sptr; 92 92 sptr = "-123.45678901234567890123456789"; 93 93 ld = strto( sptr, 0 ); 94 sout | ld | sptr | endl;94 sout | ld | sptr; 95 95 96 96 sptr = "-123.456-123.456i"; 97 97 fc = strto( sptr, 0 ); 98 sout | fc | sptr | endl;98 sout | fc | sptr; 99 99 100 100 char * eptr = 0; 101 101 // sptr = "2fred"; 102 102 // fc = strto( sptr, &eptr ); 103 // sout | fc | sptr | eptr | endl;103 // sout | fc | sptr | eptr; 104 104 105 105 sptr = "2 3"; 106 106 fc = strto( sptr, &eptr ); 107 sout | fc | sptr | eptr | endl;107 sout | fc | sptr | eptr; 108 108 109 109 sptr = "-123.4567890123456+123.4567890123456i"; 110 110 dc = strto( sptr, 0 ); 111 sout | dc | sptr | endl;111 sout | dc | sptr; 112 112 sptr = "123.45678901234567890123456789-123.45678901234567890123456789i"; 113 113 ldc = strto( sptr, 0 ); 114 sout | ldc | sptr | endl;114 sout | ldc | sptr; 115 115 sptr = "123.45678901234-123.4567890i"; 116 116 ldc2 = strto( sptr, 0 ); 117 sout | ldc2 | sptr | endl;117 sout | ldc2 | sptr; 118 118 } // main 119 119 120 120 // Local Variables: // 121 121 // tab-width: 4 // 122 // compile-command: "cfa ato.c " //122 // compile-command: "cfa ato.cfa" // 123 123 // End: // -
tests/attributes.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // attributes.c --7 // attributes.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Mon Feb 6 16:07:02 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jul 19 13:50:51201813 // Update Count : 1 512 // Last Modified On : Tue Nov 6 17:51:12 2018 13 // Update Count : 17 14 14 // 15 15 … … 154 154 // Local Variables: // 155 155 // tab-width: 4 // 156 // compile-command: "cfa attributes.c " //156 // compile-command: "cfa attributes.cfa" // 157 157 // End: // -
tests/complex.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // complex.c --7 // complex.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 24 22:07:31 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 24 22:08:01 201713 // Update Count : 112 // Last Modified On : Tue Dec 4 21:34:21 2018 13 // Update Count : 4 14 14 // 15 15 … … 25 25 printf( "x:%g+%gi y:%g+%gi z:%g+%gi\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), cimag(z) ); 26 26 #ifdef __CFA__ 27 sout | "x:" | x | "y:" | y | "z:" | z | endl;27 sout | "x:" | x | "y:" | y | "z:" | z; 28 28 #endif // __CFA 29 29 x = 2.1 + 1.3i; … … 32 32 printf( "x:%g+%gi y:%g+%gi z:%g+%gi\n", creal(x), cimag(x), creal(y), cimag(y), creal(z), cimag(z) ); 33 33 #ifdef __CFA__ 34 sout | "x:" | x | "y:" | y | "z:" | z | endl;34 sout | "x:" | x | "y:" | y | "z:" | z; 35 35 #endif // __CFA 36 36 } … … 38 38 // Local Variables: // 39 39 // tab-width: 4 // 40 // compile-command: "cfa complex.c " //40 // compile-command: "cfa complex.cfa" // 41 41 // End: // -
tests/concurrent/coroutineYield.cfa
raeb8f70 re99e43f 6 6 7 7 #define __kick_rate 150000ul 8 #include "long_tests.h "8 #include "long_tests.hfa" 9 9 10 10 #ifndef PREEMPTION_RATE … … 27 27 while(true) { 28 28 #if !defined(TEST_FOREVER) 29 sout | "Coroutine 1" | endl;29 sout | "Coroutine 1"; 30 30 #endif 31 31 yield(); 32 32 #if !defined(TEST_FOREVER) 33 sout | "Coroutine 2" | endl;33 sout | "Coroutine 2"; 34 34 #endif 35 35 suspend(); … … 42 42 for(int i = 0; TEST(i < N); i++) { 43 43 #if !defined(TEST_FOREVER) 44 sout | "Thread 1" | endl;44 sout | "Thread 1"; 45 45 #endif 46 46 resume(c); 47 47 #if !defined(TEST_FOREVER) 48 sout | "Thread 2" | endl;48 sout | "Thread 2"; 49 49 #endif 50 50 yield(); -
tests/concurrent/examples/boundedBufferEXT.cfa
raeb8f70 re99e43f 8 8 // Created On : Wed Apr 18 22:52:12 2018 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : T hu Aug 16 08:17:03201811 // Update Count : 810 // Last Modified On : Tue Dec 11 21:55:02 2018 11 // Update Count : 9 12 12 // 13 13 … … 115 115 sum += sums[i]; 116 116 } // for 117 sout | "total:" | sum | endl;117 sout | "total:" | sum; 118 118 } 119 119 -
tests/concurrent/examples/boundedBufferINT.cfa
raeb8f70 re99e43f 8 8 // Created On : Mon Oct 30 12:45:13 2017 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : T hu Aug 16 08:17:58201811 // Update Count : 8 310 // Last Modified On : Tue Dec 11 21:55:45 2018 11 // Update Count : 84 12 12 // 13 13 … … 116 116 sum += sums[i]; 117 117 } // for 118 sout | "total:" | sum | endl;118 sout | "total:" | sum; 119 119 } 120 120 -
tests/concurrent/examples/datingService.cfa
raeb8f70 re99e43f 8 8 // Created On : Mon Oct 30 12:56:20 2017 9 9 // Last Modified By : Peter A. Buhr 10 // Last Modified On : Sun May 27 09:05:18201811 // Update Count : 2 610 // Last Modified On : Tue Dec 11 21:55:34 2018 11 // Update Count : 28 12 12 // 13 13 … … 58 58 yield( random( 100 ) ); // don't all start at the same time 59 59 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; 61 61 girlck[id] = partner; 62 62 } // Girl main … … 69 69 70 70 thread Boy { 71 DatingService & TheExchange;71 DatingService & TheExchange; 72 72 unsigned int id, ccode; 73 73 }; // Boy … … 76 76 yield( random( 100 ) ); // don't all start at the same time 77 77 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; 79 79 boyck[id] = partner; 80 80 } // Boy main -
tests/concurrent/examples/matrixSum.cfa
raeb8f70 re99e43f 6 6 // file "LICENCE" distributed with Cforall. 7 7 // 8 // matrixSum.c --8 // matrixSum.cfa -- 9 9 // 10 10 // Author : Peter A. Buhr 11 11 // Created On : Mon Oct 9 08:29:28 2017 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : T hu Aug 9 09:17:30201814 // Update Count : 1 313 // Last Modified On : Tue Dec 11 21:54:55 2018 14 // Update Count : 15 15 15 // 16 16 … … 54 54 total += subtotals[r]; // total subtotals 55 55 } // for 56 sout | total | endl;56 sout | total; 57 57 } 58 58 59 59 // Local Variables: // 60 60 // tab-width: 4 // 61 // compile-command: "cfa matrixSum.c " //61 // compile-command: "cfa matrixSum.cfa" // 62 62 // End: // -
tests/concurrent/examples/quickSort.cfa
raeb8f70 re99e43f 9 9 // Created On : Wed Dec 6 12:15:52 2017 10 10 // Last Modified By : Peter A. Buhr 11 // Last Modified On : Thu Aug 16 08:17:41201812 // Update Count : 16 311 // Last Modified On : Sat Dec 22 08:44:27 2018 12 // Update Count : 168 13 13 // 14 14 … … 88 88 89 89 void 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) ] )"; 91 91 exit( EXIT_FAILURE ); // TERMINATE! 92 92 } // usage … … 114 114 &sortedfile = new( (const char *)argv[2] ); // open the output file 115 115 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] | "\""; 117 117 usage( argv ); 118 118 } // if … … 121 121 &unsortedfile = new( (const char *)argv[1] ); // open the input file 122 122 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] | "\""; 124 124 usage( argv ); 125 125 } // if … … 127 127 } // if 128 128 } // if 129 sortedfile | nlOff; // turn off auto newline 129 130 130 131 enum { ValuesPerLine = 22 }; // number of values printed per line … … 137 138 for ( int counter = 0; counter < size; counter += 1 ) { // read unsorted numbers 138 139 unsortedfile | values[counter]; 139 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | endl | " ";140 if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | nl | " "; 140 141 sortedfile | values[counter]; 141 142 if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' '; 142 143 } // for 143 sortedfile | endl;144 sortedfile | nl; 144 145 if ( size > 0 ) { // values to sort ? 145 146 Quicksort QS = { values, size - 1, 0 }; // sort values 146 147 } // wait until sort tasks terminate 147 148 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 | " "; 149 150 sortedfile | values[counter]; 150 151 if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' '; 151 152 } // for 152 sortedfile | endl | endl;153 sortedfile | nl | nl; 153 154 154 155 delete( values ); -
tests/concurrent/monitor.cfa
raeb8f70 re99e43f 40 40 MyThread f[4]; 41 41 } 42 sout | global.value | endl;42 sout | global.value; 43 43 } -
tests/concurrent/multi-monitor.cfa
raeb8f70 re99e43f 52 52 } 53 53 } 54 sout | global12 | global23 | global13 | endl;54 sout | global12 | global23 | global13; 55 55 } -
tests/concurrent/preempt.cfa
raeb8f70 re99e43f 3 3 #include <time.hfa> 4 4 5 #include "long_tests.h "5 #include "long_tests.hfa" 6 6 7 7 #ifndef PREEMPTION_RATE -
tests/concurrent/signal/block.cfa
raeb8f70 re99e43f 14 14 #include <time.hfa> 15 15 16 #include "long_tests.h "16 #include "long_tests.hfa" 17 17 18 18 #ifndef PREEMPTION_RATE … … 57 57 58 58 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; 60 60 abort(); 61 61 } … … 85 85 86 86 if( ! signal_block( cond ) ) { 87 sout | "ERROR expected to be able to signal" | endl;87 sout | "ERROR expected to be able to signal"; 88 88 abort(); 89 89 } … … 92 92 93 93 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; 95 95 abort(); 96 96 } … … 130 130 Signaller s[4]; 131 131 Barger b[13]; 132 sout | "Starting waiters" | endl;132 sout | "Starting waiters"; 133 133 { 134 134 Waiter w[3]; 135 135 } 136 sout | "Waiters done" | endl;136 sout | "Waiters done"; 137 137 done = true; 138 138 } -
tests/concurrent/signal/disjoint.cfa
raeb8f70 re99e43f 5 5 #include <time.hfa> 6 6 7 #include "long_tests.h "7 #include "long_tests.hfa" 8 8 9 9 #ifndef PREEMPTION_RATE … … 66 66 wait( cond ); 67 67 if( d.state != SIGNAL ) { 68 sout | "ERROR barging!" | endl;68 sout | "ERROR barging!"; 69 69 } 70 70 71 71 #if !defined(TEST_FOREVER) 72 72 d.counter++; 73 if( (d.counter % 1000) == 0 ) sout | d.counter | endl;73 if( (d.counter % 1000) == 0 ) sout | d.counter; 74 74 #endif 75 75 … … 99 99 bool running = TEST(data.counter < N) && data.counter > 0; 100 100 if( data.state != SIGNAL && running ) { 101 sout | "ERROR Eager signal" | data.state | endl;101 sout | "ERROR Eager signal" | data.state; 102 102 } 103 103 } … … 124 124 Waiter w[4]; 125 125 } 126 sout | "All waiter done" | endl;126 sout | "All waiter done"; 127 127 all_done = true; 128 128 } -
tests/concurrent/signal/wait.cfa
raeb8f70 re99e43f 13 13 14 14 #define __kick_rate 12000ul 15 #include "long_tests.h "15 #include "long_tests.hfa" 16 16 17 17 #ifndef PREEMPTION_RATE … … 83 83 break; 84 84 default: 85 sout | "Something went wrong" | endl;85 sout | "Something went wrong"; 86 86 abort(); 87 87 } … … 140 140 waiter_left = 4; 141 141 processor p[2]; 142 sout | "Starting" | endl;142 sout | "Starting"; 143 143 { 144 144 Signaler e; … … 150 150 } 151 151 } 152 sout | "Done" | endl;152 sout | "Done"; 153 153 } -
tests/concurrent/thread.cfa
raeb8f70 re99e43f 12 12 void main(First& this) { 13 13 for(int i = 0; i < 10; i++) { 14 sout | "First : Suspend No." | i + 1 | endl;14 sout | "First : Suspend No." | i + 1; 15 15 yield(); 16 16 } … … 21 21 P(*this.lock); 22 22 for(int i = 0; i < 10; i++) { 23 sout | "Second : Suspend No." | i + 1 | endl;23 sout | "Second : Suspend No." | i + 1; 24 24 yield(); 25 25 } … … 29 29 int main(int argc, char* argv[]) { 30 30 semaphore lock = { 0 }; 31 sout | "User main begin" | endl;31 sout | "User main begin"; 32 32 { 33 33 processor p; … … 37 37 } 38 38 } 39 sout | "User main end" | endl;39 sout | "User main end"; 40 40 } -
tests/concurrent/waitfor/barge.cfa
raeb8f70 re99e43f 48 48 yield(random( 10 )); 49 49 if( this.state != WAITFOR && !this.done && this.started ) { 50 serr | "Barging before caller detected" | endl;50 serr | "Barging before caller detected"; 51 51 } 52 52 … … 66 66 this.state = WAITFOR; 67 67 waitfor(do_call, this) { 68 sout | i | endl;68 sout | i; 69 69 } 70 70 71 71 if( this.state != CALL ) { 72 serr | "Barging after caller detected" | endl;72 serr | "Barging after caller detected"; 73 73 } 74 74 } … … 83 83 84 84 int main() { 85 sout | "Starting" | endl;85 sout | "Starting"; 86 86 { 87 87 barger_t bargers[17]; … … 89 89 waiter_t waiters; 90 90 } 91 sout | "Stopping" | endl;91 sout | "Stopping"; 92 92 } -
tests/concurrent/waitfor/dtor.cfa
raeb8f70 re99e43f 29 29 switch(state) { 30 30 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; 35 35 } 36 36 } … … 54 54 55 55 int main() { 56 sout | "Starting" | endl;56 sout | "Starting"; 57 57 processor p; 58 58 for( int i = 0; i < N; i++ ){ … … 60 60 yield( random( 100 ) ); 61 61 } 62 sout | "Stopping" | endl;62 sout | "Stopping"; 63 63 } -
tests/concurrent/waitfor/else.cfa
raeb8f70 re99e43f 12 12 void test( M & mutex m ) { 13 13 int i = 0; 14 sout | "Starting" | endl;14 sout | "Starting"; 15 15 16 16 when( false ) waitfor( notcalled, m ); 17 17 18 sout | "Step" | i++ | endl;18 sout | "Step" | i++; 19 19 20 20 waitfor( notcalled, m ); or else { 21 sout | "else called" | endl;21 sout | "else called"; 22 22 } 23 23 24 sout | "Step" | i++ | endl;24 sout | "Step" | i++; 25 25 26 26 when( true ) waitfor( notcalled, m ); or when( true ) else { 27 sout | "else called" | endl;27 sout | "else called"; 28 28 } 29 29 30 sout | "Step" | i++ | endl;30 sout | "Step" | i++; 31 31 32 32 when( false ) waitfor( notcalled, m ); or when( true ) else { 33 sout | "else called" | endl;33 sout | "else called"; 34 34 } 35 35 36 sout | "Step" | i++ | endl;36 sout | "Step" | i++; 37 37 38 38 when( false ) waitfor( notcalled, m ); or when( false ) else { 39 sout | "else called" | endl;39 sout | "else called"; 40 40 } 41 41 42 sout | "Done" | endl;42 sout | "Done"; 43 43 } 44 44 -
tests/concurrent/waitfor/recurse.cfa
raeb8f70 re99e43f 95 95 rand_yield(); 96 96 97 sout | "1st" | endl;97 sout | "1st" | nl; 98 98 99 99 return this.counter < N ? (state_t)this.actions[idx] : (state_t)STOP; … … 123 123 case THIRD : while( !global.ready ) { yield(); } this.state = call3( global, this.idx ); break; 124 124 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; 126 126 } 127 127 } … … 132 132 int main() { 133 133 srandom( time(NULL) ); 134 sout | "Starting" | endl; 134 sout | nlOff; // turn off auto newline 135 sout | "Starting" | nl; 135 136 { 136 137 waiter_t waiters[4] = { … … 142 143 the_threads = waiters; 143 144 } 144 sout | "Stopping" | endl;145 sout | "Stopping" | nl; 145 146 } -
tests/concurrent/waitfor/simple.cfa
raeb8f70 re99e43f 31 31 32 32 void do_wait( global_t * mutex a ) { 33 sout | "Waiting to accept" | endl;33 sout | "Waiting to accept"; 34 34 yield( random( 10 ) ); 35 35 36 sout | "Accepting" | endl;36 sout | "Accepting"; 37 37 38 38 __acceptable_t acceptable; … … 43 43 __waitfor_internal( 1, &acceptable ); 44 44 45 sout | "Accepted" | endl;45 sout | "Accepted"; 46 46 yield( random( 10 ) ); 47 47 } … … 50 50 for( int i = 0; i < N; i++ ) { 51 51 do_wait( &globalA ); 52 sout | i | endl;52 sout | i; 53 53 } 54 54 … … 76 76 srandom( time( NULL ) ); 77 77 printf("%p\n", &globalA); 78 sout | "Starting" | endl;78 sout | "Starting"; 79 79 { 80 80 Acceptor r; … … 82 82 83 83 } 84 sout | "Done" | endl;84 sout | "Done"; 85 85 } -
tests/concurrent/waitfor/statment.cfa
raeb8f70 re99e43f 84 84 case 7: return call7( m ); 85 85 default : 86 serr | "Incorrect index" | index | endl;86 serr | "Incorrect index" | index; 87 87 abort(); 88 88 } … … 102 102 while( !done ) { 103 103 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; } } 111 111 112 112 done = true; … … 128 128 int main() { 129 129 processor p[2]; 130 sout | "Starting" | endl;130 sout | "Starting"; 131 131 { 132 132 caller c[7]; 133 133 waiter w; 134 134 } 135 sout | "Stopping" | endl;135 sout | "Stopping"; 136 136 } -
tests/concurrent/waitfor/when.cfa
raeb8f70 re99e43f 58 58 void arbiter( global_t & mutex this ) { 59 59 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; } } 66 66 67 sout | this.last_call | endl;67 sout | this.last_call; 68 68 } 69 69 … … 78 78 int main() { 79 79 srandom( time(NULL) ); 80 sout | "Starting" | endl;80 sout | "Starting"; 81 81 { 82 82 arbiter_t arbiter; … … 84 84 85 85 } 86 sout | "Stopping" | endl;86 sout | "Stopping"; 87 87 } -
tests/coroutine/.expect/fmtLines.txt
raeb8f70 re99e43f 16 16 difi ed B y : Pete r A. 17 17 Buh r// Last Mod ifie 18 d On : M on S ep 1 8 1119 :3 5: 57 2 017/ / Up date20 Cou nt : 3 1/ /#in18 d On : T ue D ec 1 1 23 19 :31: 12 2 018/ / Up date 20 Cou nt : 32/ /#in 21 21 clud e <f stre am.h fa># 22 22 incl ude <cor outi ne.h … … 34 34 t ) { if ( fm t.g 35 35 != 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 37 n( F orma t & fmt ) { 38 for ( ;; ) { 39 // for as many cha 40 ract ers for ( f mt.g 41 = 0 ; fm t.g < 5; fmt 42 .g + = 1 ) { // grou 43 ps 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 47 cter s for ( ; ; ) 48 { // f or n ewli 49 ne c hara cter s su 50 spen d(); if ( fm 51 t.ch != '\n' ) b reak 52 ; / / ig nore new line 53 } // for sout 54 | f mt.c h; // 55 prin t ch arac ter } 56 // f or sou t | " " 57 ; // prin t bl 58 ock sepa rato r } // 59 for sou t | nl; 60 // p rint gro up s 61 epar ator } / / fo r} / 62 / ma invo id p rt( Form 63 at & fmt , ch ar c h ) 64 { fmt .ch = ch ; 65 res ume( fmt );} // 66 prti nt m ain( ) { Form 67 at f mt; char ch; for 68 ( ; ; ) { s in | ch; 69 // rea d on 70 e ch arac ter if ( e 71 of( sin ) ) brea k; 72 // eof ? p rt( 73 fmt, ch ); } // for} 74 // main // L ocal Var 75 iabl es: //// tab -wid 76 th: 4 // // c ompi le-c 77 omma nd: "cfa fmt Line 78 s.c" /// / En d: / / -
tests/coroutine/.in/fmtLines.txt
raeb8f70 re99e43f 10 10 // Created On : Sun Sep 17 21:56:15 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Sep 18 11:35:57 201713 // Update Count : 3 112 // Last Modified On : Tue Dec 11 23:31:12 2018 13 // Update Count : 32 14 14 // 15 15 … … 27 27 28 28 void ^?{}( Format & fmt ) { 29 if ( fmt.g != 0 || fmt.b != 0 ) sout | endl;29 if ( fmt.g != 0 || fmt.b != 0 ) sout | nl; 30 30 } 31 31 … … 42 42 sout | " "; // print block separator 43 43 } // for 44 sout | endl; // print group separator44 sout | nl; // print group separator 45 45 } // for 46 46 } // main -
tests/coroutine/fibonacci.cfa
raeb8f70 re99e43f 10 10 // Created On : Thu Jun 8 07:29:37 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 11:21:58201813 // Update Count : 2 412 // Last Modified On : Tue Dec 11 21:57:33 2018 13 // Update Count : 25 14 14 // 15 15 … … 39 39 Fibonacci f1, f2; 40 40 for ( 10 ) { // print N Fibonacci values 41 sout | next( f1 ) | next( f2 ) | endl;41 sout | next( f1 ) | next( f2 ); 42 42 } // for 43 43 } -
tests/coroutine/fibonacci_1.cfa
raeb8f70 re99e43f 10 10 // Created On : Thu Apr 26 23:20:08 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 11:21:02201813 // Update Count : 1 312 // Last Modified On : Tue Dec 11 21:57:54 2018 13 // Update Count : 14 14 14 // 15 15 … … 36 36 Fibonacci f1, f2; 37 37 for ( 10 ) { // print N Fibonacci values 38 sout | next( f1 ) | next( f2 ) | endl;38 sout | next( f1 ) | next( f2 ); 39 39 } // for 40 40 } -
tests/coroutine/fmtLines.cfa
raeb8f70 re99e43f 10 10 // Created On : Sun Sep 17 21:56:15 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 16 08:20:54201813 // Update Count : 4512 // Last Modified On : Sat Dec 22 18:27:00 2018 13 // Update Count : 57 14 14 // 15 15 … … 24 24 void main( Format & fmt ) with( fmt ) { 25 25 for () { // for as many characters 26 for ( g ; 5 ) {// groups of 5 blocks27 for ( b ; 4 ) {// blocks of 4 characters26 for ( g = 0; g < 5; g += 1 ) { // groups of 5 blocks 27 for ( b = 0; b < 4; b += 1 ) { // blocks of 4 characters 28 28 for () { // for newline characters 29 29 suspend(); 30 if ( ch != '\n' ) break;// ignore newline30 if ( ch != '\n' ) break; // ignore newline 31 31 } // for 32 32 sout | ch; // print character … … 34 34 sout | " "; // print block separator 35 35 } // for 36 sout | endl;// print group separator36 sout | nl; // print group separator 37 37 } // for 38 38 } // main … … 43 43 44 44 void ^?{}( Format & fmt ) with( fmt ) { 45 if ( g != 0 || b != 0 ) sout | endl;45 if ( g != 0 || b != 0 ) sout | nl; 46 46 } 47 47 48 48 void format( Format & fmt ) { 49 49 resume( fmt ); 50 } // prt50 } // format 51 51 52 52 int main() { 53 53 Format fmt; 54 sout | nlOff; // turn off auto newline 54 55 55 56 eof: for () { // read until end of file -
tests/coroutine/pingpong.cfa
raeb8f70 re99e43f 10 10 // Created On : Wed Sep 20 11:55:23 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 11:31:11201813 // Update Count : 2 812 // Last Modified On : Tue Dec 11 21:58:06 2018 13 // Update Count : 29 14 14 // 15 15 … … 40 40 void main( PingPong & pingpong ) { // ping's starter ::main, pong's starter ping 41 41 for ( pingpong.N ) { // N ping-pongs 42 sout | pingpong.name | endl;42 sout | pingpong.name; 43 43 cycle( *pingpong.part ); 44 44 } // for -
tests/coroutine/prodcons.cfa
raeb8f70 re99e43f 10 10 // Created On : Mon Sep 18 12:23:39 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 12:55:10201813 // Update Count : 5 112 // Last Modified On : Wed Dec 12 23:04:49 2018 13 // Update Count : 53 14 14 // 15 15 … … 24 24 25 25 coroutine Prod { 26 Cons *c;26 Cons & c; 27 27 int N, money, receipt; 28 28 }; … … 30 30 // 1st resume starts here 31 31 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; 38 36 receipt += 1; 39 37 } 40 stop( *c );41 sout | "prod stops" | endl;38 stop( c ); 39 sout | "prod stops"; 42 40 } 43 41 int payment( Prod & prod, int money ) { … … 47 45 } 48 46 void 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]; 52 49 resume( prod ); // activate main 53 50 } 54 51 55 52 coroutine Cons { 56 Prod *p;53 Prod & p; 57 54 int p1, p2, status; 58 55 bool done; 59 56 }; 60 57 void ?{}( 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]; 64 60 } 65 61 void ^?{}( Cons & cons ) {} … … 68 64 int money = 1, receipt; 69 65 for ( ; ! done; ) { 70 sout | p1 | " " | p2 | endl; 71 sout | " $" | money | endl; 66 sout | p1 | " " | p2 | nl | " $" | money; 72 67 status += 1; 73 receipt = payment( *p, money );74 sout | " #" | receipt | endl;68 receipt = payment( p, money ); 69 sout | " #" | receipt; 75 70 money += 1; 76 71 } 77 sout | "cons stops" | endl;72 sout | "cons stops"; 78 73 } 79 74 int delivery( Cons & cons, int p1, int p2 ) { 80 cons.p1 = p1; 81 cons.p2 = p2; 75 cons.[p1, p2] = [p1, p2]; 82 76 resume( cons ); // main 1st time, then 83 77 return cons.status; // cons in payment … … 92 86 srandom( /* getpid() */ 103 ); // fixed seed for testing 93 87 start( prod, 5, cons ); 94 sout | "main stops" | endl;88 sout | "main stops"; 95 89 } 96 90 -
tests/coroutine/runningTotal.cfa
raeb8f70 re99e43f 10 10 // Created On : Wed Dec 6 08:05:27 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 16 08:22:29201813 // Update Count : 312 // Last Modified On : Tue Dec 11 21:59:00 2018 13 // Update Count : 4 14 14 // 15 15 … … 42 42 RunTotal rntl; 43 43 for ( i; 10 ) { 44 sout | i | add( rntl, i ) | endl;44 sout | i | add( rntl, i ); 45 45 } // for 46 46 } -
tests/counter.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // counter.c --7 // counter.cfa -- 8 8 // 9 9 // Author : Aaron B. Moss 10 10 // Created On : Thu Feb 22 15:27:00 2018 11 // Last Modified By : Aaron B. Moss12 // Last Modified On : T hu Feb 22 15:27:00201813 // Update Count : 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Nov 6 17:50:23 2018 13 // Update Count : 2 14 14 // 15 15 … … 37 37 // Local Variables: // 38 38 // tab-width: 4 // 39 // compile-command: "cfa counter.c " //39 // compile-command: "cfa counter.cfa" // 40 40 // End: // -
tests/declarationErrors.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // declarationErrors.c --7 // declarationErrors.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:23:43 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Sep 9 22:57:52 201613 // Update Count : 3 112 // Last Modified On : Tue Nov 6 17:52:47 2018 13 // Update Count : 32 14 14 // 15 15 … … 42 42 // Local Variables: // 43 43 // tab-width: 4 // 44 // compile-command: "cfa declarationErrors.c " //44 // compile-command: "cfa declarationErrors.cfa" // 45 45 // End: // -
tests/declarationSpecifier.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // declarationSpecifier.c --7 // declarationSpecifier.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:21:04 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 08:24:33 201613 // Update Count : 212 // Last Modified On : Tue Nov 6 17:52:59 2018 13 // Update Count : 3 14 14 // 15 15 … … 96 96 // Local Variables: // 97 97 // tab-width: 4 // 98 // compile-command: "cfa declarationSpecifier.c " //98 // compile-command: "cfa declarationSpecifier.cfa" // 99 99 // End: // -
tests/div.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // div.c --7 // div.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Aug 8 16:28:43 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Dec 7 09:06:52 201713 // Update Count : 1812 // Last Modified On : Tue Dec 4 21:35:01 2018 13 // Update Count : 20 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> 17 #include <stdlib.hfa> // div 18 18 19 19 struct T { int i; }; … … 23 23 24 24 int 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 ); 26 26 short s1 = 13, s2 = 5; 27 sout | "div" | div( s1, s2 ) | endl;27 sout | "div" | div( s1, s2 ); 28 28 T t1 = { 13 }, t2 = { 5 }; 29 sout | "div" | div( t1, t2 ) | endl;// polymorphic div29 sout | "div" | div( t1, t2 ); // polymorphic div 30 30 } // main 31 31 32 32 // Local Variables: // 33 33 // tab-width: 4 // 34 // compile-command: "cfa div.c " //34 // compile-command: "cfa div.cfa" // 35 35 // End: // -
tests/except-0.cfa
raeb8f70 re99e43f 8 8 #include <stdbool.h> 9 9 10 #include "except-mac.h "10 #include "except-mac.hfa" 11 11 TRIVIAL_EXCEPTION(yin) 12 12 TRIVIAL_EXCEPTION(yang) … … 25 25 void ^?{}(signal_exit * this) { 26 26 printf("Exiting: %s\n", this->area); 27 // sout | "Exiting:" | this->area | endl;27 // sout | "Exiting:" | this->area; 28 28 } 29 29 -
tests/except-1.cfa
raeb8f70 re99e43f 5 5 #include <stdio.h> 6 6 7 #include "except-mac.h "7 #include "except-mac.hfa" 8 8 TRIVIAL_EXCEPTION(yin) 9 9 TRIVIAL_EXCEPTION(yang) -
tests/except-2.cfa
raeb8f70 re99e43f 3 3 4 4 #include <stdlib.hfa> 5 #include "except-mac.h "5 #include "except-mac.hfa" 6 6 7 7 TRIVIAL_EXCEPTION(yin) -
tests/except-3.cfa
raeb8f70 re99e43f 2 2 3 3 #include <stdio.h> 4 #include "except-mac.h "4 #include "except-mac.hfa" 5 5 TRIVIAL_EXCEPTION(myth) 6 6 -
tests/extension.cfa
raeb8f70 re99e43f 2 2 // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo 3 3 // 4 // extension.c --4 // extension.cfa -- 5 5 // 6 6 // Author : Peter A. Buhr 7 7 // Created On : Mon Jul 4 20:42:43 2016 8 8 // Last Modified By : Peter A. Buhr 9 // Last Modified On : Mon Feb 6 15:44:39 201710 // Update Count : 4 69 // Last Modified On : Tue Nov 6 17:53:21 2018 10 // Update Count : 47 11 11 // 12 12 … … 56 56 // Local Variables: // 57 57 // tab-width: 4 // 58 // compile-command: "cfa extension.c " //58 // compile-command: "cfa extension.cfa" // 59 59 // End: // -
tests/forall.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // forall.c --7 // forall.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 9 08:48:15 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jul 12 16:19:08201813 // Update Count : 3 012 // Last Modified On : Tue Nov 6 17:53:43 2018 13 // Update Count : 31 14 14 // 15 15 … … 219 219 // Local Variables: // 220 220 // tab-width: 4 // 221 // compile-command: "cfa forall.c " //221 // compile-command: "cfa forall.cfa" // 222 222 // End: // -
tests/fstream_test.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // fstream_test.c --7 // fstream_test.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 24 11:30:26 201713 // Update Count : 6 512 // Last Modified On : Sat Dec 22 09:47:44 2018 13 // Update Count : 68 14 14 // 15 15 … … 18 18 int main( void ) { 19 19 int nombre; 20 sout | "Entrez un nombre, s'il vous plaît:" | endl;20 sout | "Entrez un nombre, s'il vous plaît:"; 21 21 sin | nombre; 22 sout | "Vous avez entré" | nombre | endl;22 sout | "Vous avez entré" | nombre; 23 23 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"); 25 25 26 sout | "Entrez trois nombres, s'il vous plaît: " | endl;26 sout | "Entrez trois nombres, s'il vous plaît:"; 27 27 int i, j, k; 28 28 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; 30 30 } 31 31 32 32 // Local Variables: // 33 33 // tab-width: 4 // 34 // compile-command: "cfa fstream_test.c " //34 // compile-command: "cfa fstream_test.cfa" // 35 35 // End: // -
tests/function-operator.cfa
raeb8f70 re99e43f 10 10 // Created On : Fri Aug 25 15:21:11 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 2 09:27:53201813 // Update Count : 812 // Last Modified On : Tue Dec 4 21:37:09 2018 13 // Update Count : 9 14 14 // 15 15 … … 83 83 // TODO: abstract over (os, T) 84 84 os_wrapper ?=?(os_wrapper & wrapper, int x) { 85 *wrapper.out | x | endl;85 *wrapper.out | x; 86 86 return wrapper; 87 87 } -
tests/functions.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // functions.c --7 // functions.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:39:58 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jan 17 22:44:12201813 // Update Count : 1 212 // Last Modified On : Tue Nov 6 17:54:09 2018 13 // Update Count : 13 14 14 // 15 15 … … 188 188 // Local Variables: // 189 189 // tab-width: 4 // 190 // compile-command: "cfa functions.c " //190 // compile-command: "cfa functions.cfa" // 191 191 // End: // -
tests/gccExtensions.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // gccExtensions.c --7 // gccExtensions.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Sun Aug 14 17:28:17 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 09:26:50 201613 // Update Count : 1 012 // Last Modified On : Tue Nov 6 17:54:20 2018 13 // Update Count : 11 14 14 // 15 15 … … 120 120 // Local Variables: // 121 121 // tab-width: 4 // 122 // compile-command: "cfa gccExtensions.c " //122 // compile-command: "cfa gccExtensions.cfa" // 123 123 // End: // -
tests/gmp.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // gmp.c --7 // gmp.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Apr 19 08:55:51 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 18 12:43:13201813 // Update Count : 55 612 // Last Modified On : Thu Dec 20 22:41:47 2018 13 // Update Count : 559 14 14 // 15 15 … … 19 19 20 20 int main( void ) { 21 sout | "constructors" | endl;21 sout | "constructors"; 22 22 short int si = 3; 23 23 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; 26 26 27 sout | "conversions" | endl;27 sout | "conversions"; 28 28 y = 'a'; 29 sout | "y:" | y | endl;29 sout | "y:" | y; 30 30 y = "12345678901234567890123456789"; 31 sout | "y:" | y | endl;31 sout | "y:" | y; 32 32 y = 100`mp + 100`mp; 33 sout | "y:" | y | endl;33 sout | "y:" | y; 34 34 y = -200u`mp + -200u`mp; 35 sout | "y:" | y | endl;35 sout | "y:" | y; 36 36 y = "12345678901234567890123456789"`mp + "12345678901234567890123456789"`mp; 37 sout | "y:" | y | endl;37 sout | "y:" | y; 38 38 y = si; 39 sout | "y:" | y | endl;39 sout | "y:" | y; 40 40 y = -3; 41 sout | "y:" | y | endl;41 sout | "y:" | y; 42 42 y += 7; 43 sout | "y:" | y | endl;43 sout | "y:" | y; 44 44 y -= 1; 45 sout | "y:" | y | endl;45 sout | "y:" | y; 46 46 int b; 47 47 b = y; 48 48 si = y; 49 sout | "y:" | y | "b:" | b | "si:" | si | endl;49 sout | "y:" | y | "b:" | b | "si:" | si; 50 50 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; 58 58 59 sout | "arithmetic" | endl;59 sout | "arithmetic"; 60 60 z = x + y + z; 61 sout | "z:" | z | endl;61 sout | "z:" | z; 62 62 z = z = x; 63 sout | "z:" | z | endl;63 sout | "z:" | z; 64 64 z = x - y - z; 65 sout | "z:" | z | endl;65 sout | "z:" | z; 66 66 z = x * y * z; 67 sout | "z:" | z | endl;67 sout | "z:" | z; 68 68 z = x * 3; 69 sout | "z:" | z | endl;69 sout | "z:" | z; 70 70 z = 3 * x; 71 sout | "z:" | z | endl;71 sout | "z:" | z; 72 72 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; 75 75 [ x, y ] = div( x, 3 ); 76 sout | "x:" | x | "y:" | y | endl;76 sout | "x:" | x | "y:" | y; 77 77 78 sout | endl;78 sout | nl; 79 79 80 80 sin | x | y | z; 81 sout | x | y | z | endl;81 sout | x | y | z; 82 82 83 sout | endl;83 sout | nl; 84 84 85 sout | "Fibonacci Numbers" | endl;85 sout | "Fibonacci Numbers"; 86 86 Int fn, fn1, fn2; 87 87 fn = (Int){0}; fn1 = fn; // 1st case 88 sout | (int)0 | fn | endl;88 sout | (int)0 | fn; 89 89 fn = 1; fn2 = fn1; fn1 = fn; // 2nd case 90 sout | 1 | fn | endl;90 sout | 1 | fn; 91 91 for ( i; 2u ~= 200 ) { 92 92 fn = fn1 + fn2; fn2 = fn1; fn1 = fn; // general case 93 sout | i | fn | endl;93 sout | i | fn; 94 94 } // for 95 95 96 sout | endl;96 sout | nl; 97 97 98 sout | "Factorial Numbers" | endl;98 sout | "Factorial Numbers"; 99 99 Int fact = 1; // 1st case 100 sout | (int)0 | fact | endl;100 sout | (int)0 | fact; 101 101 for ( i; 1u ~= 40u ) { 102 102 fact *= i; // general case 103 sout | i | fact | endl;103 sout | i | fact; 104 104 } // for 105 105 } // main … … 107 107 // Local Variables: // 108 108 // tab-width: 4 // 109 // compile-command: "cfa gmp.c -lgmp" //109 // compile-command: "cfa gmp.cfa -lgmp" // 110 110 // 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 1 16 #include <thread.hfa> 2 #include <kernel.hfa> 3 #include <stdlib.hfa> 17 #include <kernel.hfa> // processor 18 #include <stdlib.hfa> // *allocs 4 19 #include <malloc.h> // malloc_* 5 20 … … 22 37 void main( Worker & ) { 23 38 enum { NoOfAllocs = 5000, NoOfMmaps = 10 }; 24 char * locns[NoOfAllocs];39 char * locns[NoOfAllocs]; 25 40 int i; 26 41 27 42 // check alloc/free 28 43 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 ) { 31 46 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" ); 40 55 free( locns[i] ); 41 56 } // 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 ) { 45 60 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" ); 52 67 free( locns[i] ); 53 68 } // for … … 56 71 // check malloc/free (sbrk) 57 72 58 for ( i = 0; i < NoOfAllocs; i += 1) {73 for ( i; NoOfAllocs ) { 59 74 size_t s = (i + 1) * 20; 60 char * area = (char *)malloc( s );75 char * area = (char *)malloc( s ); 61 76 if ( area == 0 ) abort( "malloc/free out of memory" ); 62 77 area[0] = '\345'; area[s - 1] = '\345'; // fill first/last … … 65 80 } // for 66 81 67 for ( i = 0; i < NoOfAllocs; i += 1) {68 size_t s = i + 1; // +1 to make initialization simpler82 for ( i; NoOfAllocs ) { 83 size_t s = i + 1; // +1 to make initialization simpler 69 84 locns[i] = (char *)malloc( s ); 70 85 if ( locns[i] == 0 ) abort( "malloc/free out of memory" ); … … 72 87 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 73 88 } // for 74 for ( i = 0; i < NoOfAllocs; i += 1) {89 for ( i; NoOfAllocs ) { 75 90 size_t s = i + 1; 76 91 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || … … 81 96 // check malloc/free (mmap) 82 97 83 for ( i = 0; i < NoOfMmaps; i += 1) {84 size_t s = i + default_mmap_start(); 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 ); 86 101 if ( area == 0 ) abort( "malloc/free out of memory" ); 87 102 area[0] = '\345'; area[s - 1] = '\345'; // fill first/last … … 90 105 } // for 91 106 92 for ( i = 0; i < NoOfMmaps; i += 1) {93 size_t s = i + default_mmap_start(); 107 for ( i; NoOfMmaps ) { 108 size_t s = i + default_mmap_start(); // cross over point 94 109 locns[i] = (char *)malloc( s ); 95 110 if ( locns[i] == 0 ) abort( "malloc/free out of memory" ); … … 97 112 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 98 113 } // for 99 for ( i = 0; i < NoOfMmaps; i += 1) {100 size_t s = i + default_mmap_start(); 114 for ( i; NoOfMmaps ) { 115 size_t s = i + default_mmap_start(); // cross over point 101 116 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 102 117 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "malloc/free corrupt storage" ); … … 106 121 // check calloc/free (sbrk) 107 122 108 for ( i = 0; i < NoOfAllocs; i += 1) {123 for ( i; NoOfAllocs ) { 109 124 size_t s = (i + 1) * 20; 110 char * area = (char *)calloc( 5, s );125 char * area = (char *)calloc( 5, s ); 111 126 if ( area == 0 ) abort( "calloc/free out of memory" ); 112 127 if ( area[0] != '\0' || area[s - 1] != '\0' || … … 118 133 } // for 119 134 120 for ( i = 0; i < NoOfAllocs; i += 1) {135 for ( i; NoOfAllocs ) { 121 136 size_t s = i + 1; 122 137 locns[i] = (char *)calloc( 5, s ); … … 128 143 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 129 144 } // for 130 for ( i = 0; i < NoOfAllocs; i += 1) {145 for ( i; NoOfAllocs ) { 131 146 size_t s = i + 1; 132 147 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || … … 137 152 // check calloc/free (mmap) 138 153 139 for ( i = 0; i < NoOfMmaps; i += 1) {140 size_t s = i + default_mmap_start(); 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 ); 142 157 if ( area == 0 ) abort( "calloc/free out of memory" ); 143 158 if ( area[0] != '\0' || area[s - 1] != '\0' ) abort( "calloc/free corrupt storage4.1" ); … … 149 164 } // for 150 165 151 for ( i = 0; i < NoOfMmaps; i += 1) {152 size_t s = i + default_mmap_start(); 166 for ( i; NoOfMmaps ) { 167 size_t s = i + default_mmap_start(); // cross over point 153 168 locns[i] = (char *)calloc( 1, s ); 154 169 if ( locns[i] == 0 ) abort( "calloc/free out of memory" ); … … 159 174 locns[i][malloc_usable_size( locns[i] ) - 1] = '\345'; // fill ultimate byte 160 175 } // for 161 for ( i = 0; i < NoOfMmaps; i += 1) {162 size_t s = i + default_mmap_start(); 176 for ( i; NoOfMmaps ) { 177 size_t s = i + default_mmap_start(); // cross over point 163 178 if ( locns[i][0] != '\345' || locns[i][s - 1] != '\345' || 164 179 locns[i][malloc_usable_size( locns[i] ) - 1] != '\345' ) abort( "calloc/free corrupt storage6" ); … … 170 185 enum { limit = 64 * 1024 }; // check alignments up to here 171 186 172 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2173 //sout | alignments[a] | endl;174 for ( int s = 1; s < NoOfAllocs; s += 1 ) {// allocation of size 0 can return null175 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 ); 176 191 if ( area == 0 ) abort( "memalign/free out of memory" ); 177 //sout | i | " " | area | endl;192 //sout | i | " " | area; 178 193 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 179 194 abort( "memalign/free bad alignment : memalign(%d,%d) = %p", (int)a, s, area ); … … 187 202 // check memalign/free (mmap) 188 203 189 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2190 //sout | alignments[a] | endl;191 for ( i = 1; i < NoOfMmaps; i += 1) {192 size_t s = i + default_mmap_start(); 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 ); 194 209 if ( area == 0 ) abort( "memalign/free out of memory" ); 195 //sout | i | " " | area | endl;210 //sout | i | " " | area; 196 211 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 197 212 abort( "memalign/free bad alignment : memalign(%d,%d) = %p", (int)a, (int)s, area ); … … 205 220 // check calloc/realloc/free (sbrk) 206 221 207 for ( i = 1; i < 10000; i +=12 ) {222 for ( i; 1 ~ 10_000 ~ 12 ) { 208 223 // initial N byte allocation 209 char * area = (char *)calloc( 5, i );224 char * area = (char *)calloc( 5, i ); 210 225 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); 211 226 if ( area[0] != '\0' || area[i - 1] != '\0' || … … 214 229 215 230 // 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 request231 for ( s; i ~ 256 * 1024 ~ 26 ) { // start at initial memory request 217 232 area = (char *)realloc( area, s ); // attempt to reuse storage 218 233 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); … … 226 241 // check calloc/realloc/free (mmap) 227 242 228 for ( i = 1; i < 1000; i +=12 ) {243 for ( i; 1 ~ 10_000 ~ 12 ) { 229 244 // initial N byte allocation 230 size_t s = i + default_mmap_start(); 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 ); 232 247 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); 233 248 if ( area[0] != '\0' || area[s - 1] != '\0' || … … 236 251 237 252 // 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 request239 area = (char *)realloc( area, r ); // attempt to reuse storage253 for ( r; i ~ 256 * 1024 ~ 26 ) { // start at initial memory request 254 area = (char *)realloc( area, r ); // attempt to reuse storage 240 255 if ( area == 0 ) abort( "calloc/realloc/free out of memory" ); 241 256 if ( area[0] != '\0' || area[r - 1] != '\0' || … … 249 264 250 265 size_t amount = 2; 251 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2266 for ( a; libAlign() ~= limit ~ a ) { // generate powers of 2 252 267 // initial N byte allocation 253 char * area = (char *)memalign( a, amount );// aligned N-byte allocation268 char * area = (char *)memalign( a, amount ); // aligned N-byte allocation 254 269 if ( area == 0 ) abort( "memalign/realloc/free out of memory" ); // no storage ? 255 //sout | alignments[a] | " " | area | endl;270 //sout | alignments[a] | " " | area; 256 271 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 257 272 abort( "memalign/realloc/free bad alignment : memalign(%d,%d) = %p", (int)a, (int)amount, area ); … … 260 275 261 276 // 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 request277 for ( s; amount ~ 256 * 1024 ) { // start at initial memory request 263 278 if ( area[0] != '\345' || area[s - 2] != '\345' ) abort( "memalign/realloc/free corrupt storage" ); 264 279 area = (char *)realloc( area, s ); // attempt to reuse storage 265 280 if ( area == 0 ) abort( "memalign/realloc/free out of memory" ); // no storage ? 266 //sout | i | " " | area | endl;281 //sout | i | " " | area; 267 282 if ( (size_t)area % a != 0 ) { // check for initial alignment 268 283 abort( "memalign/realloc/free bad alignment %p", area ); … … 275 290 // check cmemalign/free 276 291 277 for ( size_t a = libAlign(); a <= limit; a += a ) {// generate powers of 2278 //sout | alignments[a] | endl;279 for ( int s = 1; s < limit; s += 1 ) {// allocation of size 0 can return null280 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 ); 281 296 if ( area == 0 ) abort( "cmemalign/free out of memory" ); 282 //sout | i | " " | area | endl;297 //sout | i | " " | area; 283 298 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 284 299 abort( "cmemalign/free bad alignment : cmemalign(%d,%d) = %p", (int)a, s, area ); … … 295 310 296 311 amount = 2; 297 for ( size_t a = libAlign() + libAlign(); a <= limit; a += a ) {// generate powers of 2312 for ( a; libAlign() ~= limit ~ a ) { // generate powers of 2 298 313 // initial N byte allocation 299 char * area = (char *)cmemalign( a, 1, amount );// aligned N-byte allocation314 char * area = (char *)cmemalign( a, 1, amount ); // aligned N-byte allocation 300 315 if ( area == 0 ) abort( "cmemalign/realloc/free out of memory" ); // no storage ? 301 //sout | alignments[a] | " " | area | endl;316 //sout | alignments[a] | " " | area; 302 317 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 303 318 abort( "cmemalign/realloc/free bad alignment : cmemalign(%d,%d) = %p", (int)a, (int)amount, area ); … … 309 324 310 325 // 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 request326 for ( s; amount ~ 256 * 1024 ) { // start at initial memory request 312 327 if ( area[0] != '\345' || area[s - 2] != '\345' ) abort( "cmemalign/realloc/free corrupt storage2" ); 313 328 area = (char *)realloc( area, s ); // attempt to reuse storage 314 329 if ( area == 0 ) abort( "cmemalign/realloc/free out of memory" ); // no storage ? 315 //sout | i | " " | area | endl;330 //sout | i | " " | area; 316 331 if ( (size_t)area % a != 0 || malloc_alignment( area ) != a ) { // check for initial alignment 317 332 abort( "cmemalign/realloc/free bad alignment %p", area ); … … 324 339 free( area ); 325 340 } // for 326 //sout | "worker" | thisTask() | "successful completion" | endl;341 //sout | "worker" | thisTask() | "successful completion"; 327 342 } // Worker main 328 343 … … 339 354 // Local Variables: // 340 355 // tab-width: 4 // 341 // compile-command: "cfa -nodebug -O2 heap.c " //356 // compile-command: "cfa -nodebug -O2 heap.cfa" // 342 357 // End: // -
tests/identFuncDeclarator.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // identFuncDeclarator.c --7 // identFuncDeclarator.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:36:34 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jan 17 22:39:13 201813 // Update Count : 212 // Last Modified On : Tue Nov 6 17:56:33 2018 13 // Update Count : 3 14 14 // 15 15 … … 115 115 // Local Variables: // 116 116 // tab-width: 4 // 117 // compile-command: "cfa identFuncDeclarator.c " //117 // compile-command: "cfa identFuncDeclarator.cfa" // 118 118 // End: // -
tests/identParamDeclarator.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // identParamDeclarator.c --7 // identParamDeclarator.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:37:56 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jan 17 22:36:11201813 // Update Count : 212 // Last Modified On : Tue Nov 6 17:56:44 2018 13 // Update Count : 3 14 14 // 15 15 … … 163 163 // Local Variables: // 164 164 // tab-width: 4 // 165 // compile-command: "cfa identParamDeclarator.c " //165 // compile-command: "cfa identParamDeclarator.cfa" // 166 166 // End: // -
tests/ifwhileCtl.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // ifwhileCtl.c --7 // ifwhileCtl.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Sat Aug 26 10:13:11 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jun 6 17:15:09201813 // Update Count : 2 112 // Last Modified On : Tue Dec 4 21:39:18 2018 13 // Update Count : 23 14 14 // 15 15 … … 22 22 23 23 if ( int x = 1 ) { 24 sout | "x != 0 correct" | endl;24 sout | "x != 0 correct"; 25 25 } else { 26 sout | "x == 0 incorrect" | endl;26 sout | "x == 0 incorrect"; 27 27 } // if 28 28 29 29 if ( int x = 4, y = 0 ) { 30 sout | "x != 0 && y != 0 incorrect" | endl;30 sout | "x != 0 && y != 0 incorrect"; 31 31 } else if ( int x = 4, y = 1 ) { 32 sout | "x != 0 && y != 0 correct" | endl;32 sout | "x != 0 && y != 0 correct"; 33 33 } else { 34 sout | "x == 0 || y == 0 incorrect" | endl;34 sout | "x == 0 || y == 0 incorrect"; 35 35 } // if 36 36 37 37 if ( int x = 5, y = f( x ); x == y ) { 38 sout | "x == y correct" | endl;38 sout | "x == y correct"; 39 39 } else { 40 sout | "x != y incorrect" | endl;40 sout | "x != y incorrect"; 41 41 } // if 42 42 43 43 if ( struct S { int i; } s = { 3 }; s.i < 4 ) { 44 44 S s1; 45 sout | "s.i < 4 correct" | endl;45 sout | "s.i < 4 correct"; 46 46 } else { 47 47 S s1; 48 sout | "s.i >= 4 incorrect" | endl;48 sout | "s.i >= 4 incorrect"; 49 49 } // if 50 50 51 51 while ( int x = 1 ) { 52 sout | "x != 0 correct" | endl;52 sout | "x != 0 correct"; 53 53 break; 54 54 } // while 55 55 56 56 while ( int x = 4, y = 0 ) { 57 sout | "x != 0 && y != 0 incorrect" | endl;57 sout | "x != 0 && y != 0 incorrect"; 58 58 } // while 59 59 60 60 while ( int x = 5, y = f( x ); x == y ) { 61 sout | "x == y correct" | endl;61 sout | "x == y correct"; 62 62 break; 63 63 } // while … … 65 65 while ( struct S { int i; } s = { 3 }; s.i < 4 ) { 66 66 S s1; 67 sout | "s.i < 4 correct" | endl;67 sout | "s.i < 4 correct"; 68 68 break; 69 69 } // while … … 72 72 // Local Variables: // 73 73 // tab-width: 4 // 74 // compile-command: "cfa ifwhileCtl.c " //74 // compile-command: "cfa ifwhileCtl.cfa" // 75 75 // End: // -
tests/labelledExit.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // labelledExit.c --7 // labelledExit.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 10 07:29:39 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Aug 16 08:55:39201813 // Update Count : 312 // Last Modified On : Tue Nov 6 17:57:42 2018 13 // Update Count : 4 14 14 // 15 15 … … 159 159 // Local Variables: // 160 160 // tab-width: 4 // 161 // compile-command: "cfa labelledExit.c " //161 // compile-command: "cfa labelledExit.cfa" // 162 162 // End: // -
tests/limits.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // limits.c --7 // limits.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue May 10 20:44:20 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Mar 1 16:21:55 201813 // Update Count : 712 // Last Modified On : Tue Nov 6 17:57:55 2018 13 // Update Count : 8 14 14 // 15 15 … … 153 153 // Local Variables: // 154 154 // tab-width: 4 // 155 // compile-command: "cfa limits.c " //155 // compile-command: "cfa limits.cfa" // 156 156 // End: // -
tests/literals.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // literals.c --7 // literals.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Sat Sep 9 16:34:38 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jul 1 15:12:15201813 // Update Count : 13 712 // Last Modified On : Tue Dec 4 21:44:01 2018 13 // Update Count : 139 14 14 // 15 15 … … 18 18 #include <fstream.hfa> 19 19 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; }20 void f( char v ) { sout | "char " | v; } 21 void f( signed char v ) { sout | "signed char " | v; } 22 void f( unsigned char v ) { sout | "unsigned char " | v; } 23 void f( signed short v ) { sout | "signed short int" | v; } 24 void f( unsigned short v ) { sout | "unsigned short int" | v; } 25 void f( size_t v ) { sout | "size_t" | v; } 26 26 #endif // __CFA__ 27 27 … … 324 324 // Local Variables: // 325 325 // tab-width: 4 // 326 // compile-command: "cfa literals.c " //326 // compile-command: "cfa literals.cfa" // 327 327 // End: // -
tests/math1.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // math1.c --7 // math1.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Fri Apr 22 14:59:21 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 24 21:01:15201813 // Update Count : 8 512 // Last Modified On : Wed Dec 12 16:28:49 2018 13 // Update Count : 89 14 14 // 15 15 … … 22 22 long double l; 23 23 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 ); 26 27 int quot; 27 28 f = remquo( 3.6F, 0.5F, " ); 28 sout | "remquo:" | quot | f ;29 sout | "remquo:" | quot | f | nonl; 29 30 d = remquo( 3.6D, 0.5F, " ); 30 sout | quot | d ;31 sout | quot | d | nonl; 31 32 l = remquo( 3.6L, 0.5L, " ); 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( "" ); 37 38 38 39 //---------------------- Exponential ---------------------- 39 40 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 ); 44 47 45 48 int b = 4; 46 49 unsigned int e = 2; 47 50 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); 50 54 } // main 51 55 52 56 // Local Variables: // 53 57 // tab-width: 4 // 54 // compile-command: "cfa math1.c " //58 // compile-command: "cfa math1.cfa" // 55 59 // End: // -
tests/math3.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // math3.c --7 // math3.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Fri Apr 22 14:59:21 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu May 24 21:06:12201813 // Update Count : 8 212 // Last Modified On : Wed Dec 12 16:30:41 2018 13 // Update Count : 86 14 14 // 15 15 … … 24 24 //---------------------- Hyperbolic ---------------------- 25 25 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 ); 32 38 33 39 //---------------------- Error / Gamma ---------------------- 34 40 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 ); 38 44 int sign; 39 45 f = lgamma( 4.0F, &sign ); 40 sout | "lgamma:" | f | sign ;46 sout | "lgamma:" | f | sign | nonl; 41 47 d = lgamma( 4.0D, &sign ); 42 sout | d | sign ;48 sout | d | sign | nonl; 43 49 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 ); 46 52 } // main 47 53 48 54 // Local Variables: // 49 55 // tab-width: 4 // 50 // compile-command: "cfa math3.c " //56 // compile-command: "cfa math3.cfa" // 51 57 // End: // -
tests/math4.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // math4.c --7 // math4.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu May 24 20:56:54 2018 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu May 24 20:58:06201813 // Update Count : 212 // Last Modified On : Tue Dec 4 18:15:01 2018 13 // Update Count : 4 14 14 // 15 15 … … 24 24 //---------------------- Nearest Integer ---------------------- 25 25 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 ); 40 40 41 41 //---------------------- Manipulation ---------------------- 42 42 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 ); 44 44 int exp; 45 45 f = frexp( 4.0F, &exp ); 46 sout | "frexp:" | f | exp ;46 sout | "frexp:" | f | exp | nonl; 47 47 d = frexp( 4.0D, &exp ); 48 sout | d | exp ;48 sout | d | exp | nonl; 49 49 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 ); 52 52 float fi; 53 53 double di; 54 54 long double ldi; 55 55 f = modf( 2.3F, &fi ); 56 sout | "modf:" | fi | f ;56 sout | "modf:" | fi | f | nonl; 57 57 d = modf( 2.3D, &di ); 58 sout | di | d ;58 sout | di | d | nonl; 59 59 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 ); 64 64 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 ); 67 67 } // main 68 68 69 69 // Local Variables: // 70 70 // tab-width: 4 // 71 // compile-command: "cfa math3.c " //71 // compile-command: "cfa math3.cfa" // 72 72 // End: // -
tests/minmax.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // minmax.c --7 // minmax.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Apr 10 17:29:09201813 // Update Count : 5 012 // Last Modified On : Tue Dec 4 21:45:31 2018 13 // Update Count : 52 14 14 // 15 15 … … 22 22 int ?>?( char op1, char op2 ) { return (int)op1 > (int)op2; } 23 23 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 ); 34 34 35 sout | endl;35 sout | nl; 36 36 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 ); 47 47 } // main 48 48 49 49 // Local Variables: // 50 50 // tab-width: 4 // 51 // compile-command: "cfa minmax.c " //51 // compile-command: "cfa minmax.cfa" // 52 52 // End: // -
tests/nested-types.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // nested-types.c --7 // nested-types.cfa -- 8 8 // 9 9 // Author : Rob Schluntz 10 10 // Created On : Mon Jul 9 10:20:03 2018 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Mon Jul 9 10:20:03 201713 // Update Count : 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Nov 6 17:59:40 2018 13 // Update Count : 2 14 14 // 15 15 … … 88 88 // Local Variables: // 89 89 // tab-width: 4 // 90 // compile-command: "cfa nested-types.c " //90 // compile-command: "cfa nested-types.cfa" // 91 91 // End: // -
tests/numericConstants.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // numericConstants.c --7 // numericConstants.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 24 22:10:36 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed May 24 22:11:36 201713 // Update Count : 212 // Last Modified On : Tue Nov 6 17:59:53 2018 13 // Update Count : 3 14 14 // 15 15 … … 67 67 // Local Variables: // 68 68 // tab-width: 4 // 69 // compile-command: "cfa minmax.c " //69 // compile-command: "cfa minmax.cfa" // 70 70 // End: // -
tests/polymorphism.cfa
raeb8f70 re99e43f 9 9 // Author : Rob Schluntz 10 10 // Created On : Tue Oct 17 12:19:48 2017 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Tue Oct 17 12:21:07 201713 // Update Count : 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Dec 25 14:40:24 2018 13 // Update Count : 3 14 14 // 15 15 16 16 #include <assert.h> 17 17 #include <inttypes.h> 18 #include <fstream.hfa> 18 19 19 20 forall(otype T) … … 61 62 int y = 456; 62 63 int z = f(x, y); 63 printf("%d %d %d\n", x, y, z);64 sout | x | y | z; 64 65 } 65 66 66 { 67 67 // explicitly specialize function 68 68 int (*f)(int) = ident; 69 69 ((int(*)(int))ident); 70 printf("%d %d\n", f(5), ((int(*)(int))ident)(5));70 sout | f(5) | ((int(*)(int))ident)(5); 71 71 } 72 73 72 { 74 73 // test aggregates with polymorphic members … … 100 99 101 100 void print(x_type x) { 102 printf("%"PRIu32"\n", x);101 sout | x; 103 102 } 104 103 105 104 void print(y_type y) { 106 printf("%"PRIu64"\n", y);105 sout | y; 107 106 } 108 107 -
tests/preempt_longrun/Makefile.am
raeb8f70 re99e43f 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 repeats=10 -
tests/preempt_longrun/Makefile.in
raeb8f70 re99e43f 93 93 subdir = tests/preempt_longrun 94 94 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 95 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 96 $(top_srcdir)/configure.ac 95 am__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 97 101 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 98 102 $(ACLOCAL_M4) … … 333 337 AMTAR = @AMTAR@ 334 338 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 339 AR = @AR@ 335 340 AUTOCONF = @AUTOCONF@ 336 341 AUTOHEADER = @AUTOHEADER@ 337 342 AUTOMAKE = @AUTOMAKE@ 338 343 AWK = @AWK@ 339 BACKEND_CC = @BACKEND_CC@340 344 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 341 345 CC = @CFACC@ … … 357 361 CPPFLAGS = @CPPFLAGS@ 358 362 CXX = @CXX@ 363 CXXCPP = @CXXCPP@ 359 364 CXXDEPMODE = @CXXDEPMODE@ 360 365 CXXFLAGS = @CXXFLAGS@ … … 362 367 DEFS = @DEFS@ 363 368 DEPDIR = @DEPDIR@ 369 DLLTOOL = @DLLTOOL@ 364 370 DRIVER_DIR = @DRIVER_DIR@ 371 DSYMUTIL = @DSYMUTIL@ 372 DUMPBIN = @DUMPBIN@ 365 373 ECHO_C = @ECHO_C@ 366 374 ECHO_N = @ECHO_N@ … … 368 376 EGREP = @EGREP@ 369 377 EXEEXT = @EXEEXT@ 378 FGREP = @FGREP@ 370 379 GREP = @GREP@ 371 380 HOST_FLAGS = @HOST_FLAGS@ … … 375 384 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 376 385 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 386 LD = @LD@ 377 387 LDFLAGS = @LDFLAGS@ 378 388 LEX = @LEX@ … … 383 393 LIBOBJS = @LIBOBJS@ 384 394 LIBS = @LIBS@ 395 LIBTOOL = @LIBTOOL@ 396 LIPO = @LIPO@ 397 LN_S = @LN_S@ 385 398 LTLIBOBJS = @LTLIBOBJS@ 399 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 386 400 MAKEINFO = @MAKEINFO@ 401 MANIFEST_TOOL = @MANIFEST_TOOL@ 387 402 MKDIR_P = @MKDIR_P@ 403 NM = @NM@ 404 NMEDIT = @NMEDIT@ 405 OBJDUMP = @OBJDUMP@ 388 406 OBJEXT = @OBJEXT@ 407 OTOOL = @OTOOL@ 408 OTOOL64 = @OTOOL64@ 389 409 PACKAGE = @PACKAGE@ 390 410 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 396 416 PATH_SEPARATOR = @PATH_SEPARATOR@ 397 417 RANLIB = @RANLIB@ 418 SED = @SED@ 398 419 SET_MAKE = @SET_MAKE@ 399 420 SHELL = @SHELL@ … … 407 428 abs_top_builddir = @abs_top_builddir@ 408 429 abs_top_srcdir = @abs_top_srcdir@ 430 ac_ct_AR = @ac_ct_AR@ 409 431 ac_ct_CC = @ac_ct_CC@ 410 432 ac_ct_CXX = @ac_ct_CXX@ 433 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 411 434 am__include = @am__include@ 412 435 am__leading_dot = @am__leading_dot@ … … 456 479 top_srcdir = @top_srcdir@ 457 480 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 481 ACLOCAL_AMFLAGS = -I automake 458 482 repeats = 10 459 483 max_time = 600 … … 503 527 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh 504 528 $(am__aclocal_m4_deps): 529 530 mostlyclean-libtool: 531 -rm -f *.lo 532 533 clean-libtool: 534 -rm -rf .libs _libs 505 535 tags TAGS: 506 536 … … 806 836 clean: clean-am 807 837 808 clean-am: clean-generic clean-l ocal mostlyclean-am838 clean-am: clean-generic clean-libtool clean-local mostlyclean-am 809 839 810 840 distclean: distclean-am … … 858 888 mostlyclean: mostlyclean-am 859 889 860 mostlyclean-am: mostlyclean-generic 890 mostlyclean-am: mostlyclean-generic mostlyclean-libtool 861 891 862 892 pdf: pdf-am … … 873 903 874 904 .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 \ 884 915 uninstall uninstall-am 885 916 -
tests/preempt_longrun/create.c
raeb8f70 re99e43f 3 3 #include <time.hfa> 4 4 5 #include "long_tests.h "5 #include "long_tests.hfa" 6 6 7 7 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/enter3.c
raeb8f70 re99e43f 5 5 6 6 #define __kick_rate 75000ul 7 #include "long_tests.h "7 #include "long_tests.hfa" 8 8 9 9 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/processor.c
raeb8f70 re99e43f 5 5 #include <unistd.h> 6 6 7 #include "long_tests.h "7 #include "long_tests.hfa" 8 8 9 9 #ifndef PREEMPTION_RATE -
tests/preempt_longrun/yield.c
raeb8f70 re99e43f 4 4 5 5 #define __kick_rate 550000ul 6 #include "long_tests.h "6 #include "long_tests.hfa" 7 7 8 8 #ifndef PREEMPTION_RATE -
tests/pybin/tools.py
raeb8f70 re99e43f 79 79 def diff( lhs, rhs ): 80 80 # 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 " 83 84 "--old-group-format='\t\tmissing lines :\n" 84 85 "%%<' \\\n" … … 246 247 if column: 247 248 cmd = "%s 2> /dev/null" % column 248 print(cmd)249 249 proc = Popen(cmd, stdin=PIPE, stderr=None, shell=True) 250 proc.communicate(input=text )250 proc.communicate(input=text + "\n") 251 251 else: 252 252 print(text) -
tests/quotedKeyword.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // quoted _keyword.c-- test quoted keyword usage7 // quotedKeyword.cfa -- test quoted keyword usage 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jun 30 14:03:59 201613 // Update Count : 1912 // Last Modified On : Tue Dec 4 21:45:53 2018 13 // Update Count : 23 14 14 // 15 15 … … 41 41 st.`struct` = 3; 42 42 `throw` = 4; 43 sout | `catch` + st.`otype` + st.`struct` + `throw` | endl;43 sout | `catch` + st.`otype` + st.`struct` + `throw`; 44 44 } 45 45 46 46 // Local Variables: // 47 47 // tab-width: 4 // 48 // compile-command: "cfa quoted _keyword.c" //48 // compile-command: "cfa quotedKeyword.cfa" // 49 49 // 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:1 raii/ctor-autogen.cfa:102:1 error: Unique best alternative includes deleted identifier in Cast of: 2 2 Application of 3 3 Deleted Expression 4 4 Variable Expression: ?{}: static inline function 5 5 ... with parameters 6 _dst: reference to instance of struct Managed with body 1 6 _dst: reference to instance of struct Managed with body 1 7 7 x: signed int 8 ... returning nothing 8 ... returning nothing 9 9 10 10 ... deleted by: ?{}: function 11 11 ... 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 15 15 CompoundStmt 16 16 Expression Statement: … … 20 20 intrinsic reference to signed int 21 21 intrinsic signed int 22 ... returning 22 ... returning 23 23 _retval__operator_assign: signed int 24 ... with attributes: 24 ... with attributes: 25 25 Attribute with name: unused 26 26 … … 28 28 ... to arguments 29 29 Cast of: 30 Member Expression, with field: 30 Member Expression, with field: 31 31 x: signed int 32 ... from aggregate: 32 ... from aggregate: 33 33 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 35 35 ... to: 36 instance of struct Managed with body 1 36 instance of struct Managed with body 1 37 37 ... to: 38 38 reference to signed int … … 49 49 ... to arguments 50 50 Cast of: 51 Variable Expression: x: instance of struct Managed with body 1 51 Variable Expression: x: instance of struct Managed with body 1 52 52 ... to: 53 reference to instance of struct Managed with body 1 53 reference to instance of struct Managed with body 1 54 54 constant expression (123 123: signed int) 55 55 -
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)1 raii/dtor-early-exit.cfa:150:1 error: jump to label 'L1' crosses initialization of y Branch (Goto) 2 2 with target: L1 3 3 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)1 raii/dtor-early-exit.cfa:214:1 error: jump to label 'L2' crosses initialization of y Branch (Goto) 2 2 with target: L2 3 3 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 constructed1 raii/memberCtors.cfa:71:1 error: in void ?{}(B &b), field a2 used before being constructed -
tests/raii/dtor-early-exit.cfa
raeb8f70 re99e43f 10 10 // Created On : Wed Aug 17 08:26:25 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Aug 11 07:58:39 201813 // Update Count : 812 // Last Modified On : Fri Dec 21 08:45:19 2018 13 // Update Count : 10 14 14 // 15 15 … … 25 25 // don't want these called 26 26 void ?{}(A & a) { assert( false ); } 27 void ?{}(A & a, const char * name) { a.name = name; sout | "construct " | name | endl; a.x = (int*)malloc(); }27 void ?{}(A & a, const char * name) { a.name = name; sout | "construct " | name; a.x = (int*)malloc(); } 28 28 void ?{}(A & a, const char * name, int * ptr) { assert( false ); } 29 29 30 30 A ?=?(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); }31 void ?{}(A & a, A b) { sout | "copy construct " | b.name; a.x = (int*)malloc(); } 32 void ^?{}(A & a) { sout | "destruct " | a.name; free(a.x); } 33 33 34 34 // test returns 35 35 void f(int i) { 36 sout | "f i=" | i | endl;36 sout | "f i=" | i; 37 37 A x = { "x" }; // construct x 38 38 { … … 55 55 void g() { 56 56 for (int i = 0; i < 10; i++) { 57 sout | "g for i=" | i | endl;57 sout | "g for i=" | i; 58 58 A x = { "x" }; 59 59 // construct x 60 60 // destruct x 61 61 } 62 sout | endl;62 sout | nl; 63 63 { 64 64 int i = 0; 65 65 while (i < 10) { 66 sout | "g while i=" | i | endl;66 sout | "g while i=" | i; 67 67 A x = { "x" }; 68 68 // construct x … … 71 71 } 72 72 } 73 sout | endl;73 sout | nl; 74 74 for (int i = 0; i < 10; i++) { 75 75 switch(10) { … … 78 78 case 10: { 79 79 A y = { "y" }; 80 sout | "g switch i=" | i | endl;80 sout | "g switch i=" | i; 81 81 // construct y 82 82 break; // destruct y 83 83 } 84 84 default: { 85 sout | "g switch i=" | i | endl;85 sout | "g switch i=" | i; 86 86 A x = { "x" }; 87 87 // construct x … … 90 90 } 91 91 } 92 sout | endl;92 sout | nl; 93 93 for (int k = 0; k < 2; k++) { 94 sout | "g for k=" | k | endl;94 sout | "g for k=" | k; 95 95 L1: for (int i = 0; i < 10; i++) { 96 sout | "g for i=" | i | endl;96 sout | "g for i=" | i; 97 97 98 98 A x = { "x" }; 99 99 if (i == 2) { 100 sout | "continue L1" | endl;100 sout | "continue L1"; 101 101 continue; // destruct x 102 102 } else if (i == 3) { 103 sout | "break L1" | endl;103 sout | "break L1"; 104 104 break; // destruct x 105 105 } 106 106 107 107 L2: for (int j = 0; j < 10; j++) { 108 sout | "g for j=" | j | endl;108 sout | "g for j=" | j; 109 109 A y = { "y" }; 110 110 if (j == 0) { 111 sout | "continue L2" | endl;111 sout | "continue L2"; 112 112 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 113 113 } else if (j == 1) { 114 sout | "break L2" | endl;114 sout | "break L2"; 115 115 break; // destruct y 116 116 } else if (i == 1) { 117 sout | "continue L1" | endl;117 sout | "continue L1"; 118 118 continue L1; // destruct x,y - note: continue takes you to destructors for block, so only generate destructor for y 119 119 } else if (k == 1) { 120 sout | "break L1" | endl;120 sout | "break L1"; 121 121 break L1; // destruct x,y 122 122 } … … 125 125 } 126 126 127 sout | endl;127 sout | nl; 128 128 L3: if( 3 ) { 129 129 A w = { "w" }; 130 130 if( 4 ) { 131 131 A v = { "v" }; 132 sout | "break L3" | endl;132 sout | "break L3"; 133 133 break L3; 134 134 } … … 144 144 // * if S_L-S_G is non-empty, error 145 145 // * emit destructors for all variables in S_G-S_L 146 sout | "h" | endl;146 sout | "h"; 147 147 { 148 148 L0: ; … … 152 152 A y = { "y" }; 153 153 // S_L1 = { y } 154 L1: sout | "L1" | endl;154 L1: sout | "L1"; 155 155 A x = { "x" }; 156 156 // S_L2 = { y, x } 157 L2: sout | "L2" | endl;157 L2: sout | "L2"; 158 158 if (i == 0) { 159 159 ++i; 160 sout | "goto L1" | endl;160 sout | "goto L1"; 161 161 // S_G = { y, x } 162 162 goto L1; // jump back, destruct b/c before x definition … … 165 165 } else if (i == 1) { 166 166 ++i; 167 sout | "goto L2" | endl;167 sout | "goto L2"; 168 168 // S_G = { y, x } 169 169 goto L2; // jump back, do not destruct … … 172 172 } else if (i == 2) { 173 173 ++i; 174 sout | "goto L3" | endl;174 sout | "goto L3"; 175 175 // S_G = { y, x } 176 176 goto L3; // jump ahead, do not destruct … … 180 180 ++i; 181 181 A z = { "z" }; 182 sout | "goto L3-2" | endl;182 sout | "goto L3-2"; 183 183 // S_G = { z, y, x } 184 184 goto L3; … … 187 187 } else { 188 188 ++i; 189 sout | "goto L4" | endl;189 sout | "goto L4"; 190 190 // S_G = { y, x } 191 191 goto L4; // jump ahead, destruct b/c left block x was defined in … … 194 194 } 195 195 // S_L3 = { y, x } 196 L3: sout | "L3" | endl;197 sout | "goto L2-2" | endl;196 L3: sout | "L3"; 197 sout | "goto L2-2"; 198 198 // S_G = { y, x } 199 199 goto L2; // jump back, do not destruct … … 202 202 } 203 203 // S_L4 = {} 204 L4: sout | "L4" | endl;204 L4: sout | "L4"; 205 205 if (i == 4) { 206 sout | "goto L0" | endl;206 sout | "goto L0"; 207 207 // S_G = {} 208 208 goto L0; … … 240 240 f(i); 241 241 } 242 sout | endl;242 sout | nl; 243 243 g(); 244 sout | endl;244 sout | nl; 245 245 h(); 246 246 -
tests/raii/globals.cfa
raeb8f70 re99e43f 70 70 71 71 int main() { 72 sout | "static\t\tinline\t\tautogen\t\tvalue" | endl;72 sout | "static\t\tinline\t\tautogen\t\tvalue"; 73 73 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; 82 82 83 83 } -
tests/random.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // random.c --7 // random.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Jul 5 21:29:30 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jan 2 12:19:34201813 // Update Count : 1912 // Last Modified On : Tue Dec 4 21:46:25 2018 13 // Update Count : 22 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> 17 #include <stdlib.hfa> // random 18 18 #include <unistd.h> // getpid 19 19 … … 24 24 // test polymorphic calls to random and stream 25 25 char c = random(); 26 sout | c | endl;26 sout | c; 27 27 c = random( 'A' ); 28 sout | c | endl;28 sout | c; 29 29 c = random( 'A', 'Z' ); 30 sout | c | endl;30 sout | c; 31 31 32 32 int i = random(); 33 sout | i | endl;33 sout | i; 34 34 i = random( 10 ); 35 sout | i | endl;35 sout | i; 36 36 i = random( -10, 20 ); 37 sout | i | endl;37 sout | i; 38 38 39 39 unsigned int ui = random(); 40 sout | ui | endl;40 sout | ui; 41 41 ui = random( 10u ); 42 sout | ui | endl;42 sout | ui; 43 43 ui = random( 10u, 20u ); 44 sout | ui | endl;44 sout | ui; 45 45 46 46 long int li = random(); 47 sout | li | endl;47 sout | li; 48 48 li = random( 10l ); 49 sout | li | endl;49 sout | li; 50 50 li = random( -10l, 20l ); 51 sout | li | endl;51 sout | li; 52 52 53 53 unsigned long int uli = random(); 54 sout | uli | endl;54 sout | uli; 55 55 uli = random( 10ul ); 56 sout | uli | endl;56 sout | uli; 57 57 uli = random( 10ul, 20ul ); 58 sout | uli | endl;58 sout | uli; 59 59 60 60 float f = random(); 61 sout | f | endl;61 sout | f; 62 62 63 63 double d = random(); 64 sout | d | endl;64 sout | d; 65 65 66 66 float _Complex fc = random(); 67 sout | fc | endl;67 sout | fc; 68 68 69 69 double _Complex dc = random(); 70 sout | dc | endl;70 sout | dc; 71 71 72 72 long double _Complex ldc = random(); 73 sout | ldc | endl;73 sout | ldc; 74 74 } // main 75 75 76 76 // Local Variables: // 77 77 // tab-width: 4 // 78 // compile-command: "cfa random.c " //78 // compile-command: "cfa random.cfa" // 79 79 // End: // -
tests/rational.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // rational.c -- test rational number package7 // rational.cfa -- test rational number package 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Mon Mar 28 08:43:12 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Oct 10 23:25:04 201713 // Update Count : 6 712 // Last Modified On : Tue Dec 4 21:46:42 2018 13 // Update Count : 69 14 14 // 15 15 … … 27 27 28 28 int main() { 29 sout | "constructor" | endl;29 sout | "constructor"; 30 30 Rational(int) a = { 3 }, b = { 4 }, c; 31 sout | a | b | c | endl;31 sout | a | b | c; 32 32 33 33 a = (Rational(int)){ 4, 8 }; 34 34 b = (Rational(int)){ 5, 7 }; 35 sout | a | b | endl;35 sout | a | b; 36 36 a = (Rational(int)){ -2, -3 }; 37 37 b = (Rational(int)){ 3, -2 }; 38 sout | a | b | endl;38 sout | a | b; 39 39 a = (Rational(int)){ -2, 3 }; 40 40 b = (Rational(int)){ 3, 2 }; 41 sout | a | b | endl;41 sout | a | b; 42 42 43 sout | "logical" | endl;43 sout | "logical"; 44 44 a = (Rational(int)){ -2 }; 45 45 b = (Rational(int)){ -3, 2 }; 46 sout | a | b | endl;47 // sout | a == 1 | endl; // FIX ME48 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; 53 53 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; 60 60 61 sout | "conversion" | endl;61 sout | "conversion"; 62 62 a = (Rational(int)){ 3, 4 }; 63 sout | widen( a ) | endl;63 sout | widen( a ); 64 64 a = (Rational(int)){ 1, 7 }; 65 sout | widen( a ) | endl;65 sout | widen( a ); 66 66 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 ); 71 71 72 sout | "decompose" | endl;72 sout | "decompose"; 73 73 int n, d; 74 74 // [n, d] = a; 75 // sout | a | n | d | endl;75 // sout | a | n | d; 76 76 77 sout | "more tests" | endl;77 sout | "more tests"; 78 78 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; 83 83 84 84 Rational(int) z = { 0, 5 }; 85 sout | z | endl;85 sout | z; 86 86 87 sout | x | numerator( x, 0 ) | x | endl;87 sout | x | numerator( x, 0 ) | x; 88 88 89 89 x = (Rational(int)){ 1, MAX } + (Rational(int)){ 1, MAX }; 90 sout | x | endl;90 sout | x; 91 91 x = (Rational(int)){ 3, MAX } + (Rational(int)){ 2, MAX }; 92 sout | x | endl;92 sout | x; 93 93 94 94 sin | a | b; 95 sout | a | b | endl;95 sout | a | b; 96 96 } // main 97 97 98 98 // Local Variables: // 99 99 // tab-width: 4 // 100 // compile-command: "cfa rational.c " //100 // compile-command: "cfa rational.cfa" // 101 101 // End: // -
tests/searchsort.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // searchsort.c --7 // searchsort.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Thu Feb 4 18:17:50 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 9 07:54:57201813 // Update Count : 10 112 // Last Modified On : Thu Dec 20 22:49:46 2018 13 // Update Count : 108 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> 17 #include <stdlib.hfa> // bsearch, qsort 18 18 #include <stdlib.h> // C version of bsearch 19 19 … … 24 24 int iarr[size]; 25 25 26 sout | nlOff; // turn off auto newline 27 26 28 for ( i; 0 ~ size ) { 27 29 iarr[i] = size - i; 28 30 sout | iarr[i] | ", "; 29 31 } // for 30 sout | endl | endl;32 sout | nl | nl; 31 33 32 34 // ascending sort/search by changing < to > … … 35 37 sout | iarr[i] | ", "; 36 38 } // for 37 sout | endl;39 sout | nl; 38 40 for ( i; 0 ~ size ) { // C version 39 41 int key = size - i; … … 41 43 sout | key | ':' | *v | ", "; 42 44 } // for 43 sout | endl;45 sout | nl; 44 46 45 47 for ( i; 0 ~ size ) { … … 47 49 sout | size - i | ':' | *v | ", "; 48 50 } // for 49 sout | endl;51 sout | nl; 50 52 for ( i; 0 ~ size ) { 51 53 unsigned int posn = bsearch( size - i, iarr, size ); 52 54 sout | size - i | ':' | iarr[posn] | ", "; 53 55 } // for 54 sout | endl | endl;56 sout | nl | nl; 55 57 56 58 // descending sort/search by changing < to > … … 59 61 sout | iarr[i] | ", "; 60 62 } // for 61 sout | endl;63 sout | nl; 62 64 { 63 65 // redefinition of ?<? can't overlap the loop controls: 64 //int ?<?( int x, int y ) { return x > y; }65 66 { 66 67 int (*?<?)(int, int) = ?>?; … … 70 71 sout | iarr[i] | ", "; 71 72 } // for 72 sout | endl;73 sout | nl; 73 74 for ( i; 0 ~ size ) { 74 75 int (*?<?)(int, int) = ?>?; … … 76 77 sout | size - i | ':' | *v | ", "; 77 78 } // for 78 sout | endl;79 sout | nl; 79 80 for ( i; 0 ~ size ) { 80 81 int (*?<?)(int, int) = ?>?; … … 83 84 } // for 84 85 } 85 sout | endl | endl;86 sout | nl | nl; 86 87 87 88 double darr[size]; … … 90 91 sout | darr[i] | ", "; 91 92 } // for 92 sout | endl;93 sout | nl; 93 94 qsort( darr, size ); 94 95 for ( i; 0 ~ size ) { 95 96 sout | darr[i] | ", "; 96 97 } // for 97 sout | endl;98 sout | nl; 98 99 for ( i; 0 ~ size ) { 99 100 double * v = bsearch( size - i + 0.5, darr, size ); 100 101 sout | size - i + 0.5 | ':' | *v | ", "; 101 102 } // for 102 sout | endl;103 sout | nl; 103 104 for ( i; 0 ~ size ) { 104 105 unsigned int posn = bsearch( size - i + 0.5, darr, size ); 105 106 sout | size - i + 0.5 | ':' | darr[posn] | ", "; 106 107 } // for 107 sout | endl | endl;108 sout | nl | nl; 108 109 109 110 struct S { int i, j; } sarr[size]; … … 115 116 sout | sarr[i] | ", "; 116 117 } // for 117 sout | endl;118 sout | nl; 118 119 qsort( sarr, size ); 119 120 for ( i; 0 ~ size ) { 120 121 sout | sarr[i] | ", "; 121 122 } // for 122 sout | endl;123 sout | nl; 123 124 for ( i; 0 ~ size ) { 124 125 S temp = { size - i, size - i + 1 }; … … 126 127 sout | temp | ':' | *v | ", "; 127 128 } // for 128 sout | endl;129 sout | nl; 129 130 for ( i; 0 ~ size ) { 130 131 S temp = { size - i, size - i + 1 }; … … 132 133 sout | temp | ':' | sarr[posn] | ", "; 133 134 } // for 134 sout | endl | endl;135 sout | nl | nl; 135 136 { 136 137 int getKey( const S & s ) { return s.j; } … … 138 139 sout | sarr[i] | ", "; 139 140 } // for 140 sout | endl;141 sout | nl; 141 142 for ( i; 0 ~ size ) { 142 143 S * v = bsearch( size - i + 1, sarr, size ); 143 144 sout | size - i + 1 | ':' | *v | ", "; 144 145 } // for 145 sout | endl;146 sout | nl; 146 147 for ( i; 0 ~ size ) { 147 148 unsigned int posn = bsearch( size - i + 1, sarr, size ); 148 149 sout | size - i + 1 | ':' | sarr[posn] | ", "; 149 150 } // for 150 sout | endl | endl;151 sout | nl | nl; 151 152 } 152 153 } // main … … 154 155 // Local Variables: // 155 156 // tab-width: 4 // 156 // compile-command: "cfa searchsort.c " //157 // compile-command: "cfa searchsort.cfa" // 157 158 // End: // -
tests/stdincludes.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // stdincludes.c --7 // stdincludes.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Aug 29 08:26:14 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 30 07:56:39 201713 // Update Count : 512 // Last Modified On : Tue Nov 6 18:00:53 2018 13 // Update Count : 6 14 14 // 15 15 … … 51 51 // Local Variables: // 52 52 // tab-width: 4 // 53 // compile-command: "cfa stdincludes.c " //53 // compile-command: "cfa stdincludes.cfa" // 54 54 // End: // -
tests/sum.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // sum.c -- test resolvers ability to deal with many variables with the same name and to use the minimum number of casts8 // 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. 9 9 // 10 10 // Author : Peter A. Buhr 11 11 // Created On : Wed May 27 17:56:53 2015 12 12 // Last Modified By : Peter A. Buhr 13 // Last Modified On : Thu Aug 2 08:03:09201814 // Update Count : 2 7913 // Last Modified On : Sun Dec 23 23:00:38 2018 14 // Update Count : 287 15 15 // 16 16 … … 56 56 } // for 57 57 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; 59 59 60 60 int s = 0, a[size], v = low; … … 64 64 } // for 65 65 sout | "sum from" | low | "to" | High | "is" 66 | sum( size, (int *)a ) | ", check" | (int)s | endl;66 | sum( size, (int *)a ) | ", check" | (int)s; 67 67 68 68 float s = 0.0f, a[size], v = low / 10.0f; … … 72 72 } // for 73 73 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; 75 75 76 76 double s = 0.0, a[size], v = low / 10.0; … … 80 80 } // for 81 81 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; 83 83 84 84 struct S { int i, j; }; … … 93 93 S ?++( S & t ) { S temp = t; t += (S){1}; return temp; } 94 94 ofstream & ?|?( ofstream & os, S v ) { return os | v.i | v.j; } 95 void ?|?( ofstream & os, S v ) { (ofstream &)(os | v); nl( os ); } 95 96 96 97 S s = (S){0}, a[size], v = { low, low }; … … 100 101 } // for 101 102 sout | "sum from" | low | "to" | High | "is" 102 | sum( size, (S *)a ) | ", check" | (S)s | endl;103 | sum( size, (S *)a ) | ", check" | (S)s; 103 104 104 105 forall( otype Impl | sumable( Impl ) ) … … 114 115 } // for 115 116 sout | "sum from" | low | "to" | High | "is" 116 | sum( size, gs.x ) | ", check" | (int)s | endl;// add field array in generic type117 | sum( size, gs.x ) | ", check" | (int)s; // add field array in generic type 117 118 delete( gs.x ); 118 119 } // main … … 120 121 // Local Variables: // 121 122 // tab-width: 4 // 122 // compile-command: "cfa sum.c " //123 // compile-command: "cfa sum.cfa" // 123 124 // End: // -
tests/swap.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // swap.c --7 // swap.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Dec 7 09:13:13 201713 // Update Count : 7 112 // Last Modified On : Sun Dec 23 23:00:49 2018 13 // Update Count : 77 14 14 // 15 15 … … 19 19 int main( void ) { 20 20 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; 22 22 swap( c1, c2 ); 23 sout | '\t' | c1 | ' ' | c2 | endl;23 sout | '\t' | c1 | ' ' | c2; 24 24 25 25 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; 27 27 swap( i1, i2 ); 28 sout | '\t' | i1 | i2 | endl;28 sout | '\t' | i1 | i2; 29 29 30 30 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; 32 32 swap( ui1, ui2 ); 33 sout | '\t' | ui1 | ui2 | endl;33 sout | '\t' | ui1 | ui2; 34 34 35 35 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; 37 37 swap( li1, li2 ); 38 sout | '\t' | li1 | li2 | endl;38 sout | '\t' | li1 | li2; 39 39 40 40 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; 42 42 swap( uli1, uli2 ); 43 sout | '\t' | uli1 | uli2 | endl;43 sout | '\t' | uli1 | uli2; 44 44 45 45 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; 47 47 swap( lli1, lli2 ); 48 sout | '\t' | lli1 | lli2 | endl;48 sout | '\t' | lli1 | lli2; 49 49 50 50 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; 52 52 swap( ulli1, ulli2 ); 53 sout | '\t' | ulli1 | ulli2 | endl;53 sout | '\t' | ulli1 | ulli2; 54 54 55 55 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; 57 57 swap( f1, f2 ); 58 sout | '\t' | f1 | f2 | endl;58 sout | '\t' | f1 | f2; 59 59 60 60 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; 62 62 swap( d1, d2 ); 63 sout | '\t' | d1 | d2 | endl;63 sout | '\t' | d1 | d2; 64 64 65 65 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; 67 67 swap( ld1, ld2 ); 68 sout | '\t' | ld1 | ld2 | endl;68 sout | '\t' | ld1 | ld2; 69 69 70 70 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; 72 72 swap( fc1, fc2 ); 73 sout | '\t' | fc1 | fc2 | endl;73 sout | '\t' | fc1 | fc2; 74 74 75 75 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; 77 77 swap( dc1, dc2 ); 78 sout | '\t' | dc1 | dc2 | endl;78 sout | '\t' | dc1 | dc2; 79 79 80 80 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; 82 82 swap( ldc1, ldc2 ); 83 sout | '\t' | ldc1 | ldc2 | endl;83 sout | '\t' | ldc1 | ldc2; 84 84 85 85 struct S { int i, j; } s1 = { 1, 2 }, s2 = { 2, 1 }; 86 86 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; 88 89 swap( s1, s2 ); 89 sout | '\t' | s1 | "," | s2 | endl;90 sout | '\t' | s1 | "," | s2; 90 91 } // main 91 92 92 93 // Local Variables: // 93 94 // tab-width: 4 // 94 // compile-command: "cfa swap.c " //95 // compile-command: "cfa swap.cfa" // 95 96 // End: // -
tests/switch.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // switch.c --7 // switch.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Tue Jul 12 06:50:22 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Mar 8 07:33:05201813 // Update Count : 3 612 // Last Modified On : Tue Nov 6 18:01:34 2018 13 // Update Count : 37 14 14 // 15 15 … … 104 104 // Local Variables: // 105 105 // tab-width: 4 // 106 // compile-command: "cfa switch.c " //106 // compile-command: "cfa switch.cfa" // 107 107 // End: // -
tests/test.py
raeb8f70 re99e43f 34 34 # reads the directory ./.expect and indentifies the tests 35 35 def listTests( includes, excludes ): 36 includes = [canonicalPath( i ) for i in includes] if includes else None37 excludes = [canonicalPath( i ) for i in excludes] if excludes else None38 39 36 # tests directly in the .expect folder will always be processed 40 37 test_list = findTests() -
tests/tuple/tupleAssign.cfa
raeb8f70 re99e43f 10 10 // Created On : Tue Nov 15 17:24:32 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Mar 6 21:23:58 201713 // Update Count : 3 412 // Last Modified On : Tue Dec 4 22:03:48 2018 13 // Update Count : 35 14 14 // 15 15 … … 24 24 // swap x, y and store the new [x, y] in [u, v] and in z; 25 25 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 | "]"; 27 27 z = [u, v] = [x, y] = [y, x]; 28 28 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 | "]"; 30 30 31 31 // shuffle elements -- v = z.0, z.0 = z.1, z.1 = u, u = v 32 32 [v, z, u] = [z, u, v]; 33 33 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 | "]"; 35 35 36 36 // multiple assignment with tuple expression on right … … 38 38 [u, v] = [123, 456]; 39 39 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 | "]"; 41 41 } 42 42 { … … 55 55 [t, x, d, i, c, x] = (double)94.12; 56 56 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 | "]"; 58 58 [x, c, i, d, x, t] = (double)-94.12; 59 59 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 | "]"; 61 61 } 62 62 } -
tests/userLiterals.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // user_literals.c --7 // user_literals.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Sep 6 21:40:50 2017 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Apr 29 16:51:42201813 // Update Count : 5 412 // Last Modified On : Tue Dec 4 22:03:10 2018 13 // Update Count : 56 14 14 // 15 15 … … 18 18 #include <uchar.h> 19 19 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; }20 int ?`s( int s ) { sout | "secs" | s; return s; } 21 int ?`m( int m ) { sout | "mins" | m; return m * 60; } 22 int ?`h( int h ) { sout | "hours" | h; return h * 3600; } 23 int ?`_A_( int x ) { sout | "_A_" | x; return x; } 24 int ?`__thingy_( int x ) { sout | "_thingy_" | x; return x; } 25 25 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; }26 int ?`s( const char * s ) { sout | "secs" | s; return 0; } 27 int ?`m( const char16_t * m ) { sout | "mins" | m; return 0;} 28 int ?`h( const char32_t * h ) { sout | "hours" | h; return 0; } 29 int ?`_A_( const wchar_t * str ) { sout | "_A_" | str; return 0; } 30 int ?`__thingy_( const char * str ) { sout | "_thingy_" | str; return 0; } 31 31 32 32 … … 46 46 Weight w, heavy = { 20 }; // 20 stone 47 47 w = 155`lb; 48 sout | w | endl;48 sout | w; 49 49 w = 0b_1111`st; 50 sout | w | endl;50 sout | w; 51 51 w = 0_233`lb; // octal weight (155) 52 sout | w | endl;52 sout | w; 53 53 w = 0x_9b_u`kg; 54 sout | w | endl;54 sout | w; 55 55 w = 70.3`kg; 56 sout | w | endl;56 sout | w; 57 57 w = 11`st + 1`lb; 58 sout | w | endl;58 sout | w; 59 59 w = 5`st + 8`kg + 25`lb + heavy; 60 sout | w | endl;60 sout | w; 61 61 62 62 // 0`secs; … … 90 90 // Local Variables: // 91 91 // tab-width: 4 // 92 // compile-command: "cfa user_literals.c " //92 // compile-command: "cfa user_literals.cfa" // 93 93 // End: // -
tests/variableDeclarator.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // variableDeclarator.c --7 // variableDeclarator.cfa -- 8 8 // 9 9 // Author : Peter A. Buhr 10 10 // Created On : Wed Aug 17 08:41:42 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 17 08:42:21 201613 // Update Count : 112 // Last Modified On : Tue Nov 6 18:02:16 2018 13 // Update Count : 2 14 14 // 15 15 … … 182 182 // Local Variables: // 183 183 // tab-width: 4 // 184 // compile-command: "cfa variableDeclarator.c " //184 // compile-command: "cfa variableDeclarator.cfa" // 185 185 // End: // -
tests/vector.cfa
raeb8f70 re99e43f 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // vector.c --7 // vector.cfa -- 8 8 // 9 9 // Author : Thierry Delisle 10 10 // Created On : Mon Jul 4 23:36:19 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jan 18 17:08:08201813 // Update Count : 2 712 // Last Modified On : Tue Dec 4 22:02:39 2018 13 // Update Count : 29 14 14 // 15 15 … … 21 21 do { \ 22 22 if ( !(x) ) { \ 23 sout | "CHECK failed :" | #x | "at" | __FILE__ | " :" | __LINE__ | endl; \23 sout | "CHECK failed :" | #x | "at" | __FILE__ | " :" | __LINE__; \ 24 24 abort(); \ 25 25 } \ … … 31 31 assert( empty( &iv ) ); 32 32 assert( size( &iv ) == 0 ); 33 sout | size( &iv ) | endl;33 sout | size( &iv ); 34 34 35 35 push_back( &iv, 1 ); 36 36 assert( size( &iv ) == 1 ); 37 sout | size( &iv ) | endl;37 sout | size( &iv ); 38 38 39 39 push_back( &iv, 2 ); 40 40 assert( size( &iv ) == 2 ); 41 sout | size( &iv ) | endl;41 sout | size( &iv ); 42 42 43 43 push_back( &iv, 3 ); 44 44 assert( size( &iv ) == 3 ); 45 sout | size( &iv ) | endl;45 sout | size( &iv ); 46 46 47 47 assert( !empty( &iv ) ); … … 58 58 assert( empty( &iv ) ); 59 59 assert( size( &iv ) == 0 ); 60 sout | size( &iv ) | endl;60 sout | size( &iv ); 61 61 } 62 62 63 63 // Local Variables: // 64 64 // tab-width: 4 // 65 // compile-command: "cfa vector.c " //65 // compile-command: "cfa vector.cfa" // 66 66 // End: // -
tests/warnings/.expect/self-assignment.txt
raeb8f70 re99e43f 1 warnings/self-assignment.c :29:1 warning: self assignment of expression: Cast of:1 warnings/self-assignment.cfa:29:1 warning: self assignment of expression: Cast of: 2 2 Variable Expression: j: signed int 3 3 ... to: 4 4 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 5 warnings/self-assignment.cfa:30:1 warning: self assignment of expression: Cast of: 6 Variable Expression: s: instance of struct S with body 1 7 7 ... 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 9 warnings/self-assignment.cfa:31:1 warning: self assignment of expression: Cast of: 10 Member Expression, with field: 11 11 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 14 14 ... to: 15 15 reference to signed int 16 warnings/self-assignment.c :32:1 warning: self assignment of expression: Cast of:17 Member Expression, with field: 16 warnings/self-assignment.cfa:32:1 warning: self assignment of expression: Cast of: 17 Member Expression, with field: 18 18 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 24 24 ... to: 25 25 reference to signed int -
tools/Makefile.am
raeb8f70 re99e43f 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 CC = @BACKEND_CC@20 20 AM_CFLAGS = -Wall -Wextra -O2 -g 21 21 -
tools/Makefile.in
raeb8f70 re99e43f 96 96 subdir = tools 97 97 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 98 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 99 $(top_srcdir)/configure.ac 98 am__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 100 104 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 101 105 $(ACLOCAL_M4) … … 109 113 busy_OBJECTS = $(am_busy_OBJECTS) 110 114 busy_LDADD = $(LDADD) 111 busy_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(busy_LDFLAGS) $(LDFLAGS) \ 112 -o $@ 115 AM_V_lt = $(am__v_lt_@AM_V@) 116 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 117 am__v_lt_0 = --silent 118 am__v_lt_1 = 119 busy_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 120 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 121 $(busy_LDFLAGS) $(LDFLAGS) -o $@ 113 122 am_catchsig_OBJECTS = catchsig.$(OBJEXT) 114 123 catchsig_OBJECTS = $(am_catchsig_OBJECTS) … … 138 147 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 139 148 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 149 LTCOMPILE = $(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) 140 153 AM_V_CC = $(am__v_CC_@AM_V@) 141 154 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 143 156 am__v_CC_1 = 144 157 CCLD = $(CC) 145 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 158 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 159 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 160 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 146 161 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 147 162 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 182 197 AMTAR = @AMTAR@ 183 198 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 199 AR = @AR@ 184 200 AUTOCONF = @AUTOCONF@ 185 201 AUTOHEADER = @AUTOHEADER@ 186 202 AUTOMAKE = @AUTOMAKE@ 187 203 AWK = @AWK@ 188 BACKEND_CC = @BACKEND_CC@189 204 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 190 CC = @ BACKEND_CC@205 CC = @CC@ 191 206 CCAS = @CCAS@ 192 207 CCASDEPMODE = @CCASDEPMODE@ … … 206 221 CPPFLAGS = @CPPFLAGS@ 207 222 CXX = @CXX@ 223 CXXCPP = @CXXCPP@ 208 224 CXXDEPMODE = @CXXDEPMODE@ 209 225 CXXFLAGS = @CXXFLAGS@ … … 211 227 DEFS = @DEFS@ 212 228 DEPDIR = @DEPDIR@ 229 DLLTOOL = @DLLTOOL@ 213 230 DRIVER_DIR = @DRIVER_DIR@ 231 DSYMUTIL = @DSYMUTIL@ 232 DUMPBIN = @DUMPBIN@ 214 233 ECHO_C = @ECHO_C@ 215 234 ECHO_N = @ECHO_N@ … … 217 236 EGREP = @EGREP@ 218 237 EXEEXT = @EXEEXT@ 238 FGREP = @FGREP@ 219 239 GREP = @GREP@ 220 240 HOST_FLAGS = @HOST_FLAGS@ … … 224 244 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 225 245 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 246 LD = @LD@ 226 247 LDFLAGS = @LDFLAGS@ 227 248 LEX = @LEX@ … … 232 253 LIBOBJS = @LIBOBJS@ 233 254 LIBS = @LIBS@ 255 LIBTOOL = @LIBTOOL@ 256 LIPO = @LIPO@ 257 LN_S = @LN_S@ 234 258 LTLIBOBJS = @LTLIBOBJS@ 259 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 235 260 MAKEINFO = @MAKEINFO@ 261 MANIFEST_TOOL = @MANIFEST_TOOL@ 236 262 MKDIR_P = @MKDIR_P@ 263 NM = @NM@ 264 NMEDIT = @NMEDIT@ 265 OBJDUMP = @OBJDUMP@ 237 266 OBJEXT = @OBJEXT@ 267 OTOOL = @OTOOL@ 268 OTOOL64 = @OTOOL64@ 238 269 PACKAGE = @PACKAGE@ 239 270 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 245 276 PATH_SEPARATOR = @PATH_SEPARATOR@ 246 277 RANLIB = @RANLIB@ 278 SED = @SED@ 247 279 SET_MAKE = @SET_MAKE@ 248 280 SHELL = @SHELL@ … … 256 288 abs_top_builddir = @abs_top_builddir@ 257 289 abs_top_srcdir = @abs_top_srcdir@ 290 ac_ct_AR = @ac_ct_AR@ 258 291 ac_ct_CC = @ac_ct_CC@ 259 292 ac_ct_CXX = @ac_ct_CXX@ 293 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 260 294 am__include = @am__include@ 261 295 am__leading_dot = @am__leading_dot@ … … 305 339 top_srcdir = @top_srcdir@ 306 340 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 341 ACLOCAL_AMFLAGS = -I automake 307 342 AM_CFLAGS = -Wall -Wextra -O2 -g 308 343 busy_SOURCES = busy.c … … 314 349 315 350 .SUFFIXES: 316 .SUFFIXES: .c . o .obj351 .SUFFIXES: .c .lo .o .obj 317 352 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 318 353 @for dep in $?; do \ … … 346 381 347 382 clean-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 349 390 350 391 busy$(EXEEXT): $(busy_OBJECTS) $(busy_DEPENDENCIES) $(EXTRA_busy_DEPENDENCIES) … … 390 431 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 391 432 @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 442 mostlyclean-libtool: 443 -rm -f *.lo 444 445 clean-libtool: 446 -rm -rf .libs _libs 392 447 393 448 ID: $(am__tagged_files) … … 509 564 clean: clean-am 510 565 511 clean-am: clean-generic clean-noinstPROGRAMS mostlyclean-am 566 clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ 567 mostlyclean-am 512 568 513 569 distclean: distclean-am … … 564 620 mostlyclean: mostlyclean-am 565 621 566 mostlyclean-am: mostlyclean-compile mostlyclean-generic 622 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 623 mostlyclean-libtool 567 624 568 625 pdf: pdf-am … … 579 636 580 637 .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 \ 589 647 maintainer-clean-generic mostlyclean mostlyclean-compile \ 590 mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall\591 uninstall-am648 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ 649 tags tags-am uninstall uninstall-am 592 650 593 651 .PRECIOUS: Makefile -
tools/prettyprinter/Makefile.am
raeb8f70 re99e43f 16 16 17 17 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 18 ACLOCAL_AMFLAGS = -I automake 18 19 19 20 BUILT_SOURCES = parser.hh -
tools/prettyprinter/Makefile.in
raeb8f70 re99e43f 95 95 subdir = tools/prettyprinter 96 96 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 97 am__aclocal_m4_deps = $(top_srcdir)/automake/cfa.m4 \ 98 $(top_srcdir)/configure.ac 97 am__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 99 103 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ 100 104 $(ACLOCAL_M4) … … 113 117 am__DEPENDENCIES_1 = 114 118 pretty_DEPENDENCIES = $(am__DEPENDENCIES_1) 115 pretty_LINK = $(CXXLD) $(pretty_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ 116 $(LDFLAGS) -o $@ 119 AM_V_lt = $(am__v_lt_@AM_V@) 120 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) 121 am__v_lt_0 = --silent 122 am__v_lt_1 = 123 pretty_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 124 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(pretty_CXXFLAGS) \ 125 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 117 126 AM_V_P = $(am__v_P_@AM_V@) 118 127 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) … … 131 140 am__depfiles_maybe = depfiles 132 141 am__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 = --silent136 am__v_lt_1 =137 142 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ 138 143 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 144 LTCXXCOMPILE = $(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) 139 148 AM_V_CXX = $(am__v_CXX_@AM_V@) 140 149 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) … … 142 151 am__v_CXX_1 = 143 152 CXXLD = $(CXX) 144 CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ 145 -o $@ 153 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ 154 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ 155 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 146 156 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) 147 157 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) … … 149 159 am__v_CXXLD_1 = 150 160 LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) 161 LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 162 $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS) 151 163 AM_V_LEX = $(am__v_LEX_@AM_V@) 152 164 am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) … … 157 169 -e s/c++$$/h++/ -e s/c$$/h/ 158 170 YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) 171 LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ 172 $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) 159 173 AM_V_YACC = $(am__v_YACC_@AM_V@) 160 174 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) … … 163 177 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ 164 178 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) 179 LTCOMPILE = $(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) 165 183 AM_V_CC = $(am__v_CC_@AM_V@) 166 184 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) … … 168 186 am__v_CC_1 = 169 187 CCLD = $(CC) 170 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ 188 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ 189 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ 190 $(AM_LDFLAGS) $(LDFLAGS) -o $@ 171 191 AM_V_CCLD = $(am__v_CCLD_@AM_V@) 172 192 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) … … 206 226 AMTAR = @AMTAR@ 207 227 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ 228 AR = @AR@ 208 229 AUTOCONF = @AUTOCONF@ 209 230 AUTOHEADER = @AUTOHEADER@ 210 231 AUTOMAKE = @AUTOMAKE@ 211 232 AWK = @AWK@ 212 BACKEND_CC = @BACKEND_CC@213 233 BUILD_IN_TREE_FLAGS = @BUILD_IN_TREE_FLAGS@ 214 234 CC = @CC@ … … 230 250 CPPFLAGS = @CPPFLAGS@ 231 251 CXX = @CXX@ 252 CXXCPP = @CXXCPP@ 232 253 CXXDEPMODE = @CXXDEPMODE@ 233 254 CXXFLAGS = @CXXFLAGS@ … … 235 256 DEFS = @DEFS@ 236 257 DEPDIR = @DEPDIR@ 258 DLLTOOL = @DLLTOOL@ 237 259 DRIVER_DIR = @DRIVER_DIR@ 260 DSYMUTIL = @DSYMUTIL@ 261 DUMPBIN = @DUMPBIN@ 238 262 ECHO_C = @ECHO_C@ 239 263 ECHO_N = @ECHO_N@ … … 241 265 EGREP = @EGREP@ 242 266 EXEEXT = @EXEEXT@ 267 FGREP = @FGREP@ 243 268 GREP = @GREP@ 244 269 HOST_FLAGS = @HOST_FLAGS@ … … 248 273 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 249 274 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 275 LD = @LD@ 250 276 LDFLAGS = @LDFLAGS@ 251 277 LEX = @LEX@ … … 256 282 LIBOBJS = @LIBOBJS@ 257 283 LIBS = @LIBS@ 284 LIBTOOL = @LIBTOOL@ 285 LIPO = @LIPO@ 286 LN_S = @LN_S@ 258 287 LTLIBOBJS = @LTLIBOBJS@ 288 LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ 259 289 MAKEINFO = @MAKEINFO@ 290 MANIFEST_TOOL = @MANIFEST_TOOL@ 260 291 MKDIR_P = @MKDIR_P@ 292 NM = @NM@ 293 NMEDIT = @NMEDIT@ 294 OBJDUMP = @OBJDUMP@ 261 295 OBJEXT = @OBJEXT@ 296 OTOOL = @OTOOL@ 297 OTOOL64 = @OTOOL64@ 262 298 PACKAGE = @PACKAGE@ 263 299 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ … … 269 305 PATH_SEPARATOR = @PATH_SEPARATOR@ 270 306 RANLIB = @RANLIB@ 307 SED = @SED@ 271 308 SET_MAKE = @SET_MAKE@ 272 309 SHELL = @SHELL@ … … 280 317 abs_top_builddir = @abs_top_builddir@ 281 318 abs_top_srcdir = @abs_top_srcdir@ 319 ac_ct_AR = @ac_ct_AR@ 282 320 ac_ct_CC = @ac_ct_CC@ 283 321 ac_ct_CXX = @ac_ct_CXX@ 322 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ 284 323 am__include = @am__include@ 285 324 am__leading_dot = @am__leading_dot@ … … 329 368 top_srcdir = @top_srcdir@ 330 369 AUTOMAKE_OPTIONS = foreign # do not require all the GNU file names 370 ACLOCAL_AMFLAGS = -I automake 331 371 BUILT_SOURCES = parser.hh 332 372 AM_YFLAGS = -d -t -v … … 346 386 347 387 .SUFFIXES: 348 .SUFFIXES: .cc .ll . o .obj .yy388 .SUFFIXES: .cc .ll .lo .o .obj .yy 349 389 $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) 350 390 @for dep in $?; do \ … … 386 426 sed 's/$(EXEEXT)$$//' | \ 387 427 while read p p1; do if test -f $$p \ 428 || test -f $$p1 \ 388 429 ; then echo "$$p"; echo "$$p"; else :; fi; \ 389 430 done | \ … … 400 441 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ 401 442 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 $$?; \ 404 445 } \ 405 446 ; done … … 417 458 418 459 clean-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 420 467 parser.hh: parser.cc 421 468 @if test ! -f $@; then rm -f parser.cc; else :; fi … … 454 501 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` 455 502 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 456 511 pretty-lex.o: lex.cc 457 512 @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 … … 529 584 .yy.cc: 530 585 $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) 586 587 mostlyclean-libtool: 588 -rm -f *.lo 589 590 clean-libtool: 591 -rm -rf .libs _libs 531 592 532 593 ID: $(am__tagged_files) … … 658 719 clean: clean-am 659 720 660 clean-am: clean-generic clean- tools_prettyprinterPROGRAMS\661 mostlyclean-am721 clean-am: clean-generic clean-libtool \ 722 clean-tools_prettyprinterPROGRAMS mostlyclean-am 662 723 663 724 distclean: distclean-am … … 714 775 mostlyclean: mostlyclean-am 715 776 716 mostlyclean-am: mostlyclean-compile mostlyclean-generic 777 mostlyclean-am: mostlyclean-compile mostlyclean-generic \ 778 mostlyclean-libtool 717 779 718 780 pdf: pdf-am … … 729 791 730 792 .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 \ 739 802 installcheck-am installdirs maintainer-clean \ 740 803 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 743 807 744 808 .PRECIOUS: Makefile
Note:
See TracChangeset
for help on using the changeset viewer.