2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-13 00:12:11 +00:00
Files
build/test/main_properties.py
Dave Abrahams 1ef541ccf5 Patches for WIN32
[SVN r17894]
2003-03-13 17:37:13 +00:00

52 lines
1.1 KiB
Python

#!/usr/bin/python
# This tests a bug where files were places to a directory corresponding to a main
# target that was using its main target.
from BoostBuild import Tester
t = Tester()
# In order to correctly link this app, 'b.cpp', created by 'make'
# rule, should be compiled.
t.write("project-root.jam", "import gcc ;")
t.write("Jamfile", """
lib b : b.cpp : <define>BAR ;
exe a : a.cpp b ;
""")
t.write("a.cpp", """
void
#ifdef _WIN32
__declspec(dllimport)
#endif
foo();
int main() { foo(); }
""")
t.write("b.cpp",
"""void
#ifdef _WIN32
__declspec(dllexport)
#endif
foo() {}\n""")
t.run_build_system()
t.expect_addition("bin/$toolset/debug/main-target-b/b.obj")
# This tests another bug: when source file was used by two main targets,
# one without any requirements and another with free requirements, it
# was compiled twice with to the same locaiton.
t.write("Jamfile", """
exe a : a.cpp ;
exe b : a.cpp : <define>FOO ;
""")
t.write("a.cpp", """
int main() { return 0; }
""")
t.rm("bin")
t.run_build_system()
t.expect_addition(["bin/$toolset/debug/a.obj", "bin/$toolset/debug/main-target-b/a.obj"])
t.cleanup()