#
# Copyright (c) 1990, 1991  X Consortium
# 
# 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:
# 
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# 
# Except as contained in this notice, the name of the X Consortium 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 X Consortium.
#
# Copyright 1990, 1991 UniSoft Group Limited.
#
# Permission to use, copy, modify, distribute, and sell this software and
# its documentation for any purpose is hereby granted without fee,
# provided that the above copyright notice appear in all copies and that
# both that copyright notice and this permission notice appear in
# supporting documentation, and that the names of MIT and UniSoft not be
# used in advertising or publicity pertaining to distribution of the
# software without specific, written prior permission.  MIT and UniSoft
# make no representations about the suitability of this software for any
# purpose.  It is provided "as is" without express or implied warranty.
#
# $XConsortium: tetclean.cfg,v 1.15 94/04/17 20:59:58 rws Exp $
#

#########################
# Note
#########################

#  For certain variables, there are lines of the form:
#  # System: CONFIGVAR=foo
#  
#  These are suggested values for these options, and may not
#  always be correct and up-to-date for any given system.

#########################
# TET Parameters
#########################

# TET_BUILD_TOOL - The program to use as the build tool.
# This should normally be the pmake program supplied as part
# of the test suite.
TET_BUILD_TOOL=pmake

# TET_BUILD_FILE - This is intended to be used for the arguments to the TET
# build tool - this should be empty, since no arguments are accepted by pmake.
TET_BUILD_FILE=

# TET_CLEAN_TOOL - The program to use as the TET clean tool.
# This should normally be the pclean program supplied as part 
# of the test suite.
TET_CLEAN_TOOL=pclean

# TET_CLEAN_FILE - This is intended to be used for the arguments to the TET
# clean tool - this should be empty, since no arguments are accepted by pclean.
TET_CLEAN_FILE=

# TET_OUTPUT_CAPTURE - This must be set to True.
TET_OUTPUT_CAPTURE=True

##########################
# Commands
##########################

# SHELL - The following line should cause the Bourne shell to be used 
# by make.
SHELL=/bin/sh

# CC - C compiler
# AIXV3	: CC=xlc
CC=cc

# RM - Comamnd to remove files
RM=rm -f

# AR - command to generate an archive
AR=ar crv

# LD - command to link object files.
LD=ld

# LN - command to make hard links to files.  This could be a copy command
# if no link command exists.
LN=ln

# RANLIB - If the system requires ranlib then this is set to
# ranlib else set to echo
# SunOS	: RANLIB=ranlib
# ULTRIX: RANLIB=ranlib
# HP-UX	: RANLIB=echo
# DYNIX	: RANLIB=ranlib
# A/UX	: RANLIB=echo
# AIXV3	: RANLIB=ranlib
# SVR4	: RANLIB=echo
RANLIB=ranlib

# TSORT - Set to cat if archiver inserts its own symbol table
# or the system uses ranlib
TSORT=cat

# LORDER - Set to echo if archiver inserts its own symbol table
# or the system uses ranlib
LORDER=echo

# CP - copy file
CP=cp

# CODEMAKER - this is the utility supplied with the test suite
# to extract the code from the combined source files.
CODEMAKER=mc

##################
# TET locations
##################

# The location of TET_ROOT.  This must not contain variable expansions.
TET_ROOT=/usr/mit/testsuite

# TETBASE - The location of the TET directories
TETBASE=${TET_ROOT}/tet

# PORTINC - A directory where headers to allow portability to non-POSIX
# systems are kept
# SunOS	: PORTINC=
# ULTRIX: PORTINC=
# HP-UX	: PORTINC=
# DYNIX	: PORTINC=-I${TET_ROOT}/port/INC
# A/UX  : PORTINC=
# AIXV3	: PORTINC=
# SVR4	: PORTINC=
PORTINC=

# PORTLIB - A library to allow portability to non-POSIX systems
# SunOS	: PORTLIB=
# ULTRIX: PORTLIB=
# HP-UX	: PORTLIB=
# DYNIX	: PORTLIB=${TET_ROOT}/port/libport.a
# A/UX	: PORTLIB=
# AIXV3	: PORTLIB=
# SVR4	: PORTLIB=
PORTLIB=

# TETINCDIR - The directory containing the TET API headers.
TETINCDIR=${TETBASE}/inc/posix_c

# TETLIB - The library containing the TET API library
TETLIB=${TETBASE}/lib/posix_c

# TCM - The Test Control Manager
TCM=${TETLIB}/tcm.o

# TCMCHILD - The Test Control Manager for files executed by tet_exec. 
TCMCHILD=${TETLIB}/tcmchild.o

