# This file is a shell script fragment that supplies the information
# necessary for a configure script to process the program in
# this directory.  For more information, look at ../../configure.

configdirs=
srctrigger=configure.in
srcname="tests for ANSI C++ library, dejagnu style"
package_makefile_frag=Make.pack

# per-host:

# per-target:

target_makefile_frag=../target-mkfrag

TO_TOPDIR=../../
ALL=' '
XCXXINCLUDES="-I${srcdir}/.. -I${srcdir}/../stl -I${TO_TOPDIR}libio -I${srcdir}/${TO_TOPDIR}libio"
TESTS="tcomplex tstring tlist tmap tvector"
MOSTLYCLEAN="*.o core ${TESTS} *.out"
(. ${srcdir}/${TO_TOPDIR}libio/config.shared) >${package_makefile_frag}

# post-target:
