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


                                                                              

      

                                             

                                                                                              
                                             
      
                            





                                                                              
                                      

        
                                                                                                                                         
  
#!/bin/bash
# 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:-"-g -O3 -fsanitize=undefined -Wno-tautological-constant-out-of-range-compare"} make ${2:-valgrind}
fi