# APILIB - The TET API library
APILIB=${TETLIB}/libapi.a

####################
# Xtest variables
####################

# XTESTHOST - name of host on which test suite clients are to be executed.
# This may be set to the value returned by a command which can be executed
# using the PATH you have set on your host, or may be set to a specific name.
# This is used to produce a resource file named .Xdefaults-$(XTESTHOST) in the
# test execution directory.
# The resource file is created when building the test for XGetDefault.
# This parameter is only used in the Makefile of the test for XGetDefault.
# Examples are:
# XTESTHOST=`hostname`
# XTESTHOST=`uname -n`
# XTESTHOST=triton
#
# SVR4	: XTESTHOST=`uname -n`
XTESTHOST=`hostname`

# XTESTROOT
XTESTROOT=${TET_ROOT}/xtest

# XTESTLIBDIR - location of the xtest library files
XTESTLIBDIR=${XTESTROOT}/lib

# XTESTLIB - the xtest library
XTESTLIB=${XTESTLIBDIR}/libxtest.a

# XSTLIB - library for linking the X Protocol tests
XSTLIB=${XTESTLIBDIR}/libXst.a

# XTESTFONTLIB - supplementary library with font metrics.
XTESTFONTLIB=${XTESTLIBDIR}/libfont.a

# XTESTINCDIR - the xtest header file directory
XTESTINCDIR=${XTESTROOT}/include

# XTESTBIN - location for xtest binaries.
XTESTBIN=${XTESTROOT}/bin

####################
# System files
####################

# SYSLIBS - Any system libraries that are needed, will almost certainly
# include Xlib.
# If you wish to build the tests to make use of the XTEST extension, you
# will need to include the X extension library and the XTEST library.
# These are usually included by adding -lXtst -lXext before -lX11.
# SVR4	: SYSLIBS=-lX11 -lnsl
SYSLIBS=-lX11

# XP_SYSLIBS - Any system libraries that are needed, to link the
# X Protocol tests. This will include Xlib, since libXst.a
# (which is part of the test suite) will include at least a call
# on XOpenDisplay.
# SVR4	: XP_SYSLIBS=-lX11 -lnsl
XP_SYSLIBS=-lX11

# SYSINC - Any commands that should be given to the C compiler
# to cause all relevant system libraries to search.  May well
# need to include /usr/include/X11
SYSINC=-I/usr/include/X11

################################
##### C compiler Directives Section
################################

# COPTS - Option to C compiler
# SunOS	: COPTS=-O
# ULTRIX: COPTS=-O
# HP-UX	: COPTS=-O -Aa
# DYNIX	: COPTS=-O
# A/UX  : COPTS=-A4 -O
# SVR4	: COPTS=-O -Xc
COPTS=

# DEFINES - C compiler defines.
# If you wish to build the tests to make use of the XTEST extension, you
# will need to define XTESTEXTENSION.
# SunOS	: DEFINES=-DNSIG=32 -DEXIT_FAILURE=1 -DEXIT_SUCCESS=0
# ULTRIX: DEFINES=
# HP-UX	: DEFINES=-D_POSIX_SOURCE -D_XOPEN_SOURCE -D_HPUX_SOURCE
# DYNIX	: DEFINES=
# A/UX  : DEFINES=-D_POSIX_SOURCE -DNSIG=32 -DEXIT_FAILURE=1 -DEXIT_SUCCESS=0
# AIXV3	: DEFINES=-D_POSIX_SOURCE -D_XOPEN_SOURCE -D_ALL_SOURCE
# SVR4	: DEFINES=-D_POSIX_SOURCE -D_XOPEN_SOURCE -DNSIG=32
DEFINES=-D_POSIX_SOURCE

# XP_DEFINES - C compiler defines specific to the X Protocol tests.
# This can be set as DEFINES, but you can build support for additional 
# connection methods beyond TCP/IP, using the following defines, 
# if XP_OPEN_DIS is XlibNoXtst.c (R4/R5 XOpenDisplay emulation):
#	-DDNETCONN - Connections can also use DECnet.
#	-DUNIXCONN - Connections can also use UNIX domain sockets.
# Refer to your documentation for building and installing Xlib on
# your platform.
# If XP_OPEN_DIS is one of XlibXtst.c or XlibOpaque.c then none of
# the defines listed above will be required.
#
# SunOS	: XP_DEFINES=-DUNIXCONN -DEXIT_FAILURE=1 -DEXIT_SUCCESS=0
# ULTRIX: XP_DEFINES=-DUNIXCONN
# HP-UX	: XP_DEFINES=-D_POSIX_SOURCE -D_XOPEN_SOURCE -D_HPUX_SOURCE -DUNIXCONN
# DYNIX	: XP_DEFINES=-D_POSIX_SOURCE -DUNIXCONN
# A/UX 	: XP_DEFINES=-D_POSIX_SOURCE -DUNIXCONN -DEXIT_FAILURE=1 -DEXIT_SUCCESS=0
# AIXV3	: XP_DEFINES=-D_POSIX_SOURCE -D_XOPEN_SOURCE -D_ALL_SOURCE
# SVR4	: XP_DEFINES=
XP_DEFINES=

