# file : tests/cc/libu/testscript # copyright : Copyright (c) 2014-2017 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file crosstest = false test.arguments = config.cxx="$recall($cxx.path)" .include ../../common.test +cat <<EOI >+build/bootstrap.build using test EOI +cat <<EOI >=build/root.build cxx.std = latest using cxx hxx{*}: extension = hxx cxx{*}: extension = cxx exe{*}: test = true EOI # Common source files that are symlinked in the test directories if used. # +cat <<EOI >=foo.hxx #ifndef LIBFOO_EXPORT # define LIBFOO_EXPORT #endif LIBFOO_EXPORT extern int f; EOI +cat <<EOI >=foo.cxx #include <foo.hxx> int f; EOI +cat <<EOI >=bar.cxx #include <foo.hxx> struct b { b () {++f;} } b_; EOI +cat <<EOI >=driver.cxx #include <cassert> #include <foo.hxx> int main () {assert (f != 0);} EOI : basic : ln -s ../foo.hxx ../foo.cxx ../bar.cxx ../driver.cxx ./; $* test clean <<EOI cc.poptions += "-I$src_base" exe{foo}: cxx{driver} libu{foo} libu{foo}: cxx{foo bar} EOI : members : : Test building individual libuX{} members. : ln -s ../foo.hxx ../foo.cxx ../bar.cxx ../driver.cxx ./; $* test clean <<EOI cc.poptions += "-I$src_base" # {exe liba libs}{foo} ./: {exe}{foo} exe{foo}: cxx{driver} libue{foo} liba{foo}: libua{foo} libs{foo}: libus{foo} libu{foo}: cxx{foo bar} EOI