1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-14 23:46:10 +00:00
freebsd-ports/x11/XFree86-4-libraries/scripts/configure
Paul Traina dcc3adbef2 Update our port to XFree86-3.1.2-S, which has the security update from
the XFree86 group (which is their flavor of XC fix 13).
Reviewed by:	jmz
1995-11-04 20:56:42 +00:00

209 lines
5.7 KiB
Bash

#!/bin/sh
yesno () {
answ=X;
while [ $answ = X ]; do
echo -n "$1"
read answ
if [ X$answ = X ]; then answ="YES"; fi
case $answ in
y|yes|Y|YES) answ=YES;;
n|no|N|NO) answ=NO;;
*) echo invalid answer
answ=X
;;
esac
done
}
F=$WRKDIR/.config
configure () {
rm -f $F
cat <<END
Which servers do you wish to build, you can save a lot of disk space
by only compiling the server you will be using. It will also save you
considerable compile time.
END
servers="SVGA VGA16 VGA16Dual Mono MonoDual S3 I8514 Mach8 Mach32 Mach64 P9000 AGX W32"
for i in $servers; do
yesno "Do you want to build the $i server? [YES] "
echo "#undef XF86${i}Server" >>$F
echo "#define XF86${i}Server $answ" >>$F
done
echo
echo -n "default server to install. [none] "
read answ
if [ X$answ = X ]; then answ=none; fi
if [ $answ != none ]; then
echo "#define ServerToInstall XF86_$answ" >>$F
fi
cat >> $F <<END
#define XF86SvgaDrivers et4000 et3000 pvga1 gvga ati tvga8900 cirrus \
ncr77c22 compaq oak mx al2101 ali cl64xx \
video7 chips generic
#define XF86Vga16Drivers et4000 ncr77c22 ati tvga8900 oak cl64xx generic
#define XF86Vga2Drivers et4000 et3000 pvga1 gvga ati tvga8900 cirrus \
ncr77c22 compaq oak cl64xx generic
#define XF86MonoDrivers hgc1280 sigma apollo hercules
#define XF86W32Drivers et4000w32
END
cat <<END
Do you want to install the default system config files, this will overwrite
and files that you may be currently using. This would only be required
on a first time build.
END
yesno "Install xdm config? [YES] "
echo "#undef InstallXdmConfig" >> $F
echo "#define InstallXdmConfig $answ" >> $F
yesno "Install xinit config? [YES] "
echo "#undef InstallXinitConfig" >> $F
echo "#define InstallXinitConfig $answ" >> $F
yesno "Do you want to include support for the FontServer? [YES] "
echo "#undef BuildFontServer" >>$F
echo "#define BuildFontServer $answ" >>$F
echo "#undef InstallFSConfig" >>$F
echo "#define InstallFSConfig $answ" >>$F
cat <<'END'
Do you want to Build Fonts (Usually you only want to build and install
fonts once, if this is a first time install you will want to build the
fonts)
END
yesno "Build fonts? [YES] "
if [ $answ = NO ]; then
echo "#define BuildFonts NO" >> $F
fi
yesno "Build PEX? [YES] "
if [ $answ = NO ]; then
echo "#define BuildPexExt NO" >> $F
fi
yesno "Build XIE? [YES] "
if [ $answ = NO ]; then
echo "#define BuildXIE NO" >> $F
fi
echo
yesno "Do you want your X applications linked with gnu malloc? [YES] "
gnumalloc=$answ
echo
echo "End of configuration questions. No more user input required"
echo
}
if [ -f $WRKDIR/.cdrom ]; then
X11FIXES=`cat $WRKDIR/.cdrom`
echo -n 'Where is the "xc" directory on the cdrom? [/cdrom] '
read X11R6; if [ X$X11R6 = X ]; then X11R6=/cdrom; fi
if [ ! -d $X11R6/xc/config/cf ]; then
echo "Can't find X11R6 in $X11R6"
exit 1
fi
yesno "Is your cdrom distibution already patched? [y] ";
if [ $answ = YES ]; then
echo -n "What is the patchlevel of the distribution? [3] ";
read pl; if [ X$pl = X ]; then pl=3; fi
pl=`expr $pl + 1`
if [ $pl -lt 10 ]; then pl=0$pl; fi
else
pl=01
fi
ok=0
err=0
for i in 01 02 03 04 05 06 07 08 09 10 11 12; do
if [ $i = $pl ]; then ok=1; fi
if [ $ok = 1 ]; then
if [ ! -f $X11FIXES/fix-$i ]; then
echo "can't find $X11FIXES/fix-$i !!!"
err=1
fi
if [ $i = 10 ]; then
if [ ! -f $X11FIXES/fix10fonts.Z ]; then
echo "can't find $X11FIXES/fix10fonts.Z !!!"
err=1
fi
fi
if [ $i = 11 ]; then
if [ ! -f $X11FIXES/XFree86-3.1.1.tar.gz ]; then
echo "can't find $X11FIXES/XFree86-3.1.1.tar.gz !!!"
err=1
fi
fi
fi
done
if [ ! -f $X11FIXES/XFree86-3.1.2.diff.gz ]; then
echo "can't find $X11FIXES/XFree86-3.1.2.diff.gz !!!"
err=1
fi
if [ ! -f $X11FIXES/cfont312.tgz ]; then
echo "can't find $X11FIXES/cfont312.tgz !!!"
err=1
fi
if [ ! -f $X11FIXES/3.1.2-3.1.2-S.diff.gz ]; then
echo "can't find $X11FIXES/3.1.2-3.1.2-S.diff.gz !!!"
err=1
fi
if [ $err = 1 ]; then exit 1; fi
configure
echo "==> building the tree"
(cd $WRKDIR; sh $FILESDIR/maketree $X11R6)
else
X11FIXES=`cat $WRKDIR/.ftp`
pl=12
configure
fi
echo -n "==> applying XC patches"
ok=0
for i in 01 02 03 04 05 06 07 08 09 10 11 12; do
if [ $i = $pl ]; then ok=1; fi
if [ $ok = 1 ]; then
echo -n .;
patch -d $WRKSRC --forward --quiet -E -p1 < $X11FIXES/fix-$i
if [ $i = 10 ]; then
zcat $X11FIXES/fix10fonts.Z | patch -d $WRKSRC --forward --quiet -E -p1
fi
if [ $i = 11 ]; then
rm -rf $WRKDIR/xc/programs/Xserver/hw/xfree86
(cd $WRKDIR; gunzip -c $X11FIXES/XFree86-3.1.1.tar.gz | tar xpf -)
fi
if [ $i = 12 ]; then
rm -f $WRKDIR/xc/lib/Xt/Shell.h
rm -f $WRKDIR/xc/lib/StringDefs.h
rm -f $WRKDIR/xc/lib/StringDefs.c
fi
fi
done
echo
echo "==> applying XFree86 patches"
zcat $X11FIXES/XFree86-3.1.2.diff.gz | patch -d $WRKSRC --forward --quiet -E -p1
tar xzf $X11FIXES/cfont312.tgz -C $WRKDIR
zcat $X11FIXES/3.1.2-3.1.2-S.diff.gz | patch -d $WRKSRC --forward --quiet -E -p1
cat $F >> $WRKSRC/config/cf/xf86site.def
cd $WRKSRC/config/cf/ || exit 1;
version=`uname -r`
set `echo $version|sed -e 's/\./ /g' -e 's/-/ /g'`
mv FreeBSD.cf FreeBSD.cf.old
sed -e "s/2.0.5/$version/" \
-e "s/OSMajorVersion *2/OSMajorVersion $1/" \
-e "s/OSMinorVersion *0/OSMinorVersion $2/" \
-e "s/OSTeenyVersion *5/OSTeenyVersion $3/" \
-e "s/m486/m486 -fno-strength-reduce/" \
-e "s/UseGnuMalloc.*YES/UseGnuMalloc $gnumalloc/" \
<FreeBSD.cf.old >FreeBSD.cf
exit 0