I thought good news would never arrive! :)

----- Forwarded message from Robert Millan <[EMAIL PROTECTED]> -----

Date: Sun, 1 Jun 2003 13:20:03 +0200
From: Robert Millan <[EMAIL PROTECTED]>
To: Daniel Stone <[EMAIL PROTECTED]>
Subject: patches for GNU/FreeBSD
Message-ID: <[EMAIL PROTECTED]>


hi Daniel!

Xfree86 builds for first time on the Glibc-based GNU/FreeBSD system!!

I'm attaching a few patches. I can't bring you the MANIFEST stuff yet
because i'm still bootstrapping it (missing tetex-bin build-depends)

the debian/control patch does a little change to the kernel-headers
dependency. when i proposed the current "|hurd|freebsd..." scheme,
i assumed there would be each of these packages but it won't be like
that. I'll use "freebsd-{kernel,libc,utils}" for the stuff from the
FreeBSD system, so this needs to be changed. Since Xfree86 needs
manual work to support every architecture anyway, i think it's ok
to put the dependency like this.

820 adds GNU/FreeBSD to the build system and does the config/cf/ stuff,
the rest are bug fixes for misc components that fail miserabily. see my
comments on the patch headers for details.

please copy vars.i386 to vars.freebsd-i386 too.

buddy, my new box and UFS+SoftUpdates are _really_ making a difference,
i can build the whole thing in two or three hours! (it used to take 11 hours
on my old GNU box)

-- 
Robert Millan

diff -ur xfree86-4.3.0/debian.old/control xfree86-4.3.0/debian/control
--- xfree86-4.3.0/debian.old/control    2003-06-01 12:35:55.000000000 +0200
+++ xfree86-4.3.0/debian/control        2003-06-01 13:09:24.000000000 +0200
@@ -4,7 +4,7 @@
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: Branden Robinson <[EMAIL PROTECTED]>
 Standards-Version: 3.5.8
-Build-Depends: dpkg (>= 1.7.0), flex, bison, bsdmainutils, m4, groff, 
zlib1g-dev | libz-dev, libncurses5-dev | libncurses-dev, libpam0g-dev | 
libpam-dev, libfreetype6-dev, libpaperg, tetex-bin, po-debconf, debhelper (>= 
4.1.16), html2text, libglide2-dev (>> 2001.01.26) [i386], libglide3-dev (>> 
2001.01.26) [i386], libglide3-alpha-dev [alpha], kernel-headers-2.4 | hurd | 
freebsd | netbsd | openbsd, libpng12-0-dev | libpng-dev (>= 1.2.1), 
libexpat1-dev, libfontconfig1-dev, fontconfig, bzip2, libxft2-dev, 
libstdc++5-dev
+Build-Depends: dpkg (>= 1.7.0), flex, bison, bsdmainutils, m4, groff, 
zlib1g-dev | libz-dev, libncurses5-dev | libncurses-dev, libpam0g-dev | 
libpam-dev, libfreetype6-dev, libpaperg, tetex-bin, po-debconf, debhelper (>= 
4.1.16), html2text, libglide2-dev (>> 2001.01.26) [i386], libglide3-dev (>> 
2001.01.26) [i386], libglide3-alpha-dev [alpha], kernel-headers-2.4 [alpha arm 
hppa i386 ia64 m68k mips mipsel powerpc s390 sh sparc], libpng12-0-dev | 
libpng-dev (>= 1.2.1), libexpat1-dev, libfontconfig1-dev, fontconfig, bzip2, 
libxft2-dev, libstdc++5-dev
 
 Package: lbxproxy
 Architecture: any


  adds GNU/FreeBSD build defines to xc/config/cf. they're basicaly
  copied and adapted from the defines for GNU OS.

  not for submitting upstream yet, the defines in linux.cf, gnu.cf
  and gnu-freebsd.cf (specialy the last two) share a large amount
  of common lines. i want to split these into a gnu-common.cf file
  so gnu.cf and gnu-freebsd.cf don't get easily outdated.

  also the debian-specific lines in linux.cf should be moved somewhere
  else. i suggested using site.def. --Robert Millan <[EMAIL PROTECTED]>

