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()
							 |