Next version
- Enable linking of C++ object files for mingw ports (David Allsopp)

Version 0.37
- Bug fix: the IMAGE_SCN_LNK_NRELOC_OVFL section flag was not propertly reset when
  the number of relocations was reduced enough to fit in the 16-bit field,
  causing https://caml.inria.fr/mantis/view.php?id=7603
- Support for passing argument through external files (-arg/-arg0)
  (Bernhard Schommer)
- Fix encoding of high surrogate for U+10000-U+10FFFF in UTF-16 response files (David Allsopp)

Version 0.36
- Add Unicode support (patch by Nicolás Ojeda Bär)
- Workaround apparent bug in VS 2017.3 link (patch by David Allsopp)
- Additional heuristic for -lfoo on MSVC: try libfoo.lib but then try foo.lib (David Allsopp)

Version 0.35
- Fixes for clang (patch by Roven Gabriel)
- Improve autodetection of WinSDK paths (patch by David Allsopp)
- Add MSVC_DETECT Makefile variable which overrides all C Compiler detection logic when 0.
- Add checkenv script which determines if the environment is sound specifying MSVC_DETECT=0
- Improve performance of -builtin
- Better support for @response files, which can contain options in
  addition to filenames (patch by Bernhard Schommer)
- Ignore "-g" (passed by OCaml when building ocamlrund) (patch by whitequark)
- Uses gcc -print-search-dirs instead of gcc -print-sysroot when figuring out the default
  library search paths (patch by whitequark)
- Modernize code for OCaml 4.03 (patch for compatibility layers for earlier versions by David Allsopp)
- Better support for long command line when calling the toolchain linker
- Do not perform relocation from the DLL entry point when the DLL is loaded in "not for
  execution mode" (http://caml.inria.fr/mantis/view.php?id=7268)
- Fix -stack for Cygwin (when the resulting executable is called XXX.exe, not XXX)

Version 0.34
- New option -norelrelocs to check that no relative flexdll relocations are created (this ensures that the generated DLLs can be loaded at any address),
- New option -base to specify the image base address (msvc64 only).
- Always generate a table for used __flimp_XXX symbols (even when X is defined in the generated image).
- Fix bug with empty sections in "-builtin" mode
- -builtin: Generate proper ADDR64 instead of HIGHLOW (32-bit) relocations in the dll

Version 0.33
- Turn 'too far' messages into proper errors, avoid terminating the process

Version 0.31
- Support for "@respfiles" arguments (for long command lines).
  Used to be implemented by OCaml runtime system.
- Fix bug when relocation counter > 0xffff
- Fix bug with REL32 relocations on non-zero base in DLLs
- Fix bug with empty .a files

Version 0.30
- Allow the internal linker to create large DLLs (>= 16Mb)

Version 0.29
- use "cygpath -S", not "cygpath -v" which no longer exists

Version 0.28
- new option '-stack' to set the stack reserve
- new option '-patch' (to be used in conjunction with -stack and -o to
  patch the an existing image)

Version 0.27
- support for mingw64; the mingw toolcgain now relies on the 32-bit version of mingw64;
  the old "gcc -mno-cygwin" is no longer supporte.
  Patch from Antointe Mine:
  http://caml.inria.fr/mantis/view.php?id=5179
