1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
#!/bin/sh
#**************************************************************************
#* *
#* OCaml *
#* *
#* Damien Doligez and Xavier Leroy, projet Cambium, INRIA Paris *
#* *
#* Copyright 2020 Institut National de Recherche en Informatique et *
#* en Automatique. *
#* *
#* All rights reserved. This file is distributed under the terms of *
#* the GNU Lesser General Public License version 2.1, with the *
#* special exception on linking described in the file LICENSE. *
#* *
#**************************************************************************
# This script performs a minimal build of the OCaml system
# sufficient to run the test suite.
# It is a lightweight version of the 'main' script, intended to run
# on slow machines such as QEMU virtual machines.
# It does not work under Windows.
# Environment variables that are honored:
# OCAML_ARCH architecture of the test machine
# OCAML_JOBS number of jobs to run in parallel (make -j)
# Command-line arguments:
# -jNN pass "-jNN" option to make for parallel builds
error () {
echo "$1" >&2
exit 3
}
# be verbose and stop on error
set -ex
# set up variables
# default values
make=make
jobs=''
memory_model_tests="tests/memory-model/forbidden.ml \
tests/memory-model/publish.ml"
case "${OCAML_ARCH}" in
bsd|solaris)
make=gmake
;;
cygwin|cygwin64)
export OCAMLTEST_SKIP_TESTS="$memory_model_tests"
;;
mingw|mingw64|msvc|msvc64)
error "Unsupported architecture ${OCAML_ARCH}"
;;
esac
case "${OCAML_JOBS}" in
[1-9]|[1-9][0-9]) jobs="-j${OCAML_JOBS}" ;;
esac
#########################################################################
# parse optional command-line arguments
while [ $# -gt 0 ]; do
case $1 in
-j[1-9]|-j[1-9][0-9]) jobs="$1";;
*) error "unknown option $1";;
esac
shift
done
#########################################################################
# Do the work
# Tell gcc to use only ASCII in its diagnostic outputs.
export LC_ALL=C
git clean -q -f -d -x
./configure \
--disable-shared \
--disable-debug-runtime \
--disable-instrumented-runtime \
--disable-dependency-generation \
--disable-ocamldoc \
--disable-stdlib-manpages
$make $jobs --warn-undefined-variables
cd testsuite
if test -n "$jobs" && test -x /usr/bin/parallel
then PARALLEL="$jobs $PARALLEL" $make --warn-undefined-variables parallel
else $make --warn-undefined-variables all
fi
|