2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-14 12:42:11 +00:00
Files
build/test/generators_test.py
Vladimir Prus 149a9f83ef Improve shared/static linking interface and
introduce separate <link-runtime> feature.
Allow to use the 'lib' rule to declare
libraries that should be searched for.

* builtin.jam: Remove 'shared' features. Introduce
   'link' and 'link-runtime'.
   (searched-lib-target): New class
   (searched-lib-generator): New generator.
   (lib-action): New class, derived from 'action'.
   Handles instances of 'searched-lib-target' in sources.
   Also, moves all libraries from sources to property value,
   so that we can repeat them twice in command line.
   (lib-generator): Generator which uses 'lib-action'.

* generators.jam: Allow empty list of sources everywhere.

* virtual-target.jam (file-target): Split into
   'abstract-file-target' and 'file-target'.
   (abstra
  (action.actualize-sources): New rule. Allows to
  handle the fact that some sources are special,
  and should not become $(>) in action body.


[SVN r16573]
2002-12-09 10:02:37 +00:00

29 lines
706 B
Python

#!/usr/bin/python
from BoostBuild import Tester, List
t = Tester()
t.set_tree("generators-test")
t.run_build_system()
t.expect_addition("bin/gcc/debug/" * List(
"a.o b.o c.h c.cpp c.o d_parser.whl d_lexer.dlp d_parser.cpp d_lexer.cpp " +
"d_parser.lr0 x.c x.o y.x1 y.x2 " +
"y.cpp y.o a e.marked.cpp e.positions e.target.cpp e.o e"))
t.expect_addition(["lib/bin/gcc/debug/c.o",
"lib/bin/gcc/debug/auxilliary.a",
])
t.run_build_system(subdir='lib')
t.expect_addition(["lib/bin/gcc/debug/auxilliary2.so"])
t.run_build_system(subdir='lib', extra_args="link=static")
t.expect_addition(["lib/bin/gcc/debug/link-static/auxilliary2.a"])
t.cleanup()