Skip to content

FlexDLL 0.38

Compare
Choose a tag to compare
@dra27 dra27 released this 29 Jun 15:55
· 116 commits to master since this release

Summary

This is largely a service release, as we haven't released an update to FlexDLL in nearly three years!

Changes

  • #3, @fdopen: data symbols in import libraries are now recognised (libffi in ctypes.foreign now works)
  • #48, @dra27: C++ object files can now be linked in the mingw ports (ocaml-mccs now works)
  • #49, @kanigsson: the 64bit GNAT compiler is now supported
  • #58, @db4: -custom-crt now works again (regression since 0.34)
  • #61, @db4: amd64 debug relocations are now ignored (i386 was already ignored)
  • #64, @db4, @alainfrisch: fix problem with setting page permission during relocation of consecutive relocation addresses spanning multiple memory pages
  • #68, @bryphe, @dra27: fix incorrect calculation of maximum command length supported by MSVC
  • #73, @MSoegtropIMC: GCC-style linker options (-Wl,-…) onto the linker
  • #78, @bschommer: flexlink compiles without deprecation warnings on OCaml 4.08+
  • #81, #84, @dra27: use msvs-detect (from metastack/msvs-tools) for detecting Windows SDK or Visual Studio
  • #86, @dra27: flexlink now compiles with OCaml 3.11-4.02 again

Notes

The binary release includes flexlink.exe compiled with 32-bit mingw-w64 and MSVC objects compiled using the Windows SDK version 7.0 (Windows 7 + .NET 3.5). If you are using large COFF objects you may need to recompile flexlink with a 64-bit compiler. If you are using Visual Studio 2015 or later, the pre-compiled C object files will need to be rebuilt (make CHAINS=msvs support or make CHAINS=msvc64 support). We hope to address both of these issues properly in the next release.

OCaml has supported bootstrap of FlexDLL since 4.03 - if compiling from a Git clone, simply run git submodule update --init flexdll or if compiling from a tarball, unzip the FlexDLL sources into flexdll/ and run make [-j] flexdll before running make [-j] world[.opt] followed, optionally, by make flexlink.opt. This mode guarantees C objects built with the same C compiler as OCaml and also builds flexlink with the compiler you just built.