[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[zeratul2@wanadoo.es: patches for GNU/FreeBSD]



I thought good news would never arrive! :)

----- Forwarded message from Robert Millan <zeratul2@wanadoo.es> -----

Date: Sun, 1 Jun 2003 13:20:03 +0200
From: Robert Millan <zeratul2@wanadoo.es>
To: Daniel Stone <dstone@trinity.unimelb.edu.au>
Subject: patches for GNU/FreeBSD
Message-ID: <20030601112003.GA894@aragorn>


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 <branden@debian.org>
 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 <rmh@debian.org>

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) $@~							@@\
+	@SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \		@@\
+		(cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+		$(RM) $$SONAME; $(LN) $@ $$SONAME; \			@@\
+		LinkBuildSonameLibrary($$SONAME)			@@\
+	$(RM) $@							@@\
+	$(MV) $@~ $@							@@\
+	@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) $@~							@@\
+	@SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; set -x; \		@@\
+		(cd down; $(CC) -o up/$@~ $(SHLIBLDFLAGS) -Wl,-soname,$$SONAME solist $(REQUIREDLIBS) BaseShLibReqs); \ @@\
+		$(RM) $$SONAME; $(LN) $@ $$SONAME; \			@@\
+		LinkBuildSonameLibrary($$SONAME)			@@\
+	$(RM) $@ 							@@\
+	$(MV) $@~ $@							@@\
+	@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) $@~							@@\
+	$(CC) -o $@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS) BaseShLibReqs @@\
+	$(RM) $@							@@\
+	$(MV) $@~ $@							@@\
+									@@\
+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	"submit@bugs.debian.org"
+#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 <rmh@debian.org>

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 <rmh@debian.org>

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 <rmh@debian.org>

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                                     <dstone@trinity.unimelb.edu.au>
Developer, Trinity College, University of Melbourne

Attachment: pgpM0MrqhFr9N.pgp
Description: PGP signature


Reply to: