XCOMM $TOG: os2.cf /main/2 1997/08/05 08:51:25 kaleb $ XCOMM platform: $XFree86: xc/config/cf/os2.cf,v 3.30 2000/07/07 20:06:56 tsi Exp $ #define OSName OS/2 #define OSVendor IBM #define OSMajorVersion 4 #define OSMinorVersion 0 /* * C library features */ #ifdef __EMX__ /* set this to what you like (almost :-) * OS/2 does a nonstandard bootstrap of imake */ #define BootstrapCFlags -DBSD43 #define StandardDefines -DX_LOCALE -DX_WCHAR #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC /* This will redirect everything to /XFree86 * Care will be taken that programs that need a file from this tree * will add the environment variable X11ROOT to the search path * so you can redirect the stuff to a different drive */ #ifdef ProjectRoot #undef ProjectRoot #endif /* This will be mangled with a drive letter in most OS/2 rules ... */ #define ProjectRoot /XFree86 /* ... but not when a user tries to compile something from a different drive * Please report any directories missed to Holger.Veit@gmd.de */ #ifdef UseInstalled /*#define IncRoot $(X11ROOT)/XFree86/include*/ #define ConfigDir $(X11ROOT)$(LIBDIR)/config #define LdPreLib -L$(X11ROOT)/XFree86/lib #endif /* more directories */ #define AdmDir $(LIBDIR)/adm DESTDIR = $(X11ROOT) /* for the man pages */ #define BookFormatManPages YES #define ManDirectoryRoot /XFree86/man/man #define ManSuffix 1 #define LibManSuffix 3 #define FileManSuffix 4 #define XmanSearchPath /XFree86/man/man #define ManSourcePath $(MANPATH) #define DontUseLibPAthVar YES /* you must have installed groff! */ #define TblCmd tbl #define ColCmd cat #define NeqnCmd eqn #define NroffCmd groff -Tascii #define EqnCmd eqn -Tascii #define TroffCmd groff -Tps NEQN = NeqnCmd NROFF = NroffCmd /* A set of standard defines: */ #define OSDefines -D__EMX__ -D__i386__ -Demxos2 -D_POSIX_SOURCE \ -D_BSD_SOURCE -D_GNU_SOURCE #ifndef BuildXKB #define BuildXKB YES #endif #define BuildImplibs YES #ifndef BuildLBX #define BuildLBX YES #endif #ifndef DoLoadableServer #define DoLoadableServer YES #endif #undef MakeDLLModules #define MakeDLLModules NO /* some more properties of the OS/2 implementation */ #define HasNdbm YES #define HasPutenv YES #define HasSockets YES #define HasSnprintf YES #define HasBsearch NO #define HasFchown NO #define HasLargeTmp NO #define HasPoll NO #define HasBSD44Sockets NO #define HasSecureRPC NO #define HasSymLinks NO #define HasVFork NO #define HasVarDirectory NO #define HasStrcasecmp NO #define StrcasecmpDefines -DNEED_STRCASECMP -Dstrcasecmp=stricmp -Dstrncasecmp=strnicmp #define Malloc0ReturnsNull YES #define SetTtyGroup NO #ifndef HasLibCrypt # define HasLibCrypt NO #endif #ifndef HasShm # define HasShm YES #endif #define ConnectionFlags -DTCPCONN -DOS2PIPECONN #define StdIncDir $(C_INCLUDE_PATH) #define HasStickyDirBit NO #define HasMkstemp NO /* XF86Setup stuff - does not work yet! */ #define HasTcl NO /*define TclLibDir $(X11ROOT)$(SHLIBDIR)*/ /*define TclIncDir $(X11ROOT)$(INCROOT)/tcl*/ /*define TclLibName xtcl*/ #define HasTk NO /*define TkLibDir $(X11ROOT)$(SHLIBDIR)*/ /*define TkIncDir $(X11ROOT)$(INCROOT)/tk*/ /*define TkLibName xtk*/ /* * Compiler Features */ #define HasCplusplus YES #define GccUsesGas YES #define UseGas YES #define GnuCpp YES #define DoRanlibCmd YES #define NeedConstPrototypes YES #define NeedFunctionPrototypes YES #define NeedNestedPrototypes YES #define NeedVarargsPrototypes YES #define NeedWidePrototypes NO #define CppCmd cpp #define StandardCppOptions -traditional #define StandardCppDefines /**/ #define PreProcessCmd CppCmd #define CcCmd gcc #define DefaultCCOptions -D__ST_MT_ERRNO -Zmtd -Zsysv-signals #define LibraryCCOptions -D__ST_MT_ERRNO -Zmtd -Zsysv-signals #define ServerCCOptions -D__ST_MT_ERRNO -Zmtd -Zsysv-signals #define ModuleCcCmd gcc_elf #define ModuleCppCmd cpp_elf #define ModuleCFlags $(CDEBUGFLAGS) $(THREAD_CFLAGS) $(ALLDEFINES) #define ModuleAsCmd as_elf #define ModuleLdCmd ld_elf #define ModuleLdCombineFlags -X -r #define ModuleArCmd ar_elf cq #define NeedModuleRanlib YES #define ModuleRanlibCmd ranlib_elf #define CplusplusCmd g++ #define CplusplusOptions -Zmtd -Zsysv-signals #define MakeCmd x11make #define AsCmd gcc -S #define GccGasOption -DGCCUSESGAS #define AsmDefines -DUSE_GAS #define InstallCmd install #define LdCmd ld #define ExtraLoadFlags -Zbin-files #define ExtraLibraries -lsocket -lbsd #if HasShm # define ServerExtraSysLibs -lregex -lshm #endif /* quite a number of programs you need, most of them the same as * with Unix, but listed here for completeness */ #define ArCmd ar cq #define RanlibCmd ar s #define BourneShell /**/ #define LexCmd flex -l #define LexLib -lfl #define YaccCmd yacc #define LintCmd /**/ #define MvCmd mv #define CompressCmd compress #define GzipCmd gzip #define LnCmd cp #define CpCmd cp #define RmCmd ImakeHelper 4 #ifndef UseInstalled #define ImakeCmd \imake #define MkdirHierCmd \mkdirhier #define DependCmd \makedepend #else /* imake and mkdirhier come from Imake.tmpl, but DependCmd must be overriden */ #define DependCmd makedepend #endif /* "shell scripts" in OS/2 have this extension */ #define SHsuf cmd #define InstPgmFlags /**/ #define InstBinFlags /**/ #define InstUidFlags /**/ #define InstLibFlags /**/ #define InstIncFlags /**/ #define InstManFlags /**/ #define InstDatFlags /**/ #define InstallFlags /**/ #define OptimizedCDebugFlags DefaultGcc2i386Opt #define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DXNO_SYSCONF #define ServerExtraDefines GccGasOption XFree86ServerDefines /* * Make & install Features */ #define AvoidNullMakeCommand YES _NULLCMD_ = @ rem #define NullMakeCommand @ rem #define StripInstalledPrograms NO #define CompressAllFonts YES #define CompressManPages YES #define GzipFontCompression YES #define DefaultUserPath .;/os2;/emx/bin;/tcpip/bin;$(BINDIR) #define DefaultSystemPath /os2;/emx/bin;$(BINDIR) #ifndef ExtraFilesToClean # define ExtraFilesToClean *.~* *.exe *.dll *.obj *.lib *.map #endif #if CompressManPages #define CompressManCmd gzip -n COMPRESSMANCMD = CompressManCmd #endif #define ProgramTargetName(target)target.exe /* we don't name libraries lib*.a */ #define LibraryTargetName(libname) libname.a #define LibraryTargetNameSuffix(libname,suffix)Concat(libname,suffix.a) /* ... and we even don't do it in rules that should have used the above * LibraryTargetName macro */ #ifndef UnSharedLibReferences #define UnsharedLibReferences(varname,libname,libsource) @@\ Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,$(BUILDLIBDIR)/,libname.a) @@\ Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\ LintLibReferences(varname,libname,libsource) #endif #ifndef SharedLibReferences #define SharedLibReferences(varname,libname,libsource,revname,rev) @@\ Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\ Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\ LintLibReferences(varname,libname,libsource) #endif #define XFileSearchPathBase Concat4($(LIBDIR)/;L/;T/;N;C,;S:$(LIBDIR)/;l/;T/;N;C,;S:$(LIBDIR)/;T/;N;C,;S:$(LIBDIR)/;L/;T/;N;S:$(LIBDIR)/;l/;T/;N;S:$(LIBDIR)/;T/;N;S) #include #include # include #else #error You must edit os2.cf for your (non-EMX) OS/2 dev system #endif