- fix directive parsing bug (http://caml.inria.fr/mantis/view.php?id=5339)
- support for new file layout for cygwin's version of mingw
- support for objects with more than 65536 relocations

Version 0.26
- fix for Win64 (use a PE32+ optional header, and a lower base address)
- use _putenv_s instead of putenv for FLEXDLL_RELOCATE (thanks to Yasutaka Atarashi)
- use /dev/null instead of NUL for Cygwin (thanks to Yasutaka Atarashi)

Version 0.25
- fix a bug with archive member names that contain a slash

Version 0.24
- add new toolchain msvc64; replace the old combination "-chain msvc -x64" (-x64 has been removed)
- change build system to create a single binary version of flexdll that includes both the 32-bit and 64-bit
  version for MSVC's support objects
- switch to Visual Studio 2008 (to compile the binary distribution and for the default manifests)

Version 0.23
- ignore -D and -U flags (OCaml PR #4979)
- change limit before using a response file (OCaml PR #4645)

Version 0.22
- fix a bug when emitting IMAGE_COMDAT_SELECT_ASSOCIATIVE symbols

Version 0.21
- always use bash to call external commands under Cygwin (to make it work
  when gcc is a symlink)

Version 0.20
- (build) Avoid the use of the rc tool
- (dist) add version.rc to the source release
- Allow "/link XXX" as an equivalent to "-link XXX" (or "/linkXXX")
- Use an explicit .def file under MinGW and Cygwin to force the two symbols reloctbl and symtbl to be exported
- Fixes for x64
- Allow to write sections with more than 0xffff relocations
- Create a Win32 installer

Version 0.19
- fix bug introduced in version 0.17 about virtual addresses for the builtin
  linker mode

Version 0.18
- support for .sxdata section

Version 0.17
- patch from Lars Nilsson to ease compilation of flexdll.h with C++
- prefer using XXX.dll.a (import lib) over XXX.a (static lib)
- fix bug introduced in commit 136 about virtual addresses

Version 0.16
- New -noexport command line option to force an empty symbol table

Version 0.15, released on 2009-02-25
- protects calls to cygpath with long command lines (patch from
  Matthieu Dubuget)
- always pass msvcrt.lib to link.exe

Version 0.14, released on 2008-28-01
- mingw port: put /lib/mingw before /lib
- support for a built-in linker

Version 0.13, released on 2008-11-20
- another technique to work around the lack of response file for gcc:
  put the command line in an external bash script and apply bash to it
  (relies on the fact that Cygwin programs can call Cygwin programs
  with long command lines); this idea is from Xavier Leroy
- the -subsystem switch is now supported for the mingw toolchain

Version 0.12, released on 2008-11-17
- gcc 3 does not support response files; to support longer command lines, we use a
  custom replacement for cmd.exe (which restricts the length of the command line
  to 8kB whereas Windows supports 32kB)
- patch for Richard Jones: do not find directories when looking for a file

Version 0.11, released on 2008-11-10
- compiled with mingw port so as to depend on msvcrt.dll, not msvcr80.dll
- experimental support for directly calling "ld" instead of "gcc"
- by default, reexport symbols imported from an import library
- quote the response file argument
- use slashes instead of backslashed in response file (needed for mingw's ld)
- by default, use the real manifest

Version 0.10, released on 2008-10-21
- use "gcc -mno-cygwin -print-libgcc-file-name" to get the standard
  library directory for mingw
- lower the length threshold to use a diversion file when calling the
  linker with many arguments

Version 0.9, released on 2008-09-18
 - fix bug with COFF symbols for sections (with more than 1 auxilliary block)
 - ignore debug relocations on x86 (of kind 0x000a, 0x000b)

Version 0.8, released on 2008-03-10
 - new -no-merge-manifest

Version 0.7, released on 2008-03-09
 - allow .dll.a as automatic extension for libraries
 - minor bug fixes

Version 0.6, released on 2008-02-11
 - support COMDAT section symbols
 - support mixed libraries (import library + regular objects)
 - optimizations (do not rewrite library objects when not needed,
   pass the lib to the linker)
 - new -real-manifest, replace -default-manifest
 - new -implib option
 - new -outdef option
 - new zlib/libpng license

Version 0.5, released on 2008-01-11
 - new -default-manifest option (always on, currently)
 - use a temp file name for getting the output of commands (allow
   several instances of flexlink to run in parallel)

Version 0.4, released on 2008-01-02
 - Code cleanup
 - FLEXLINKFLAGS env var to pass extra arguments

Version 0.3, released on 2007-11-20
 - Make it work under x86_64
 - New -subsystem option (currently for MSVC chain only)
 - New -explain option
 - New -link option

Version 0.2, released on 2007-11-06
 - New -maindll option (to build a DLL that contains the "main program"
   from FlexDLL's point of view)
 - Can now explicitly enable/disable the use of cygpath (on by default
   only for Cygwin)
 - New -L xxx (or -Lxxx) option
 - New -where option
 - FLEXDIR environment variable (where to look for FlexDLL's .obj files)

Version 0.1, released on 2007-06-14
 - Initial release

<!-- Local Variables:  -->
<!-- coding: utf-8     -->
<!-- End:              -->
