about summary refs log blame commit diff stats
path: root/build_and_test_until
blob: 96eb9e4336a9b06b392236ba32c1aadcca2e3353 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                                              

      

                                             

                                                                                              
                                             







                                                                              
                                      



                                                                                                                                      
#!/bin/sh
# Load all files sorting before the given argument.
# You can pass in a prefix, but files matching the prefix *won't* be included.

set -e
set -v
make --no-print-directory tangle/tangle
make --no-print-directory enumerate/enumerate
./tangle/tangle $(./enumerate/enumerate --until $1 |grep -v '.mu$') |grep -v "^\s*//:" > mu.cc
cat /dev/null $(./enumerate/enumerate --until $1 |grep '.mu$') > core.mu
make --no-print-directory autogenerated_lists
set +v
if [ `uname` == "Darwin" ]
then
  # Darwin is shit and otherwise thinks mu_bin is newer than the files it just
  # generated when called from test_all_layers.
  # All sorts of strange bugs ensue.
  sleep 1
  set -v  # Darwin's clang and valgrind is shit.
  CFLAGS=${CFLAGS:-"-g -O3"} make test
else
  set -v
  CXX=${CXX:-clang++} CFLAGS=${CFLAGS:-"-O3 -fsanitize=undefined -Wno-tautological-constant-out-of-range-compare"} make ${2:-valgrind}
fi