diff --git a/.cirrus.yml b/.cirrus.yml index 859a2ea7..283c8ed6 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -8,8 +8,9 @@ freebsd_task: matrix: - OCAML_VERSION: 4.08.1 - OCAML_VERSION: 4.09.1 - - OCAML_VERSION: 4.10.1 - - OCAML_VERSION: 4.11.1 + - OCAML_VERSION: 4.10.2 + - OCAML_VERSION: 4.11.2 + - OCAML_VERSION: 4.12.0 pkg_install_script: pkg install -y ocaml-opam gmp gmake pkgconf bash ocaml_script: opam init -a --comp=$OCAML_VERSION solo5_script: eval `opam env` && opam install solo5-bindings-hvt diff --git a/.travis.yml b/.travis.yml index 82b51ed1..9a4d6a15 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,28 +14,34 @@ env: jobs: include: # Build using the latest OCaml release on most common targets and architectures. - - name: OCaml 4.11, Solo5/hvt (amd64) + - name: OCaml 4.12, Solo5/hvt (amd64) arch: amd64 - env: OCAML_VERSION=4.11 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" - - name: OCaml 4.11, Solo5/hvt, system switch (amd64) + env: OCAML_VERSION=4.12 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" + - name: OCaml 4.12, Solo5/hvt (amd64) arch: amd64 - env: OCAML_VERSION=4.11 INSTALL_LOCAL=1 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" - - name: OCaml 4.11, Solo5/spt (amd64) + env: OCAML_VERSION=4.12 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" + - name: OCaml 4.12, Solo5/hvt, system switch (amd64) arch: amd64 - env: OCAML_VERSION=4.11 EXTRA_DEPS="solo5-bindings-spt" EXTRA_ENV="MIRAGE_TEST_MODE=spt" - - name: OCaml 4.11, Solo5/virtio (amd64) + env: OCAML_VERSION=4.12 INSTALL_LOCAL=1 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" + - name: OCaml 4.12, Solo5/spt (amd64) arch: amd64 - env: OCAML_VERSION=4.11 EXTRA_DEPS="solo5-bindings-virtio" EXTRA_ENV="MIRAGE_TEST_MODE=virtio" - - name: OCaml 4.11, Solo5/muen (amd64) + env: OCAML_VERSION=4.12 EXTRA_DEPS="solo5-bindings-spt" EXTRA_ENV="MIRAGE_TEST_MODE=spt" + - name: OCaml 4.12, Solo5/virtio (amd64) arch: amd64 - env: OCAML_VERSION=4.11 EXTRA_DEPS="solo5-bindings-muen" EXTRA_ENV="MIRAGE_TEST_MODE=muen" - - name: OCaml 4.11, Solo5/hvt (arm64) + env: OCAML_VERSION=4.12 EXTRA_DEPS="solo5-bindings-virtio" EXTRA_ENV="MIRAGE_TEST_MODE=virtio" + - name: OCaml 4.12, Solo5/muen (amd64) + arch: amd64 + env: OCAML_VERSION=4.12 EXTRA_DEPS="solo5-bindings-muen" EXTRA_ENV="MIRAGE_TEST_MODE=muen" + - name: OCaml 4.12, Solo5/hvt (arm64) arch: arm64 - env: OCAML_VERSION=4.11 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" - - name: OCaml 4.11, Solo5/spt (arm64) + env: OCAML_VERSION=4.12 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" + - name: OCaml 4.12, Solo5/spt (arm64) arch: arm64 - env: OCAML_VERSION=4.11 EXTRA_DEPS="solo5-bindings-spt" EXTRA_ENV="MIRAGE_TEST_MODE=spt" + env: OCAML_VERSION=4.12 EXTRA_DEPS="solo5-bindings-spt" EXTRA_ENV="MIRAGE_TEST_MODE=spt" # Build previous but still supported OCaml releases only on amd64 and hvt. + - name: OCaml 4.11, Solo5/hvt (amd64) + arch: amd64 + env: OCAML_VERSION=4.11 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" - name: OCaml 4.10, Solo5/hvt (amd64) arch: amd64 env: OCAML_VERSION=4.10 EXTRA_DEPS="solo5-bindings-hvt" EXTRA_ENV="MIRAGE_TEST_MODE=hvt" diff --git a/nolibc/include/sys/stat.h b/nolibc/include/sys/stat.h index decc7255..a473df40 100644 --- a/nolibc/include/sys/stat.h +++ b/nolibc/include/sys/stat.h @@ -1,6 +1,8 @@ #ifndef _SYS_STAT_H #define _SYS_STAT_H +#include + struct stat { int st_mode; }; @@ -9,5 +11,6 @@ struct stat { #define S_IFREG 0 #define S_ISREG(x) (0) int stat(const char *, struct stat *); +int mkdir(const char *, mode_t); #endif diff --git a/nolibc/include/sys/types.h b/nolibc/include/sys/types.h index 50f4a486..a916f597 100644 --- a/nolibc/include/sys/types.h +++ b/nolibc/include/sys/types.h @@ -7,5 +7,6 @@ typedef int pid_t; typedef int off_t; typedef int ssize_t; +typedef int mode_t; #endif diff --git a/nolibc/include/unistd.h b/nolibc/include/unistd.h index fdfa5b32..479e6fcf 100644 --- a/nolibc/include/unistd.h +++ b/nolibc/include/unistd.h @@ -14,5 +14,6 @@ ssize_t read(int, void *, size_t); ssize_t write(int, const void *, size_t); ssize_t readlink(const char *, char *, size_t); int unlink(const char *); +int rmdir(const char *); #endif diff --git a/nolibc/stubs.c b/nolibc/stubs.c index a0ec78ef..5f951b0a 100644 --- a/nolibc/stubs.c +++ b/nolibc/stubs.c @@ -74,6 +74,7 @@ STUB_IGNORE(off_t, lseek, -1); STUB_ABORT(read); STUB_IGNORE(int, readlink, -1); STUB_ABORT(unlink); +STUB_ABORT(rmdir); /* dirent.h */ STUB_WARN_ONCE(int, closedir, -1); @@ -98,3 +99,4 @@ STUB_ABORT(strerror); /* sys/stat.h */ STUB_WARN_ONCE(int, stat, -1); +STUB_ABORT(mkdir); diff --git a/opam b/opam index bcfaa2ad..ca63c537 100644 --- a/opam +++ b/opam @@ -13,7 +13,7 @@ depends: [ "ocamlfind" {build} "ocaml-src" {build} ("solo5-bindings-hvt" | "solo5-bindings-spt" | "solo5-bindings-virtio" | "solo5-bindings-muen" | "solo5-bindings-genode" | "solo5-bindings-xen") - "ocaml" {>= "4.08.0" & < "4.12.0"} + "ocaml" {>= "4.08.0" & < "4.13.0"} ] substs: [ "flags/cflags.tmp"