Robert Millan wrote (in a message from Friday Nov 21)
 > --- xc/config/cf.old/Imake.cf        2003-11-20 23:45:05.000000000 +0100
 > +++ xc/config/cf/Imake.cf    2003-11-21 00:13:21.000000000 +0100
 > @@ -177,6 +177,11 @@
 >  # endif /* __hppa__ */
 >  #endif /* OpenBSD */
 >  
 > +/* Systems based on kernel of OpenBSD */
 > +#if defined(__OpenBSD__) || defined(__OpenBSD_kernel__)
 > +#define KOpenBSDArchitecture
 > +#endif
 > +
 >  #ifdef __NetBSD__
 >  # define MacroIncludeFile <NetBSD.cf>
 >  # define MacroFile NetBSD.cf
 > @@ -224,6 +229,11 @@
 >  # endif
 >  #endif /* NetBSD */
 >  
 > +/* Systems based on kernel of NetBSD */
 > +#if defined(__NetBSD__) || defined(__NetBSD_kernel__)
 > +#define KNetBSDArchitecture
 > +#endif
 > +
 >  #ifdef __FreeBSD__
 >  # define MacroIncludeFile <FreeBSD.cf>
 >  # define MacroFile FreeBSD.cf
 > @@ -254,6 +264,11 @@
 >  # endif
 >  #endif /* __FreeBSD__ */
 >  
 > +/* Systems based on kernel of FreeBSD */
 > +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
 > +#define KFreeBSDArchitecture
 > +#endif
 > +
 >  #ifdef AMOEBA
 >   /* Should be before the 'sun' entry because we may be cross-compiling */
 >  # define MacroIncludeFile <Amoeba.cf>
 > @@ -962,10 +977,20 @@
 >  #define i386Architecture
 >  #endif /* minix */
 >  
 > -#ifdef MACH
 > -#ifdef __GNU__
 > +/* Systems with GNU libc and userland */
 > +#if defined(__GNU__) || defined(__GNU_KFreeBSD__) || \
 > +  defined(__GNU_KNetBSD__) || defined(__GNU_KOpenBSD__)
 > +#define GNUArchitecture
 >  #define MacroIncludeFile <gnu.cf>
 >  #define MacroFile gnu.cf
 > +#ifdef __i386__
 > +#define i386Architecture
 > +#endif
 > +#endif
 > +
 > +#ifdef MACH
 > +#ifdef __GNU__
 > +/* Mach-based GNU system */
 >  #define GNUMachArchitecture
 >  #else
 >  #define MacroIncludeFile <mach.cf>

This patch together with the one in bugzilla #908 broke XFree86 builds
on OpenBSD on everything but i386. By inspection of the code, I guess
it also breaks FreeBSD and NetBSD on non i386 platforms.

The problem is that the patch above fails to define K*BSDArchitecture
because __*BSD__ is #undef'd before the attempt to define the former. 

The following patch to Imake.cf makes it behave as intended and causes
the current code in xc/programs/Xserver/hw/xfre86/os-support/Imakefile
to work again. But systems that don't define BUS_SUBDIR
will fail anyways.

So maybe it's better to remove the gigantic test to define BUS_SUBDIR?

--- xc/config/cf/Imake.cf.orig  Mon Dec 15 20:32:07 2003
+++ xc/config/cf/Imake.cf       Mon Dec 15 20:33:21 2003
@@ -102,6 +102,7 @@
 # undef __OpenBSD__
 # undef __NetBSD__
 # define OpenBSDArchitecture
+# define KOpenBSDArchitecture
 # define MacroIncludeFile <OpenBSD.cf>
 # define MacroFile OpenBSD.cf
 # ifdef __i386__
@@ -178,7 +179,7 @@
 #endif /* OpenBSD */
 
 /* Systems based on kernel of OpenBSD */
-#if defined(__OpenBSD__) || defined(__OpenBSD_kernel__)
+#if defined(__OpenBSD_kernel__)
 #define KOpenBSDArchitecture
 #endif
 
@@ -187,6 +188,7 @@
 # define MacroFile NetBSD.cf
 # undef __NetBSD__
 # define NetBSDArchitecture
+# define KNetBSDArchitecture
 # ifdef __i386__
 #  define i386BsdArchitecture
 #  define i386Architecture
@@ -230,7 +232,7 @@
 #endif /* NetBSD */
 
 /* Systems based on kernel of NetBSD */
-#if defined(__NetBSD__) || defined(__NetBSD_kernel__)
+#if defined(__NetBSD_kernel__)
 #define KNetBSDArchitecture
 #endif
 
@@ -239,6 +241,7 @@
 # define MacroFile FreeBSD.cf
 # undef __FreeBSD__
 # define FreeBSDArchitecture
+# define KFreeBSDArchitecture
 # ifdef __i386__
 #  define i386BsdArchitecture
 #  define i386Architecture
@@ -265,7 +268,7 @@
 #endif /* __FreeBSD__ */
 
 /* Systems based on kernel of FreeBSD */
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#if defined(__FreeBSD_kernel__)
 #define KFreeBSDArchitecture
 #endif
 

                                        Matthieu
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to