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:
pgphQSsPVdTmq.pgp
Description: PGP signature