This script uses the XFree86 and XFree86-contrib ports to build and install

XFree86 3.3.6 into a scratch directory.  The patch file patches the XFree86
port to not ask any questions and to actually be able to install some things
like the i810 server link kit bits.  If you want XF86Setup to build, you
should have tk80 (not tk82) installed.  If you want to XF86Setup_jp to build
you need to have ja-tk80 installed.
This commit is contained in:
John Baldwin 2000-07-26 01:31:47 +00:00
parent 1de9415aed
commit 62f26f9acd
2 changed files with 653 additions and 0 deletions

View File

@ -0,0 +1,587 @@
Index: Makefile
===================================================================
RCS file: /host/ares/usr/home/ncvs/ports/x11/XFree86/Makefile,v
retrieving revision 1.80
diff -u -r1.80 Makefile
--- Makefile 2000/06/16 21:52:08 1.80
+++ Makefile 2000/07/25 01:59:28
@@ -13,7 +13,7 @@
ftp://ftp.lip6.fr/pub/X11/XFree86/XFree86-3.3.6/source/ \
ftp://ftp.cs.tu-berlin.de/pub/X/XFree86/3.3.6/source/ \
ftp://sunsite.doc.ic.ac.uk/packages/XFree86/3.3.6/source/
-DISTFILES= X336src-1.tgz X336src-2.tgz
+DISTFILES= X336src-1.tgz X336src-2.tgz X336src-3.tgz
PATCH_SITES= ftp://ftp.xfree.org/pub/XFree86/3.3.6/fixes/ \
ftp://ftp.freesoftware.com/pub/XFree86/3.3.6/fixes/ \
@@ -31,19 +31,18 @@
#NO_PACKAGE= package available from XFree86
.endif
ALL_TARGET= World
-INSTALL_TARGET= install install.man
+INSTALL_TARGET= install install.man install.linkkit
DIST_SUBDIR= xc
PATCH_DIST_ARGS=-p0 -E -d ${WRKDIR} --quiet
-SCRIPTS_ENV= OSVERSION=${OSVERSION}
+SCRIPTS_ENV= OSVERSION=${OSVERSION} MACHINE=${MACHINE} \
+ MACHINE_ARCH=${MACHINE_ARCH}
# can't use USE_X_PREFIX here -- it will cause a circular dependency
PREFIX= ${X11BASE}
MTREE_FILE= /etc/mtree/BSD.x11.dist
.if (${MACHINE} == "pc98")
-SCRIPTS_ENV+= MACHINE=pc98
PLIST= ${PKGDIR}/PLIST.pc98
.endif
.if (${MACHINE} == "alpha")
-SCRIPTS_ENV+= MACHINE=alpha
PLIST= ${PKGDIR}/PLIST.alpha
.endif
@@ -71,6 +70,8 @@
post-extract:
@${MV} ${WRKSRC}/programs/Xserver/hw/xfree86/vga256/drivers/i810/os-support/linux/agpgart.h ${WRKSRC}/programs/Xserver/hw/xfree86/vga256/drivers/i810/
+ @${CP} ${WRKSRC}/programs/Xserver/hw/xfree86/LinkKit/README \
+ ${WRKSRC}/programs/Xserver/hw/xfree86/doc/sgml
.include <bsd.port.pre.mk>
Index: files/md5
===================================================================
RCS file: /host/ares/usr/home/ncvs/ports/x11/XFree86/files/md5,v
retrieving revision 1.23
diff -u -r1.23 md5
--- files/md5 2000/02/10 15:51:04 1.23
+++ files/md5 2000/07/25 01:59:28
@@ -1,4 +1,5 @@
MD5 (xc/X336src-1.tgz) = bbfa360d10ce91ab37f24f197a31b485
MD5 (xc/X336src-2.tgz) = 897daa223b5b67b8314ed8835cc17539
+MD5 (xc/X336src-3.tgz) = 4b1d9d353f8b4cba678f7c156b872330
MD5 (xc/fix-01-r128) = a62387e13b970c5a83e9a0822c30344f
MD5 (xc/Wraphelp.c) = IGNORE
Index: patches/patch-h
===================================================================
RCS file: patch-h
diff -N patch-h
--- /dev/null Mon Jul 24 18:59:32 2000
+++ patch-h Mon Jul 24 18:59:28 2000
@@ -0,0 +1,10 @@
+--- programs/Xserver/hw/xfree86/vga256/drivers/i810/Imakefile.orig Tue Jul 18 13:30:51 2000
++++ programs/Xserver/hw/xfree86/vga256/drivers/i810/Imakefile Tue Jul 18 13:31:01 2000
+@@ -33,7 +33,6 @@
+ InstallLinkKitNonExecFile(i810_cursor.c,$(LINKKITDIR)/drivers/vga256/i810)
+ InstallLinkKitNonExecFile(i810_accel.c,$(LINKKITDIR)/drivers/vga256/i810)
+ InstallLinkKitNonExecFile(i810_cmap.c,$(LINKKITDIR)/drivers/vga256/i810)
+-InstallLinkKitNonExecFile(i810_macros.h,$(LINKKITDIR)/drivers/vga256/i810)
+ InstallLinkKitNonExecFile(i810_reg.h,$(LINKKITDIR)/drivers/vga256/i810)
+
+ DependTarget()
Index: patches/patch-i
===================================================================
RCS file: patch-i
diff -N patch-i
--- /dev/null Mon Jul 24 18:59:32 2000
+++ patch-i Mon Jul 24 18:59:28 2000
@@ -0,0 +1,11 @@
+--- programs/Xserver/hw/xfree86/doc/Imakefile.orig Tue Jul 18 15:31:36 2000
++++ programs/Xserver/hw/xfree86/doc/Imakefile Tue Jul 18 15:31:52 2000
+@@ -90,7 +90,7 @@
+ README.I128 README.Mach32 \
+ README.Mach64 README.ark README.MGA README.NVIDIA README.mouse \
+ README.neo README.rendition README.3DLabs README.cyrix \
+- README.i740 README.r128
++ README.i740 README.i810 README.r128
+
+ MAINDOCS = COPYRIGHT README README.Config BUILD RELNOTES
+
Index: patches/patch-j
===================================================================
RCS file: patch-j
diff -N patch-j
--- /dev/null Mon Jul 24 18:59:32 2000
+++ patch-j Mon Jul 24 18:59:28 2000
@@ -0,0 +1,11 @@
+--- config/cf/lnxdoc.rules.orig Tue Jul 18 18:16:01 2000
++++ config/cf/lnxdoc.rules Tue Jul 18 18:19:05 2000
+@@ -122,7 +122,7 @@
+ @(BASE=`basename sgmlfile .sgml`;\ @@\
+ set -x;\ @@\
+ RemoveFile($$BASE.latin1);\ @@\
+- $(SGMLFMTCMD) -f latin1 -b -n sgmlfile && \ @@\
++ $(SGMLFMTCMD) -f latin1 sgmlfile && \ @@\
+ $(XFREE86IDENTFIX) < $$BASE.latin1 > _$@ && $(MV) _$@ $@ && \ @@\
+ RemoveFile($$BASE.latin1)) @@\
+ @@\
Index: patches/patch-k
===================================================================
RCS file: patch-k
diff -N patch-k
--- /dev/null Mon Jul 24 18:59:32 2000
+++ patch-k Mon Jul 24 19:16:15 2000
@@ -0,0 +1,34 @@
+--- programs/Xserver/hw/xfree86/doc/Japanese/Imakefile.orig Fri Dec 3 01:42:36 1999
++++ programs/Xserver/hw/xfree86/doc/Japanese/Imakefile Mon Jul 24 19:15:08 2000
+@@ -3,7 +3,6 @@
+ XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/Imakefile,v 3.8.2.4 1999/11/26 15:22:58 hohndel Exp $
+ #include <Server.tmpl>
+
+-#if !BuildLinuxDocText
+ /* FreeBSD's README is handled separately because of name length limits */
+ #ifdef BSD386Architecture
+ OSREADME = /* README.Bsdi */
+@@ -56,7 +55,6 @@
+ #ifdef OS2Architecture
+ OSREADME = README.OS2
+ #endif
+-#endif /* !BuildLinuxDocText */
+
+ #if XFree86Version % 10
+ REPORTFORM = BetaReport
+@@ -64,7 +62,6 @@
+
+ all::
+
+-#if !BuildLinuxDocText
+ HWREADME = README.ati README.trident README.tseng README.WstDig \
+ README.DECtga README.apm README.rendition README.epson \
+ README.chips README.cirrus README.Video7 README.P9000 README.agx \
+@@ -77,7 +74,6 @@
+ MAINDOCS = COPYRIGHT README README.Config BUILD RELNOTES
+
+ OTHERDOCS = VideoModes.doc QuickStart.doc README.clkprog xinput
+-#endif
+
+ ## MISCDOCS = ServersOnly /*LbxproxyOnly*/ $(REPORTFORM) README.DGA
+ MISCDOCS = VGADriver.doc modelines.txt
Index: scripts/configure
===================================================================
RCS file: /host/ares/usr/home/ncvs/ports/x11/XFree86/scripts/configure,v
retrieving revision 1.59
diff -u -r1.59 configure
--- scripts/configure 2000/06/09 06:25:17 1.59
+++ scripts/configure 2000/07/25 01:59:28
@@ -1,42 +1,12 @@
#!/bin/sh
-yesno () {
- answ=X;
- while [ $answ = X ]; do
- echo -n "$1 [YES] "
- 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
-}
-noyes() {
- answ=X;
- while [ $answ = X ]; do
- echo -n "$1 [NO] "
- read answ
- if [ X$answ = X ]; then answ="NO"; 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
# Tk detection
tkversion=
-for v in 42 80 81 82 83 42jp 80jp; do
+for v in 42 80 81 82 83; do
if [ -f /usr/local/lib/libtk$v.a ]; then
tkversion=$v
case $tkversion in
@@ -50,16 +20,6 @@
tclLversion=8.0
tkLversion=8.0
;;
- 42jp)
- tclversion=76jp
- tclLversion=7.6jp
- tkLversion=4.2jp
- ;;
- 80jp)
- tclversion=80jp
- tclLversion=8.0jp
- tkLversion=8.0jp
- ;;
81)
tclversion=81
tclLversion=8.1
@@ -78,31 +38,39 @@
esac
fi
done
-if [ X$tkversion != X ]; then
- case $tkversion in
- *jp)
+
+# Japanese Tk detection
+jptkversion=
+for v in 42jp 80jp; do
+ if [ -f /usr/local/lib/libtk$v.a ]; then
+ jptkversion=$v
+ case $jptkversion in
+ 42jp)
+ jptclversion=76jp
+ jptclLversion=7.6jp
+ jptkLversion=4.2jp
+ ;;
+ 80jp)
+ jptclversion=80jp
+ jptclLversion=8.0jp
+ jptkLversion=8.0jp
+ ;;
+ esac
+ fi
+done
+if [ X$jptkversion != X ]; then
echo "Using Japanized tk-$jptkLversion"
- if [ X"${MACHINE}" = X"pc98" ]; then
echo "#define HasJpTk YES" >>$F
echo "#define JpTkLibDir /usr/local/lib" >>$F
- echo "#define JpTkIncDir /usr/local/include/tk$tkLversion" >>$F
- echo "#define JpTkLibName tk$tkversion" >>$F
+ echo "#define JpTkIncDir /usr/local/include/tk$jptkLversion" >>$F
+ echo "#define JpTkLibName tk$jptkversion" >>$F
echo "#define HasJpTcl YES" >>$F
echo "#define JpTclLibDir /usr/local/lib" >>$F
- echo "#define JpTclIncDir /usr/local/include/tcl$tclLversion" >>$F
- echo "#define JpTclLibName tcl$tclversion" >>$F
- else
- echo "#define HasTk YES" >>$F
- echo "#define TkLibDir /usr/local/lib" >>$F
- echo "#define TkIncDir /usr/local/include/tk$tkLversion" >>$F
- echo "#define TkLibName tk$tkversion" >>$F
- echo "#define HasTcl YES" >>$F
- echo "#define TclLibDir /usr/local/lib" >>$F
- echo "#define TclIncDir /usr/local/include/tcl$tclLversion" >>$F
- echo "#define TclLibName tcl$tclversion" >>$F
- fi
- ;;
- *)
+ echo "#define JpTclIncDir /usr/local/include/tcl$jptclLversion" >>$F
+ echo "#define JpTclLibName tcl$jptclversion" >>$F
+fi
+
+if [ X$tkversion != X ]; then
echo "Using tk-$tkLversion"
echo "#define HasTk YES" >>$F
echo "#define TkLibDir /usr/local/lib" >>$F
@@ -112,9 +80,12 @@
echo "#define TclLibDir /usr/local/lib" >>$F
echo "#define TclIncDir /usr/local/include/tcl$tclLversion" >>$F
echo "#define TclLibName tcl$tclversion" >>$F
- ;;
- esac
+fi
+
+if [ X$tkversion != X -a X$jptkversion != X ]; then
echo "#define BuildXF86Setup YES" >>$F
+ echo "#define XF86SetupUsesStaticTk YES" >>$F
+ echo "#define XF86SetupUsesStaticTcl YES" >>$F
else
cat <<EOF
*** I don't see the static library for tk version $tkversion in /usr/local/lib.
@@ -124,90 +95,33 @@
EOF
fi
-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
-if [ X$tkversion != X ]; then
- echo "*** If you want to use XF86Setup to set the INITIAL configuration,"
- echo "*** then you must build the VGA server"
-fi
-# force the compilation of the EGC server for pc98.
-if [ X"${MACHINE}" = X"pc98" ]; then
+# Build the default server set for each machine
+
+if [ X"${MACHINE_ARCH}" = X"i386" ]; then
echo "#define BuildPC98Servers YES" >>$F
- echo "#undef XF98EGCServer" >>$F
- echo "#define XF98EGCServer YES" >>$F
- servers="GA968 GANBWAP NEC480 NKVNEC WABS WABEP WSNA TGUI MGA SVGA NECS3 PWSKB PWLB"
- selected=EGC
- for i in $servers; do
- yesno "Do you want to build the $i server?"
- if [ $answ = YES ]; then selected="$selected $i"; fi
- echo "#undef XF98${i}Server" >>$F
- echo "#define XF98${i}Server $answ" >>$F
- done
+
+ if [ X"${MACHINE}" = X"pc98" ]; then
+ # Don't build normal i386 servers on PC98
echo "#undef XF86SVGAServer" >>$F
echo "#define XF86SVGAServer NO" >>$F
servers="VGA16 VGA16Dual Mono MonoDual S3 S3V I8514 Mach8 Mach32 Mach64 P9000 AGX W32 I128 GLINT"
for i in $servers; do
echo "#undef XF86${i}Server" >>$F
- echo "#define XF86${i}Server NO" >>$F
+ echo "#define XF86${i}Server NO" >>$F
done
-elif [ X"${MACHINE}" = X"alpha" ]; then
-# force the compilation of the SVGA server.
- echo "#undef XF86SVGAServer" >>$F
- echo "#define XF86SVGAServer YES" >>$F
- servers="Mono S3 S3V Mach64 P9000 I128 GLINT TGA"
- selected=SVGA
- for i in $servers; do
- yesno "Do you want to build the $i server?"
- if [ $answ = YES ]; then selected="$selected $i"; fi
- echo "#undef XF86${i}Server" >>$F
- echo "#define XF86${i}Server $answ" >>$F
- done
-else
-# force the compilation of the SVGA server.
- echo "#undef XF86SVGAServer" >>$F
- echo "#define XF86SVGAServer YES" >>$F
- servers="VGA16 VGA16Dual Mono MonoDual S3 S3V I8514 Mach8 Mach32 Mach64 P9000 AGX W32 I128 GLINT"
- selected=SVGA
- for i in $servers; do
- yesno "Do you want to build the $i server?"
- if [ $answ = YES ]; then selected="$selected $i"; fi
- echo "#undef XF86${i}Server" >>$F
- echo "#define XF86${i}Server $answ" >>$F
- done
+ fi
+elif [ X"${MACHINE}" == X"alpha" ]; then
+ # force the VGA16 driver on the Alpha
+ echo "#define XF86VGA16Server YES" >>$F
fi
-echo
-ok=0
-while [ $ok != 1 ]; do
- echo -n "default server to install. [none] "
- read answ
- if [ X$answ = X ]; then answ=none; ok=1; fi
- if [ $answ != none ]; then
- for i in $selected; do if [ $i = $answ ]; then
- ok=1
- if [ X"${MACHINE}" = X"pc98" ]; then
- echo "#define ServerToInstall XF98_$answ" >>$F
- else
- echo "#define ServerToInstall XF86_$answ" >>$F
- fi
- fi
- done
- fi
- if [ $ok = 0 ]; then echo you must choose a server among $selected; fi
-done
-echo
-yesno "Do you want to build Xvfb?"
-echo "#define XVirtualFramebufferServer $answ" >>$F
+echo "#define XVirtualFramebufferServer YES" >>$F
if [ X"${MACHINE}" != X"pc98" ]; then
if [ X"${MACHINE}" = X"alpha" ]; then
cat >> $F <<END
-#define XF86SvgaDrivers nv mga s3v generic
-
-#define XF86MonoDrivers hgc1280 sigma apollo hercules
+#define XF86SvgaDrivers nv mga tvga8900 s3v generic
+#define XF86Vga16Drivers tvga8900 generic
END
else
cat >> $F <<END
@@ -216,144 +130,37 @@
cl64xx video7 ark mx realtek apm s3_savage s3v \
s3_svga neo chips cyrix rendition p9x00 \
spc8110 i740 i810 tdfx smi generic
-
-#define XF86Vga16Drivers et4000 et3000 ncr77c22 ati sis tvga8900 oak \
- cl64xx generic
-
-#define XF86Vga2Drivers et4000 et3000 pvga1 gvga ati sis tvga8900 \
- cirrus ncr77c22 oak cl64xx generic
-
-#define XF86MonoDrivers hgc1280 sigma apollo hercules
-
-#define XF86W32Drivers et4000w32
-
END
fi
fi
-
-
-cat <<END
+echo "#define InstallXdmConfig YES" >> $F
+echo "#define InstallXinitConfig YES" >> $F
+echo "#define InstallFSConfig YES" >> $F
- 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?"
-if [ $answ = YES ]; then
- echo "#define InstallXdmConfig $answ" >> $F
-fi
-yesno "Install xinit config?"
-if [ $answ = YES ]; then
- echo "#define InstallXinitConfig $answ" >> $F
-fi
-yesno "Install xfs config?"
-if [ $answ = YES ]; then
- echo "#define InstallFSConfig $answ" >> $F
-fi
-
-yesno "Do you want to include support for the FontServer?"
echo "#undef BuildFontServer" >>$F
-echo "#define BuildFontServer $answ" >>$F
+echo "#define BuildFontServer YES" >>$F
echo "#undef InstallFSConfig" >>$F
-echo "#define InstallFSConfig $answ" >>$F
+echo "#define InstallFSConfig YES" >>$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?"
-if [ $answ = NO ]; then
- echo "#define BuildFonts NO" >> $F
-fi
-yesno "Build the servers with Extended input devices?"
-if [ $answ = NO ]; then
- echo "#undef BuildXInputExt" >> $F
- echo "#define BuildXInputExt NO" >> $F
-else
- if [ X${MACHINE} != X"alpha" ]; then
- echo "#define JoystickSupport YES" >> $F
- fi
+if [ X${MACHINE} != X"alpha" ]; then
+ echo "#define JoystickSupport YES" >> $F
fi
-yesno "Build PEX?"
-if [ $answ = NO ]; then
- echo "#define BuildPexExt NO" >> $F
-fi
-yesno "Build XIE?"
-if [ $answ = NO ]; then
- echo "#define BuildXIE NO" >> $F
-fi
-echo
-
-yesno "Build static libraries in addition to shared libraries?"
-if [ $answ = YES ]; then
- echo "#define ForceNormalLib YES" >> $F
-fi
+echo "#define ForceNormalLib YES" >> $F
+
# ELF detection
if [ `sysctl -n kern.osreldate` -ge 300004 -a X`objformat` = Xelf ]; then
ELF=yes
-cat <<'END'
-
- Some programs still require a.out X libraries. Most noteable amongst
- these is Nestcape, but it is reported to work best with older X libraries.
- You can build a.out libraries here, using the lastest sources and
- compiler, or you can use the XFree86-aoutlibs port, which installs older
- a.out compatibility libraries.
-
- If you decide to build the libraries here they will not be uninstalled by
- this port, and they will be overwritten by the XFree86-aoutlibs port, if
- for some reason you install it.
-
-END
- noyes "Do you want to build and install a.out compatibility libraries?"
- if [ $answ = YES ]; then
- echo "#define BuildAoutLibraries YES" >> $F
- fi
else
ELF=no
fi
if [ ${OSVERSION} -ge 300000 ]; then
-cat <<'END'
-
- FreeBSD-3.x has support for Secure RPC.
-
- While this scheme is not used for general purpose encryption,
- some countries restrict the use of strong cryptography.
-
-END
-yesno "Build with Secure RPC?"
-if [ $answ = YES ]; then
echo "#define HasSecureRPC YES" >> $F
fi
-fi
-cat <<'END'
-
- MIT supplies an authentication mechanism that relies upon DES, this is
- called XDM-AUTHORIZATION-1.
-
- Source code for this authentication mechanism may not be exported from
- the United States, however, there are compatible replacements for this
- mechanism available elsewhere. Also, while this scheme is not used for
- general purpose encryption, some countries restrict the use of strong
- cryptography.
-
- If you have aquired a copy of "Wraphelp.c" and it currently resides in
- the same location as the XFree86 source or in the ports "files"
- subdirectory, it will be copied into the right place in the X11 source
- distribution and support for this feature will be enabled if you answer
- YES to the following question.
-
- If you do not have a copy of this file, even if you answer YES to this
- question, support will not be enabled. If you wish to change this later,
- the option controling this is contained the file xc/config/cf/xf86site.def.
-END
-yesno "Do you want to enable XDM-AUTHORIZATION-1 support?"
cpwh=NO
-if [ $answ = YES ]; then
WH=$WRKDIR/xc/lib/Xdmcp/Wraphelp.c
if [ -f $WH ] ; then
@@ -368,23 +175,16 @@
echo "==> Wraphelp.c not found, DES support NOT enabled."
cpwh=NO
fi
-fi
if [ $cpwh != NO ]; then
- echo "#define HasXdmAuth $answ" >> $F
+ echo "#define HasXdmAuth YES" >> $F
fi
-echo
-yesno "Do you want to compile with PAM support?"
-if [ $answ = YES ]; then
- echo "#define HasPam YES" >> $F
-else
- echo "#define HasPam NO" >> $F
+echo "#define HasPam YES" >> $F
+if [ X${MACHINE} != X"alpha" ]; then
+echo "#define InstallJapaneseDocs YES" >> $F
+echo "#define HasSgmlFmt YES" >> $F
+echo "#define BuildAllDocs YES" >> $F
fi
-
-echo
-echo
-echo "End of configuration questions. No more user input required"
-echo
}
configure