diff -Nur xc/config/cf.old/Imake.cf xc/config/cf/Imake.cf
--- xc/config/cf.old/Imake.cf   2003-02-27 07:34:03.000000000 +0100
+++ xc/config/cf/Imake.cf       2003-05-31 15:00:51.000000000 +0200
@@ -213,6 +213,12 @@
 # endif
 #endif /* NetBSD */
 
+#ifdef __GNU_FreeBSD__
+#define MacroIncludeFile <gnu-freebsd.cf>
+#define MacroFile gnu-freebsd.cf
+#define GNUFreeBSDArchitecture
+#endif
+
 #ifdef __FreeBSD__
 # define MacroIncludeFile <FreeBSD.cf>
 # define MacroFile FreeBSD.cf
diff -Nur xc/config/cf.old/gfbLib.rules xc/config/cf/gfbLib.rules
--- xc/config/cf.old/gfbLib.rules       1970-01-01 01:00:00.000000000 +0100
+++ xc/config/cf/gfbLib.rules   2003-05-31 15:00:39.000000000 +0200
@@ -0,0 +1,181 @@
+/*
+ * GNU/Hurd shared library rules
+ *
+ * $XFree86: xc/config/cf/gnuLib.rules,v 1.5 2002/01/16 00:39:59 keithp Exp $
+ */
+
+/*
+ * GNU/FreeBSD shared library rules
+ * Cloned from GNU (ELF) shared library rules
+ *
+ */
+
+#ifndef HasSharedLibraries
+#define HasSharedLibraries YES
+#endif
+#ifndef ForceNormalLib
+#define ForceNormalLib NO
+#endif
+
+#ifndef SharedOldX
+#define SharedOldX NO
+#endif
+
+#undef SpecialMalloc
+#define SpecialMalloc NO
+
+#define BaseShLibReqs   -lc
+
+#ifndef SharedDataSeparation
+#define SharedDataSeparation NO
+#endif
+#ifndef SharedCodeDef
+#define SharedCodeDef /**/
+#endif
+#ifndef SharedLibraryDef
+#define SharedLibraryDef /**/
+#endif
+#ifndef ShLibIncludeFile
+#define ShLibIncludeFile <gfbLib.tmpl>
+#endif
+#ifndef SharedLibraryLoadFlags
+XCOMM XXX To rpath or not to rpath...
+XCOMM #define SharedLibraryLoadFlags -shared -Wl,-rpath=$(USRLIBDIR)
+#define SharedLibraryLoadFlags -shared
+#endif
+#ifndef PositionIndependentCFlags
+#define PositionIndependentCFlags -fPIC
+#endif
+#ifndef PositionIndependentCplusplusFlags
+#define PositionIndependentCplusplusFlags -fPIC
+#endif
+#ifndef ExtraLoadFlags
+#ifdef UseInstalled
+XCOMM XXX Maybe superfluous.
+#define ExtraLoadFlags -Wl,-rpath-link=$(USRLIBDIRPATH)
+#else
+#define ExtraLoadFlags -Wl,-rpath-link=$(BUILDLIBDIR)
+#endif
+#endif
+
+/*
+ * InstallSharedLibrary - generate rules to install the shared library.
+ * NOTE: file must be executable, hence "INSTBINFLAGS"
+ */
+#ifndef InstallSharedLibrary
+#define InstallSharedLibrary(libname,rev,dest)                         @@\
+install:: Concat(lib,libname.so.rev)                                   @@\
+       MakeDir($(DESTDIR)dest)                                         @@\
+       $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.so.rev) 
$(DESTDIR)dest @@\
+       @T=`echo Concat($(DESTDIR)dest/lib,libname.so.rev) | sed 
's/\.[^\.]*$$//'`;\
+         set -x; $(RM) $$T && $(LN) Concat(lib,libname.so.rev) $$T     @@\
+       @if $(SOSYMLINK); then (set -x; \
+         $(RM) Concat($(DESTDIR)dest/lib,libname.so); \                @@\
+         $(LN) Concat(lib,libname.so.rev) 
Concat($(DESTDIR)dest/lib,libname.so)); fi
+#endif /* InstallSharedLibrary */
+
+/*
+ * InstallSharedLibraryData - generate rules to install the shared library data
+ */
+#ifndef InstallSharedLibraryData
+#define InstallSharedLibraryData(libname,rev,dest)
+#endif /* InstallSharedLibraryData */
+
+
+/*
+ * SharedLibraryTarget - generate rules to create a shared library;
+ * build it into a different name so that we do not hose people by having
+ * the library gone for long periods.
+ */
+#ifndef SharedLibraryTarget
+#ifdef UseInstalled  
+#define LinkBuildSonameLibrary(lib) true
+#else
+#define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); \
+       cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
+#endif
+
+#define SharedLibraryTarget(libname,rev,solist,down,up)                        
@@\
+AllTarget(Concat(lib,libname.so.rev))                                  @@\
+                                                                       @@\
+Concat(lib,libname.so.rev):  solist $(EXTRALIBRARYDEPS)                        
@@\
+       $(RM) [EMAIL PROTECTED]                                                 
@@\
+       @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \             @@\
+               (cd down; $(CC) -o up/[EMAIL PROTECTED] $(SHLIBLDFLAGS) 
-Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+               $(RM) $$SONAME; $(LN) $@ $$SONAME; \                    @@\
+               LinkBuildSonameLibrary($$SONAME)                        @@\
+       $(RM) $@                                                        @@\
+       $(MV) [EMAIL PROTECTED] $@                                              
        @@\
+       @if $(SOSYMLINK); then (set -x; \                               @@\
+         $(RM) Concat(lib,libname.so); \                               @@\
+         $(LN) $@ Concat(lib,libname.so)); fi                          @@\
+       LinkBuildLibrary($@)                                            @@\
+       LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK))      @@\
+                                                                       @@\
+clean::                                                                        
@@\
+       @MAJREV=`expr rev : '\([^.]*\)'`; \                             @@\
+       set -x; $(RM) Concat(lib,libname.so.$$MAJREV)                   @@\
+       $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedLibraryTarget */
+
+/*
+ * SharedDepLibraryTarget - generate rules to create a shared library.
+ */
+#ifndef SharedDepLibraryTarget
+#ifdef UseInstalled
+#ifndef LinkBuildSonameLibrary
+#define LinkBuildSonameLibrary(lib) true
+#endif
+#else
+#ifndef LinkBuildSonameLibrary
+#define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); \
+       cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
+#endif
+#endif
+
+#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up)     @@\
+AllTarget(Concat(lib,libname.so.rev))                                  @@\
+                                                                       @@\
+Concat(lib,libname.so.rev):  deplist $(EXTRALIBRARYDEPS)               @@\
+       $(RM) [EMAIL PROTECTED]                                                 
@@\
+       @SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \             @@\
+               (cd down; $(CC) -o up/[EMAIL PROTECTED] $(SHLIBLDFLAGS) 
-Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+               $(RM) $$SONAME; $(LN) $@ $$SONAME; \                    @@\
+               LinkBuildSonameLibrary($$SONAME)                        @@\
+       $(RM) $@                                                        @@\
+       $(MV) [EMAIL PROTECTED] $@                                              
        @@\
+       @if $(SOSYMLINK); then (set -x; \                               @@\
+         $(RM) Concat(lib,libname.so); \                               @@\
+         $(LN) $@ Concat(lib,libname.so)); fi                          @@\
+       LinkBuildLibrary($@)                                            @@\
+       LinkBuildLibraryMaybe(Concat(lib,libname.so),$(SOSYMLINK))      @@\
+                                                                       @@\
+clean::                                                                        
@@\
+       @MAJREV=`expr rev : '\([^.]*\)'`; \                             @@\
+       set -x; $(RM) Concat(lib,libname.so.$$MAJREV)                   @@\
+       $(RM) Concat(lib,libname.so.rev) Concat(lib,libname.so)
+
+#endif /* SharedDepLibraryTarget */
+
+#ifndef SharedDepModuleTarget
+#define SharedDepModuleTarget(name,deps,solist)                                
@@\
+AllTarget(name)                                                                
@@\
+                                                                       @@\
+name: deps                                                             @@\
+       $(RM) [EMAIL PROTECTED]                                                 
@@\
+       $(CC) -o [EMAIL PROTECTED] $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) 
BaseShLibReqs @@\
+       $(RM) $@                                                        @@\
+       $(MV) [EMAIL PROTECTED] $@                                              
        @@\
