From f6fd38ff8e87f9d454d810c3d0c2e74d6d246991 Mon Sep 17 00:00:00 2001 From: Anil Madhavapeddy Date: Tue, 25 Jun 2019 14:06:51 +0100 Subject: [PATCH] add support for 4.08.0 release --- .travis.yml | 1 + CHANGES.md | 1 + xen-ocaml/build.sh | 28 +++++++++++++++++----------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/.travis.yml b/.travis.yml index d1cc570..2b8c600 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,3 +6,4 @@ env: - OCAML_VERSION=4.05 - OCAML_VERSION=4.06 - OCAML_VERSION=4.07 + - OCAML_VERSION=4.08 diff --git a/CHANGES.md b/CHANGES.md index 224b03f..6dfed7e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,7 @@ ## v3.3.1 (2019-06-25) * Fix CFLAGS generation with repeated spaces on Linux (#210 @TheLortex) +* Add support for 4.08 final release (continued from #206 by @avsm) ## v3.3.0 (2019-02-16) diff --git a/xen-ocaml/build.sh b/xen-ocaml/build.sh index c9b0133..659becb 100755 --- a/xen-ocaml/build.sh +++ b/xen-ocaml/build.sh @@ -105,8 +105,9 @@ case $OCAMLOPT_VERSION in echo Applying OCaml 4.08.0 config cp config/version-4080.h ocaml-src/runtime/caml/version.h S_H_LOCATION="ocaml-src/runtime/caml/" - BIGARRAY_OBJ="mmap.o mmap_ba.o" + BIGARRAY_OBJ="" CFLAGS="-D__ANDROID__ $CFLAGS" + CONFIGURE_OPTS="--disable-vmthreads --disable-systhreads --disable-graph-lib --disable-str-lib --disable-unix-lib --disable-ocamldoc" ;; *) echo unsupported OCaml version $OCAMLOPT_VERSION @@ -114,35 +115,40 @@ case $OCAMLOPT_VERSION in ;; esac -cd ocaml-src && ./configure && cd .. +cd ocaml-src && ./configure ${CONFIGURE_OPTS} && cd .. cp config/s.h $S_H_LOCATION cd ocaml-src -# cd byterun && make BYTECCCOMPOPTS="${CFLAGS}" BYTECCCOMPOPTS="${CFLAGS}" libcamlrun.a && cd .. - case $OCAMLOPT_VERSION in 4.04.2|4.05.*) cd asmrun && make -j${NJOBS} UNIX_OR_WIN32=unix NATIVECCCOMPOPTS="-DNATIVE_CODE ${CFLAGS}" NATIVECCPROFOPTS="-DNATIVE_CODE ${CFLAGS}" libasmrun.a && cd .. + IS_408_OR_MORE=0 ;; 4.06.*|4.07.*) cd asmrun && make -j${NJOBS} UNIX_OR_WIN32=unix CPPFLAGS="-DNATIVE_CODE ${CFLAGS} -I../byterun -DTARGET_${TARGET_ARCH}" NATIVECCPROFOPTS="-DNATIVE_CODE ${CFLAGS}" libasmrun.a && cd .. + IS_408_OR_MORE=0 ;; 4.08.*) - cd runtime && make -j${NJOBS} UNIX_OR_WIN32=unix CPPFLAGS="-DNATIVE_CODE ${CFLAGS} -DTARGET_${TARGET_ARCH}" NATIVECCPROFOPTS="-DNATIVE_CODE ${CFLAGS}" libasmrun.a && cd .. + cd runtime && make -j${NJOBS} UNIX_OR_WIN32=unix OC_NATIVE_CPPFLAGS="-DNATIVE_CODE -DXXXX=1 ${CFLAGS} -DTARGET_${TARGET_ARCH}" libasmrun.a && cd .. + IS_408_OR_MORE=1 ;; *) echo unsupported OCaml version $OCAMLOPT_VERSION exit 1 ;; esac -# This directory doesn't really exist on 4.08, but it's also unneeded, so it's -# effectively harmless to leave it here. -CFLAGS="$CFLAGS -I../../byterun" -cd otherlibs/bigarray && make CFLAGS="${CFLAGS} -I../unix -DIN_OCAML_BIGARRAY" ${BIGARRAY_OBJ} -ar rcs ../../libxenotherlibs.a ${BIGARRAY_OBJ} -cd ../../.. +if [ $IS_408_OR_MORE -eq 0 ]; then + CFLAGS="$CFLAGS -I../../byterun" + cd otherlibs/bigarray && make CFLAGS="${CFLAGS} -I../unix -DIN_OCAML_BIGARRAY" ${BIGARRAY_OBJ} + ar rcs ../../libxenotherlibs.a ${BIGARRAY_OBJ} + cd ../.. +else + ar rcs libxenotherlibs.a +fi + +cd .. echo "($(cat flags/libs.tmp) -cclib \"$(pkg-config libminios-xen openlibm --libs | xargs)\")" > flags/libs echo "($(pkg-config libminios-xen openlibm --cflags | xargs) $(cat flags/cflags.tmp))" > flags/cflags