make[1]: Entering directory `/etc/home/sales/playground/Blitz/Blitz++-0.7/compiler' ./bzconfig --compiler=g++ --flags="" --srcdir=. Blitz++ compiler evaluation This script will test your compiler to determine which language features it supports. I am now going to try a simple program. Okay, it compiled. But will it link? Yes, it linked too. Great. Okay, now the fun begins. Does your compiler implement namespaces? Yes. What about exceptions? Yes. Run-Time Type Identification? Yes. Member constants? Yes. Does your compiler cling to the old 'for' scoping rules? Nope. Now for some of the new keywords. How about the 'explicit' keyword? Yes. What about the 'mutable' keyword? Yes. Does your compiler recognize 'typename'? Yes. Just on the off chance... the NCEG 'restrict' keyword? Nope. Maybe it recognizes __restrict__? Yes. Does it recognize bool as a built-in type? Yes. Does your compiler understand the newfangled casting syntax? What about const_cast<>? Yes. static_cast<>? Yes. reinterpret_cast<>? Yes. dynamic_cast<>? Yes. Okay, now the important stuff -- templates. Will it handle basic templates? (If not, just give up now.) Yes. Partial specialization? Yes. Partial ordering? Yes. Default template parameters? Yes. Member templates? Yes. Member templates outside the class declaration? Yes. Does it recognize the full specialization syntax? Yes. Function templates with non-type parameters? Yes. Template-qualified base class specifiers? Yes. Template-qualified return types (necessary for vector type promotion)? Yes. Explicit template function qualification? Yes. Templates as template arguments? Yes. Use of the template keyword as a qualifier? Yes. Function matching with argument types which are template scope-qualified? Yes. Will it support the vector type promotion mechanism? Yes. Numeric traits promotions (sum type, etc.)? Yes. Can your compiler handle computations inside an enum? Yes. Does it handle (int) casts in enum computations? Yes. Which library features does your compiler provide? Does it have complex? Yes. Does it have numeric_limits? Nope. Does it have ? Yes. Does it have valarray? Yes. Complex math functions? Nope. IEEE Math library? Yes. System V Math library? Nope. Are C math functions in and std::? Yes. Are complex math functions in std::? Yes. ISO C++ Standard library? Yes. Standard template library? Yes. What about getrusage()? Yes. The results have been written to the file config.h. If you're curious about which tests passed and failed and why, see this file: -rw-r--r-- 1 sales insight 5939 Oct 25 06:20 logfile cp -f config.h ../blitz/config.h make[1]: Leaving directory `/etc/home/sales/playground/Blitz/Blitz++-0.7/compiler' make[1]: Entering directory `/etc/home/sales/playground/Blitz/Blitz++-0.7/lib' if /bin/sh ../libtool --mode=compile g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"Blitz++\" -DVERSION=\"0.7\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBM=1 -I. -I. -I.. -I.. -MT globals.lo -MD -MP -MF ".deps/globals.Tpo" \ -c -o globals.lo `test -f '../src/globals.cpp' || echo './'`../src/globals.cpp; \ then mv -f ".deps/globals.Tpo" ".deps/globals.Plo"; \ else rm -f ".deps/globals.Tpo"; exit 1; \ fi g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"Blitz++\" -DVERSION=\"0.7\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_LIBM=1 -I. -I. -I.. -I.. -MT globals.lo -MD -MP -MF .deps/globals.Tpo -c ../src/globals.cpp -o globals.o echo timestamp > globals.lo /bin/sh ../libtool --mode=link g++ -o libblitz.la -rpath /usr/local/lib globals.lo -lm mkdir .libs rm -fr .libs/libblitz.la .libs/libblitz.* .libs/libblitz.* ar -cru .libs/libblitz.a globals.o ranlib .libs/libblitz.a creating libblitz.la (cd .libs && rm -f libblitz.la && ln -s ../libblitz.la libblitz.la) make[1]: Leaving directory `/etc/home/sales/playground/Blitz/Blitz++-0.7/lib'