66
release/scripts/X11/build_x.sh Executable file
View File

@ -0,0 +1,66 @@
#!/bin/sh
#
# Builds X from the port and stores it under the specified directory.
# usage information
#
usage() {
echo "$0 <output dir>"
echo
echo "Where <output dir> is the base directory to install X into. This"
echo "script also assumes that it can checkout XFree86 into "
echo `dirname $0`"/XFree86, that it can get the distfiles from"
echo "/usr/ports/distfiles (or fetch them into that directory), and"
echo "that the file "`dirname $0`"/configure exists and replaces the"
echo "scripts/configure script used in the XFree86 port."
echo
echo "Also, this should really be run as root."
exit 1
}
# check the command line
if [ $# -ne 1 ]; then
usage
fi
# setup the output dir
output_dir=$1
case $output_dir in
/*)
;;
*)
output_dir=`pwd`/${output_dir}
;;
esac
if ! mkdir -p $1; then
echo "Could not create ${output_dir}!"
echo
usage
fi
# extract the directory this script lives in
home_dir=`dirname $0`
# check out the XFree86 and XFree86-contrib ports and set them up
if ! ( cd $home_dir && cvs -R -d ${CVSROOT} co -P XFree86 XFree86-contrib && \
cd XFree86 && patch < ../XF86.patch ); then
echo "Could not checkout the XFree86 port!"
echo
usage
fi
# actually build X
if ! ( cd $home_dir/XFree86 && \
make DISTDIR=/usr/ports/distfiles DESTDIR=${output_dir} \
NO_PKG_REGISTER=yes all install ); then
echo "Could not build XFree86!"
echo
usage
fi
if ! ( cd $home_dir/XFree86-contrib && \
make DISTDIR=/usr/ports/distfiles DESTDIR=${output_dir} \
NO_PKG_REGISTER=yes all install ); then
echo "Could not build XFree86-contrib!"
echo
usage
fi