1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

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.
This commit is contained in:
Jon Trulson 2012-06-18 19:50:44 -06:00
parent 4e041a3135
commit 81b0818361
4 changed files with 174 additions and 44 deletions

View file

@ -113,6 +113,10 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
# undef sparc # undef sparc
# define SparcArchitecture # define SparcArchitecture
# endif # endif
# ifdef __sparcv9
# undef __sparcv9
# define SparcV9Architecture
# endif
# ifdef mc68000 # ifdef mc68000
# undef mc68000 # undef mc68000
# define Sun3Architecture # define Sun3Architecture
@ -121,6 +125,11 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
# undef i386 # undef i386
# define i386Architecture # define i386Architecture
# endif # endif
# if defined(__amd64__) || defined (__x86_64__)
# undef __amd64__
# undef __x86_64__
# define AMD64Architecture
# endif
# undef sun # undef sun
# define SunArchitecture # define SunArchitecture
#endif /* sun */ #endif /* sun */
@ -405,8 +414,11 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
# undef linux # undef linux
# define LinuxArchitecture # define LinuxArchitecture
# ifdef i386 # ifdef i386
# undef pentium
# undef pentiumpro
# define i386Architecture # define i386Architecture
# undef i386 # undef i386
# endif
# ifdef __i386__ # ifdef __i386__
# ifndef i386Architecture # ifndef i386Architecture
# define i386Architecture # define i386Architecture
@ -417,7 +429,28 @@ XCOMM $TOG: Imake.cf /main/30 1998/04/28 13:55:25 barstow $
# define AlphaArchitecture # define AlphaArchitecture
# undef __alpha # undef __alpha
# endif /* __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 */ #endif /* linux */
#ifdef __uxp__ #ifdef __uxp__

View file

@ -56,6 +56,7 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#define UseElfFormat YES #define UseElfFormat YES
#else #else
#define UseElfFormat NO #define UseElfFormat NO
#error "Only ELF format is supported on linux"
#endif #endif
#endif #endif
#define BuildLibPathVar LD_LIBRARY_PATH #define BuildLibPathVar LD_LIBRARY_PATH
@ -84,30 +85,13 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#define NeedWidePrototypes NO #define NeedWidePrototypes NO
#define SetTtyGroup YES #define SetTtyGroup YES
#if UseElfFormat #define CcCmd gcc -pipe
#if OSMajorVersion == 1 && OSMinorVersion < 2 #define CplusplusCmd g++ -pipe -fpermissive
#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 AsCmd as #define AsCmd as
#define LdCmd ld #define LdCmd ld
#endif
#define AsmDefines -D__ELF__ #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 MkdirHierCmd mkdir -p
#define CppCmd /lib/cpp #define CppCmd /lib/cpp
#if OSMajorVersion >= 2 #if OSMajorVersion >= 2
@ -132,37 +116,52 @@ XCOMM binutils: (LinuxBinUtilsMajorVersion)
#endif #endif
#if LinuxCLibMajorVersion < 6 #if LinuxCLibMajorVersion < 6
#define LinuxSourceDefines -D_POSIX_SOURCE \ # define LinuxSourceDefines -D_POSIX_SOURCE \
-D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines -D_BSD_SOURCE -D_SVID_SOURCE LinuxLocaleDefines
#ifndef HasLibCrypt # ifndef HasLibCrypt
# define HasLibCrypt NO # define HasLibCrypt NO
#endif # endif
#else
#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
#endif
#endif
XCOMM This is needed for CDE currently #else
#define CplusplusStandardDefines StandardDefines -fpermissive # define LinuxSourceDefines -D_POSIX_C_SOURCE=199309L \
-D_POSIX_SOURCE \
-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
#ifdef i386Architecture #ifdef i386Architecture
#define OptimizedCDebugFlags DefaultGcc2i386Opt #define OptimizedCDebugFlags DefaultGcc2i386Opt
#define LinuxMachineDefines -D__i386__ #define LinuxMachineDefines -D__i386__
/* For DtHelp TIFF processing routines. */
#define LSBBitOrder YES
#if UseElfFormat #if UseElfFormat
#define HasPlugin YES #define HasPlugin YES
#define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */ #define VendorHasX11R6_3libXext YES /* XC or XFree86 3.3.1 */
#endif #endif
#endif /* i386Architecture */ #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 #ifdef AlphaArchitecture
#define OptimizedCDebugFlags -O2 #define OptimizedCDebugFlags -O2
#define LinuxMachineDefines -D__alpha__ #define LinuxMachineDefines -D__alpha__
@ -171,13 +170,16 @@ XCOMM This is needed for CDE currently
#ifdef Mc68020Architecture #ifdef Mc68020Architecture
#define OptimizedCDebugFlags -O2 #define OptimizedCDebugFlags -O2
#define LinuxMachineDefines -D__mc68000__ #define LinuxMachineDefines -D__mc68000__
#define StandardCppDefines -traditional StandardDefines #define StandardCppDefines -traditional
#endif /* Mc68020Architecture */ #endif /* Mc68020Architecture */
#define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines #define StandardDefines -Dlinux LinuxMachineDefines LinuxSourceDefines
#define ConnectionFlags -DUNIXCONN -DTCPCONN #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 */ /* Some of these man page defaults are overriden in the above OS sections */
#ifndef ManSuffix #ifndef ManSuffix
# define ManSuffix 1x # define ManSuffix 1x

View file

@ -562,7 +562,7 @@ XFREE86JAPANESEDOCDIR = $(XFREE86DOCDIR)/Japanese
#endif #endif
#endif #endif
#if HasGcc2 && defined(i386Architecture) #if HasGcc2 && (defined(i386Architecture) || defined(AMD64Architecture))
#ifndef DefaultGcc2i386Opt #ifndef DefaultGcc2i386Opt
#define DefaultGcc2i386Opt -O2 -fno-strength-reduce #define DefaultGcc2i386Opt -O2 -fno-strength-reduce
#endif #endif

View file

@ -300,10 +300,31 @@ char *cpp_argv[ARGUMENTS] = {
#ifdef unix #ifdef unix
"-Uunix", /* remove unix symbol so that filename unix.c okay */ "-Uunix", /* remove unix symbol so that filename unix.c okay */
#endif #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__ # ifdef __i386__
"-D__i386__", "-D__i386__",
# endif # 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__ # ifdef __GNUC__
"-traditional", "-traditional",
# endif # endif
@ -822,6 +843,80 @@ struct symtab predefs[] = {
#endif #endif
#ifdef __EMX__ #ifdef __EMX__
{"__EMX__", "1"}, {"__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 #endif
/* add any additional symbols before this line */ /* add any additional symbols before this line */
{NULL, NULL} {NULL, NULL}