Skip to content

Commit

Permalink
Update FlexDLL to 0.37
Browse files Browse the repository at this point in the history
Also switch AppVeyor back to only testing the bootstrap on the mingw32
build and some tweaks to the docs.
  • Loading branch information
dra27 authored and gasche committed Oct 26, 2017
1 parent 4e03f87 commit 3e0a0ac
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 30 deletions.
10 changes: 5 additions & 5 deletions README.win32.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ https://github.com/alainfrisch/flexdll. A binary distribution is available;
instructions on how to build FlexDLL from sources, including how to bootstrap
FlexDLL and OCaml are given <<seflexdll,later in this document>>. Unless you
bootstrap FlexDLL, you will need to ensure that the directory to which you
install FlexDLL is included in your `PATH` environment variable. Note: binary distributions
of FlexDLL are compatible only with certain versions of Visual Studio; for instance
version 0.36 of FlexDLL require Visual Studio 2015 or above, while earlier versions
require older versions of Visual Studio.
install FlexDLL is included in your `PATH` environment variable. Note: binary
distributions of FlexDLL are compatible only with Visual Studio 2013 and
earlier; for Visual Studio 2015 and later, you will need to compile the C
objects from source, or build ocaml using the flexdll target.

The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...) of all three
ports runs without any additional tools.
Expand Down Expand Up @@ -388,7 +388,7 @@ and adapt their existing code bases accordingly.
Note: in order for ocaml tools to support Unicode pathnames, it is
necessary to use a version of FlexDLL which has itself been compiled
with OCaml >= 4.06 in Unicode mode. This is the case for binary distributions
of FlexDLL starting from version 0.36 and above.
of FlexDLL starting from version 0.37 and above.

== Trademarks

Expand Down
1 change: 1 addition & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ environment:
CYG_ROOT: C:/cygwin64
CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
CYG_CACHE: C:/cygwin64/var/cache/setup
FLEXDLL_VERSION: 0.37
OCAMLRUNPARAM: v=0,b
OCAMLROOT: "%PROGRAMFILES%/OCaml"
OCAMLROOT2: "%PROGRAMFILES%/OCaml-mingw32"
Expand Down
10 changes: 3 additions & 7 deletions appveyor_build.cmd
Original file line number Diff line number Diff line change
Expand Up @@ -56,18 +56,14 @@ if %CYGWIN_UPGRADE_REQUIRED% equ 1 (
goto :EOF

:install
rem Temporarily initialise the submodule in the main (msvc64) build
git submodule update --init flexdll
git worktree add ..\build-mingw32 -b appveyor-build-mingw32
cd ..\build-mingw32
git submodule update --init flexdll
git worktree add ..\build-msvc32 -b appveyor-build-msvc32
rem Temporarily initialise the submodule in the msvc32 build
cd ..\build-msvc32
git submodule update --init flexdll

rem appveyor DownloadFile "http://alain.frisch.fr/flexdll/flexdll-0.35.tar.gz" -FileName "flexdll.tar.gz" || exit /b 1
appveyor DownloadFile "http://alain.frisch.fr/flexdll/flexdll-bin-0.35.zip" -FileName "flexdll.zip" || exit /b 1
cd "%APPVEYOR_BUILD_FOLDER%"
appveyor DownloadFile "https://github.com/alainfrisch/flexdll/archive/0.37.tar.gz" -FileName "flexdll.tar.gz" || exit /b 1
appveyor DownloadFile "https://github.com/alainfrisch/flexdll/releases/download/0.37/flexdll-bin-0.37.zip" -FileName "flexdll.zip" || exit /b 1
rem flexdll.zip is processed here, rather than in appveyor_build.sh because the
rem unzip command comes from MSYS2 (via Git for Windows) and it has to be
rem invoked via cmd /c in a bash script which is weird(er).
Expand Down
25 changes: 8 additions & 17 deletions appveyor_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,25 +52,18 @@ case "$1" in
install)
mkdir -p "$PREFIX/bin/flexdll"
cd $APPVEYOR_BUILD_FOLDER/../flexdll
for f in flexdll.h flexlink.exe default_amd64.manifest ; do
# msvc64 objects need to be compiled with VS2015, so are copied later from
# a source build.
for f in flexdll.h flexlink.exe flexdll*_msvc.obj default*.manifest ; do
cp $f "$PREFIX/bin/flexdll/$f"
done
echo 'eval $($APPVEYOR_BUILD_FOLDER/tools/msvs-promote-path)' >> ~/.bash_profile
;;
msvc32-only)
# cd $APPVEYOR_BUILD_FOLDER/flexdll-0.35
# make MSVC_DETECT=0 \
# CHAINS=msvc \
# MSVC_FLAGS="-nologo -MD -D_CRT_NO_DEPRECATE -GS- -WX" \
# support
# cp flexdll*_msvc.obj "$PREFIX/bin/flexdll"

cd $APPVEYOR_BUILD_FOLDER/../build-msvc32

set_configuration msvc "C:/Program Files/OCaml-msmvc32" -WX

# Temporarily bootstrap flexdll
run "make flexdll" make flexdll
run "make world" make world
run "make runtimeopt" make runtimeopt
run "make -C otherlibs/systhreads libthreadsnat.lib" \
Expand All @@ -87,11 +80,11 @@ case "$1" in
*)
cd $APPVEYOR_BUILD_FOLDER

# tar -xzf flexdll.tar.gz
# cd flexdll-0.35
# make MSVC_DETECT=0 CHAINS=msvc64 support
# cp flexdll*_msvc64.obj "$PREFIX/bin/flexdll"
# cd ..
tar -xzf $APPVEYOR_BUILD_FOLDER/flexdll.tar.gz
cd flexdll-$FLEXDLL_VERSION
make MSVC_DETECT=0 CHAINS=msvc64 support
cp flexdll*_msvc64.obj "$PREFIX/bin/flexdll"
cd ..

set_configuration msvc64 "$PREFIX" -WX

Expand All @@ -105,8 +98,6 @@ case "$1" in
script --quiet --return --command "make -C ../build-mingw32 flexdll world.opt" ../build-mingw32/build.log >/dev/null 2>/dev/null &
BUILD_PID=$!

# Temporarily bootstrap flexdll
run "make flexdll" make flexdll
run "make world" make world
run "make bootstrap" make bootstrap
run "make opt" make opt
Expand Down
2 changes: 1 addition & 1 deletion flexdll

0 comments on commit 3e0a0ac

Please sign in to comment.