imake/config changes to support more processors, including AMD64 (x86_64)
authorJon Trulson <jon@radscan.com>
Tue, 19 Jun 2012 01:50:44 +0000 (19:50 -0600)
committerJon Trulson <jon@radscan.com>
Tue, 19 Jun 2012 01:50:44 +0000 (19:50 -0600)
- 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
cde/config/cf/linux.cf
cde/config/cf/xfree86.cf
cde/config/imake/imakemdep.h

index b1c2ac65ccfe124977ae01017058b8415c5e36b0..a614fc6e98b5685eb1cfc1db529e89e748a0656d 100644 (file)
@@ -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__
index fbd4d09dd127a4eecb341c060397fab625c881ea..6fe01b541dafdfe4677de30479c67865742626e2 100644 (file)
@@ -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
index 31f7c474e0d53196882ff278e6506726f7e65ee3..17eadb1039292ca1a47d09769f4e96e0ceabb116 100644 (file)
@@ -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
index bb2a010f9ba8400daa13d0b18502aa622053ba17..08316136b3def1394ff2a45b79bf325729b9bf8c 100644 (file)
@@ -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}