?RCS: $Id: Unix.U,v 3.0.1.1 1997/02/28 15:20:06 ram Exp $
?RCS:
?RCS: Copyright (c) 1991-1993, Raphael Manfredi
?RCS:
?RCS: You may redistribute only under the terms of the Artistic License,
?RCS: as specified in the README file that comes with the distribution.
?RCS: You may reuse parts of this distribution only within the terms of
?RCS: that same Artistic License; a copy of which may be found at the root
?RCS: of the source tree for dist 3.0.
?RCS:
?RCS: $Log: Unix.U,v $
?RCS: Revision 3.0.1.1  1997/02/28  15:20:06  ram
?RCS: patch61: created
?RCS:
?X:
?X: The purpose of this unit is to define things that are common across all
?X: known UNIX platforms. If Configure is ported/used on a non-UNIX
?X: environment, then some of the following variables can be redefined in hint
?X: files.
?X:
?MAKE:Unix _exe _a _o exe_ext lib_ext obj_ext path_sep \
	firstmakefile archobjs rm_try: Oldconfig rm
?MAKE:	-pick add $@ %<
?S:_exe:
?S:	This variable defines the extension used for executable files.
?S:	DJGPP, Cygwin and OS/2 use '.exe'.  Stratus VOS uses '.pm'.
?S:	On operating systems which do not require a specific extension
?S:	for executable files, this variable is empty.
?S:.
?S:_a:
?S:	This variable defines the extension used for ordinary library files.
?S:	For unix, it is '.a'.  The '.' is included.  Other possible
?S:	values include '.lib'.
?S:.
?S:_o:
?S:	This variable defines the extension used for object files.
?S:	For unix, it is '.o'.  The '.' is included.  Other possible
?S:	values include '.obj'.
?S:.
?S:firstmakefile:
?S:	This variable defines the first file searched by make.  On unix,
?S:	it is makefile (then Makefile).  On case-insensitive systems,
?S:	it might be something else.  This is only used to deal with
?S:	convoluted make depend tricks.
?S:.
?S:archobjs:
?S:	This variable defines any additional objects that must be linked
?S:	in with the program on this architecture.  On unix, it is usually
?S:	empty.  It is typically used to include emulations of unix calls
?S:	or other facilities.  For perl on OS/2, for example, this would
?S:	include os2/os2.obj.
?S:.
?X: Metaconfig's Obsolete symbol stuff is too over-eager.  In the
?X: perl sources, it picks up things like "P" and "FLOCK" that are
?X: not used in the way Metaconfig thinks they are.  Thus I can't
?X: just declare these obsolete and then run metaconfig -o.
?X: Instead, I'll just handle them here.
?X:	Sadly, history has conspired to give us a web of definitions;
?X:	this could have been much simpler.
?S:lib_ext:
?S:	This is an old synonym for _a.
?S:.
?S:exe_ext:
?S:	This is an old synonym for _exe.
?S:.
?S:obj_ext:
?S:	This is an old synonym for _o.
?S:.
?S:path_sep:
?S:	This is an old synonym for p_ in Head.U, the character
?S:	used to separate elements in the command shell search PATH.
?S:.
?S:rm_try:
?S:	This is a cleanup variable for try test programs.
?S:	Internal Configure use only.
?S:.
?LINT: change p_
?INIT:: Trailing extension.  Override this in a hint file, if needed.
?INIT:: Extra object files, if any, needed on this platform.
?INIT:archobjs=''
: Define several unixisms.
: Hints files or command line option can be used to override them.
: The convoluted testing is in case hints files set either the old
: or the new name.
case "$_exe" in
'')	case "$exe_ext" in
	'')	;;
	*)	_exe="$exe_ext" ;;
	esac
	;;
esac
case "$_a" in
'')	case "$lib_ext" in
    '')	_a='.a';;
	*)	_a="$lib_ext" ;;
	esac
	;;
esac
case "$_o" in
'') case "$obj_ext" in
	'')	_o='.o';;
	*)	_o="$obj_ext";;
	esac
	;;
esac
case "$p_" in
'') case "$path_sep" in
	'')	p_=':';;
	*)	p_="$path_sep";;
	esac
	;;
esac
exe_ext=$_exe
lib_ext=$_a
obj_ext=$_o
path_sep=$p_

rm_try="$rm -f try try$_exe a.out .out try.[cho] try.$_o core core.try* try.core*"

@if firstmakefile
: Which makefile gets called first.  This is used by make depend.
case "$firstmakefile" in
'') firstmakefile='makefile';;
esac

@end