# LINKOBJOPTS - options to give to the LD program to link object
# files together into one object file that can be further linked.
LINKOBJOPTS=-r

# INCLUDES - Options to cause C compiler to search correct directories
# for headers.
INCLUDES=-I. ${PORTINC} -I${TETINCDIR} -I${XTESTINCDIR} ${SYSINC}

# CFLAGS - Flags for C compiler
CFLAGS=$(CFLOCAL) $(COPTS) $(INCLUDES) $(DEFINES)

# XP_CFLAGS - Flags for C compiler specific to the X Protocol tests.
XP_CFLAGS=$(CFLOCAL) $(COPTS) $(INCLUDES) $(XP_DEFINES)

# LDFLAGS - Flags for the loader.
# SunOS	: LDFLAGS=
# ULTRIX: LDFLAGS=
# HP-UX	: LDFLAGS=
# DYNIX	: LDFLAGS=
# A/UX 	: LDFLAGS=-ZP
# AIXV3	: LDFLAGS=
# SVR4	: LDFLAGS=-Xc -L/usr/lib/X11
LDFLAGS=

# LIBS - List of libraries.
LIBS=${XTESTLIB} ${XTESTFONTLIB} ${APILIB} ${PORTLIB}

# XP_LIBS - List of libraries specific to the X Protocol tests.
XP_LIBS=${XSTLIB} ${XTESTLIB} ${XTESTFONTLIB} ${APILIB} ${PORTLIB}

# XP_OPEN_DIS - A choice of which code to build in the X Protocol library 
# to make an X server connection.
# This must be set to one of three possible values:
#
#	XlibXtst.c	Your Xlib includes enhancements to _XConnectDisplay 
#			ensuring maximum portable protocol test coverage.
#	XlibOpaque.c	You have a normal R4 Xlib or early R5 Xlib which you 
#			cannot patch to include the enhancements to 
#			_XConnectDisplay, and you cannot emulate these by 
#			building XlibNoXtst.c, so only client-native testing 
#			can be done portably, and no failure testing of 
#			XOpenDisplay can be done.
#			This option uses XOpenDisplay to make the connection, 
#			from which the file descriptor is recovered for 
#			our own use. XCloseDisplay shuts down the connection.
#	XlibNoXtst.c	As for XlibOpaque.c but you can use the R4/R5 
#			connection emulation supplied. (Note: R4/R5 independent)
#			This will ensure maximum protocol test coverage
#			but may not be portable to all platforms.
#
# Reasons for not being able to build XlibNoXtst.c might include:
# i)  different interfaces to connection setup and connection read/write;
# ii) different access control mechanisms.
# Refer to your Xlib documentation for further details.
#
#XP_OPEN_DIS=XlibXtst.c
#XP_OPEN_DIS=XlibNoXtst.c
#XP_OPEN_DIS=XlibOpaque.c
XP_OPEN_DIS=XlibOpaque.c

################################
##### Pixel Validation Section.
################################

PVXTESTLIB=${XTESTLIBDIR}/libxtstpv.a
PIXLIB=${XTESTLIBDIR}/libpvt.a
PVLIBS=${PVXTESTLIB} ${XTESTFONTLIB} ${PIXLIB} ${APILIB} ${PORTLIB}

# SYSMATHLIB - system math library.  Directive to be given to the C compiler
# to cause the maths routines to be available.
SYSMATHLIB=-lm

################################
##### Lint Section.
################################

LINT=lint
LINTFLAGS=$(INCLUDES) $(DEFINES) -u -n
LINTXTEST=$(XTESTLIBDIR)/llib-lxtest.ln
LINTXST=$(XTESTLIBDIR)/llib-lXst.ln
LINTFONTS=$(XTESTLIBDIR)/llib-lfonts.ln
LINTTCM=$(XTESTLIBDIR)/llib-ltcm.ln
LINTTCMC=$(XTESTLIBDIR)/llib-ltcmc.ln
LINTLIBS=$(LINTXTEST) $(LINTFONTS)

XP_LINTFLAGS=$(INCLUDES) $(XP_DEFINES) -u -n
XP_LINTLIBS=$(LINTXST) $(LINTXTEST) $(LINTFONTS)
