UNPKG

ocaml

Version:

OCaml Compiler as an esy npm Package

207 lines (169 loc) 8.41 kB
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: -->