/* $Id: linux.cf,v 1.20 2006/09/15 09:34:48 mclareni Exp $ * * $Log: linux.cf,v $ * * Revision 1.20 2006/09/15 09:34:48 ytayalati vkulikovskiy * corrections for gcc 4.4 * * Revision 1.20 2006/09/15 09:34:48 mclareni * Submitted mods for gcc4/gfortran and MacOSX, corrected to work also on slc4 with gcc3.4 and 4.1 * * Revision 1.19 2004/10/05 15:56:45 mclareni * Update the Kernel levels and remove Make warnings about HasGcc. * * Revision 1.18 2003/06/26 13:25:35 mclareni * Clean up the ifc options for ifc 7.0 on Redhat 73, adding Motif by default. * Add the shift option as a comment so the default is still noshift. * * Revision 1.17 2002/07/08 10:27:28 mclareni * Add #endif to complete new else condition. * * Revision 1.16 2002/07/05 14:20:37 mclareni * Add compiler options for Intel IA32 ifc/icc 60 under HasIntelifc * * Revision 1.15 2002/04/24 16:37:41 mclareni * Make OpenMotif includes in /usr/X11R6/include the default * * Revision 1.14 2001/09/14 10:05:01 mclareni * Remove most of the old gcc compiler options. The problems on 2.4 kernels seem * to be caused by -D_GNU_SOURCE. * * Revision 1.12 2000/08/11 14:43:40 mclareni * New set of options for PGI pgf77, mostly de-optimised * * Revision 1.11 2000/01/14 15:44:36 mclareni * Add Lesstif includes from /usr/local/include * * Revision 1.10 1999/05/25 08:58:14 cernsoft * Remove code to build with/without Motif depending on environment variable * * Revision 1.9 1998/08/25 12:15:10 mclareni * Add QMGLIBC flag * * Revision 1.8 1998/02/10 10:48:59 mclareni * To compile herwig59 and mathlib tests need -fugly-complex option to allow REAL(DOUBLE COMPLEX arg) * * Revision 1.7 1998/01/15 14:44:01 mclareni * Prevent adding 2 underscores, mainly for Comis * * Revision 1.6 1997/12/15 16:20:44 mclareni * Changes for the Portland Group f77 compiler, inside ifdef HasPgf77 * * Revision 1.5 1997/07/04 17:00:28 mclareni * The gcc default for backslash is required for Cernlib * * Revision 1.4 1997/07/04 16:31:44 mclareni * There is an official shift version for Linux * * Revision 1.3 1996/12/16 15:12:05 cernlib * By default inhibit Motif on Linux; can be changed via environment * * Revision 1.2 1996/11/13 13:23:15 cernlib * Add cernlib options for fortran etc.. * * Revision 1.1.1.1 1995/12/20 15:26:45 cernlib * X11R6 config files unmodified * * */ XCOMM platform: $XConsortium: linux.cf,v 1.11 95/01/23 18:32:03 kaleb Exp $ #define OSName Linux #define OSVendor /**/ #define OSMajorVersion 2 #define OSMinorVersion 4 #define OSTeenyVersion 2020 #undef unix /* GF. this is not needed anywhere */ #ifndef UseElfFormat #define UseElfFormat NO #endif #define HasGcc2ForCplusplus YES #define GccUsesGas YES #define UseGas YES #define GnuCpp YES #define HasShadowPasswd NO #ifndef HasLibCrypt # define HasLibCrypt NO #endif #define HasPutenv YES #define HasShm YES #define HasSockets YES #define AvoidNullMakeCommand YES #define StripInstalledPrograms NO #define CompressAllFonts YES #define Malloc0ReturnsNull YES #define NeedConstPrototypes YES #define NeedFunctionPrototypes YES #define NeedNestedPrototypes YES #define NeedVarargsPrototypes YES #define NeedWidePrototypes NO #if UseElfFormat #define CcCmd gcc -b i486-linuxelf #define AsCmd /usr/i486-linuxelf/bin/as #define LdCmd ld -m elf_i386 #define AsmDefines -D__ELF__ #define CplusplusCmd g++ -b i486-linuxelf #else #define CcCmd gcc #define AsCmd as #define LdCmd ld #define AsmDefines -DUSE_GAS #endif #define CppCmd /lib/cpp #define YaccCmd bison -y #define LexCmd flex -l #define LexLib -lfl #define PreProcessCmd CcCmd -E #define PostIncDir `CcCmd --print-libgcc-file-name | sed 's/libgcc.a/include/'` #define LdCombineFlags -r #define OptimizedCDebugFlags -O2 -m486 -fno-strength-reduce\ -fomit-frame-pointer #define StandardDefines -Dlinux -D__i386__ -D_POSIX_SOURCE \ -D_BSD_SOURCE -D_GNU_SOURCE -DX_LOCALE #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC #define HasWChar32 YES #define StandardCppDefines -traditional StandardDefines #define ServerOSDefines XFree86ServerOSDefines -DDDXTIME #define ExtensionOSDefines -DXTESTEXT1 #define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines #define ConnectionFlags -DUNIXCONN -DTCPCONN #define InstUidFlags -s -m 4755 /* Some of these man page defaults are overriden in the above OS sections */ #ifndef ManSuffix # define ManSuffix 1x #endif #ifndef ManDir # define ManDir $(MANSOURCEPATH)1 #endif #ifndef LibManSuffix # define LibManSuffix 3x #endif #ifndef LibmanDir # define LibmanDir $(MANSOURCEPATH)3 #endif #ifndef FileManSuffix # define FileManSuffix 5x #endif #ifndef FileManDir # define FileManDir $(MANSOURCEPATH)5 #endif #include /* #include */ #ifdef HasPgf77 #define f2cFortran YES #define FortranCmd pgf77 /* #define FortranDoesCpp NO #define FortranCppCmd /lib/cpp -traditional -C */ #define XargsCmd xargs #define FortranSaveFlags /* */ /* Everything static !? */ #define OptimisedFortranFlags -g -pc 64 -tp p6 #define DefaultFCOptions -Msave -fpic -Kieee #define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC -DCERNLIB_QFPGF77 #else # ifdef HasIntelifc # undef CcCmd # undef DefaultCCOptions # undef OptimizedCDebugFlags # undef StandardDefines # undef NeedFunctionPrototypes # undef NeedWidePrototypes # define CcCmd icc # define DefaultCCOptions # define OptimizedCDebugFlags -O # define FortranDoesCpp NO #define FortranCppCmd /usr/bin/cpp -traditional -C # define FortranCmd ifc # define XargsCmd xargs # define FortranSaveFlags -save # define OptimisedFortranFlags -O -mp1 -fp_port # define NoOpFortranDebugFlags -O0 # define DefaultFCOptions # define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC #else # ifdef HasIntelefc # undef CcCmd # undef DefaultCCOptions # undef OptimizedCDebugFlags # undef StandardDefines # undef NeedFunctionPrototypes # undef NeedWidePrototypes # define CcCmd ecc # define DefaultCCOptions -KPIC # define OptimizedCDebugFlags -O # define FortranDoesCpp NO #define FortranCppCmd /lib/cpp -traditional -C # define FortranCmd efc # define XargsCmd xargs # define FortranSaveFlags -save # define OptimisedFortranFlags -O # define DefaultFCOptions -KPIC # define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC # define CERNLIB_SHIFT NO /* * Create a Make Variable to allow building with/out Motif */ #undef MotifDependantMakeVar #define MotifDependantMakeVar(variable,value) @@\ ifneq ($(strip $(HAVE_MOTIF)),) @@\ variable=value @@\ endif @@\ #else # ifdef Hasgfortran # undef CcCmd # undef DefaultCCOptions # undef OptimizedCDebugFlags # undef StandardDefines # undef NeedFunctionPrototypes # undef NeedWidePrototypes # define CcCmd gcc4 # define DefaultCCOptions # define OptimizedCDebugFlags -O -g -fomit-frame-pointer # define FortranDoesCpp YES # define f2cFortran YES # define FortranCmd gfortran # define XargsCmd xargs # define FortranSaveFlags -fno-automatic # define OptimisedFortranFlags -O0 -g -funroll-loops -fomit-frame-pointer # define DefaultFCOptions -fno-second-underscore # define NoOpFortranDebugFlags -O0 # define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC -DCERNLIB_GFORTRAN #define CERNLIB_GFORTRAN # else /* g77 */ /* Start CERNLIB changes A.Waananen 15. Apr. 1996 */ /* Adapted to CERN style GF. 20-Sep-96 */ # undef DefaultCCOptions # undef OptimizedCDebugFlags # undef StandardDefines # define OptimizedCDebugFlags -O1 -fomit-frame-pointer #define f2cFortran YES #define FortranCmd gfortran #define XargsCmd xargs #define FortranSaveFlags /* */ /* Everything static !? */ //fugly-comple not supported in gfortran https://www.developpez.net/forums/d1110560/general-developpement/algorithme-mathematiques/programmation-parallele-calcul-scientifique-haute-performance-hpc/fortran/passage-g77-gfortran/ #define DefaultFCOptions -fno-automatic -fno-second-underscore /* -fugly-complex */ #define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC # endif # endif #endif #endif #define CERNLIB_LINUX #define CERNLIB_UNIX #define CERNLIB_LNX #define CERNLIB_QMGLIBC /* # define CERNLIB_SHIFT YES uncomment this to make the shift packlib */ //https://techoverflow.net/2019/06/11/how-to-fix-ft2build-h-no-such-file-or-directory/ #define X11Includes -I/usr/X11R6/include -I/usr/include/freetype2 /* #define MotifIncludes -I/usr/local/include Cern Rh6.1 Lesstif */ /* * Create a Make Variable to allow building with/out Motif */ /* End CERNLIB changes */