mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	
		
			
	
	
		
			62 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | # Copyright 2003, 2004 Vladimir Prus  | ||
|  | # 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)  | ||
|  | 
 | ||
|  | #  This file shows some of the primary customization mechanisms in Boost.Build V2 | ||
|  | #  and should serve as a basic for your own customization. | ||
|  | #  Each part has a comment describing its purpose, and you can pick the parts | ||
|  | #  which are relevant to your case, remove everything else, and then change names | ||
|  | #  and actions to taste. | ||
|  | 
 | ||
|  | import os ; | ||
|  | 
 | ||
|  | #  Declare a new target type. This allows Boost.Build to do something sensible | ||
|  | #  when targets with the .verbatim extension are found in sources. | ||
|  | import type ; | ||
|  | type.register VERBATIM : verbatim ; | ||
|  | 
 | ||
|  | #  Declare a dependency scanner for the new target type. The | ||
|  | #  'inline-file.py' script does not handle includes, so this is | ||
|  | #  only for illustraction. | ||
|  | import scanner ; | ||
|  | #  First, define a new class, derived from 'common-scanner', | ||
|  | #  that class has all the interesting logic, and we only need | ||
|  | #  to override the 'pattern' method which return regular | ||
|  | #  expression to use when scanning. | ||
|  | class verbatim-scanner : common-scanner  | ||
|  | { | ||
|  |     rule pattern ( ) | ||
|  |     { | ||
|  |         return "//###include[ ]*\"([^\"]*)\"" ; | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | # Register the scanner class. The 'include' is | ||
|  | # the property which specifies the search path | ||
|  | # for includes. | ||
|  | scanner.register verbatim-scanner : include ; | ||
|  | # Assign the scanner class to the target type. | ||
|  | # Now, all .verbatim sources will be scanned. | ||
|  | # To test this, build the project, touch the  | ||
|  | # t2.verbatim file and build again. | ||
|  | type.set-scanner VERBATIM : verbatim-scanner ; | ||
|  | 
 | ||
|  | import generators ; | ||
|  | generators.register-standard verbatim.inline-file : VERBATIM : CPP ; | ||
|  | 
 | ||
|  | # Note: To use Cygwin Python on Windows change the following line | ||
|  | # to "python inline_file.py $(<) $(>)" | ||
|  | # Also, make sure that "python" in in PATH. | ||
|  | actions inline-file  | ||
|  | { | ||
|  |     "./inline_file.py" $(<) $(>) | ||
|  | } | ||
|  | 
 | ||
|  | if [ os.name ] = VMS | ||
|  | { | ||
|  |     actions inline-file | ||
|  |     { | ||
|  |         python inline_file.py $(<:W) $(>:W) | ||
|  |     } | ||
|  | } |