Linker ------ Generally one linker is run per target to build a static library, dynamic library or exe. The 'id' attribute of the linker specifies whch type of linking is performed. - *exe* - Overwrite the exe command for this linker. ```xml ``` - *flag* - Add a single link flag. ```xml ``` - *ext* - Default extension for generated files - if not overridden by target. ```xml ``` + value = extension, including "." - *outflag* - Flag for specifying linker output name. ```xml ``` + value = linker flag. Note that it should contain a space character if the actual name should be a separate argument, like "-o ", or "-o"/"-out:" if it does not. - *section* - Group items - usually sharing common condition ```xml
``` - *libdir* - A temp directory name to build into. This will capture the extra files the compiler generates, and then the desired file will be copied to the correct location. ```xml ``` - *lib* - Add a library to the link line. ```xml ``` + name = the complete name is specified + base = the name without compiler-specific extension (.a/.lib) is specified + hxbase = the name without extension and architecture (-v7/.iphoinesim) is specified - *prefix* - Prefix for generated files. ```xml ``` + value = prefix. This will usually be "lib" or nothing. - *ranlib* - Whether ranlib needs to be run, and what command to use. Usually only for unix-style static libraries ```xml ``` - *libpathflag* - Flag used for adding library paths to command line. It will be combined with *lib* entries. ```xml ``` - *recreate* - Whether to delete the target file before re-running link command. The archive "ar" command likes to add obj files to existing archives, so deleting first can help. ```xml ``` - *expandAr* - Whether to extract the individual obj files from an archive and add these, rather than add the archive as a single library. Can solve some link-order and static-initialization issues, but may make final exe bigger. ```xml ``` - *fromfile* - If the linker supports taking a list of objs in a file, then this is flag for specifying the file. ```xml ``` + value = flag for specifying file. If the filename should be a separate argument, then the flag should end with a space. Usually `@` or `-filelist `. Use empty to disable. + needsQuotes = is whether to quote the obj names in the file