Breaks on FreeBSD-4.0 & Ive got a bigger disc now, so shelve it for now. This patch by JHS is to compile smaller servers possible for my laptop host, to use minimal RAM. host lapa (AST) xinit Reports PCI: Cirrus Logic GD7543 rev 0, Memory @ 0xfc000000, 0xfd000000 clgd7543: LCD display only clgd7543: 800x600 TFT-color (18-bit color) LCD detected clgd7543: Specifying a Clocks line makes no sense for this driver chipset: clgd7543 videoram: 1024k host lapt (Toshiba) xinit Reports: ............ Example of disc space saved (Server not stripped & not gziped): Standard FreeBSD build: 3082965 XF86_SVGA With generic pvga1 2357505 XF86_SVGA With pvga1 2357003 XF86_SVGA ps -laxww results: VSZ RSS WCHAN STAT standard not gzipped, xdm: 4320 860 select Is standard gzipped, xdm: 4336 1356 select Ss pvga+generic not gzipped, xdm: 4344 1828 select Ss pvga+generic gzipped, xdm: 4336 1568 select Is pvga not gzipped no xdm: 3236 1556 select I pvga gzipped no xdm: 3244 1512 select S Suprisingly, one saves very little space, even with an X configured for merely pvga1, & that xinit > /tmp/t confirms with: Configured drivers: SVGA: server for SVGA graphics adaptors (Patchlevel 0): pvga1, wd90c00, wd90c10, wd90c30, wd90c24, wd90c31, wd90c33 I patch x11/XFree86/scripts/configure and not work/xc/config/cf/xf86site.def as after cd /usr/ports/x11/XFree86 ; make extract patch at make configure some macro presumably from /usr/share/mk/*port* reads from /usr/ports/x11/XFree86/scripts/configure and appends an XF86SvgaDrivers definition to work/xc/config/cf/xf86site.def & a redefine Warnings occur: ---------{ Building for XFree86-3.3.3 Building Release 6.3 of the X Window System. I hope you checked the configuration parameters in ./config/cf to see if you need to pass BOOTSTRAPCFLAGS. Wed Feb 3 15:50:57 CET 1999 cd ./config/imake && make -f Makefile.ini BOOTSTRAPCFLAGS="" clean rm -f ccimake imake.o imake rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a tags TAGS make.log \#* rm -f -r Makefile.proto Makefile Makefile.dep bootstrap make Makefile.boot cd ./config/imake && make -f Makefile.ini BOOTSTRAPCFLAGS="" making imake with BOOTSTRAPCFLAGS= in config/imake cc -o ccimake -O -I../../include -I../../imports/x11/include/X11 ccimake.c cc -c -O -I../../include -I../../imports/x11/include/X11 `./ccimake` imake.c cc -o imake -O -I../../include -I../../imports/x11/include/X11 imake.o rm -f ./config/makedepend/Makefile.proto ./config/imake/imake -I./config/cf -s ./config/makedepend/Makefile.proto -f ./config /makedepend/Imakefile -DTOPDIR=../.. -DCURDIR=./config/makedepend In file included from config/cf/site.def:46, from config/cf/Imake.tmpl:41, from Imakefile.c:9: config/cf/xf86site.def:653: warning: `XF86SvgaDrivers' redefined config/cf/xf86site.def:278: warning: this is the location of the previous definition config/cf/xf86site.def:655: warning: `XF86Vga16Drivers' redefined config/cf/xf86site.def:286: warning: this is the location of the previous definition config/cf/xf86site.def:657: warning: `XF86Vga2Drivers' redefined config/cf/xf86site.def:294: warning: this is the location of the previous definition ---------} Consideration of other files one might patch instead: ( This consideration has not resolved in a final decision as to where to better patch, for lack of time on my part. ) site.def Used by Imake.tmpl #define BeforeVendorCF #include #undef BeforeVendorCF #define AfterVendorCF #include #undef AfterVendorCF ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl \ $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) \ OtherIConfigFiles SiteIConfigFiles $(EXTRA_ICONFIGFILES) Imakefile DEFFILES = xf86site.def $(HOSTDEFFILES) site.def Makefile HOSTDEFFILES = host.def ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/X11.tmpl $(IRULESRC)/site.def $(IRULESRC)/$(MACROFILE) $(IRULESRC)/xfree86.cf $(IRULESRC)/xf86.rules $(IRULESRC)/xf86site.def $(IRULESRC)/host.def $(EXTRA_ICONFIGFILES) DEFFILES = xf86site.def $(HOSTDEFFILES) site.def Commments refering to: xf86site.def xfree86.cf Or xfree86.cf referred to by: Amoeba.cf FreeBSD.cf Imakefile Makefile NetBSD.cf OpenBSD.cf bsdi.cf linux.cf lynx.cf mach.cf minix.cf os2.cf sco.cf sco5.cf svr3.cf svr4.cf xf86site.def xfree86.cf which has #ifndef XF86SvgaDrivers # ifdef AlphaArchitecture # define XF86SvgaDrivers mga tvga8900 s3v # else # define XF86SvgaDrivers nv et4000 et3000 pvga1 gvga ati sis tvga8900 \ cirrus ncr77c22 compaq mga oak al2101 \ ali cl64xx video7 ark mx realtek s3v apm \ s3_svga neo chips cyrix rendition p9x00 \ spc8110 generic # endif #endif Note xf86site.def has a comment: The distributed version of this (xf86site.def) file should contain no uncommented definitions. Such default definitions belong in xfree86.cf. or host.def referred to by: Imake.cf Imakefile Makefile but site.def has this #ifdef BeforeVendorCF #ifndef SiteIConfigFiles #define SiteIConfigFiles $(IRULESRC)/xf86site.def $(IRULESRC)/host.def #endif #include #include in which case ifdef BeforeVendorCF xf86site.def will over-ride my XF86SvgaDrivers in host.def has this #ifdef AfterVendorCF ... last command so will take effect ... #include grep of all uses of BeforeVendorCF config/cf/Imake.tmpl:#define BeforeVendorCF config/cf/Imake.tmpl:#undef BeforeVendorCF config/cf/ibm.cf: * in the BeforeVendorCF section of your site.def. config/cf/minix.cf: * If you want to change any of these, do it in the BeforeVendorCF part config/cf/site.def: * The before-half should be protected by #ifdef BeforeVendorCF, and the * config/cf/site.def:#ifdef BeforeVendorCF config/cf/site.def:#endif /* BeforeVendorCF */ config/imake/imake.man: site.def site-specific, BeforeVendorCF defined config/imake/imake.man:The first time \fIsite.def\fP is included, the variable BeforeVendorCF programs/Xserver/hardware/xfree86/doc/README.isc: #ifdef BeforeVendorCF programs/Xserver/hardware/xfree86/doc/README.isc: #endif /* BeforeVendorCF */ programs/Xserver/hardware/xfree86/doc/sgml/isc.sgml:#ifdef BeforeVendorCF programs/Xserver/hardware/xfree86/doc/sgml/isc.sgml:#endif /* BeforeVendorCF */ doc/misc/INSTALL.ms:\*Q#ifdef BeforeVendorCF\*U and one with \*Q#ifdef AfterVendorCF\*U. grep of all uses of AfterVendorCF INSTALL.TXT:dorCF" and one with "#ifdef AfterVendorCF". The file is actually pro- config/cf/Imake.tmpl:#define AfterVendorCF config/cf/Imake.tmpl:#undef AfterVendorCF config/cf/site.def: * after-half should be protected by #ifdef AfterVendorCF. * config/cf/site.def:#ifdef AfterVendorCF config/cf/site.def:#endif /* AfterVendorCF */ config/imake/imake.man: site.def site-specific, AfterVendorCF defined config/imake/imake.man:is defined, and the second time, the variable AfterVendorCF is doc/misc/INSTALL.ms:\*Q#ifdef BeforeVendorCF\*U and one with \*Q#ifdef AfterVendorCF\*U. =============================================================================== FreeBSD-3.2: *** old/ports/x11/XFree86/scripts/configure Sat Dec 19 00:56:02 1998 --- new/ports/x11/XFree86/scripts/configure Mon May 24 13:05:21 1999 *************** *** 139,144 **** --- 139,145 ---- if [ X"${MACHINE}" != X"pc98" ]; then cat >> $F <>$F # # if [ X"${MACHINE}" != X"pc98" ]; then # cat >> $F <>$F # # if [ X"${MACHINE}" != X"pc98" ]; then # + # #define XF86SvgaDrivers nv et4000 et3000 pvga1 gvga ati sis tvga8900 \ # + # cirrus ncr77c22 compaq mga oak al2101 ali \ # + # cl64xx video7 ark mx realtek apm \ # + # s3v s3_svga chips 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 # + # # cat >> $F <