1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-01 22:05:08 +00:00
freebsd-ports/x11-servers/XFree86-4-Server/scripts/configure
Jean-Marc Zucconi 97a7300b6b The tarballs at xtp.x.org have been updated to patchlevel 11. So there is
no need to patch the distribution when X11_VIA_FTP=yes
1995-03-26 12:13:17 +00:00

162 lines
4.4 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
}
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=5; fi
pl=`expr $pl + 1`
if [ $pl -lt 10 ]; then pl=0$pl; fi
else
pl=01
fi
echo "==> building the tree (please wait)"
if [ -f ${WRKDIR}/.cd_OR ] ; then
(cd $WRKDIR; cp $X11R6/xc/config/util/lndir.c .; cc -o lndir lndir.c; mkdir ./xc; ./lndir $X11R6/xc ./xc)
fi
if [ -f ${WRKDIR}/.cd_X ] ; then
(cd $WRKDIR; sh $FILESDIR/maketree $X11R6)
fi
else
X11FIXES=`cat $WRKDIR/.ftp`
pl=12
fi
echo -n "==> applying XC patches (please wait)"
ok=0
for i in 01 02 03 04 05 06 07 08 09 10 11; 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
tar -C $WRKDIR -xzf $X11FIXES/XFree86-3.1.1.tar.gz
fi
fi
done
echo
echo "==> applying XFree86 patches (please wait)"
zcat $X11FIXES/XFree86-3.1.1.diff.gz | patch -d $WRKSRC --forward --quiet -E -p1
cd $WRKSRC/config/cf/ || exit 1;
F=xf86site.def
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
version=`uname -r`
set `echo $version|sed -e 's/\./ /g' -e 's/-/ /g'`
mv FreeBSD.cf FreeBSD.cf.old
sed -e "s/2.0/$version/" \
-e "s/OSMajorVersion *2/OSMajorVersion $1/" \
-e "s/OSMinorVersion *0/OSMinorVersion $2/" \
-e "s/OSTeenyVersion *0/OSTeenyVersion $3/" \
<FreeBSD.cf.old >FreeBSD.cf
#you may change ExtraLibraries too:
#echo "#undef ExtraLibraries >> FreeBSD.cf
#echo "#define ExtraLibraries -lgnumalloc >>FreeBSD.cf
exit 0