alien.libraries: Cannot include alien.libraries.finder here for docs.
							parent
							
								
									e6fecadb04
								
							
						
					
					
						commit
						857e60db5b
					
				| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
! Copyright (C) 2009 Slava Pestov.
 | 
			
		||||
! See http://factorcode.org/license.txt for BSD license.
 | 
			
		||||
USING: accessors alien alien.libraries.finder alien.syntax
 | 
			
		||||
assocs help.markup help.syntax io.backend kernel namespaces
 | 
			
		||||
strings ;
 | 
			
		||||
USING: accessors alien alien.syntax assocs help.markup
 | 
			
		||||
help.syntax io.backend kernel namespaces strings ;
 | 
			
		||||
IN: alien.libraries
 | 
			
		||||
 | 
			
		||||
HELP: make-library
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +44,7 @@ HELP: load-library
 | 
			
		|||
 | 
			
		||||
HELP: add-library
 | 
			
		||||
{ $values { "name" string } { "path" string } { "abi" "one of " { $link cdecl } " or " { $link stdcall } } }
 | 
			
		||||
{ $description "Defines a new logical library named " { $snippet "name" } " located in the file system at " { $snippet "path" } " and the specified ABI. You can find the location of the library via " { $link find-library } ". The logical library name can then be used by a " { $link POSTPONE: LIBRARY: } " form to specify the logical library for subsequent " { $link POSTPONE: FUNCTION: } " definitions." }
 | 
			
		||||
{ $description "Defines a new logical library named " { $snippet "name" } " located in the file system at " { $snippet "path" } " and the specified ABI. You can find the location of the library via words in " { $vocab-link "alien.libraries.finder" } ". The logical library name can then be used by a " { $link POSTPONE: LIBRARY: } " form to specify the logical library for subsequent " { $link POSTPONE: FUNCTION: } " definitions." }
 | 
			
		||||
{ $notes "Because the entire source file is parsed before top-level forms are executed, " { $link add-library } " must be placed within a " { $snippet "<< ... >>" } " parse-time evaluation block."
 | 
			
		||||
$nl
 | 
			
		||||
"This ensures that if the logical library is later used in the same file, for example by a " { $link POSTPONE: FUNCTION: } " definition. Otherwise, the " { $link add-library } " call will happen too late, after compilation, and the C function calls will not refer to the correct library."
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue