diff options
Diffstat (limited to '')
-rw-r--r-- | src/boost/tools/build/test/ndebug.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/boost/tools/build/test/ndebug.py b/src/boost/tools/build/test/ndebug.py new file mode 100644 index 000000000..82f3db81e --- /dev/null +++ b/src/boost/tools/build/test/ndebug.py @@ -0,0 +1,33 @@ +#!/usr/bin/python + +# Copyright 2003 Vladimir Prus +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt) + +# Test that building with optimization brings NDEBUG define, and, more +# importantly, that dependency targets are built with NDEBUG as well, even if +# they are not directly requested. + +import BoostBuild + +t = BoostBuild.Tester(use_test_config=False) + +t.write("jamroot.jam", "exe hello : hello.cpp lib//lib1 ;") +t.write("hello.cpp", """\ +#ifdef NDEBUG +void foo(); +int main() { foo(); } +#endif +""") +t.write("lib/jamfile.jam", "lib lib1 : lib1.cpp ;") +t.write("lib/lib1.cpp", """\ +#ifdef NDEBUG +void foo() {} +#endif +""") + +# 'release' builds should get the NDEBUG define. We use static linking to avoid +# messing with imports/exports on Windows. +t.run_build_system(["link=static", "release"]) + +t.cleanup() |