mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 21:40:52 -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()
 |