pkgsrc/x11/openmotif/patches/patch-ap
jlam e2afa97f51 Merge changes in packages from the buildlink2 branch that have
buildlink2.mk files back into the main trunk.  This provides sufficient
buildlink2 infrastructure to start merging other packages from the
buildlink2 branch that have already been converted to use the buildlink2
framework.
2002-08-25 18:38:05 +00:00

695 lines
19 KiB
Text

$NetBSD: patch-ap,v 1.3 2002/08/25 18:40:40 jlam Exp $
--- config/cf/NetBSD.cf.orig Sat Jun 22 00:09:12 2002
+++ config/cf/NetBSD.cf
@@ -5,6 +5,34 @@
XCOMM platform: $XFree86: xc/config/cf/NetBSD.cf,v 3.49.2.13 1999/10/12 17:18:20 hohndel Exp $
+
+XCOMM
+XCOMM This file currently contains support for:
+XCOMM
+XCOMM NetBSD/i386 client/server
+XCOMM NetBSD/sparc client/server
+XCOMM NetBSD/sparc64 client/server
+XCOMM NetBSD/sun3 client/server
+XCOMM NetBSD/hp300 client
+XCOMM NetBSD/mac68k client/server
+XCOMM NetBSD/pmax client/server
+XCOMM NetBSD/amiga client/server
+XCOMM NetBSD/alpha client/server
+XCOMM NetBSD/arm32 client/server
+XCOMM NetBSD/atari client/server
+XCOMM NetBSD/vax client/server
+XCOMM NetBSD/pc532 client
+XCOMM NetBSD/x68k client/server
+XCOMM NetBSD/macppc client/server
+XCOMM NetBSD/hpcmips client/server
+XCOMM NetBSD/next68k client
+XCOMM NetBSD/prep client
+XCOMM NetBSD/news68k client
+XCOMM NetBSD/cobalt client
+XCOMM NetBSD/sgimips client
+XCOMM NetBSD/luna68k client
+XCOMM
+
#ifndef OSName
#define OSName DefaultOSName OSBinaryType
#endif
@@ -14,17 +42,26 @@
#ifndef OSMinorVersion
#define OSMinorVersion DefaultOSMinorVersion
#endif
+/* XXX this does not deal with patches, but, patches should not affect it */
+/* 1 = A, 2 = B, 3 = C, 4 = D, 5 = E, ... */
#ifndef OSTeenyVersion
#define OSTeenyVersion DefaultOSTeenyVersion
#endif
+
#ifndef OSVendor
#define OSVendor The NetBSD Foundation, Inc.
#endif
-
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
/*
+ * Enable support for "xdmauth" authentification.
+ */
+#ifndef HasXdmAuth
+#define HasXdmAuth NO
+#endif
+
+/*
* C library features
*/
#if ((OSMajorVersion > 1) || \
@@ -32,6 +69,7 @@
(OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion > 1))
# define HasPoll YES
#endif
+
#define HasNdbm YES
#define HasPutenv YES
#define HasSnprintf YES
@@ -61,7 +99,20 @@
(OSMajorVersion == 1 && OSMinorVersion == 2 && OSTeenyVersion < 2))
# define HasDlsymBug YES
#endif
-/* Mkstemp is there since 1.2 (at least) */
+
+/*
+ * The USB HID library came after 1.4
+ */
+#if ((OSMajorVersion == 1 && OSMinorVersion > 4) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion > 8))
+# define HasUsbLib YES
+#endif
+
+
+#if OSMajorVersion >= 1
+# define LexCmd lex -l
+#endif
+
#if (!(OSMajorVersion == 0 || \
(OSMajorVersion == 1 && OSMinorVersion < 2)))
#define HasMkstemp YES
@@ -97,13 +148,15 @@
#define CcCmd gcc
#if defined(UseInstalled) && (!defined(XF86LinkKit) || !XF86LinkKit)
#define DefaultCCOptions /**/
+#elif defined(arm32Architecture)
+#define DefaultCCOptions -ansi -Dasm=__asm -fsigned-char -fomit-frame-pointer
#else
#define DefaultCCOptions -ansi -Dasm=__asm
#endif
#define GccGasOption -DGCCUSESGAS
#define AsmDefines -DUSE_GAS
-
+
/* UseElfFormat defaults to YES if __ELF__ set */
#ifndef UseElfFormat
# ifdef __ELF__
@@ -115,26 +168,37 @@
#endif
/*
+ * Make sure the binaries know where to look for the shared libaries.
+ * NOTE: This is done in bsdLib.rules for ELF libraries!
+ */
+#if (OSMajorVersion == 1 && OSMinorVersion >= 2) || OSMajorVersion > 1
+# if !defined(UseElfFormat) || UseElfFormat == NO
+# define ExtraLoadFlags -R$(USRLIBDIR)
+# endif
+#endif
+
+/*
* Dynamic loading supported starting in 1.0 on a.out platforms,
* and on all ELF platforms.
- *
- * XXX May not be correct on NetBSD/pmax (ELF, but might not have
- * working shared libs).
*/
#if ((OSMajorVersion > 0) && \
!defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \
UseElfFormat
# ifndef BuildDynamicLoading
-# define BuildDynamicLoading YES
+# define BuildDynamicLoading YES
+# endif
+# ifndef ForceNormalLib
+# define ForceNormalLib YES
# endif
#endif
#if UseElfFormat
-#define DlLibrary -rdynamic /* no -ldl yet */
+# define DlLibrary -rdynamic /* no -ldl yet */
#else
-#define DlLibrary /**/
+# define DlLibrary /**/
#endif
+/* The GCC strength-reduce bug is fixed for NetBSD 1.3 and later */
#ifdef i386Architecture
# ifndef DefaultGcc2i386Opt
# if OSMajorVersion > 1 || (OSMajorVersion == 1 && OSMinorVersion > 2)
@@ -148,35 +212,193 @@
# else
# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
# endif
-# if OSMajorVersion == 1 && OSMinorVersion >= 1 || OSMajorVersion >= 2
-# define ServerExtraSysLibs -li386 DlLibrary
-# endif
-#else
-# define OptimizedCDebugFlags -O2
-# if defined(SparcArchitecture) || defined(AlphaArchitecture)
-# define ServerOSDefines -DDDXOSINIT
-# else
-# define ServerOSDefines /**/
-# endif
# if BuildDynamicLoading
-# define ServerExtraSysLibs DlLibrary
+# define ServerExtraSysLibs -li386 DlLibrary
# else
# define ServerExtraSysLibs /**/
# endif
-#endif
-#ifdef i386Architecture
# define ServerExtraDefines GccGasOption XFree86ServerDefines
# ifndef XFree86ConsoleDefines
# define XFree86ConsoleDefines -DPCCONS_SUPPORT -DPCVT_SUPPORT
# endif
#else
-# if defined(AlphaArchitecture)
-# define ServerExtraDefines GccGasOption -D_XSERVER64
+# if defined(m68kArchitecture) && OSMajorVersion == 1 && OSMinorVersion <= 3
+# define OptimizedCDebugFlags -O
# else
-# define ServerExtraDefines GccGasOption
+# define OptimizedCDebugFlags -O2
# endif
#endif
+/*
+ * On mips, all libs are compiled with ABIcalls, not just sharedlibs.
+ * Disable MIPS specific code which was not used and tested.
+ */
+#if defined(MipsArchitecture)
+# define SeparateSharedCompile NO
+# undef MipsArchitecture
+#endif
+
+#if defined(SparcArchitecture)
+# define ServerOSDefines -DDDXOSINIT
+# if defined(Sparc64Architecture)
+# define ServerExtraDefines GccGasOption -D_XSERVER64
+# define OptimizedCDebugFlags -O0 /* workaround gcc codegen bug */
+# else
+# define ServerExtraDefines GccGasOption
+# endif
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(Sun3Architecture)
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption -D__sun3__
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(hp300Architecture)
+# define BuildServer NO /* XXX */
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(mac68kArchitecture)
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption -D__mac68k__
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(AlphaArchitecture)
+# define BuildServer YES
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption -D_XSERVER64
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+# undef OptimizedCDebugFlags /* XXX ??? */
+# define OptimizedCDebugFlags /* XXX ??? */
+#endif
+
+#if defined(amigaArchitecture)
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption -D__amiga__
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+# define XserverNeedsSetUID YES
+#endif
+
+#if defined(arm32Architecture)
+# define BuildServer YES
+# define ServerOSDefines -DDDXOSINIT -DDDXTIME
+# define ServerExtraDefines GccGasOption XFree86ServerDefines
+# ifndef XFree86ConsoleDefines
+# define XFree86ConsoleDefines -DPCCONS_SUPPORT
+# endif
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(atariArchitecture)
+# define BuildServer YES
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption XFree86ServerDefines -D__atari__
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(VaxArchitecture)
+# define BuildServer NO
+# define ServerExtraDefines GccGasOption
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(pc532Architecture)
+# define BuildServer NO
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(x68kArchitecture)
+# define BuildServer YES
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption -D__x68k__
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+# define XserverNeedsSetUID YES
+#endif
+
+#if defined(macppcArchitecture)
+# define ServerOSDefines -DDDXOSINIT
+# define ServerExtraDefines GccGasOption -D__macppc__
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+# define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+#endif
+
+#if defined(pmaxArchitecture)
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(hpcmipsArchitecture)
+# define ServerOSDefines -DDDXOSINIT
+# define BuildServer YES
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+# define ServerExtraDefines -DSTATIC_COLOR
+# define XserverNeedsSetUID YES
+#endif
+
+#if defined(next68kArchitecture)
+# define BuildServer NO
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(prepArchitecture)
+# define BuildServer NO
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(news68kArchitecture)
+# define BuildServer NO
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(cobaltArchitecture)
+# define BuildServer NO
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(sgimipsArchitecture)
+# define BuildServer NO
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#if defined(luna68kArchitecture)
+# define BuildServer NO
+# define PexDynamicModule NO
+# define XieDynamicModule NO
+#endif
+
+#ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O2
+#endif
+
+#ifndef PositionIndependentCFlags
+# define PositionIndependentCFlags -fPIC
+#endif
+
#define StandardDefines -DCSRG_BASED
#define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
@@ -184,7 +406,18 @@
#define ExtraLibraries /**/
#endif
#ifndef UseGnuMalloc
+/*
+ * There is no way to map 1.4J correctly to OS*Version, so 'J' is mapped
+ * to OSTeenyVersion == 10. This should be save since there will never a
+ * release for 1.4.10.
+ */
+# if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 4) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion >= 10))
+# define UseGnuMalloc NO
+# else
# define UseGnuMalloc YES
+# endif
#endif
#ifndef GnuMallocLibrary
#define GnuMallocLibrary -lgnumalloc
@@ -198,6 +431,13 @@
#endif
#endif
+/* 1.4R and later has setusercontext() */
+# if ((OSMajorVersion > 1) || \
+ (OSMajorVersion == 1 && OSMinorVersion > 4) || \
+ (OSMajorVersion == 1 && OSMinorVersion == 4 && OSTeenyVersion >= 18))
+#define HasSetUserContext YES
+#endif
+
#define AdmDir /var/log
/*
@@ -207,8 +447,17 @@
#define StripInstalledPrograms YES
#define CompressAllFonts YES
#define GzipFontCompression YES
-#define DefaultUserPath /bin:/usr/bin:/usr/local/bin:$(BINDIR)
-#define DefaultSystemPath /sbin:/usr/sbin:/bin:/usr/bin:$(BINDIR)
+#define DefaultUserPath /usr/bin:/bin:/usr/pkg/bin:$(BINDIR):/usr/local/bin
+#define DefaultSystemPath /usr/bin:/bin:/usr/sbin:/sbin:/usr/pkg/bin:/usr/pkg/sbin:$(BINDIR):/usr/local/bin:/usr/local/sbin
+
+#define InstPgmFlags -s -m 0555 -o root -g wheel
+#define InstBinFlags -m 0555 -o root -g wheel
+#define InstUidFlags -m 4511 -o root -g wheel
+#define InstLibFlags -m 0444 -o root -g wheel
+#define InstIncFlags -m 0444 -o root -g wheel
+#define InstManFlags -m 0444 -o root -g wheel
+#define InstDatFlags -m 0444 -o root -g wheel
+#define InstKmemFlags -m 2555 -o root -g kmem
#ifdef InstallCmd
# undef InstallCmd
@@ -219,11 +468,23 @@
# define ExtraFilesToClean *.core
#endif
+#ifdef arm32Architecture
+/*
+ * NetBSD's default .SUFFIXES target places .s at a higher priority
+ * than .c. This breaks architectures which use the .c versions of
+ * various files in the XFree86 server tree for which there are also
+ * .s versions. Default to the basic .SUFFIXES list specified in
+ * SUSv2 (without the SCCS-related suffixes) plus .cxx for Motif.rules.
+ */
+.SUFFIXES:
+.SUFFIXES: .o .c .y .l .a .sh .f .cxx
+#endif
+
/*
* Documentation formatting
*/
-#define NeqnCmd neqn -Tlatin1
-#define NroffCmd nroff -Tlatin1
+#define NeqnCmd neqn -Tascii
+#define NroffCmd nroff -Tascii
#define EqnCmd eqn -Tps
#define TroffCmd groff -Tps
@@ -271,7 +532,10 @@
-@if [ -f file.0 ]; \ @@\
then \ @@\
$(INSTALL) -c $(INSTMANFLAGS) file.0 $(DESTDIR)destdir/dest.0; \@@\
- fi
+ fi @@\
+ @@\
+clean:: @@\
+ $(RM) file.0
#define InstallGenManPageLong(file,destdir,dest,suffix) @@\
InstallManPageLong(file,destdir,dest)
@@ -288,7 +552,16 @@
done
#define InstallMultipleMan(list,dest) @@\
- InstallMultipleManSuffix(list,dest,man)
+ MakeDir($(DESTDIR)dest) @@\
+ case '${MFLAGS}' in *[i]*) set +e;; esac; \ @@\
+ for i in list; do \ @@\
+ (set -x; \ @@\
+ MNAME=`echo $$i | cut -f1 -d.`; \ @@\
+ cat $$i | $(NEQN) | $(TBL) | $(NROFF) $(MANMACROS) | $(COL) >/tmp/$$$$.man; \ @@\
+ $(INSTALL) -c $(INSTMANFLAGS) /tmp/$$$$.man $(DESTDIR)dest/$${MNAME}.0; \ @@\
+ $(RM) /tmp/$$$$.man); \ @@\
+ done
+
#define InstallManPageAliases(file,destdir,aliases) @@\
install.man:: @@\
@@ -306,13 +579,10 @@
/*
* Shared libraries supported starting in 1.0 on a.out platforms,
* and on all ELF platforms.
- *
- * XXX May not be correct on NetBSD/pmax (ELF, but might not have
- * working shared libs).
*/
#if ((OSMajorVersion > 0) && \
- !defined(AlphaArchitecture) && !defined(MipsArchitecture)) || \
- UseElfFormat
+ !defined(AlphaArchitecture) && !defined(MipsArchitecture)) \
+ || UseElfFormat
# ifndef HasSharedLibraries
# define HasSharedLibraries YES
# endif
@@ -334,51 +604,179 @@
#include <bsdLib.rules>
#endif /* HasSharedLibraries */
-#if defined(i386Architecture) || defined(Arm32Architecture)
+#if defined(i386Architecture) || defined(arm32Architecture) || \
+ defined(atariArchitecture)
# include <xfree86.cf>
-#endif
/*
- * Definitions for the SUN server on NetBSD/sparc
+ * XXX The DynamicModuleTarget macro in xf86.rules does NOT work properly
+ * XXX on ELF systems. This macro should be moved into bsdLib.rules, since
+ * XXX it depends on how shlibs are built on that platform.
+ * XXX
+ * XXX The following overrides DynamicModuleTarget so it should work on
+ * XXX ELF and a.out.
*/
-#ifdef SparcArchitecture
+/*
+ * DynamicModuleTarget - build a module to be dynamically loaded
+ */
+# undef DynamicModuleTarget
+# define DynamicModuleTarget(module,modlist) @@\
+AllTarget(module) @@\
+ @@\
+module: modlist @@\
+ RemoveFile($@) @@\
+ $(CC) -nostdlib -o $@ -Wl,-Bshareable -R$(USRLIBDIR) modlist @@\
+ @@\
+clean:: @@\
+ RemoveFile(module)
+
+#endif /* i386Architecture || arm32Architecture || atariArchitecture */
+
+/*
+ * NetBSD always uses the XFree86 contrib distribution.
+ */
+#undef XF86Contrib
+#define XF86Contrib YES
+
+/*
+ * Definitions for the SUN server on NetBSD/sparc or NetBSD/sun3
+ */
+#if defined(SparcArchitecture) || defined(Sun3Architecture)
#ifndef Xsun24Server
+#if defined(SparcArchitecture)
+#define Xsun24Server YES
+#else
#define Xsun24Server NO
#endif
+#endif
#ifndef XsunServer
#define XsunServer YES
#endif
#ifndef XsunMonoServer
#define XsunMonoServer YES
#endif
-#ifndef BuildScreenSaverLibrary
-#define BuildScreenSaverLibrary YES
#endif
+
/*
- * XFree86 uses its own (more portable) database routines to speed up
- * the RGB database lookups
- * However, if you want to use ndbm anyway, you can set that to NO in
- * site.def
+ * Definitions for the NetBSD/mac68k server.
*/
-#ifndef UseRgbTxt
-#define UseRgbTxt YES
+#ifdef mac68kArchitecture
+# ifndef Xmac68kServer
+# define Xmac68kServer YES
+# endif
#endif
+
+/*
+ * Definitions for the NetBSD/vax server.
+ */
+#ifdef VaxArchitecture
+# define XvaxMonoServer YES
+# if HasGcc
+# define BuildPexExt XvaxMonoServer
+# else
+# define BuildPex NO /* compiler runs out of table space */
+# define BuildXInputLib NO /* compiler runs out of table space */
+# endif
+# define HasSaberC NO
+# define UnalignedReferencesAllowed YES /* if arbitrary deref is okay */
#endif
/*
- * Definition for compiling on MIPS machines
+ * Definitions for the NetBSD/amiga server.
*/
-#ifdef MipsArchitecture
-#define PositionIndependentCFlags
-#define SharedLibraryLoadFlags -x -shared --whole-archive -soname `echo $@ |
-sed 's/\.[0-9]*$$//'`
-#define SharedXtReqs $(XLIBONLY) $(SMLIB) $(ICELIB)
-#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XONLYLIB) $(EXTENSIONLIB)
+#ifdef amigaArchitecture
+# ifndef XamigaCCmono
+# define XamigaCCmono NO
+# endif
+# ifndef XamigaCCcolor
+# define XamigaCCcolor YES
+# endif
+# ifndef XamigaGfxCardSupport
+# define XamigaGfxCardSupport YES
+# endif
+# ifndef XamigaRetinaZ3Support
+# define XamigaRetinaZ3Support YES
+# endif
+# ifndef XamigaCl5426Server
+# define XamigaCl5426Server YES
+# endif
+# ifndef XamigaCV64Support
+# define XamigaCV64Support YES
+# endif
+/*
+ * You need XamigaGfxCardSupport if you enable XamigaCl5426Server,
+ * XamigaRetinaZ3Support or XamigaCV64Support and you can't use XamigaCCmono
+ * if you enable XamigaCCcolor.
+ * Don't change the next 10 lines !!!!!!!!!
+ */
+# if (XamigaCl5426Server || XamigaCV64Support || XamigaRetinaZ3Support) \
+ && !XamigaGfxCardSupport
+# undef XamigaGfxCardSupport
+# define XamigaGfxCardSupport YES
+# endif
+# if XamigaCCcolor
+# undef XamigaCCmono
+# define XamigaCCmono NO
+# endif
+#endif
+
+/*
+ * Definitions for the NetBSD/alpha X server.
+ */
+#if defined(AlphaArchitecture)
+# define XalphaNetBSDServer YES
+#ifndef XkbServerDefines
+#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+#endif
+#endif
+
+/*
+ * Definitions for the NetBSD/arm32 VIDC20 X server.
+ */
+#if defined(arm32Architecture)
+# define Xarm32VIDCServer YES
+#endif
+
+/*
+ * Definitions for the NetBSD/x68k X server.
+ */
+#if defined(x68kArchitecture)
+# define X68kServer YES
#endif
/*
- * Definition for compiling on Alpha machines
+ * Definitions for the NetBSD/macppc X server.
*/
-#ifdef AlphaArchitecture
-#define BuildServer NO
+#if defined(macppcArchitecture)
+# define XmacppcServer YES
+#endif
+
+/*
+ * Definitions for the NetBSD/pmax X server.
+ */
+#if defined(pmaxArchitecture)
+# define XpmaxServer YES
+#endif
+
+/*
+ * Definitions for the NetBSD/hpcmips X server.
+ */
+#if defined(hpcmipsArchitecture)
+# define XhpcServer YES
+#endif
+
+
+#ifndef BuildScreenSaverLibrary
+#define BuildScreenSaverLibrary YES
+#endif
+
+#ifndef XkbServerDefines
+#define XkbServerDefines -DXKB_ALWAYS_USES_SOFT_REPEAT
+#endif
+
+/*
+ * We use rgb.txt with XFree86, so we must use it here to be compatible.
+ */
+#ifndef UseRgbTxt
+#define UseRgbTxt YES
#endif