XCOMM platform:  $XFree86: xc/config/cf/usl.cf,v 3.24 2004/06/02 22:42:53 dawes 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.
 */


#ifndef OSName
# define OSName		DefaultOSName
#endif
#ifndef OSMajorVersion
# define OSMajorVersion	DefaultOSMajorVersion
#endif
#ifndef OSMinorVersion
# define OSMinorVersion	DefaultOSMinorVersion
#endif
#ifndef OSTeenyVersion
# define OSTeenyVersion	DefaultOSTeenyVersion
#endif
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)

#ifndef  CcCmd
# define CcCmd			/usr/ccs/bin/cc
#endif
#ifndef  CplusplusCmd
# define CplusplusCmd		/usr/ccs/bin/CC
#endif
#ifndef  CplusplusFilt
# define CplusplusFilt		/usr/ccs/bin/c++filt
#endif
#ifndef  CplusplusDependIncludes
# define CplusplusDependIncludes	-I/usr/include/CC
#endif

#define BootstrapCFlags		/* none needed */
#define StandardDefines		-DUSL -DSVR4 -Di386
#define NeedWidePrototypes	NO	/* experimental */
#define ServerExtraDefines	-D__USLC__ XFree86ServerDefines
#define ServerOSDefines		XFree86ServerOSDefines
#define ToolkitStringsABIOptions -intelabi
#if OSMajorVersion < 2
#define XawI18nDefines		-DHAS_WCTYPE_H -DHAS_ISW_FUNCS
#else
#define XawI18nDefines		-DHAS_WCHAR_H -DHAS_ISW_FUNCS
#endif
#if OSMajorVersion > 1 || OSTeenyVersion > 1
# if OSMajorVersion >= 7
#  define ExtraLibraries		-lsocket -lnsl -lgen
# else
#  define ExtraLibraries		-lsocket -lnsl -lgen -lw
# endif
# define ThreadedX		YES
# define HasThreadSafeAPI	NO
/* UnixWare does not have MT-safe pwd routines. */
# define MTSafeAPIDefines	\
-DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI -DXNO_MTSAFE_GRPAPI
# define SystemMTDefines	-D_REENTRANT
# define ThreadsLibraries	-lthread
# define ThreadsCplusplusLibraries	-lthread
# ifndef DefaultCCOptions
#  define DefaultCCOptions	-W0,-2A -Xa -Dasm=__asm
# endif
#endif
#define BuildLibPathVar	  LD_LIBRARY_PATH

/* UnixWare 7.x comes with perl. */
#ifndef HasPerl
# if OSMajorVersion >= 7
#  define HasPerl		YES
# else
#  define HasPerl		NO
# endif
#endif

#ifndef UseExportLists
# define UseExportLists YES
#endif

#define GencatFlags		-m

#define HasStrcasecmp		NO
#ifndef HasSnprintf
#define HasSnprintf		YES
#endif


#include <svr4.cf>

/*
 * When generating templates the UnixWare 2.02 C++ compiler leaves
 * protected .i files behind.  Remove them so other people can
 * compile too.
 */
#ifndef ObjectCplusplusCompile
#define ObjectCplusplusCompile(options) RemoveFiles($@ $*.i)		@@\
	ClearmakeOSName \
	$(CXX) -c $(CXXFLAGS) options $*.CCsuf
#endif

/* USL does not have a shared regex library. */
#define UseLocalRegex		YES

#define XmDefines		\
	-DNO_REGCOMP -DNEED_STRCASECMP \
	-DSUPPORT_ZERO_WIDTH -DHAS_WIDECHAR_FUNCTIONS
#define DtSvcDefines		-DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
#define DtSearchDefines		-DI18N_MSG DtSvcDefines
#define DtWidgetDefines		DtSearchDefines
#define DtPrintDefines		DtSearchDefines

/* For DtHelp's TIFF processing routines. */
#define LSBBitOrder		YES

#define ArchitectureDefines	-DUSL_ARCHITECTURE

#define ExportListGenSource	elistgen.usl
#define ShlibExportListOpt(filename)	Concat(-Bexport:,filename)

/* Remove -lc because select.o is not relocatable. */
/* Remove -lgen (and set UseLocalRegex) because no shared library exists. */
#define SharedXmReqs $(LDPRELIBS) SharedXReqs -lsocket -lnsl -lw
#define SharedMrmReqs $(LDPRELIBS) $(XMLIB) SharedXReqs -lsocket -lnsl -lw
#define SharedUilReqs $(LDPRELIBS) $(MRESOURCELIB) $(XMLIB) SharedXReqs -lsocket -lnsl -lw
  
/* <X11/Xos_r.h> requires process locking for missing _r functions */
#define TtClientLibs $(TTLIB) $(XTOOLLIB) $(XLIB)
#define TtClientDepLibs $(DEPTTLIB) $(DEPXTOOLLIB) $(DEPXLIB)

#define CdeProjectDefines \
	-DANSICPP -DMULTIBYTE -DNLS16 -DNEED_STRCASECMP \
	-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
