FlexDLL 0.38
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.