diff options
author | jmz <jmz@FreeBSD.org> | 1995-02-17 09:23:44 +0800 |
---|---|---|
committer | jmz <jmz@FreeBSD.org> | 1995-02-17 09:23:44 +0800 |
commit | cfdaeeaabd25cbfa15d8afa1ab8186b6aced299c (patch) | |
tree | c66bdd79f9b0b02b287c469a4cc06f9bf96a47ba /x11-servers/XFree86-4-Server | |
parent | 2d37faf16c8d8c3865a41223145cd25cd76804e0 (diff) | |
download | freebsd-ports-gnome-cfdaeeaabd25cbfa15d8afa1ab8186b6aced299c.tar.gz freebsd-ports-gnome-cfdaeeaabd25cbfa15d8afa1ab8186b6aced299c.tar.zst freebsd-ports-gnome-cfdaeeaabd25cbfa15d8afa1ab8186b6aced299c.zip |
Makefiles have been simplified, and most of the work is now done in
configure. In particular patches are now done by the script.
The port is now interactive, (ask for servers to be build, if you want
to build fonts, etc) This time I have build it (successfully) from a cdrom.
Diffstat (limited to 'x11-servers/XFree86-4-Server')
-rw-r--r-- | x11-servers/XFree86-4-Server/Makefile | 38 | ||||
-rw-r--r-- | x11-servers/XFree86-4-Server/scripts/configure | 134 |
2 files changed, 159 insertions, 13 deletions
diff --git a/x11-servers/XFree86-4-Server/Makefile b/x11-servers/XFree86-4-Server/Makefile index 8dd186298ab1..ebda54445823 100644 --- a/x11-servers/XFree86-4-Server/Makefile +++ b/x11-servers/XFree86-4-Server/Makefile @@ -1,23 +1,28 @@ -DISTNAME = xc -PKGNAME = XFree86-3.1.1 -WRKDIR?= ${.CURDIR}/work -BUILD_COOKIE?= ${WRKDIR}/.build_done -PATCH_STRIP = -p1 - # uncomment one of the 2 lines below! #X11_ON_CDROM = yes X11_VIA_FTP = yes +#if you are compiling from a cdrom, set the directory where the +# the patch files are +#X11FIXES = /home/X11R6 + #define this if you are short of space - save ~28 Mbytes #REMOVE_NOT_ESSENTIAL = yes +####################################################################### +DISTNAME = xc +PKGNAME = XFree86-3.1.1 +WRKDIR?= ${.CURDIR}/work +BUILD_COOKIE?= ${WRKDIR}/.build_done +EXTRACT_COOKIE?= ${WRKDIR}/.extract_done +IS_INTERACTIVE= yes .if defined(X11_ON_CDROM) || defined(X11_VIA_FTP) + build: configure ${BUILD_COOKIE} ${BUILD_COOKIE}: @echo "===> Building for ${DISTNAME}" - @${MAKE} ${.MAKEFLAGS} pre-build .if defined(REMOVE_NOT_ESSENTIAL) @rm -rf ${WRKSRC}/test ${WRKSRC}/doc/hardcopy ${WRKSRC}/doc/specs @find ${WRKSRC}/ -name '*.orig' -exec rm -f {} ';' @@ -28,10 +33,25 @@ ${BUILD_COOKIE}: install: @(cd ${WRKSRC}; make install; make install.man) @touch ${WRKDIR}/.install_done +.if defined(X11_ON_CDROM) + @find /usr/X11R6/ -name 00_TRANS.TBL -exec rm -f {} ';' +.endif .endif .if defined(X11_ON_CDROM) -.include "Makefile.cdrom" +.if !defined (X11FIXES) +configure: + @echo Edit the makefile and set X11FIXES !!!! + @exit 1; +.endif +fetch: + @echo -n +${EXTRACT_COOKIE}: + @rm -rf ${WRKDIR} + @mkdir -p ${WRKDIR} + @echo ${X11FIXES} > ${WRKDIR}/.cdrom + @${TOUCH} ${TOUCH_FLAGS} ${EXTRACT_COOKIE} + .elif defined(X11_VIA_FTP) .include "Makefile.ftp" .else @@ -49,4 +69,4 @@ install: @echo -n .endif - +.include <bsd.port.mk> diff --git a/x11-servers/XFree86-4-Server/scripts/configure b/x11-servers/XFree86-4-Server/scripts/configure index 7e6f2dfc5bd1..3cbbd40ebe91 100644 --- a/x11-servers/XFree86-4-Server/scripts/configure +++ b/x11-servers/XFree86-4-Server/scripts/configure @@ -1,7 +1,92 @@ #!/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=3; fi + pl=`expr $pl + 1` + if [ $pl -lt 10 ]; then pl=0$pl; fi + else + pl=01 + fi + echo "==> building the tree (please wait)" + (cd $WRKDIR; sh $FILESDIR/maketree $X11R6) +else + X11FIXES=`cat $WRKDIR/.ftp` + pl=01 +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; -cat >> xf86site.def << EOF + +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_$i" >>$F +fi + +cat >> $F <<END #define XF86SvgaDrivers et4000 et3000 pvga1 gvga ati tvga8900 cirrus \ ncr77c22 compaq oak mx al2101 ali cl64xx \ video7 chips generic @@ -15,16 +100,57 @@ cat >> xf86site.def << EOF #define XF86W32Drivers et4000w32 -EOF +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/12.0/$version/" \ +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! +#you may change ExtraLibraries too: +#echo "#undef ExtraLibraries >> FreeBSD.cf +#echo "#define ExtraLibraries -lgnumalloc >>FreeBSD.cf + exit 0 |