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