List of configuration flags
Note that the _
after lib.
in all the names below should be replaced by the identifier of the library.
ammer.buildPath
ammer.debug
ammer.outputPath
ammer.lib._.defines
ammer.lib._.frameworks
ammer.lib._.headers.includes
ammer.lib._.includePaths
ammer.lib._.language
ammer.lib._.libraryPaths
ammer.lib._.linkNames
ammer.buildPath:String
Path used for intermediate build artefacts. These include the C glue code generated by ammer
, as well as compiled binary objects, before they are packaged into dynamic libraries. See paths.
Compile-time defines
-D ammer.buildPath=(string)
— sets the build path.
ammer.debug:String
Sets the debug mode for ammer
. The value is a comma-separated list of categories of debug messages to show. The available categories are:
stage
stage-ffi
The flag can be set to the string all
to enable all of the above.
Compile-time defines
-D ammer.debug=(comma-separated list)
— sets the debug mode.
ammer.outputPath:String
Path used for final build products. These are dynamic libraries compiled by ammer
that would typically be deployed with the program using them. See paths.
Compile-time defines
-D ammer.outputPath=(string)
— sets the output path.
ammer.lib._.defines:Array<String>
List of C preprocessor directives to set when compiling the library.
Compile-time defines
-D ammer.lib._.define=(string)
— adds one entry to the list.-D ammer.lib._.defines=(comma-separated list)
— adds multiple entries to the list.
Metadata (on a library definition)
@:ammer.lib.define(define:String)
— adds one entry to the list.@:ammer.lib.defines(defines:Array<String>)
— adds multiple entries to the list.
ammer.lib._.frameworks:Array<String>
List of frameworks to use when compiling the library. Only has an effect on macOS.
Compile-time defines
-D ammer.lib._.framework=(string)
— adds one entry to the list.-D ammer.lib._.frameworks=(comma-separated list)
— adds multiple entries to the list.
Metadata (on a library definition)
@:ammer.lib.framework(framework:String)
— adds one entry to the list.@:ammer.lib.frameworks(frameworks:Array<String>)
— adds multiple entries to the list.
ammer.lib._.headers.includes:Array<SourceInclude>
List of headers to include when compiling the library. There are four different include styles:
IncludeLocal
—#include "header.h"
IncludeGlobal
—#include <header.h>
ImportLocal
—#import "header.h"
ImportGlobal
—#import <header.h>
Compile-time defines
-D ammer.lib._.headers=(comma-separated list)
— adds multiple entries to the list, asIncludeLocal
s.-D ammer.lib._.headers.includeLocal=(string)
— adds one entry to the list, asIncludeLocal
.-D ammer.lib._.headers.includeGlobal=(string)
— adds one entry to the list, asIncludeGlobal
.-D ammer.lib._.headers.importLocal=(string)
— adds one entry to the list, asImportLocal
.-D ammer.lib._.headers.importGlobal=(string)
— adds one entry to the list, asImportGlobal
.
Metadata (on a library definition)
@:ammer.lib.headers.include(header:String)
— adds one entry to the list, asIncludeLocal
.@:ammer.lib.headers.import(header:String)
— adds one entry to the list, asImportLocal
.@:ammer.lib.headers.includeLocal(header:String)
— adds one entry to the list, asIncludeLocal
.@:ammer.lib.headers.includeGlobal(header:String)
— adds one entry to the list, asIncludeGlobal
.@:ammer.lib.headers.importLocal(header:String)
— adds one entry to the list, asImportLocal
.@:ammer.lib.headers.importGlobal(header:String)
— adds one entry to the list, asImportGlobal
.
ammer.lib._.includePaths:Array<String>
Paths to provide to the C compiler as "include paths", which are used when searching for header files.
Compile-time defines
-D ammer.lib._.includePaths=(comma-separated list)
— adds multiple entries to the list.
Metadata (on a library definition)
@:ammer.lib.includePath(path:String)
— adds one entry to the list.@:ammer.lib.includePaths(paths:Array<String>)
— adds multiple entries to the list.
ammer.lib._.language:LibraryLanguage
Specifies the language of the native library. This language is also used for generating the glue code. Possible values:
C
- CCpp
- C++ObjC
- Objective-CObjCpp
- Objective-C++
Compile-time defines
-D ammer.lib._.language=(string)
— sets the language.
Metadata (on a library definition)
@:ammer.lib.language(language:LibraryLanguage)
— sets the language.
ammer.lib._.libraryPaths:Array<String>
Paths to provide to the C compiler (more accurately, the linker) as "library paths", which are used when searching for library files (.dll
, .dylib
, .so
files).
Compile-time defines
-D ammer.lib._.libraryPaths=(comma-separated list)
— adds multiple entries to the list.
Metadata (on a library definition)
@:ammer.lib.libraryPath(path:String)
— adds one entry to the list.@:ammer.lib.libraryPaths(paths:Array<String>)
— adds multiple entries to the list.
ammer.lib._.linkNames:Array<String>
Names of libraries to link against when compiling this native library. Should not include prefixes such as -l
or lib
.
Compile-time defines
-D ammer.lib._.linkNames=(comma-separated list)
— adds multiple entries to the list.
Metadata (on a library definition)
@:ammer.lib.linkName(path:String)
— adds one entry to the list.@:ammer.lib.linkNames(paths:Array<String>)
— adds multiple entries to the list.