mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-09 02:26:06 -05:00
54 lines
1.0 KiB
Python
54 lines
1.0 KiB
Python
|
#!/usr/bin/python
|
||
|
|
||
|
# Copyright 2003 Vladimir Prus
|
||
|
# Copyright 2011 Steven Watanabe
|
||
|
# Distributed under the Boost Software License, Version 1.0.
|
||
|
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
|
||
|
|
||
|
# Test the C/C++ preprocessor.
|
||
|
|
||
|
import BoostBuild
|
||
|
|
||
|
t = BoostBuild.Tester()
|
||
|
|
||
|
t.write("jamroot.jam", """
|
||
|
project ;
|
||
|
preprocessed hello : hello.cpp ;
|
||
|
preprocessed a : a.c ;
|
||
|
exe hello.exe : hello a : <define>FAIL ;
|
||
|
""")
|
||
|
|
||
|
t.write("hello.cpp", """
|
||
|
#ifndef __cplusplus
|
||
|
#error "This file must be compiled as C++"
|
||
|
#endif
|
||
|
#ifdef FAIL
|
||
|
#error "Not preprocessed?"
|
||
|
#endif
|
||
|
extern "C" int foo();
|
||
|
int main() { return foo(); }
|
||
|
""")
|
||
|
|
||
|
t.write("a.c", """
|
||
|
/* This will not compile unless in C mode. */
|
||
|
#ifdef __cplusplus
|
||
|
#error "This file must be compiled as C"
|
||
|
#endif
|
||
|
#ifdef FAIL
|
||
|
#error "Not preprocessed?"
|
||
|
#endif
|
||
|
int foo()
|
||
|
{
|
||
|
int new = 0;
|
||
|
new = (new+1)*7;
|
||
|
return new;
|
||
|
}
|
||
|
""")
|
||
|
|
||
|
t.run_build_system()
|
||
|
t.expect_addition("bin/$toolset/debug/hello.ii")
|
||
|
t.expect_addition("bin/$toolset/debug/a.i")
|
||
|
t.expect_addition("bin/$toolset/debug/hello.exe")
|
||
|
|
||
|
t.cleanup()
|