XCOMM platform:  $XFree86: xc/config/cf/os2.cf,v 3.46 2005/03/07 16:39:16 tsi Exp $

/*
 * Copyright (c) 1994-2004 by The XFree86 Project, Inc.
 * All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining
 * a copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject
 * to the following conditions:
 *
 *   1.  Redistributions of source code must retain the above copyright
 *       notice, this list of conditions, and the following disclaimer.
 *
 *   2.  Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer
 *       in the documentation and/or other materials provided with the
 *       distribution, and in the same place and form as other copyright,
 *       license and disclaimer information.
 *
 *   3.  The end-user documentation included with the redistribution,
 *       if any, must include the following acknowledgment: "This product
 *       includes software developed by The XFree86 Project, Inc
 *       (http://www.xfree86.org/) and its contributors", in the same
 *       place and form as other third-party acknowledgments.  Alternately,
 *       this acknowledgment may appear in the software itself, in the
 *       same form and location as other such third-party acknowledgments.
 *
 *   4.  Except as contained in this notice, the name of The XFree86
 *       Project, Inc shall not be used in advertising or otherwise to
 *       promote the sale, use or other dealings in this Software without
 *       prior written authorization from The XFree86 Project, Inc.
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */


XCOMM hv: This file will now require a compiler that defines
XCOMM hv: the symbol __UNIXOS2__ (currently a modified EMX gcc,
XCOMM hv: but in future a separate system)

#define OSName	OS/2
#define OSVendor	IBM
#define OSMajorVersion	4
#define OSMinorVersion	5
#define OSTeenyVersion	1

#define BootstrapCFlags   -DBSD43

#define StandardDefines   -DX_LOCALE -DX_WCHAR
#define XawI18nDefines    -DUSE_XWCHAR_STRING -DUSE_XMBTOWC

/* for the man pages */
#define BookFormatManPages	YES
#define ManSuffix 1
#define FileManSuffix 4
#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 HasGroff	YES
         NEQN = NeqnCmd
        NROFF = NroffCmd

/* A set of standard defines: */
#define OSDefines		-D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE

#ifndef BuildXKB
#define BuildXKB		YES
#endif
#ifndef BuildLBX
#define BuildLBX		YES
#endif
#define BuildIPv6		NO
#ifndef DoLoadableServer
#define DoLoadableServer        YES
#endif
#undef MakeDLLModules
#define MakeDLLModules          NO
#ifndef BuildModuleInSubdir
#define BuildModuleInSubdir	YES
#endif
#ifndef XF86FBDevHw
#define XF86FBDevHw		NO
#endif

/* some more properties of the OS/2 implementation */
#define HasNdbm         	YES
#define HasPutenv       	YES
#define HasSockets		YES
#define HasSnprintf		YES
#define HasWChar32		NO
#define HasUsableFileMap	NO
#define HasNCurses		YES
#define HasVarRun		NO
#define HasLibPthread		NO
#define HasPosixThreads		NO
#define HasVarDb		NO
#define HasDlopen		NO
#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		YES
#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	/usr/include
#define HasStickyDirBit		NO
#define HasMkstemp		NO
#define BuildThreadStubLibrary	NO
#define HasBasename		NO	/* C-function, not shell utility!! */


/*
 * Compiler Features
 */
#define DefaultGcc2i386Opt	-O2 -fstrength-reduce -fpcc-struct-return
#define UseGccMakeDepend	YES
#define HasCplusplus		YES
#define HasGnuMake		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 HasPlugin		NO
#define VendorHasX11R6_3libExt	YES

#define CppCmd	cpp -D__UNIXOS2__
#define YaccCmd	bison -y
#define StandardCppOptions	-traditional
#define StandardCppDefines	/**/
#define PreProcessCmd	CppCmd

#define CcCmd	gcc -D__UNIXOS2__
#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 -D__UNIXOS2__ $(CDEBUGFLAGS) $(THREADS_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 HasPerl5		YES

#define CplusplusCmd	g++
#define CplusplusOptions	-Zmtd -Zsysv-signals -D__UNIXOS2__

#define AsCmd	as
#define GccGasOption	-DGCCUSESGAS
#define AsmDefines	-DUSE_GAS

#define InstallCmd	install

#define LdCmd	ld
#define ExtraLoadFlags	-Zbin-files
#define ExtraLibraries	-lshm -lemxfix -lsocket -lbsd -lgcc
#define ServerExtraSysLibs     -lregex -lshm -lemxfix -lsocket -lbsd

/* 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	/bin/sh
#define LexCmd	flex -l
#define HasFlex YES
#define LexLib	-lfl
#define LintCmd	/**/
#define MvCmd	mv
#define CompressCmd	compress
#define GzipCmd	gzip
#define LnCmd cp
#define CpCmd cp
#define RmCmd	rm -f

/* "shell scripts" in OS/2 have this extension */
#define SHsuf sh

#define InstPgmFlags /**/
#define InstBinFlags /**/
#define InstUidFlags /**/
#define InstLibFlags /**/
#define InstIncFlags /**/
#define InstManFlags /**/
#define InstDatFlags /**/
#define InstallFlags /**/

#define OptimizedCDebugFlags 	DefaultGcc2i386Opt
#define ServerOSDefines		XFree86ServerOSDefines -DXNO_SYSCONF
#define ServerExtraDefines	GccGasOption XFree86ServerDefines

/*
 * Make & install Features
 */

#define AvoidNullMakeCommand 	YES
_NULLCMD_ = 
#define NullMakeCommand
#define StripInstalledPrograms	NO
#define CompressAllFonts	YES
#define CompressManPages	YES
#define GzipFontCompression	YES
#define DefaultUserPath		$(BINDIR)
#define DefaultSystemPath	$(BINDIR)
#define CaseSensitiveFileSystem	NO

#ifndef ExtraFilesToClean
# define ExtraFilesToClean 	*.~* *.exe *.dll *.obj *.lib *.map *raw_os2.def MISSING_ORDINALS
#endif

#define ProgramTargetName(target) Concat(target,.exe)
#define HostProgramTargetName(target) ProgramTargetName(target)

#include <os2.rules>
#include <os2Lib.rules>

#define LocalConfigFiles os2def.db

# include <xfree86.cf>

	