+                                                                       @@\
+clean::                                                                        
@@\
+       $(RM) name
+
+#endif /* SharedDepModuleTarget */
+
+/*
+ * SharedLibraryDataTarget - generate rules to create shlib data file;
+ */
+#ifndef SharedLibraryDataTarget
+#define SharedLibraryDataTarget(libname,rev,salist)
+#endif /* SharedLibraryTarget */
diff -Nur xc/config/cf.old/gfbLib.tmpl xc/config/cf/gfbLib.tmpl
--- xc/config/cf.old/gfbLib.tmpl        1970-01-01 01:00:00.000000000 +0100
+++ xc/config/cf/gfbLib.tmpl    2003-05-31 15:00:39.000000000 +0200
@@ -0,0 +1,29 @@
+/*
+ * GNU/FreeBSD shared library template
+ *
+ */
+
+#ifndef FixupLibReferences
+#define FixupLibReferences()                                           @@\
+XMULIBONLY = -lXmu                                                     @@\
+XMULIB = $(XMULIBONLY) $(XTOOLLIB) $(XLIB)
+#endif
+
+#ifndef XawClientLibs
+#define XawClientLibs $(XAWLIB) $(XMULIBONLY) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#endif
+
+#define CplusplusLibC
+
+#define SharedX11Reqs
+#define SharedOldXReqs $(LDPRELIB) $(XLIBONLY)
+#define SharedXtReqs   $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB)
+#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+#define SharedXawReqs  $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
+#define SharedXmuReqs  $(LDPRELIB) $(XTOOLLIB) $(XLIB)
+#define SharedXextReqs $(LDPRELIB) $(XLIBONLY)
+#define SharedXiReqs   $(LDPRELIB) $(XLIB)
+#define SharedPexReqs  $(LDPRELIB) $(XLIBONLY) MathLibrary
+#define SharedXtstReqs $(LDPRELIB) $(XLIB)
+#define SharedXieReqs  $(LDPRELIB) $(XLIBONLY)
+#define SharedSMReqs   $(LDPRELIB) $(ICELIB)
diff -Nur xc/config/cf.old/gnu-freebsd.cf xc/config/cf/gnu-freebsd.cf
--- xc/config/cf.old/gnu-freebsd.cf     1970-01-01 01:00:00.000000000 +0100
+++ xc/config/cf/gnu-freebsd.cf 2003-05-31 15:01:56.000000000 +0200
@@ -0,0 +1,236 @@
+XCOMM platform:  $XFree86: xc/config/cf/gnu.cf,v 1.11 2001/02/28 18:58:49 
dawes Exp $
+
+#ifndef OSName
+#define OSName                 DefaultOSName
+#endif
+
+#ifndef OSVendor
+#define OSVendor               /**/
+#endif
+#ifndef OSMajorVersion
+#define OSMajorVersion         DefaultOSMajorVersion
+#endif
+#ifndef OSMinorVersion
+#define OSMinorVersion         DefaultOSMinorVersion
+#endif
+#ifndef OSTeenyVersion
+#define OSTeenyVersion         DefaultOSTeenyVersion
+#endif
+XCOMM operating system:  OSName 
(OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
+
+#define HasPam                 YES
+#define PamLibraries           -lpam -rdynamic -ldl
+#define XFree86Devel           YES
+#define SystemManDirectory     /usr/share/man
+#define HasTk                  YES
+#define TkLibDir               /usr/lib
+#define TkIncDir               /usr/include
+#define TkLibName              tk8.3
+#define XF86SetupUsesStaticTk  NO
+#define HasTcl                 YES
+#define TclLibDir              /usr/lib
+#define TclIncDir              /usr/include
+#define TclLibName             tcl8.3
+#define XF86SetupUsesStaticTcl NO
+#define InstallXinitConfig     YES
+#define InstallXdmConfig       YES
+#define InstallFSConfig                YES
+#define HasXdmAuth             YES
+#define DebuggableLibraries    YES
+#define ForceNormalLib         YES
+#define BuildSpecsDocs         YES
+#define SpecsDocDirs           CTEXT GL ICCCM X11 Xext Xv i18n xterm
+#define BuildAllSpecsDocs      YES
+#define HasLatex               YES
+/* We build-dep on expat, fontconfig, freetype and Xft. */
+#define BuildFreetype2Library  NO
+#define HasFreetype2           YES
+#define Freetype2Dir           /usr
+#define BuildExpatLibrary            NO
+#define HasExpat                     YES
+#define ExpatIncDirStandard          YES
+#define BuildFontconfigLibrary       NO
+#define HasFontconfig                        YES
+#define UseFontconfig                        YES
+#define FontconfigIncDir             /usr/include/fontconfig
+#define BuildXftLibrary              NO
+#define BuildXft1Library             YES
+#define XAppLoadDir            EtcX11Directory/app-defaults
+#define XFileSearchPathDefault 
Concat4(EtcX11Directory/%L/%T/%N%C,%S:EtcX11Directory/%l/%T/%N%C,%S:EtcX11Directory/%T/%N%C,%S:EtcX11Directory/%L/%T/%N%S:EtcX11Directory/%l/%T/%N%S:EtcX11Directory/%T/%N%S):Concat4($(LIBDIR)/%L/%T/%N%C,%S:$(LIBDIR)/%l/%T/%N%C,%S:$(LIBDIR)/%T/%N%C,%S:$(LIBDIR)/%L/%T/%N%S:$(LIBDIR)/%l/%T/%N%S:$(LIBDIR)/%T/%N%S)
+/* the relative symlink created by this rule causes problems for us */
+#if InstallAppDefFiles
+# define InstallAppDefaultsLong(file,class)                            @@\
+InstallNamedTarget(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+#else
+# define InstallAppDefaultsLong(file,class)                            @@\
+InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class)
+#endif /* InstallAppDefFiles */
+#ifndef BuilderEMailAddr
+# define BuilderEMailAddr      "[EMAIL PROTECTED]"
+#endif
+#define SharedLibXdmGreet      NO
+#define LinkGLToUsrInclude     NO
+#define LinkGLToUsrLib         NO
+#define SharedLibFont          NO
+#define HasZlib                        YES
+#define SharedLibGlu           YES
+#define NormalLibGlu           YES
+#define BuildRman              NO
+#define BuildHtmlManPages      NO
+#define FSUseSyslog            YES
+#ifndef HasKatmaiSupport
+# define HasKatmaiSupport      NO
+#endif
+#define ProjectManSuffix             x
+#define IconDir                Concat(ProjectRoot,/lib/X11/icons)
+
+/* The TT/Meltho fonts are all under non-free licenses. */
+#  define BuildTrueTypeFonts           NO
+#  define BuildBethMarduthoFonts       NO
+
+#define GNUSourceDefines      -D_POSIX_C_SOURCE=199309L \
+                              -D_POSIX_SOURCE -D_XOPEN_SOURCE \
+                              -D_BSD_SOURCE -D_SVID_SOURCE
+
+XCOMM XXXMB: What about _GNU_SOURCE, see Linux/UseInstalled?
+
+#define XawI18nDefines        -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
+
+XCOMM Enable this when we have pthreads.
+#define HasPosixThreads         YES
+#define ThreadedX               YES
+#define HasThreadSafeAPI        YES
+#define ThreadsLibraries        -lpthread
+#define SystemMTDefines         -D_REENTRANT
+
+#ifndef HasLibCrypt
+#define HasLibCrypt             YES
+#endif
+
+#ifndef BuildXF86RushExt
+# define BuildXF86RushExt      YES
+#endif
+
+#define BuildLibPathVar                LD_LIBRARY_PATH
+#define GccUsesGas             YES
+#define UseGas                 YES
+#define GnuCpp                 YES
+#define HasDlopen              YES
+#ifndef HasShadowPasswd
+#  define HasShadowPasswd      YES
+#endif
+#define HasPutenv              YES
+
+XCOMM Not implemented and will always fail.
+#define HasShm                 YES
+
+XCOMM #define HasBSD44Sockets          YES
+#define HasSockets             YES
+#define HasSnprintf            YES
+#define HasMkstemp             YES
+#define HasUsableFileMmap      YES
+#ifndef HasNCurses
+#define HasNCurses             YES
+#endif
+
+#define AvoidNullMakeCommand   YES
+#ifndef DebuggableLibraries
+#define DebuggableLibraries    NO
+#endif
+#define CompressAllFonts       YES
+#define Malloc0ReturnsNull     YES
+#define NeedConstPrototypes    YES
+#define NeedFunctionPrototypes YES
+#define NeedNestedPrototypes   YES
+#define NeedVarargsPrototypes  YES
+#ifndef NeedWidePrototypes
+#define NeedWidePrototypes     NO
+#endif
+#define SetTtyGroup            YES
+
+#ifndef UseStaticTermcapLib
+#define UseStaticTermcapLib    NO
+#endif
+
+#define MkdirHierCmd           mkdir -p
+#ifndef CcCmd
+#define CcCmd                  gcc
+#endif
+#ifndef AsCmd
+#define AsCmd                  as
+#endif
+#ifndef LdCmd
+#define LdCmd                  ld
+#endif
+
+#define AsmDefines             -D__ELF__
+#define CplusplusCmd           c++
+#ifndef TermcapLibrary
+#if UseStaticTermcapLib
+#define TermcapLibrary         StaticLibrary(/usr/lib,ncurses)
+#else
+#define TermcapLibrary         -lncurses
+#endif
+#endif
+#ifndef DoLoadableServer
+#define DoLoadableServer       YES
+#endif
+#ifndef
+#define CppCmd                 /lib/cpp
+#endif
+#define YaccCmd                        bison -y
+#define LexCmd                 flex -l
+#define HasFlex                        YES
+#define LexLib                 -lfl
+#define PreProcessCmd          CcCmd -E
+#define PostIncDir             DefaultGccIncludeDir
+#define LdCombineFlags         -r
+#ifndef LdPostLib
+#define LdPostLib              /* Never needed */
+#endif
+#define HasWChar32             YES
+#define StandardCppOptions     -traditional
+#define StandardCppDefines     StandardDefines
+
+#define HasVarRun              YES
+#define VarDbDirectory         $(VARDIR)/lib
+
+XCOMM i386Architecture
+#define OptimizedCDebugFlags   DefaultGcc2i386Opt
+#define DefaultGcc2i386Opt -O2
+#define GNUMachineDefines      -D__i386__
+#define ServerOSDefines                XFree86ServerOSDefines -DDDXTIME 
-DPART_NET
+#define ServerExtraDefines     -DGCCUSESGAS XFree86ServerDefines
+#define HasPlugin              YES
+#define VendorHasX11R6_3libXext        YES
+
+#ifndef StandardDefines
+#define StandardDefines                GNUMachineDefines GNUSourceDefines
+#endif
+
+#define DlLibrary              -rdynamic -ldl
+
+#define ServerExtraSysLibs     /**/
+
+#define ConnectionFlags                -DUNIXCONN -DTCPCONN
+
+#ifndef StaticLibrary
+#define StaticLibrary(libpath,libname) -Wl,-Bstatic Concat(-L,libpath) 
Concat(-l,libname) -Wl,-Bdynamic
+#endif
+
+#define HasGnuMake     YES
+
+#define MakeNamedTargetSubdir(dir,flags,subname)\
+        $(MAKE) -C dir $(MFLAGS) $(PARALLELMFLAGS) flags subname
+
+#define ArchitectureDefines    -DGNU_ARCHITECTURE
+
+#define XserverNeedsSetUID     YES
+
+#include <gnuLib.rules>
+
+XCOMM XXX Might need this if they are not careful with slashes.
+XCOMM #define DirFailPrefix -
+
+#include <xfree86.cf>
+


  the setpgrp define shouldn't be necessary if Glibc's setpgrp was
  equivalent to setpgid as described in the Glibc (info, of course)
  documentation. --Robert Millan <[EMAIL PROTECTED]>

diff -Nur xc/programs/xdm.old/Imakefile xc/programs/xdm/Imakefile
--- xc/programs/xdm.old/Imakefile       2003-05-31 14:55:26.000000000 +0200
+++ xc/programs/xdm/Imakefile   2003-05-31 15:05:02.000000000 +0200
@@ -133,7 +133,7 @@
 RANDOM_DEFINES = -DDEV_RANDOM -DDEF_RANDOM_FILE="\"/dev/urandom\""
 #endif
 
-#if defined(LinuxArchitecture) || defined(GNUMachArchitecture)
+#if defined(LinuxArchitecture) || defined(GNUMachArchitecture) || 
defined(GNUFreeBSDArchitecture)
 RANDOM_DEFINES = -DDEV_RANDOM -DDEF_RANDOM_FILE="\"/dev/random\""
 #endif
 
diff -Nur xc/programs/xdm.old/util.c xc/programs/xdm/util.c
--- xc/programs/xdm.old/util.c  2002-05-31 20:46:10.000000000 +0200
+++ xc/programs/xdm/util.c      2003-05-31 15:05:02.000000000 +0200
@@ -55,7 +55,7 @@
 #undef _POSIX_SOURCE
 #endif
 #endif
-#if defined(__osf__) || defined(linux) || defined(__QNXNTO__) || 
defined(__GNU__)
+#if defined(__osf__) || defined(linux) || defined(__QNXNTO__) || 
defined(__GNU__) || defined(__GLIBC__)
 #define setpgrp setpgid
 #endif
 


  the second hunk is a dirty hack. we should adapt it to
  use FreeBSD's kernel procfs interface. --Robert Millan <[EMAIL PROTECTED]>

diff -Nur xc/programs/xload.old/get_load.c xc/programs/xload/get_load.c
--- xc/programs/xload.old/get_load.c    2003-05-31 15:05:58.000000000 +0200
+++ xc/programs/xload/get_load.c        2003-05-31 15:06:10.000000000 +0200
@@ -54,7 +54,7 @@
 #ifndef macII
 #ifndef apollo
 #ifndef LOADSTUB
-#if !defined(linux) && !defined(__UNIXOS2__) && !defined(__GNU__)
+#if !defined(linux) && !defined(__UNIXOS2__) && !defined(__GLIBC__)
 #include <nlist.h>
 #endif /* !linux && ... */
 #endif /* LOADSTUB */
@@ -354,7 +354,7 @@
 }
 #else /* not KVM_ROUTINES */
 
