summary refs log tree commit diff stats
path: root/CHANGELOG
Commit message (Expand)AuthorAgeFilesLines
* This gonna be cool once it's finished v1.4.3hut2011-04-051-0/+5
* Next version will run on pure Lisp Machines only v1.4.2hut2011-03-051-0/+5
* If ranger won't run, you still got peanut butter to live for. v1.4.1hut2011-01-041-0/+4
* We are not authorized to disclose the commit message v1.4.0hut2010-12-221-3/+20
* HOW DO I TURN OFF CAPS LOCK? v1.2.3hut2010-12-131-0/+7
* Tea, Earl Grey, Hot. v1.2.2hut2010-10-101-8/+16
* CHANGELOG updatedhut2010-09-161-0/+3
* Beware of low-flying butterflies v1.2.0hut2010-09-131-0/+18
* Why did the astrophysicist order three hamburgers? v1.1.2hut2010-07-121-0/+6
* version = version + 1 v1.1.1hut2010-06-181-0/+1
* added CHANGELOGhut2010-06-181-0/+21
ision' href='/akkartik/mu/blame/tools/treeshake_all?h=hlt&id=e9aee071f44876bcce4d741eea52198249e5b339'>^
c1d596f5 ^





de0e57d3 ^
c1d596f5 ^


ab837e8f ^


de0e57d3 ^
ab837e8f ^



c1d596f5 ^

de0e57d3 ^
c1d596f5 ^


8fa73360 ^



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












                                                    

           
                                                                                     










                                                                                                              
                            
                                                                                                      

               
              

                                    
                                  





                                             
                                                                   


                      


                                               
                                                                                         



                              

           
                                                                                          


                      



                                                                  
#!/bin/sh
# Build minimal-size versions of all apps.
# Hacky; only intended for some stats at the moment.

set -e

[ ! -f tools/treeshake ] && {
  echo building tools/treeshake
  c++ -g -O3 tools/treeshake.cc -o tools/treeshake
}

export OS=${OS:-linux}

process() {
  app=$1
  tools/treeshake_translate init.$OS [012]*.subx apps/subx-params.subx apps/$app.subx
  echo "LoC $(cat apps/$app.subx |wc -l) => $(grep -vh '^\s*$\|^\s*#' apps/$app.subx |tools/treeshake |wc -l)"
  echo "LoC including common libraries: $(cat a.in |wc -l) => $(cat a.treeshake |wc -l)"
  echo "binary size: $(ls -lh apps/$app |column 5) => $(ls -lh a.elf |column 5)"
}

if [ $# -gt 0 ]
then
  process $1
  exit 0
fi

echo "== deleting dead code"
for app in factorial crenshaw2-1 crenshaw2-1b hex survey pack dquotes assort tests sigils calls braces
do
  echo "- $app"
  process $app
  mv a.in apps/$app.in
  mv a.treeshake apps/$app.treeshake
  mv a.elf apps/$app.treeshake.bin
done

echo "== testing treeshaken binaries"
for app in factorial crenshaw2-1 crenshaw2-1b
do
  echo $app
  tools/test_treeshake_translate init.$OS [01]*.subx apps/$app.subx
  diff apps/$app a.elf
done

for app in hex survey pack assort dquotes tests
do
  echo $app
  tools/test_treeshake_translate init.$OS [01]*.subx apps/subx-params.subx apps/$app.subx
  diff apps/$app a.elf
done

for app in sigils calls braces
do
  echo $app
  tools/test_treeshake_translate init.$OS [012]*.subx apps/subx-params.subx apps/$app.subx
  diff apps/$app a.elf
done

app=mu
echo $app
tools/test_treeshake_translate init.$OS [0-9]*.subx apps/$app.subx
diff apps/$app a.elf