?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