-#ifdef linux
+#if defined(linux) || defined(__GNU_FreeBSD__)
 
 void InitLoadPoint()
 {


  the setpgrp issue applies to this one too. see the xdm patch for
  reference. --Robert Millan <[EMAIL PROTECTED]>

diff -Nur xc/programs/xterm.old/main.c xc/programs/xterm/main.c
--- xc/programs/xterm.old/main.c        2003-05-31 14:55:24.000000000 +0200
+++ xc/programs/xterm/main.c    2003-05-31 15:06:53.000000000 +0200
@@ -176,7 +176,7 @@
 #define _SVID3
 #endif
 
-#ifdef __GNU__
+#if defined(__GNU__) || defined(__GLIBC__)
 #define USE_SYSV_PGRP
 #define WTMP
 #define HAS_BSD_GROUPS
@@ -471,6 +471,7 @@
 /* choose a nice default value for speed - if we make it too low, users who
  * mistakenly use $TERM set to vt100 will get padding delays
  */
+#include <termios.h>
 #ifdef B38400                  /* everyone should define this */
 #define VAL_LINE_SPEED B38400
 #else /* ...but xterm's used this for a long time */


----- End forwarded message -----

-- 
Daniel Stone                                     <[EMAIL PROTECTED]>
Developer, Trinity College, University of Melbourne

Attachment: pgpsLKgVR9sHb.pgp
Description: PGP signature

Reply via email to