Skip to content
This repository was archived by the owner on Nov 12, 2020. It is now read-only.

Commit 3e0a0ac

Browse files
dra27gasche
authored andcommitted
Update FlexDLL to 0.37
Also switch AppVeyor back to only testing the bootstrap on the mingw32 build and some tweaks to the docs.
1 parent 4e03f87 commit 3e0a0ac

File tree

5 files changed

+18
-30
lines changed

5 files changed

+18
-30
lines changed

README.win32.adoc

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ https://github.com/alainfrisch/flexdll. A binary distribution is available;
7373
instructions on how to build FlexDLL from sources, including how to bootstrap
7474
FlexDLL and OCaml are given <<seflexdll,later in this document>>. Unless you
7575
bootstrap FlexDLL, you will need to ensure that the directory to which you
76-
install FlexDLL is included in your `PATH` environment variable. Note: binary distributions
77-
of FlexDLL are compatible only with certain versions of Visual Studio; for instance
78-
version 0.36 of FlexDLL require Visual Studio 2015 or above, while earlier versions
79-
require older versions of Visual Studio.
76+
install FlexDLL is included in your `PATH` environment variable. Note: binary
77+
distributions of FlexDLL are compatible only with Visual Studio 2013 and
78+
earlier; for Visual Studio 2015 and later, you will need to compile the C
79+
objects from source, or build ocaml using the flexdll target.
8080

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

393393
== Trademarks
394394

appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ environment:
2626
CYG_ROOT: C:/cygwin64
2727
CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
2828
CYG_CACHE: C:/cygwin64/var/cache/setup
29+
FLEXDLL_VERSION: 0.37
2930
OCAMLRUNPARAM: v=0,b
3031
OCAMLROOT: "%PROGRAMFILES%/OCaml"
3132
OCAMLROOT2: "%PROGRAMFILES%/OCaml-mingw32"

appveyor_build.cmd

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,14 @@ if %CYGWIN_UPGRADE_REQUIRED% equ 1 (
5656
goto :EOF
5757

5858
:install
59-
rem Temporarily initialise the submodule in the main (msvc64) build
60-
git submodule update --init flexdll
6159
git worktree add ..\build-mingw32 -b appveyor-build-mingw32
6260
cd ..\build-mingw32
6361
git submodule update --init flexdll
6462
git worktree add ..\build-msvc32 -b appveyor-build-msvc32
65-
rem Temporarily initialise the submodule in the msvc32 build
66-
cd ..\build-msvc32
67-
git submodule update --init flexdll
6863

69-
rem appveyor DownloadFile "http://alain.frisch.fr/flexdll/flexdll-0.35.tar.gz" -FileName "flexdll.tar.gz" || exit /b 1
70-
appveyor DownloadFile "http://alain.frisch.fr/flexdll/flexdll-bin-0.35.zip" -FileName "flexdll.zip" || exit /b 1
64+
cd "%APPVEYOR_BUILD_FOLDER%"
65+
appveyor DownloadFile "https://github.com/alainfrisch/flexdll/archive/0.37.tar.gz" -FileName "flexdll.tar.gz" || exit /b 1
66+
appveyor DownloadFile "https://github.com/alainfrisch/flexdll/releases/download/0.37/flexdll-bin-0.37.zip" -FileName "flexdll.zip" || exit /b 1
7167
rem flexdll.zip is processed here, rather than in appveyor_build.sh because the
7268
rem unzip command comes from MSYS2 (via Git for Windows) and it has to be
7369
rem invoked via cmd /c in a bash script which is weird(er).

appveyor_build.sh

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,25 +52,18 @@ case "$1" in
5252
install)
5353
mkdir -p "$PREFIX/bin/flexdll"
5454
cd $APPVEYOR_BUILD_FOLDER/../flexdll
55-
for f in flexdll.h flexlink.exe default_amd64.manifest ; do
55+
# msvc64 objects need to be compiled with VS2015, so are copied later from
56+
# a source build.
57+
for f in flexdll.h flexlink.exe flexdll*_msvc.obj default*.manifest ; do
5658
cp $f "$PREFIX/bin/flexdll/$f"
5759
done
5860
echo 'eval $($APPVEYOR_BUILD_FOLDER/tools/msvs-promote-path)' >> ~/.bash_profile
5961
;;
6062
msvc32-only)
61-
# cd $APPVEYOR_BUILD_FOLDER/flexdll-0.35
62-
# make MSVC_DETECT=0 \
63-
# CHAINS=msvc \
64-
# MSVC_FLAGS="-nologo -MD -D_CRT_NO_DEPRECATE -GS- -WX" \
65-
# support
66-
# cp flexdll*_msvc.obj "$PREFIX/bin/flexdll"
67-
6863
cd $APPVEYOR_BUILD_FOLDER/../build-msvc32
6964

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

72-
# Temporarily bootstrap flexdll
73-
run "make flexdll" make flexdll
7467
run "make world" make world
7568
run "make runtimeopt" make runtimeopt
7669
run "make -C otherlibs/systhreads libthreadsnat.lib" \
@@ -87,11 +80,11 @@ case "$1" in
8780
*)
8881
cd $APPVEYOR_BUILD_FOLDER
8982

90-
# tar -xzf flexdll.tar.gz
91-
# cd flexdll-0.35
92-
# make MSVC_DETECT=0 CHAINS=msvc64 support
93-
# cp flexdll*_msvc64.obj "$PREFIX/bin/flexdll"
94-
# cd ..
83+
tar -xzf $APPVEYOR_BUILD_FOLDER/flexdll.tar.gz
84+
cd flexdll-$FLEXDLL_VERSION
85+
make MSVC_DETECT=0 CHAINS=msvc64 support
86+
cp flexdll*_msvc64.obj "$PREFIX/bin/flexdll"
87+
cd ..
9588

9689
set_configuration msvc64 "$PREFIX" -WX
9790

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

108-
# Temporarily bootstrap flexdll
109-
run "make flexdll" make flexdll
110101
run "make world" make world
111102
run "make bootstrap" make bootstrap
112103
run "make opt" make opt

flexdll

0 commit comments

Comments
 (0)