1148601Sphk#!/bin/sh 2148601Sphk# This file is in the public domain 3148601Sphk# $FreeBSD$ 4148601Sphk 5157118Sphkset -e 6148601Sphk 7148884Sphksh reduce.sh 8148601Sphk 9157118SphkOPLIST=`sh listallopts.sh` 10148601Sphk 11148884SphkODIR=/usr/obj/`pwd` 12148884SphkRDIR=${ODIR}/_.result 13148884Sphkexport ODIR RDIR 14148601Sphk 15148884Sphktable_td () ( 16148601Sphk 17148884Sphk awk -v R=$1 -v T=$2 -v M=$4 ' 18148884Sphk BEGIN { 19148884Sphk t= R "-" T 20148884Sphk } 21148884Sphk $1 == t { 22148884Sphk if ($3 == 0 && $5 == 0 && $7 == 0) { 23148884Sphk printf "<TD align=center COLSPAN=5>no effect</TD>" 24148884Sphk } else { 25148884Sphk if ($3 == 0) { 26148884Sphk printf "<TD align=right>+%d</TD>", $3 27148884Sphk } else { 28148884Sphk printf "<TD align=right>" 29148884Sphk printf "<A HREF=\"%s/%s.mtree.add.txt\">+%d</A>", M, t, $3 30148884Sphk printf "</TD>" 31148884Sphk } 32148884Sphk if ($5 == 0) { 33148884Sphk printf "<TD align=right>-%d</TD>", $5 34148884Sphk } else { 35148884Sphk printf "<TD align=right>" 36148884Sphk printf "<A HREF=\"%s/%s.mtree.sub.txt\">-%d</A>", M, t, $5 37148884Sphk printf "</TD>" 38148884Sphk } 39148884Sphk if ($7 == 0) { 40148884Sphk printf "<TD align=right>*%d</TD>", $7 41148884Sphk } else { 42148884Sphk printf "<TD align=right>" 43148884Sphk printf "<A HREF=\"%s/%s.mtree.chg.txt\">*%d</A>", M, t, $7 44148884Sphk printf "</TD>" 45148884Sphk } 46148884Sphk printf "<TD align=right>%d</TD>", $9 47148884Sphk printf "<TD align=right>%d</TD>", -$11 48148884Sphk } 49148884Sphk printf "\n" 50148884Sphk d = 1 51148884Sphk } 52148884Sphk END { 53148884Sphk if (d != 1) { 54148884Sphk printf "<TD COLSPAN=5></TD>" 55148884Sphk } 56148884Sphk } 57148884Sphk ' $3/stats 58148884Sphk mkdir -p $HDIR/$4 59157118Sphk cp $3/r*.txt $HDIR/$4 || true 60148884Sphk) 61148601Sphk 62148884SphkHDIR=${ODIR}/HTML 63148884Sphkrm -rf ${HDIR} 64148884Sphkmkdir -p ${HDIR} 65148884SphkH=${HDIR}/index.html 66148884Sphk 67157118Sphkecho '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 68157118Sphk<HTML>' > $H 69148884Sphk 70157118Sphkecho '<HEAD> 71157118Sphk<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 72157118Sphk<TITLE>FreeBSD Build Options Survey</TITLE> 73157118Sphk</HEAD> 74157118Sphk<BODY bgcolor="#FFFFFF"> 75157118Sphk' >> $H 76148601Sphk 77157118Sphkecho ' 78157118Sphk<H2>The table is explained at the bottom</H2> 79157118Sphk<HR> 80157118Sphk' >> $H 81157118Sphk 82157118Sphkecho '<TABLE border="1" cellspacing="0">' >> $H 83157118Sphk 84148884Sphkecho "<TR>" >> $H 85157118Sphkecho "<TH ROWSPAN=2>src.conf</TH>" >> $H 86157118Sphkecho "<TH ROWSPAN=2>MK_FOO</TH>" >> $H 87157118Sphkecho "<TH ROWSPAN=2></TH>" >> $H 88148884Sphkecho "<TH COLSPAN=5>BuildWorld</TH>" >> $H 89157118Sphkecho "<TH ROWSPAN=2></TH>" >> $H 90148884Sphkecho "<TH COLSPAN=5>InstallWorld</TH>" >> $H 91157118Sphkecho "<TH ROWSPAN=2></TH>" >> $H 92148884Sphkecho "<TH COLSPAN=5>World</TH>" >> $H 93148884Sphkecho "</TR>" >> $H 94148884Sphk 95148884Sphkecho "<TR>" >> $H 96148884Sphkfor i in bw iw w 97148601Sphkdo 98148884Sphk echo "<TH>A</TH>" >> $H 99148884Sphk echo "<TH>D</TH>" >> $H 100148884Sphk echo "<TH>C</TH>" >> $H 101148884Sphk echo "<TH>KB</TH>" >> $H 102148884Sphk echo "<TH>Delta</TH>" >> $H 103148884Sphkdone 104148884Sphkecho "</TR>" >> $H 105148601Sphk 106157118Sphkmajcol ( ) ( 107157118Sphk echo "<TD></TD>" >> $H 108157118Sphk if [ ! -f $3/$1/done ] ; then 109157118Sphk echo "<TD align=center COLSPAN=5>no data yet</TD>" >> $H 110157118Sphk elif [ -f $3/$1/_.success ] ; then 111157118Sphk table_td $2 $1 $3 $4 >> $H 112157118Sphk else 113157118Sphk echo "<TD align=center COLSPAN=5>failed</TD>" >> $H 114157118Sphk fi 115157118Sphk) 116157118Sphk 117157118Sphk 118157118Sphkfor o in $OPLIST 119148884Sphkdo 120157118Sphk md=`echo "${o}=foo" | md5` 121148884Sphk m=${RDIR}/$md 122148884Sphk if [ ! -d $m ] ; then 123148884Sphk continue 124148884Sphk fi 125148884Sphk if [ ! -f $m/stats ] ; then 126148884Sphk continue 127148884Sphk fi 128157118Sphk echo "=== mkhtml ${d}_${o}" 129148601Sphk 130148884Sphk echo "<TR>" >> $H 131148884Sphk echo "<TD><PRE>" >> $H 132157118Sphk cat $m/src.conf >> $H 133148884Sphk echo "</PRE></TD>" >> $H 134157118Sphk echo "<TD><PRE>" >> $H 135157132Sphk if [ -f $m/bw/_.sc ] ; then 136157132Sphk comm -13 ${RDIR}/Ref/_.sc $m/bw/_.sc >> $H 137148884Sphk fi 138157118Sphk echo "</PRE></TD>" >> $H 139157118Sphk 140157118Sphk majcol bw r $m $md 141157118Sphk majcol iw r $m $md 142157118Sphk majcol w r $m $md 143148601Sphk echo "</TR>" >> $H 144148601Sphkdone 145148884Sphkecho "</TABLE>" >> $H 146157118Sphkecho ' 147157118Sphk<HR> 148157118Sphk<H2>How to read this table</H2> 149157118Sphk<P> 150157118SphkThe table has five major columns. 151157118Sphk 152157118Sphk<OL> 153157118Sphk<LI><P><B>src.conf</B></P> 154157118Sphk<P>The name of the option being tested</P> 155157118Sphk<P> 156157118SphkAll options are tested both in their WITH_FOO and WITHOUT_FOO variants 157157118Sphkbut if the option has no effect (ie: is the default) it will not appear 158157118Sphkin the table 159157118Sphk</P> 160157118Sphk</LI> 161157118Sphk 162157118Sphk<LI><P><B>MK_FOO</B></P> 163157118Sphk<P>Internal build flags affected by this option </P> 164157118Sphk</LI> 165157118Sphk 166157118Sphk<LI><P><B>Buildworld</B></P> 167157118Sphk<P>What happens when the option is given to buildworld but not installworld</P> 168157118Sphk<PRE>Ie: 169157118Sphk make buildworld WITH_FOO=yes 170157118Sphk make installworld 171157118Sphk</PRE> 172157118Sphk</LI> 173157118Sphk 174157118Sphk<LI><P><B>Installworld</B></P> 175157118Sphk<P>What happens when the option is given to installworld but not buildworld</P> 176157118Sphk<PRE>Ie: 177157118Sphk make buildworld 178157118Sphk make installworld WITH_FOO=yes 179157118Sphk</PRE> 180157118Sphk</LI> 181157118Sphk 182157118Sphk<LI><P><B>World</B></P> 183157118Sphk<P>What happens when the option is given to both buildworld and installworld</P> 184157118Sphk<PRE>Ie: 185157118Sphk make buildworld WITH_FOO=yes 186157118Sphk make installworld WITH_FOO=yes 187157118Sphk</PRE> 188157118Sphk</LI> 189157118Sphk</OL> 190157118Sphk 191157118Sphk<P>Inside each of the last three major columns there are five subcolumns</P> 192157118Sphk<OL> 193157118Sphk<LI><P><B>A</B></P> 194157118Sphk<P>Number of added files/directories (relative to the option not be given</P> 195157118Sphk<P>If non-zero, the number links to a list of the added files/directories</P> 196157118Sphk</LI> 197157118Sphk<LI><P><B>D</B></P> 198157118Sphk<P>Number of deleted files/directories (relative to the option not be given</P> 199157118Sphk<P>If non-zero, the number links to a list of the files not installed files/directories</P> 200157118Sphk</LI> 201157118Sphk<LI><P><B>C</B></P> 202157118Sphk<P>Number of changed files/directories (relative to the option not be given</P> 203157118Sphk<P>If non-zero, the number links to a list of the files/directories which are differnet (two lines each)</P> 204157118Sphk</LI> 205157118Sphk<LI><P><B>KB</B></P> 206157118Sphk<P>Size of installed operating system in kilobytes</P> 207157118Sphk<LI><P><B>Delta</B></P> 208157118Sphk<P>Size change in kilobytes relative to the option not be given</P> 209157118Sphk</LI> 210157118Sphk</OL> 211157118Sphk 212157118Sphk<HR>' >> $H 213157118Sphkecho ' 214157118Sphk<p> 215157118Sphk <a href="http://validator.w3.org/check?uri=referer"><img 216157118Sphk src="http://www.w3.org/Icons/valid-html401" 217157118Sphk alt="Valid HTML 4.01 Transitional" height="31" width="88"></a> 218157118Sphk</p> 219157118Sphk 220157118Sphk' >> $H 221148884Sphkecho "</HTML>" >> $H 222148601Sphk 223157118Sphkecho "rsync phk" 224148884Sphkrsync -r $HDIR/. phk@phk:www/misc/build_options 225