Allow building on FreeBSD
[oweals/cde.git] / cde / config / cf / linux.cf
index fbd4d09dd127a4eecb341c060397fab625c881ea..7b246eb187b11f22c915448bfa216bc301684e6c 100644 (file)
@@ -1,5 +1,10 @@
 XCOMM platform:  $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess $
 
+/* To reduce the number of warnings generated by X11 and Motif headers that
+   dislike -ansi and -pedantic we can include them with -isystem instead of
+   -I, this tells GCC to treat them as system includes out of our control */
+#define TopXInclude -isystem$(TOP)/imports/x11/include
+
 #ifndef OSName
 #define OSName                 DefaultOSName
 #endif
@@ -18,7 +23,7 @@ XCOMM platform:  $TOG: linux.cf /main/47 1998/04/17 11:32:51 mgreess $
 /*
   Add "#define LinuxDistribution Linux<mumble>" to your site.def or host.def.
   Currently only LinuxSuSE will be figured out automatically.
-  Valid values are (from the list at www.linux.org in Oct. '97):
+  Valid values are (from the list at www.linux.org in Oct. 1997):
     LinuxUnknown    (0)
     LinuxSuSE       (1)
     LinuxCaldera    (2)
@@ -56,6 +61,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 +90,14 @@ 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 -g -pipe
+#define CplusplusCmd           g++ -g -pipe -fpermissive
 #define AsCmd                  as
 #define LdCmd                  ld
-#endif
+
+#define CplusplusLibC           -lstdc++
 #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
@@ -125,44 +115,99 @@ XCOMM binutils:  (LinuxBinUtilsMajorVersion)
 #define StandardCppDefines     -traditional StandardDefines
 #define ExtensionOSDefines     -DXTESTEXT1
 
-#if (LinuxDistribution == LinuxSuSE)
 #define LinuxLocaleDefines     /**/
+
+XCOMM If you have the tirpc library on your system, and you have the
+XCOMM libtirpc-dev installed, then define HasTIRPCLib to YES in either
+XCOMM your host.def or site.def file.  Using the tirpc lib should
+XCOMM allow running rpcbind in secure mode (ie: without the -i option).
+XCOMM The default is NO.
+
+#ifndef HasTIRPCLib
+# define HasTIRPCLib NO
+#endif
+
+#if HasTIRPCLib
+TIRPCLIB = -ltirpc
 #else
-#define LinuxLocaleDefines     -DX_LOCALE
+TIRPCLIB = 
 #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
-#endif
+                               -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 SparcArchitecture
+#define LinuxMachineDefines -Dsparc
+
+#if UseElfFormat
+#define HasPlugin               YES
+#define VendorHasX11R6_3libXext YES     /* XC or XFree86 3.3.1 */
 #endif
+#endif /* SparcArchitecture */
 
-XCOMM This is needed for CDE currently
-#define CplusplusStandardDefines StandardDefines -fpermissive
+#ifdef ARMArchitecture
+#define LinuxMachineDefines -D__arm__
+#define LSBBitOrder             YES
+
+#if UseElfFormat
+#define HasPlugin               YES
+#define VendorHasX11R6_3libXext YES     /* XC or XFree86 3.3.1 */
+#endif 
+#endif /* ARMArchitecture */
 
 #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
+/* add this to void screenfuls of warnings from makedepend */
+#define DependFlags -I/usr/include/i386-linux-gnu
 #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
+/* add this to void screenfuls of warnings from makedepend */
+#define DependFlags -I/usr/include/x86_64-linux-gnu
+#endif /* AMD64Architecture */
+
+#ifdef PpcArchitecture
+#define OptimizedCDebugFlags    -O2
+#define LinuxMachineDefines     -D__powerpc__
+#endif /* PpcArchitecture */
+
 #ifdef AlphaArchitecture
 #define OptimizedCDebugFlags   -O2
 #define LinuxMachineDefines    -D__alpha__
@@ -171,13 +216,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
@@ -200,7 +248,7 @@ XCOMM This is needed for CDE currently
 
 #define ArchitectureDefines    -DLINUX_ARCHITECTURE
 
-#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
+#define TtClientLibs $(TTLIB) $(TIRPCLIB) $(XTOOLLIB) $(XLIB)
 #define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)
 
 #include <lnxLib.rules>