From 81b08183613ca543ad06c21c5a9a45a757c4045b Mon Sep 17 00:00:00 2001 From: Jon Trulson Date: Mon, 18 Jun 2012 19:50:44 -0600 Subject: [PATCH] imake/config changes to support more processors, including AMD64 (x86_64) - also some rework of linux.cf - only allow ELF systems - use -pipe - add some more defines - get rid of some of the ancient (libc5/linux 1) support. Really, don't expect CDE to build right on such old systems. --- cde/config/cf/Imake.cf | 35 ++++++++++++- cde/config/cf/linux.cf | 80 ++++++++++++++--------------- cde/config/cf/xfree86.cf | 2 +- cde/config/imake/imakemdep.h | 97 +++++++++++++++++++++++++++++++++++- 4 files changed, 172 insertions(+), 42 deletions(-) diff --git a/cde/config/cf/Imake.cf b/cde/config/cf/Imake.cf index b1c2ac65..a614fc6e 100644 --- a/cde/config/cf/Imake.cf +++ b/cde/config/cf/Imake.cf @@ -113,6 +113,10 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $ # undef sparc # define SparcArchitecture # endif +# ifdef __sparcv9 +# undef __sparcv9 +# define SparcV9Architecture +# endif # ifdef mc68000 # undef mc68000 # define Sun3Architecture @@ -121,6 +125,11 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $ # undef i386 # define i386Architecture # endif +# if defined(__amd64__) || defined (__x86_64__) +# undef __amd64__ +# undef __x86_64__ +# define AMD64Architecture +# endif # undef sun # define SunArchitecture #endif /* sun */ @@ -405,8 +414,11 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $ # undef linux # define LinuxArchitecture # ifdef i386 +# undef pentium +# undef pentiumpro # define i386Architecture # undef i386 +# endif # ifdef __i386__ # ifndef i386Architecture # define i386Architecture @@ -417,7 +429,28 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $ # define AlphaArchitecture # undef __alpha # endif /* __alpha */ -#endif +# ifdef powerpc +# define PpcArchitecture +# undef powerpc +# endif +# ifdef __powerpc__ +# ifndef PpcArchitecture +# define PpcArchitecture +# endif +# undef __powerpc__ +# endif +# if defined(__amd64__) || defined (__x86_64__) +# undef __amd64__ +# undef __x86_64__ +# define AMD64Architecture +# endif +# if defined(amd64__) || defined (x86_64__) +# undef amd64__ +# undef x86_64__ +# ifndef AMD64Architecture +# define AMD64Architecture +# endif +# endif #endif /* linux */ #ifdef __uxp__ diff --git a/cde/config/cf/linux.cf b/cde/config/cf/linux.cf index fbd4d09d..6fe01b54 100644 --- a/cde/config/cf/linux.cf +++ b/cde/config/cf/linux.cf @@ -56,6 +56,7 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion) #define UseElfFormat YES #else #define UseElfFormat NO +#error "Only ELF format is supported on linux" #endif #endif #define BuildLibPathVar LD_LIBRARY_PATH @@ -84,30 +85,13 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion) #define NeedWidePrototypes NO #define SetTtyGroup YES -#if UseElfFormat -#if OSMajorVersion == 1 && OSMinorVersion < 2 -#define CcCmd gcc -b i486-linuxelf -#define CplusplusCmd g++ -b i486-linuxelf -#define AsCmd /usr/i486-linuxelf/bin/as -#define LdCmd ld -m elf_i386 -#else -#define CcCmd gcc -#define CplusplusCmd g++ +#define CcCmd gcc -pipe +#define CplusplusCmd g++ -pipe -fpermissive #define AsCmd as #define LdCmd ld -#endif + #define AsmDefines -D__ELF__ -#else -#define CcCmd gcc -#if OSMajorVersion == 1 && OSMinorVersion > 1 -#define AsCmd /usr/i486-linuxaout/bin/as -#define LdCmd ld -m i386linux -#else -#define AsCmd as -#define LdCmd ld -#endif -#define AsmDefines -DUSE_GAS -U__ELF__ -#endif + #define MkdirHierCmd mkdir -p #define CppCmd /lib/cpp #if OSMajorVersion >= 2 @@ -132,37 +116,52 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion) #endif #if LinuxCLibMajorVersion < 6 -#define LinuxSourceDefines -D_POSIX_SOURCE \ +# define LinuxSourceDefines -D_POSIX_SOURCE \ -D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines -#ifndef HasLibCrypt -# define HasLibCrypt NO -#endif +# ifndef HasLibCrypt +# define HasLibCrypt NO +# endif + #else -#define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \ +# define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \ -D_POSIX_SOURCE \ - -D_BSD_SOURCE -D_SVID_SOURCE -#define HasPosixThreads YES -#define ThreadedX YES -#define HasThreadSafeAPI YES -#define ThreadsLibraries -lpthread -#define SystemMTDefines -D_REENTRANT -#ifndef HasLibCrypt -# define HasLibCrypt YES + -D_BSD_SOURCE -D_SVID_SOURCE -D_XOPEN_SOURCE \ + -D__NO_STRING_INLINES -D__NO_MATH_INLINES \ + LinuxLocaleDefines +# define HasPosixThreads YES +# define ThreadedX YES +# define HasThreadSafeAPI YES +# define ThreadsLibraries -lpthread +# define SystemMTDefines -D_REENTRANT +# ifndef HasLibCrypt +# define HasLibCrypt YES +# endif #endif -#endif - -XCOMM This is needed for CDE currently -#define CplusplusStandardDefines StandardDefines -fpermissive #ifdef i386Architecture #define OptimizedCDebugFlags DefaultGcc2i386Opt #define LinuxMachineDefines -D__i386__ +/* For DtHelp TIFF processing routines. */ +#define LSBBitOrder YES + #if UseElfFormat #define HasPlugin YES #define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */ #endif #endif /* i386Architecture */ +#ifdef AMD64Architecture +#define OptimizedCDebugFlags DefaultGcc2i386Opt +#define LinuxMachineDefines -D__x86_64__ +/* For DtHelp TIFF processing routines. */ +#define LSBBitOrder YES + +#if UseElfFormat +#define HasPlugin YES +#define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */ +#endif +#endif /* AMD64Architecture */ + #ifdef AlphaArchitecture #define OptimizedCDebugFlags -O2 #define LinuxMachineDefines -D__alpha__ @@ -171,13 +170,16 @@ XCOMM This is needed for CDE currently #ifdef Mc68020Architecture #define OptimizedCDebugFlags -O2 #define LinuxMachineDefines -D__mc68000__ -#define StandardCppDefines -traditional StandardDefines +#define StandardCppDefines -traditional #endif /* Mc68020Architecture */ #define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines #define ConnectionFlags -DUNIXCONN -DTCPCONN +XCOMM This is needed for CDE currently +#define CplusplusStandardDefines StandardDefines + /* Some of these man page defaults are overriden in the above OS sections */ #ifndef ManSuffix # define ManSuffix 1x diff --git a/cde/config/cf/xfree86.cf b/cde/config/cf/xfree86.cf index 31f7c474..17eadb10 100644 --- a/cde/config/cf/xfree86.cf +++ b/cde/config/cf/xfree86.cf @@ -562,7 +562,7 @@ XFREE86JAPANESEDOCDIR = $(XFREE86DOCDIR)/Japanese #endif #endif -#if HasGcc2 && defined(i386Architecture) +#if HasGcc2 && (defined(i386Architecture) || defined(AMD64Architecture)) #ifndef DefaultGcc2i386Opt #define DefaultGcc2i386Opt -O2 -fno-strength-reduce #endif diff --git a/cde/config/imake/imakemdep.h b/cde/config/imake/imakemdep.h index bb2a010f..08316136 100644 --- a/cde/config/imake/imakemdep.h +++ b/cde/config/imake/imakemdep.h @@ -300,10 +300,31 @@ char *cpp_argv[ARGUMENTS] = { #ifdef unix "-Uunix", /* remove unix symbol so that filename unix.c okay */ #endif -#if defined(__386BSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(MACH) +#if defined(__386BSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(MACH) || defined(USL) || defined(sco) || defined(ISC) || defined(__bsdi__) || defined(linux) || defined(__hpux__) || defined(__vxworks) # ifdef __i386__ "-D__i386__", # endif +# ifdef __i486__ + "-D__i486__", +# endif +# ifdef __i586__ + "-D__i586__", +# endif +# ifdef __i686__ + "-D__i686__", +# endif +# ifdef __k6__ + "-D__k6__", +# endif +# ifdef __ia64__ + "-D__ia64__", +# endif +# ifdef __amd64__ + "-D__amd64__", +# endif +# ifdef __x86_64__ + "-D__amd64__", +# endif # ifdef __GNUC__ "-traditional", # endif @@ -822,6 +843,80 @@ struct symtab predefs[] = { #endif #ifdef __EMX__ {"__EMX__", "1"}, +#endif +# ifdef ia64 + {"ia64", "1"}, +# endif +# ifdef __ia64__ + {"__ia64__", "1"}, +# endif +# if defined (amd64) || defined (x86_64) + {"amd64", "1"}, + {"x86_64", "1"}, +# endif +# if defined (__amd64__) || defined (__x86_64__) + {"__amd64__", "1"}, + {"__x86_64__", "1"}, +# endif +# ifdef __i386 + {"__i386", "1"}, +# endif +# ifdef __i386__ + {"__i386__", "1"}, +# endif +# ifdef __i486__ + {"__i486__", "1"}, +# endif +# ifdef __i586__ + {"__i586__", "1"}, +# endif +# ifdef __i686__ + {"__i686__", "1"}, +# endif +# ifdef __k6__ + {"__k6__", "1"}, +# endif +# ifdef i386 + {"i386", "1"}, +# endif +# ifdef i486 + {"i486", "1"}, +# endif +# ifdef i586 + {"i586", "1"}, +# endif +# ifdef i686 + { "i686", "1"}, +# endif +# ifdef k6 + {"k6", "1"}, +# endif +# ifdef sparc + {"sparc", "1"}, +# endif +# ifdef __sparc__ + {"__sparc__", "1"}, +# endif +#if defined(__ppc__) + {"__ppc__", "1"}, +#endif +#if defined(__ppc64__) + {"__ppc64__", "1"}, +#endif +# ifdef __powerpc__ + {"__powerpc__", "1"}, +# endif +# ifdef __powerpc64__ + {"__powerpc64__", "1"}, +# endif +#if defined(__BIG_ENDIAN__) + {"__BIG_ENDIAN__", "1"}, +#endif +#if defined(__LITTLE_ENDIAN__) + {"__LITTLE_ENDIAN__", "1"}, +#endif +#if defined(__vxworks) + {"vxworks", "1"}, #endif /* add any additional symbols before this line */ {NULL, NULL} -- 2.25.1