14c61c93dSmrgXCOMM platform: $XdotOrg: xc/config/cf/ibm.cf,v 1.2 2004/04/23 18:41:58 eich Exp $ 211d341caSmrgXCOMM platform: $Xorg: ibm.cf,v 1.3 2000/08/17 19:41:47 cpqbld Exp $ 311d341caSmrg 411d341caSmrg#ifndef OSName 511d341caSmrg# define OSName DefaultOSName 611d341caSmrg#endif 711d341caSmrg#ifndef OSMajorVersion 811d341caSmrg# define OSMajorVersion DefaultOSMajorVersion 911d341caSmrg#endif 1011d341caSmrg#ifndef OSMinorVersion 1111d341caSmrg# define OSMinorVersion DefaultOSMinorVersion 1211d341caSmrg#endif 1311d341caSmrg#ifndef OSTeenyVersion 1411d341caSmrg# ifdef DefaultOSTeenyVersion 1511d341caSmrg# define OSTeenyVersion DefaultOSTeenyVersion 1611d341caSmrg# elif (OSMajorVersion == 4) && (OSMinorVersion == 1) 1711d341caSmrg# define OSTeenyVersion 3 1811d341caSmrg# else 1911d341caSmrg# define OSTeenyVersion 0 2011d341caSmrg# endif 2111d341caSmrg#endif 2211d341caSmrgXCOMM operating system: OSName (OSMajorVersion.OSMinorVersion.OSTeenyVersion) 2311d341caSmrg 2411d341caSmrg#define RemoveFiles(files) for f in files; do RemoveFile($$f); done 2511d341caSmrg 2611d341caSmrg#if (OSMajorVersion > 4) 2711d341caSmrg# define HasSnprintf YES 2811d341caSmrg# define HasStrcasecmp YES 2911d341caSmrg#endif 3011d341caSmrg#if OSMajorVersion > 3 || (OSMajorVersion == 3 && OSMinorVersion >= 2) 3111d341caSmrg#define HasBSD44Sockets YES 3211d341caSmrg#define HasPutenv YES 3311d341caSmrg#define HasPlugin YES 3411d341caSmrg/* 3511d341caSmrg * If you do not have threads support installed, put 3611d341caSmrg * #define HasPosixThreads NO 3711d341caSmrg * in the BeforeVendorCF section of your site.def. 3811d341caSmrg */ 3911d341caSmrg#if !defined(HasPosixThreads) && ((OSMajorVersion == 3 && (OSMinorVersion > 2 || (OSMinorVersion == 2 && OSTeenyVersion > 4))) || (OSMajorVersion == 4 && (OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1))) || (OSMajorVersion >= 5)) 4011d341caSmrg#define HasPosixThreads YES 4111d341caSmrg#endif 4211d341caSmrg#if HasPosixThreads 4311d341caSmrg#ifndef ThreadedX 4411d341caSmrg#define ThreadedX YES 4511d341caSmrg#define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API 4611d341caSmrg#endif 4711d341caSmrg#endif 4811d341caSmrg#endif /* OS > 3.2 */ 4911d341caSmrg 5011d341caSmrg#define NeedConstPrototypes YES 5111d341caSmrg#define NeedFunctionPrototypes YES 5211d341caSmrg#define NeedNestedPrototypes YES 5311d341caSmrg#define NeedVarargsPrototypes YES 5411d341caSmrg 5511d341caSmrg#ifndef XVirtualFramebufferServer 5611d341caSmrg#define XVirtualFramebufferServer YES 5711d341caSmrg#endif 5811d341caSmrg 5911d341caSmrg#if !defined(TermcapLibrary) 6011d341caSmrg#define TermcapLibrary -lcurses 6111d341caSmrg#endif 6211d341caSmrg 6311d341caSmrg#if !defined(HasPam) && ((OSMajorVersion == 5) && (OSMinorVersion >= 2) || OSMajorVersion > 5) 6411d341caSmrg#define HasPam YES 6511d341caSmrg#ifndef PamLibraries 6611d341caSmrg#define PamLibraries -lpam 6711d341caSmrg#endif 6811d341caSmrg#endif 6911d341caSmrg 7011d341caSmrg/* 7111d341caSmrg * For IBM platforms, we must define both the location of the compiler 7211d341caSmrg * and the location of its standard C++ library. The library location 7311d341caSmrg * is needed to resolve dependent library symbols if we build our own 7411d341caSmrg * C++ shared libraries. 7511d341caSmrg */ 7611d341caSmrg 7711d341caSmrg#if !HasGcc2ForCplusplus 7811d341caSmrg# ifndef CplusplusCmd 7911d341caSmrg# if ThreadedX 8011d341caSmrg# define CplusplusCmd xlC_r 8111d341caSmrg# else 8211d341caSmrg# define CplusplusCmd xlC 8311d341caSmrg# endif 8411d341caSmrg# endif 8511d341caSmrg#endif 8611d341caSmrg 8711d341caSmrg#ifndef CplusplusFilt 8811d341caSmrg# define CplusplusFilt /usr/lpp/xlC/bin/c++filt 8911d341caSmrg#endif 9011d341caSmrg#ifndef CplusplusLibC 9111d341caSmrg# if ThreadedX 9211d341caSmrg# define CplusplusLibC /usr/lpp/xlC/lib/libC.a 9311d341caSmrg# else 9411d341caSmrg# define CplusplusLibC /usr/lpp/xlC/lib/libC_r.a 9511d341caSmrg# endif 9611d341caSmrg#endif 9711d341caSmrg#if !HasGcc2ForCplusplus 9811d341caSmrg# ifndef CplusplusDependIncludes 9911d341caSmrg# define CplusplusDependIncludes -I/usr/lpp/xlC/include 10011d341caSmrg# endif 10111d341caSmrg#endif 10211d341caSmrg 10311d341caSmrg/* 10411d341caSmrg * IBM's xlC refuses to compile files unless their names end in ".C". 10511d341caSmrg * As an alternative to this fix, one could edit /etc/xlC.cfg 1061c80d5b0Smrg * to change the suffix accepted by the compiler, but we prefer not 10711d341caSmrg * requiring users to reconfigure their C++ compilers to make them work. 10811d341caSmrg * We also have to override the default SUFFIXES to defeat the use of 10911d341caSmrg * the builtin .C -> .o file, which doesn't use the right flags. 11011d341caSmrg */ 11111d341caSmrg 11211d341caSmrg.SUFFIXES: 11311d341caSmrg.SUFFIXES: .o .c .y .l .s .sh .h .f .Y .L .cxx 11411d341caSmrg 11511d341caSmrg#define NormalLibObjCplusplusCompile(options) test -r $*.C || $(LN) $*.CCsuf $*.C @@\ 11611d341caSmrg $(CXX) -c $(CXXFLAGS) options $*.C 11711d341caSmrg 11811d341caSmrg#define SpecialCplusplusObjectRule(baseobj,basedep,options) @@\ 11911d341caSmrgbaseobj.Osuf: basedep.CCsuf @@\ 12011d341caSmrg test -r basedep.C || $(LN) basedep.CCsuf basedep.C @@\ 12111d341caSmrg $(CXX) -c $(CXXFLAGS) options basedep.C 12211d341caSmrg 12311d341caSmrg 12411d341caSmrg#define BuildLibPathVar LIBPATH 12511d341caSmrg#define SystemV YES 12611d341caSmrg#define LdCombineFlags -r 12711d341caSmrg#define ExecableScripts YES 12811d341caSmrg#define Malloc0ReturnsNull YES 12911d341caSmrg#define CppCmd /usr/ccs/lib/cpp 13011d341caSmrg#define ExpandManNames YES 13111d341caSmrg#define ExtensionOSDefines -DXTESTEXT1 13211d341caSmrg 13311d341caSmrg/* IBM cpp has slightly non-standard line directives, but supports -P */ 13411d341caSmrg#define CppNoLineInfoOption -P 13511d341caSmrg 13611d341caSmrg#if OSMajorVersion > 3 13711d341caSmrg#if OSMajorVersion > 4 13811d341caSmrg#define StandardDefines -DSYSV -DAIXV3 -DAIXV4 -DAIXV5 -D_ALL_SOURCE 13911d341caSmrg#else 14011d341caSmrg#define StandardDefines -DSYSV -DAIXV3 -DAIXV4 -D_ALL_SOURCE 14111d341caSmrg#endif 14211d341caSmrg#define XawI18nDefines -DHAS_WCHAR_H -DHAS_ISW_FUNCS 14311d341caSmrg#define ServerExtraDefines -D_IBM_LFT 14411d341caSmrg#if ThreadedX 14511d341caSmrg#define CcCmd xlc_r 14611d341caSmrg#else 14711d341caSmrg#define CcCmd xlc 14811d341caSmrg#endif 14911d341caSmrg#define SystemMTDefines /* xlc_r defines -D_THREAD_SAFE */ 15011d341caSmrg#define ThreadsLibraries -lpthreads /* xlc_r does -lc_r */ 15111d341caSmrg#define ThreadsCplusplusLibraries -lpthreads 15211d341caSmrg#define AvoidNullMakeCommand YES 15311d341caSmrg#define NullMakeCommand @ echo 15411d341caSmrg/* AIX 4 appends all MAKEFLAGS (even dups), so cannot pass on command line. */ 15511d341caSmrg#define ConstructMFLAGS NO 15611d341caSmrg#define LdPreLib _Use(-L$(USRLIBDIR),-L$(BUILDLIBDIR)) 15711d341caSmrg#define ExtraFilesToClean *.inp 15811d341caSmrg#else /* OSMajorVersion < 4 */ 15911d341caSmrg#define StandardDefines -DSYSV -DAIXV3 -D_ALL_SOURCE 16011d341caSmrg#define ServerExtraDefines -D_IBM_HFT 16111d341caSmrg#define CcCmd xlc 16211d341caSmrg#define ThreadPreStdAPIDefines -DXPRE_STANDARD_API 16311d341caSmrg#define SystemMTDefines -D_THREAD_SAFE 16411d341caSmrg#define ThreadsLibraries -lpthreads -lc_r 16511d341caSmrg#endif /* OSMajorVersion */ 16611d341caSmrg 16711d341caSmrg#define OPERATING_SYSTEM AIX /* directory name under server/ddx/ibm/ */ 16811d341caSmrg#define InstallCmd /usr/ucb/install 16911d341caSmrg#include <ibmLib.rules> 17011d341caSmrg 17111d341caSmrg#ifndef ManKeywordsTarget 17211d341caSmrg#define ManKeywordsTarget(manpath) @@\ 17311d341caSmrgman_keywords:: @@\ 17411d341caSmrg /usr/lib/makewhatis $(DESTDIR)manpath 17511d341caSmrg#endif 17611d341caSmrg 17711d341caSmrg#define DtMailDefines \ 17811d341caSmrg -DI_HAVE_NO_BOOL -DI_HAVE_SELECT_H \ 17911d341caSmrg -DBIG_ENDIAN -DSTRCASECMP_NOT_DEFINED -DDO_ANONYMOUS_MAP -DSENDMAIL_LOCKS \ 18011d341caSmrg -DMAILGROUP_REQUIRED -DMAIL_SPOOL_PATH=\"/var/spool/mail/%s\" 18111d341caSmrg 18211d341caSmrg#define ArchitectureDefines -DIBM_ARCHITECTURE 18311d341caSmrg 18411d341caSmrg#define ExportListGenSource elistgen.ibm 18511d341caSmrg 18611d341caSmrg#define CdeProjectDefines \ 18711d341caSmrg -D_AIX -D__AIX -D__aix -D_aix -Daix -DMULTIBYTE -DNLS16 -DMESSAGE_CAT \ 18811d341caSmrg -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion -DAIX 18911d341caSmrg 19011d341caSmrg/* 19111d341caSmrg * -D__STR31__ disables inlining of memcpy to work around optimization bug 19211d341caSmrg * in XLC v1.2.0.7. Bug report filed as PMR 8X196, branch 060. 19311d341caSmrg */ 19411d341caSmrg#ifndef OptimizedCDebugFlags 19511d341caSmrg#define OptimizedCDebugFlags -O -D__STR31__ -DNDEBUG 19611d341caSmrg#endif 19711d341caSmrg 19811d341caSmrg#define CdeTicDefines -DHAS_KNL -DHAS_KTAB 199