3 # This script builds _and checks_ all the distribution files from my source
4 # directory. It's very selective because I've got a lot of historical and
5 # other 'junk' in the same directory. (120Mb at the last count!)
13 ARCDIR
="$DIR"/dev86arc
15 SRCDIRS
='bcc cpp unproto as ar ld copt man elksemu dis88 tests libbsd bin86'
16 DISTFILES
='Makefile README COPYING Changes Contributors MAGIC
17 mkcompile GNUmakefile libcompat ifdef.c makefile.in Mk_dist'
20 TMPDIST
=$TMPDIR/$TMPSRC
24 [ "$VERSION" = '' ] && {
25 echo 'Usage: $0 <version>' 1>&2
29 #-----------------------------------------------------------------------
31 echo Copying most program files.
33 make -s -C bin86 ungrab ||
exit
34 cp -a $DISTFILES $SRCDIRS ${TMPDIST}
36 #-----------------------------------------------------------------------
40 LIBC_FILES
='Makefile Make.defs crt0.c
42 New_subdir Pre_main Config_sh Config.dflt'
48 LIBC_DIRS
="`for i in */Makefile */Config; do dirname $i; done | sort -u`"
49 cp -a $LIBC_FILES include
$LIBC_DIRS ${TMPDIST}/libc
/.
52 #-----------------------------------------------------------------------
54 echo Copying bootblocks and doselks.
55 make -s -C bootblocks distribution
56 make -s -C doselks distribution
58 mkdir
${TMPDIST}/bootblocks
59 ( cd ${TMPDIST}/bootblocks
; tar xzf
/tmp
/bootblocks.
tar.gz
)
61 mkdir
${TMPDIST}/doselks
62 ( cd ${TMPDIST}/doselks
; tar xzf
/tmp
/doselks.
tar.gz
)
64 [ "`id -un`" = "root" ] && {
65 chown
-R root
:0 ${TMPDIST}
66 chmod -R og
=u-w
${TMPDIST}
69 rm -f /tmp
/bootblocks.
tar.gz
/tmp
/doselks.
tar.gz
/tmp
/libc-8086-
$VERSION.
tar.gz
78 0.0.0 ) BASEVER
=0.0.0.0 ;; # Naa.
79 *.0.0 ) BASEVER
=$
((MAJOR-1
)).
$MID.
$MINOR ;;
80 *.
*.0 ) BASEVER
=$MAJOR.$
((MID-1
)).
$MINOR ;;
81 * ) BASEVER
=$MAJOR.
$MID.$
((MINOR-1
))
85 if [ "$MAJOR.$MID.$((MINOR-1))" != "$BASEVER" ]
86 then PATCHNAME
="$VERSION-$BASEVER"
87 else PATCHNAME
="$VERSION"
90 [ -f $ARCDIR/Dev86src-
$BASEVER.
tar.gz
] && {
91 echo "Extracting previous version ($BASEVER)"
95 tar xzf
$ARCDIR/Dev86src-
$BASEVER.
tar.gz
101 [ "$OLDVER" != "" -a -f $ARCDIR/Dev86src-
$OLDVER.
tar.gz
] && {
102 echo "Extracting previous version ($OLDVER)"
106 tar xzf
$ARCDIR/Dev86src-
$OLDVER.
tar.gz
112 # ARCDIR=${TMPDIR}/arc ; mkdir -p ${ARCDIR}
114 echo COPY COMPLETE
-- Switched to
${TMPDIST}, ARCDIR now
$ARCDIR
117 #-----------------------------------------------------------------------
121 echo 'Ensuring clean tree'
124 make -s clean realclean
125 mv as
/obj1
${TMPDIST}-obj1
126 EXCL
="`find . -name '*.o' -o -name '*.obj' \
127 -o -name '*.lib' -o -name '*.bak' \
128 -o -name '*~' -o -name '*.exe' \
129 -o -name '*.orig' -o -name '*.rej' \
131 mv ${TMPDIST}-obj1 as
/obj1
133 rm -f `find . -type l`
137 [ -d ${TMPSRC}.old
] && {
138 echo "Generating patch against version $BASEVER."
140 mv ${TMPSRC}.old
/bootblocks boot.old
141 mv ${TMPSRC}/bootblocks boot
143 diff -Nurd ${TMPSRC}.old ${TMPSRC} > ${ARCDIR}/patch-
$PATCHNAME
145 mv boot.old
${TMPSRC}.old
/bootblocks
146 mv boot
${TMPSRC}/bootblocks
148 diff -Nurd ${TMPSRC}.old/bootblocks ${TMPSRC}/bootblocks >> ${ARCDIR}/patch-
$PATCHNAME
150 gzip -f9 ${ARCDIR}/patch-
$PATCHNAME
153 [ -d ${TMPSRC}.vold
] && {
154 echo "Generating patch against version $OLDVER."
156 mv ${TMPSRC}.vold
/bootblocks boot.old
157 mv ${TMPSRC}/bootblocks boot
159 diff -Nurd ${TMPSRC}.vold ${TMPSRC} > ${ARCDIR}/patch-
$VERSION-$OLDVER
161 mv boot.old
${TMPSRC}.vold
/bootblocks
162 mv boot
${TMPSRC}/bootblocks
164 diff -Nurd ${TMPSRC}.vold/bootblocks ${TMPSRC}/bootblocks >> ${ARCDIR}/patch-
$VERSION-$OLDVER
166 gzip -f9 ${ARCDIR}/patch-
$VERSION-$OLDVER
169 echo Creating full
source archive.
170 ln -s ${TMPSRC} dev86-
$VERSION
171 tar cf
${ARCDIR}/Dev86src-
$VERSION.
tar dev86-
$VERSION/*
172 gzip -f9 ${ARCDIR}/Dev86src-
$VERSION.
tar
174 echo Creating as86
source archive.
175 ln -s ${TMPSRC}/as as86-
$VERSION
176 cp -p ${TMPSRC}/man
/as86.1 as86-
$VERSION/as86.1
177 cp -p ${TMPSRC}/COPYING as86-
$VERSION/COPYING
178 echo '#define VERSION "'"$VERSION"'"' > as86-
$VERSION/version.h
179 tar cf
${ARCDIR}/as86-
$VERSION.
tar `find as86-$VERSION/* -prune -type f`
180 gzip -f9 ${ARCDIR}/as86-
*.
tar
182 echo Creating bin86
source archive.
183 make -s -C ${TMPSRC}/bin86 VERSION
=${VERSION} grab
184 ln -s ${TMPSRC}/bin86 bin86-
$VERSION
185 echo '#define VERSION "'"$VERSION"'"' > bin86-
$VERSION/ld
/version.h
186 tar chf
${ARCDIR}/bin86-
$VERSION.
tar bin86-
$VERSION
187 make -s -C ${TMPSRC}/bin86 ungrab
188 gzip -f9 ${ARCDIR}/bin86-
*.
tar
190 ###################################################################
192 echo Compile up the binaries.
194 cd ${TMPDIR} ||
exit 1
195 mkdir
-p ${TMPDIST}.ins
196 make -C ${TMPDIST} install install-other \
197 ARFLAGS
=q ELKSSRC
=/dev
/null \
198 DIST
=${TMPDIST}.ins
'ASLDDIR=$(BINDIR)' ||
200 make -C ${TMPDIST} other ||
exit
201 tar cf
${ARCDIR}/Dev86bin-
$VERSION.
tar -C ${TMPDIST}.ins .
202 rm -f ${ARCDIR}/Dev86clb-
$VERSION.
zip Bcc
205 zip -9rpk ${ARCDIR}/Dev86clb-
$VERSION.
zip \
206 Bcc
/lib
/crt0.o Bcc
/lib
/libc.a Bcc
/lib
/libbsd.a \
207 Bcc
/lib
/libdos.a Bcc
/lib
/libc_f.a Bcc
/lib
/libc_s.a \
208 Bcc
/lib
/i386
/crt0.o Bcc
/lib
/i386
/libc.a ||
exit
211 gzip -9f ${ARCDIR}/Dev86bin-
$VERSION.
tar ||
exit
213 echo Process completed.