lt ismom is never wrongg to use

/ LightEngine
项目语言:C++
权限:read-only(如需更高权限请先加入项目)
LightEngine/
Index: bb_enable_doxygen.m4
===================================================================
--- bb_enable_doxygen.m4 (revision 0)
+++ bb_enable_doxygen.m4 (revision 39)
@@ -0,0 +1,34 @@
+AC_DEFUN([BB_ENABLE_DOXYGEN],
+AC_ARG_ENABLE(doxygen, [
--enable-doxygen
enable documentation generation with doxygen (auto)])
+AC_ARG_ENABLE(dot, [
--enable-dot
use 'dot' to generate graphs in doxygen (auto)])
+AC_ARG_ENABLE(html-docs, [
--enable-html-docs
enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes])
+AC_ARG_ENABLE(latex-docs, [
--enable-latex-docs
enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no])
+if test &x$enable_doxygen& = then
enable_doc=no
AC_PATH_PROG(DOXYGEN, doxygen, , $PATH)
if test &x$DOXYGEN& = then
if test &x$enable_doxygen& = then
AC_MSG_ERROR([could not find doxygen])
enable_doc=no
enable_doc=yes
AC_PATH_PROG(DOT, dot, , $PATH)
+AM_CONDITIONAL(DOC, test x$enable_doc = xyes)
+if test x$DOT = then
if test &x$enable_dot& = then
AC_MSG_ERROR([could not find dot])
enable_dot=no
enable_dot=yes
+AC_SUBST(enable_dot)
+AC_SUBST(enable_html_docs)
+AC_SUBST(enable_latex_docs)
Index: ax_cxx_have_isfinite.m4
===================================================================
--- ax_cxx_have_isfinite.m4 (revision 0)
+++ ax_cxx_have_isfinite.m4 (revision 39)
@@ -0,0 +1,27 @@
+dnl @synopsis AX_CXX_HAVE_ISFINITE
+dnl If isfinite() is available to the C++ compiler:
define HAVE_ISFINITE
add &-lm& to LIBS
+AC_DEFUN([AX_CXX_HAVE_ISFINITE],
[ax_cxx_have_isfinite_save_LIBS=$LIBS
LIBS=&$LIBS -lm&
AC_CACHE_CHECK(for isfinite, ax_cv_cxx_have_isfinite,
[AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#include &math.h&]],
[[int f = isfinite( 3 );]])],
[ax_cv_cxx_have_isfinite=yes],
[ax_cv_cxx_have_isfinite=no])
AC_LANG_RESTORE])
if test &$ax_cv_cxx_have_isfinite& = then
AC_DEFINE([HAVE_ISFINITE],1,[define if compiler has isfinite])
LIBS=$ax_cxx_have_isfinite_save_LIBS
Index: missing
===================================================================
--- missing (revision 0)
+++ missing (revision 39)
@@ -0,0 +1,367 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+scriptversion=.23
+# Copyright (C) , , , , 2006
Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard &pinard@iro.umontreal.ca&, 1996.
+# This prog you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software F either version 2, or (at your option)
+# any later version.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# alo if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+if test $# -eq 0; then
echo 1&&2 &Try \`$0 --help' for more information&
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure. then
configure_ac=configure.ac
configure_ac=configure.in
+msg=&missing on your system&
+case $1 in
# Try to run requested program, and just exit if it succeeds.
&$@& && exit 0
# Exit code 63 means version mismatch.
This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version.
In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
msg=&probably too old&
-h|--h|--he|--hel|--help)
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
-h, --help
display this help and exit
-v, --version
output version information and exit
try to run the given command, and emulate it if it fails
+Supported PROGRAM values:
touch file \`aclocal.m4'
touch file \`configure'
autoheader
touch file \`config.h.in'
touch the output file, or create a stub one
touch all \`Makefile.in' files
create \`y.tab.[ch]', if possible, from existing .[ch]
create \`lex.yy.c', if possible, from existing .c
touch the output file
create \`lex.yy.c', if possible, from existing .c
touch the output file
try tar, gnutar, gtar, then tar without non-portable flags
create \`y.tab.[ch]', if possible, from existing .[ch]
+Send bug reports to &bug-automake@gnu.org&.&
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo &missing $scriptversion (GNU Automake)&
echo 1&&2 &$0: Unknown \`$1' option&
echo 1&&2 &Try \`$0 --help' for more information&
+# Now exit if we have it, but it failed.
Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
# Not GNU programs, they don't have --version.
if test -n &$run&; then
echo 1&&2 &ERROR: \`tar' requires --run&
elif test &x$2& = &x--version& || test &x$2& = &x--help&; then
if test -z &$run& && ($1 --version) & /dev/null 2&&1; then
# We have it, but it failed.
elif test &x$2& = &x--version& || test &x$2& = &x--help&; then
# Could not run --version or --help.
This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
echo 1&&2 &\
+WARNING: \`$1' is $msg.
You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'.
You might want
to install the \`Automake' and \`Perl' packages.
Grab them from
any GNU archive site.&
touch aclocal.m4
echo 1&&2 &\
+WARNING: \`$1' is $msg.
You should only need it if
you modified \`${configure_ac}'.
You might want to install the
\`Autoconf' and \`GNU m4' packages.
Grab them from any GNU
archive site.&
touch configure
autoheader)
echo 1&&2 &\
+WARNING: \`$1' is $msg.
You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'.
You might want
to install the \`Autoconf' and \`GNU m4' packages.
from any GNU archive site.&
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z &$files& && files=&config.h&
touch_files=
for f in $ do
case $f in
*:*) touch_files=&$touch_files &`echo &$f& |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files=&$touch_files $f.in&;;
touch $touch_files
automake*)
echo 1&&2 &\
+WARNING: \`$1' is $msg.
You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site.&
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
do touch &$f&; done
echo 1&&2 &\
+WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site.&
file=`echo &$*& | sed -n &$sed_output&`
test -z &$file& && file=`echo &$*& | sed -n &$sed_minuso&`
if test -f &$file&; then
+ touch $file
+ test -z &$file& || exec &$file
+ echo &#! /bin/sh&
+ echo &# Created by GNU Automake missing as a replacement of&
+ echo &exit 0&
+ chmod +x $file
bison|yacc)
echo 1&&2 &\
+WARNING: \`$1' $msg.
You should only need it if
you modified a \`.y' file.
You may need the \`Bison' package
in order for those modifications to take effect.
You can get
\`Bison' from any GNU archive site.&
rm -f y.tab.c y.tab.h
if test $# -ne 1; then
eval LASTARG=&\${$#}&
+ case $LASTARG in
SRCFILE=`echo &$LASTARG& | sed 's/y$/c/'`
if test -f &$SRCFILE&; then
cp &$SRCFILE& y.tab.c
SRCFILE=`echo &$LASTARG& | sed 's/y$/h/'`
if test -f &$SRCFILE&; then
cp &$SRCFILE& y.tab.h
if test ! -f y.tab.h; then
+ echo &y.tab.h
if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' &y.tab.c
echo 1&&2 &\
+WARNING: \`$1' is $msg.
You should only need it if
you modified a \`.l' file.
You may need the \`Flex' package
in order for those modifications to take effect.
You can get
\`Flex' from any GNU archive site.&
rm -f lex.yy.c
if test $# -ne 1; then
eval LASTARG=&\${$#}&
+ case $LASTARG in
SRCFILE=`echo &$LASTARG& | sed 's/l$/c/'`
if test -f &$SRCFILE&; then
cp &$SRCFILE& lex.yy.c
if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' &lex.yy.c
echo 1&&2 &\
+WARNING: \`$1' is $msg.
You should only need it if
you modified a dependency of a manual page.
You may need the
\`Help2man' package in order for those modifications to take
You can get \`Help2man' from any GNU archive site.&
file=`echo &$*& | sed -n &$sed_output&`
test -z &$file& && file=`echo &$*& | sed -n &$sed_minuso&`
if test -f &$file&; then
+ touch $file
+ test -z &$file& || exec &$file
+ echo &.ab help2man is required to generate this page&
echo 1&&2 &\
+WARNING: \`$1' is $msg.
You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual.
The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX).
You might want to install the \`Texinfo' package or
the \`GNU make' package.
Grab either from any GNU archive site.&
# The file to touch is that specified with -o ...
file=`echo &$*& | sed -n &$sed_output&`
test -z &$file& && file=`echo &$*& | sed -n &$sed_minuso&`
if test -z &$file&; then
# ... or it is the one specified with @setfilename ...
infile=`echo &$*& | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '
+ /^@setfilename/{
s/.* \([^ ]*\) *$/\1/
+ }' $infile`
# ... or it is derived from the source name (dir/f.texi )
test -z &$file& && file=`echo &$infile& | sed 's,.*/,,;s,.[^.]*$,,'`.info
# If the file does not exist, the user r
# let's fail without touching anything.
test -f $file || exit 1
touch $file
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version & /dev/null 2&&1); then
gnutar &$@& && exit 0
if (gtar --version & /dev/null 2&&1); then
gtar &$@& && exit 0
firstarg=&$1&
+ case $firstarg in
firstarg=`echo &$firstarg& | sed s/o//`
tar &$firstarg& &$@& && exit 0
+ case $firstarg in
firstarg=`echo &$firstarg& | sed s/h//`
tar &$firstarg& &$@& && exit 0
echo 1&&2 &\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments.&
echo 1&&2 &\
+WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them.
Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package.
You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program.&
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: &scriptversion=&
+# time-stamp-format: &%:y-%02m-%02d.%02H&
+# time-stamp-end: &$&
Index: ac_cxx_string_compare_string_first.m4
===================================================================
--- ac_cxx_string_compare_string_first.m4 (revision 0)
+++ ac_cxx_string_compare_string_first.m4 (revision 39)
@@ -0,0 +1,27 @@
+dnl @synopsis AC_CXX_STRING_COMPARE_STRING_FIRST
+dnl If the standard library string::compare() function takes the
+dnl string as its first argument, define FUNC_STRING_COMPARE_STRING_FIRST to 1.
+dnl @author Steven Robbins
+AC_DEFUN([AC_CXX_STRING_COMPARE_STRING_FIRST],
+[AC_CACHE_CHECK(whether std::string::compare takes a string in argument 1,
+ac_cv_cxx_string_compare_string_first,
+[AC_REQUIRE([AC_CXX_NAMESPACES])
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([#include &string&
+#ifdef HAVE_NAMESPACES
+#endif],[string x(&hi&); string y(&h&);
+pare(y,0,1) == 0;],
+ ac_cv_cxx_string_compare_string_first=yes,
+ ac_cv_cxx_string_compare_string_first=no)
+ AC_LANG_RESTORE
+if test &$ac_cv_cxx_string_compare_string_first& = then
AC_DEFINE(FUNC_STRING_COMPARE_STRING_FIRST,1,
[define if library uses std::string::compare(string,pos,n)])
Index: install-sh
===================================================================
--- install-sh (revision 0)
+++ install-sh (revision 39)
@@ -0,0 +1,519 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+scriptversion=.00
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+# Copyright (C) 1994 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 CONNEC-
+# TION 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 deal-
+# ings in this Software without prior written authorization from the X Consor-
+# FSF changes to this file are in the public domain.
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+IFS=& && $nl&
+# set DOITPROG to echo to test this script
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z &$doit&; then
doit_exec=exec
doit_exec=$doit
+# Put in absolute file names if you don't ha
+# or use environment vars.
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+posix_glob='?'
+initialize_posix_glob='
test &$posix_glob& != &?& || {
if (set -f) 2&/dev/ then
posix_glob=
posix_glob=:
+posix_mkdir=
+# Desired mode of installed file.
+mode=0755
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd=&$rmprog -f&
+stripcmd=
+copy_on_change=false
+no_target_directory=
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
display this help and exit.
display version info and exit.
install only if different (preserve the last data modification time)
create directories instead of installing files.
$chgrpprog installed files to GROUP.
$chmodprog installed files to MODE.
$chownprog installed files to USER.
$stripprog installed files.
-t DIRECTORY
install into DIRECTORY.
report an error if DSTFILE is a directory.
+Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
+while test $# -ne 0; do
case $1 in
-C) copy_on_change=;
-d) dir_arg=;
-g) chgrpcmd=&$chgrpprog $2&
--help) echo &$usage&; exit $?;;
-m) mode=$2
+ case $mode in
*' '* | *' '* | *'
| *'*'* | *'?'* | *'['*)
echo &$0: invalid mode: $mode& &&2
-o) chowncmd=&$chownprog $2&
-s) stripcmd=$;
-t) dst_arg=$2
-T) no_target_directory=;
--version) echo &$0 $scriptversion&; exit $?;;
-*) echo &$0: invalid option: $1& &&2
+ exit 1;;
+if test $# -ne 0 && test -z &$dir_arg$dst_arg&; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination.
Remove it from $@.
if test -n &$dst_arg&; then
# $@ is not empty: it contains at least $arg.
set fnord &$@& &$dst_arg&
shift # fnord
shift # arg
dst_arg=$arg
+if test $# -eq 0; then
if test -z &$dir_arg&; then
echo &$0: no input file specified.& &&2
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
+if test -z &$dir_arg&; then
trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
if test -z &$stripcmd&; then
+ u_plus_rw=
+ u_plus_rw='% 200'
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
if test -z &$stripcmd&; then
+ u_plus_rw=
+ u_plus_rw=,u+rw
cp_umask=$mode$u_plus_;
# Protect names starting with `-'.
case $src in
-*) src=./$;
if test -n &$dir_arg&; then
dstdir=$dst
test -d &$dstdir&
dstdir_status=$?
# Waiting for this to be detected by the &$cpprog $src $dsttmp& command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f &$src& && test ! -d &$src&; then
echo &$0: $src does not exist.& &&2
if test -z &$dst_arg&; then
echo &$0: no destination specified.& &&2
dst=$dst_arg
# Protect names starting with `-'.
case $dst in
-*) dst=./$;
# If destination is a directory, appen won't work
# if double slashes aren't ignored.
if test -d &$dst&; then
if test -n &$no_target_directory&; then
+ echo &$0: $dst_arg: Is a directory& &&2
dstdir=$dst
dst=$dstdir/`basename &$src&`
dstdir_status=0
# Prefer dirname, but fall back on a substitute if dirname fails.
+ (dirname &$dst&) 2&/dev/null ||
+ expr X&$dst& : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X&$dst& : 'X\(//\)[^/]' \| \
X&$dst& : 'X\(//\)$' \| \
X&$dst& : 'X\(/\)' \| . 2&/dev/null ||
+ echo X&$dst& |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
/^X\(\/\/\)[^/].*/{
/^X\(\/\/\)$/{
/^X\(\/\).*/{
s/.*/./; q'
test -d &$dstdir&
dstdir_status=$?
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of .
+ umask=`umask`
+ case $stripcmd.$umask in
# Optimize common cases.
*[]) mkdir_umask=$;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
*) mkdir_umask=$umask,go-w;;
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n &$dir_arg&; then
mkdir_mode=-m$mode
mkdir_mode=
+ posix_mkdir=false
+ case $umask in
*[-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir &$tmpdir/d& &$tmpdir& 2&/dev/ exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- &$tmpdir/d&) &/dev/null 2&&1
if test -z &$dir_arg& || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld &$tmpdir&`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
$mkdirprog -m$different_mode -p -- &$tmpdir& && {
ls_ld_tmpdir_1=`ls -ld &$tmpdir&`
test &$ls_ld_tmpdir& = &$ls_ld_tmpdir_1&
then posix_mkdir=:
rmdir &$tmpdir/d& &$tmpdir&
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2&/dev/null
trap '' 0;;
$posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- &$dstdir&
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition.
Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
+ /*) prefix='/';;
+ -*) prefix='./';;
prefix='';;
eval &$initialize_posix_glob&
$posix_glob set -f
set fnord $dstdir
$posix_glob set +f
+ test -z &$d& && continue
+ prefix=$prefix$d
+ if test -d &$prefix&; then
if $posix_ then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- &$dstdir&) && break
# Don't fail if two instances are running concurrently.
test -d &$prefix& || exit 1
case $prefix in
*\'*) qprefix=`echo &$prefix& | sed &s/'/'\\\\\\\\''/g&`;;
*) qprefix=$;
prefixes=&$prefixes '$qprefix'&
+ prefix=$prefix/
if test -n &$prefixes&; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
eval &\$doit_exec \$mkdirprog $prefixes&) ||
test -d &$dstdir& || exit 1
+ obsolete_mkdir_used=true
if test -n &$dir_arg&; then
{ test -z &$chowncmd& || $doit $chowncmd &$dst&; } &&
{ test -z &$chgrpcmd& || $doit $chgrpcmd &$dst&; } &&
{ test &$obsolete_mkdir_used$chowncmd$chgrpcmd& = false ||
test -z &$chmodcmd& || $doit $chmodcmd $mode &$dst&; } || exit 1
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f &$dsttmp& &$rmtmp& && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog &$src& &$dsttmp&) &&
# do chmod last to preserve setuid bits.
# If any of these fail, we abort the whole thing.
If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above &$doit $cpprog $src $dsttmp& command.
{ test -z &$chowncmd& || $doit $chowncmd &$dsttmp&; } &&
{ test -z &$chgrpcmd& || $doit $chgrpcmd &$dsttmp&; } &&
{ test -z &$stripcmd& || $doit $stripcmd &$dsttmp&; } &&
{ test -z &$chmodcmd& || $doit $chmodcmd $mode &$dsttmp&; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL &$dst& 2&/dev/null` &&
new=`LC_ALL=C ls -dlL &$dsttmp& 2&/dev/null` &&
eval &$initialize_posix_glob& &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test &$old& = &$new& &&
$cmpprog &$dst& &$dsttmp& &/dev/null 2&&1
rm -f &$dsttmp&
# Rename the file to the real destination.
$doit $mvcmd -f &$dsttmp& &$dst& 2&/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons.
In this case, the final cleanup might fail but the new
+ # file should still install successfully.
test ! -f &$dst& ||
$doit $rmcmd -f &$dst& 2&/dev/null ||
{ $doit $mvcmd -f &$dst& &$rmtmp& 2&/dev/null &&
{ $doit $rmcmd -f &$rmtmp& 2&/dev/ :; }
{ echo &$0: cannot unlink or rename $dst& &&2
(exit 1); exit 1
+ # Now rename the file to the real destination.
+ $doit $mvcmd &$dsttmp& &$dst&
fi || exit 1
trap '' 0
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: &scriptversion=&
+# time-stamp-format: &%:y-%02m-%02d.%02H&
+# time-stamp-end: &$&
Index: ac_cxx_namespaces.m4
===================================================================
--- ac_cxx_namespaces.m4 (revision 0)
+++ ac_cxx_namespaces.m4 (revision 39)
@@ -0,0 +1,22 @@
+dnl @synopsis AC_CXX_NAMESPACES
+dnl If the compiler can prevent names clashes using namespaces, define
+dnl HAVE_NAMESPACES.
+dnl @version $Id: ac_cxx_namespaces.m4,v 1.1
23:26:36 smr99 Exp $
+dnl @author Luc Maisonobe
+AC_DEFUN([AC_CXX_NAMESPACES],
+[AC_CACHE_CHECK(whether the compiler implements namespaces,
+ac_cv_cxx_namespaces,
+[AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([namespace Outer { namespace Inner { int i = 0; }}],
[using namespace Outer::I],
+ ac_cv_cxx_namespaces=yes, ac_cv_cxx_namespaces=no)
+ AC_LANG_RESTORE
+if test &$ac_cv_cxx_namespaces& = then
AC_DEFINE(HAVE_NAMESPACES,1,[define to 1 if the compiler implements namespaces])
Index: ac_cxx_have_sstream.m4
===================================================================
--- ac_cxx_have_sstream.m4 (revision 0)
+++ ac_cxx_have_sstream.m4 (revision 39)
@@ -0,0 +1,24 @@
+dnl @synopsis AC_CXX_HAVE_SSTREAM
+dnl If the C++ library has a working stringstream, define HAVE_SSTREAM.
+dnl @author Ben Stanley
+dnl @version $Id: ac_cxx_have_sstream.m4,v 1.1
16:05:47 smr99 Exp $
+AC_DEFUN([AC_CXX_HAVE_SSTREAM],
+[AC_CACHE_CHECK(whether the compiler has stringstream,
+ac_cv_cxx_have_sstream,
+[AC_REQUIRE([AC_CXX_NAMESPACES])
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([#include &sstream&
+#ifdef HAVE_NAMESPACES
+#endif],[ message && &Hello&; return 0;],
+ ac_cv_cxx_have_sstream=yes, ac_cv_cxx_have_sstream=no)
+ AC_LANG_RESTORE
+if test &$ac_cv_cxx_have_sstream& = then
AC_DEFINE(HAVE_SSTREAM,1,[define if the compiler has stringstream])
Index: ac_cxx_rtti.m4
===================================================================
--- ac_cxx_rtti.m4 (revision 0)
+++ ac_cxx_rtti.m4 (revision 39)
@@ -0,0 +1,34 @@
+dnl @synopsis AC_CXX_RTTI
+dnl If the compiler supports Run-Time Type Identification (typeinfo
+dnl header and typeid keyword), define HAVE_RTTI.
+dnl @version $Id: ac_cxx_rtti.m4,v 1.1
22:29:52 smr99 Exp $
+dnl @author Luc Maisonobe
+AC_DEFUN([AC_CXX_RTTI],
+[AC_CACHE_CHECK(whether the compiler supports Run-Time Type Identification,
+ac_cv_cxx_rtti,
+[AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
+ AC_TRY_COMPILE([#include &typeinfo&
+class Base { public :
Base () {}
virtual int f () { return 0; }
+class Derived : public Base { public :
Derived () {}
virtual int f () { return 1; }
+Base *ptr = &d;
+return typeid (*ptr) == typeid (Derived);
+ ac_cv_cxx_rtti=yes, ac_cv_cxx_rtti=no)
+ AC_LANG_RESTORE
+if test &$ac_cv_cxx_rtti& = then
AC_DEFINE(HAVE_RTTI,1,
[define if the compiler supports Run-Time Type Identification])
Index: depcomp
===================================================================
--- depcomp (revision 0)
+++ depcomp (revision 39)
@@ -0,0 +1,589 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+scriptversion=.01
+# Copyright (C) , , , 2007 Free Software
+# Foundation, Inc.
+# This prog you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software F either version 2, or (at your option)
+# any later version.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# alo if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+# Originally written by Alexandre Oliva &oliva@dcc.unicamp.br&.
+case $1 in
'')
echo &$0: No command.
Try \`$0 --help' for more information.& 1&&2
-h | --h*)
cat &&\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+Environment variables:
Dependency tracking mode.
Source file read by `PROGRAMS ARGS'.
Object file output by `PROGRAMS ARGS'.
directory where to store dependencies.
Dependency file to output.
tmpdepfile
Temporary file to use when outputing dependencies.
Whether libtool is used (yes/no).
+Report bugs to &bug-automake@gnu.org&.
-v | --v*)
echo &depcomp $scriptversion&
+if test -z &$depmode& || test -z &$source& || test -z &$object&; then
echo &depcomp: Variables source, object and depmode must be set& 1&&2
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo &$object& |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo &$depfile& | sed 's/\.\([^.]*\)$/.T\1/'`}
+rm -f &$tmpdepfile&
+# Some modes work just like other modes, but use different flags.
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.
Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test &$depmode& = then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
+if test &$depmode& = dashX then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
+case &$depmode& in
+## gcc 3 implements dependency tracking that does exactly what
+## we want.
Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command so add the flags where they
+## appear in depend2.am.
Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
case $arg in
-c) set fnord &$@& -MT &$object& -MD -MP -MF &$tmpdepfile& &$arg& ;;
set fnord &$@& &$arg& ;;
shift # fnord
shift # $arg
if test $stat -eq 0; then :
rm -f &$tmpdepfile&
exit $stat
mv &$tmpdepfile& &$depfile&
+## There are various ways to get dependency output from gcc.
Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
up in a subdir.
Having to rename by hand is ugly.
(We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
than renaming).
if test -z &$gccflag&; then
gccflag=-MD,
&$@& -Wp,&$gccflag$tmpdepfile&
if test $stat -eq 0; then :
rm -f &$tmpdepfile&
exit $stat
rm -f &$depfile&
echo &$object : \\& & &$depfile&
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' & &$tmpdepfile& && &$depfile&
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).
We avoid this by adding
+## dummy dependencies for each header file.
Too bad gcc doesn't do
+## this for us directly.
tr ' ' '
+' & &$tmpdepfile& |
+## Some versions of gcc put a space before the `:'.
On the theory
+## that the space means something, we add a space to the output as
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.
Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' && &$depfile&
rm -f &$tmpdepfile&
# This case exists only to let depend.m4 do its work.
It works by
# looking at the text of this script.
This case will never be run,
# since it is checked for above.
if test &$libtool& = then
&$@& &-Wp,-MDupdate,$tmpdepfile&
&$@& -MDupdate &$tmpdepfile&
if test $stat -eq 0; then :
rm -f &$tmpdepfile&
exit $stat
rm -f &$depfile&
if test -f &$tmpdepfile&; then
# yes, the sourcefile depend on other files
echo &$object : \\& & &$depfile&
# Clip off the initial element (the dependent).
Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5).
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
+' & &$tmpdepfile& \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+' ' ' && $depfile
echo && $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
+' & &$tmpdepfile& \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
&& $depfile
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# &include basename.Plo& scheme.
echo &#dummy& & &$depfile&
rm -f &$tmpdepfile&
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file.
In older versions, this file always lives in the
# current directory.
Also, the AIX compiler puts `$object:' at the
# $object doesn't have directory information.
# Version 6 uses the directory in both cases.
dir=`echo &$object& | sed -e 's|/[^/]*$|/|'`
test &x$dir& = &x$object& && dir=
base=`echo &$object& | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test &$libtool& = then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
tmpdepfile3=$dir.libs/$base.u
&$@& -Wc,-M
tmpdepfile1=$dir$base.u
tmpdepfile2=$dir$base.u
tmpdepfile3=$dir$base.u
if test $stat -eq 0; then :
rm -f &$tmpdepfile1& &$tmpdepfile2& &$tmpdepfile3&
exit $stat
for tmpdepfile in &$tmpdepfile1& &$tmpdepfile2& &$tmpdepfile3&
test -f &$tmpdepfile& && break
if test -f &$tmpdepfile&; then
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e &s,^.*\.[a-z]*:,$object:,& & &$tmpdepfile& & &$depfile&
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[
]*,,' -e 's,$,:,' & &$tmpdepfile& && &$depfile&
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# &include basename.Plo& scheme.
echo &#dummy& & &$depfile&
rm -f &$tmpdepfile&
# Intel's C compiler understands `-MD -MF file'.
However on
icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
foo.o: sub/foo.c
foo.o: sub/foo.h
# which is wrong.
sub/foo.o: sub/foo.c
sub/foo.o: sub/foo.h
sub/foo.c:
sub/foo.h:
# ICC 7.1 will output
foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
foo.o: sub/foo.c ... \
sub/foo.h ... \
&$@& -MD -MF &$tmpdepfile&
if test $stat -eq 0; then :
rm -f &$tmpdepfile&
exit $stat
rm -f &$depfile&
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed &s,^[^:]*:,$object :,& & &$tmpdepfile& & &$depfile&
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly.
Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' & &$tmpdepfile& |
sed -e 's/$/ :/' && &$depfile&
rm -f &$tmpdepfile&
# The &hp& stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors.
The correct option
# to use with these is +M it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 see comments there.
dir=`echo &$object& | sed -e 's|/[^/]*$|/|'`
test &x$dir& = &x$object& && dir=
base=`echo &$object& | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test &$libtool& = then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
&$@& -Wc,+Maked
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
&$@& +Maked
if test $stat -eq 0; then :
rm -f &$tmpdepfile1& &$tmpdepfile2&
exit $stat
for tmpdepfile in &$tmpdepfile1& &$tmpdepfile2&
test -f &$tmpdepfile& && break
if test -f &$tmpdepfile&; then
sed -e &s,^.*\.[a-z]*:,$object:,& &$tmpdepfile& & &$depfile&
# Add `dependent.h:' lines.
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/;}' &$tmpdepfile& && &$depfile&
echo &#dummy& & &$depfile&
rm -f &$tmpdepfile& &$tmpdepfile2&
# The Tru64 compiler uses -MD to generate dependencies as a side
`cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo &$object& | sed -e 's|/[^/]*$|/|'`
test &x$dir& = &x$object& && dir=
base=`echo &$object& | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test &$libtool& = then
# With Tru64 cc, shared objects can also be used to make a
# static library.
This mechanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries.
# compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d.
We have to check for both files, because
# one of the two compilations can be disabled.
We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d
# libtool 1.4
tmpdepfile2=$dir$base.o.d
# libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d
# libtool 1.5
tmpdepfile4=$dir.libs/$base.d
# Compaq CCC V6.2-504
&$@& -Wc,-MD
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
if test $stat -eq 0; then :
rm -f &$tmpdepfile1& &$tmpdepfile2& &$tmpdepfile3& &$tmpdepfile4&
exit $stat
for tmpdepfile in &$tmpdepfile1& &$tmpdepfile2& &$tmpdepfile3& &$tmpdepfile4&
test -f &$tmpdepfile& && break
if test -f &$tmpdepfile&; then
sed -e &s,^.*\.[a-z]*:,$object:,& & &$tmpdepfile& & &$depfile&
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[
]*,,' -e 's,$,:,' & &$tmpdepfile& && &$depfile&
echo &#dummy& & &$depfile&
rm -f &$tmpdepfile&
+#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
+dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
&$@& || exit $?
# Remove the call to Libtool.
if test &$libtool& = then
while test $1 != '--mode=compile'; do
# Remove `-o $object'.
case $arg in
set fnord &$@& &$arg&
shift # fnord
shift # $arg
test -z &$dashmflag& && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name.
This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
&$@& $dashmflag |
sed 's:^[
]*[^: ][^:][^:]*\:[
]*:'&$object&'\: :' & &$tmpdepfile&
rm -f &$depfile&
cat & &$tmpdepfile& & &$depfile&
tr ' ' '
+' & &$tmpdepfile& | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.
Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' && &$depfile&
rm -f &$tmpdepfile&
+dashXmstdout)
# This case only exists to satisfy depend.m4.
It is never actually
# run, as this mode is specially recognized in the preamble.
+makedepend)
&$@& || exit $?
# Remove any Libtool call
if test &$libtool& = then
while test $1 != '--mode=compile'; do
# X makedepend
cleared=no
for arg in &$@&; do
case $cleared in
set &&; shift
case &$arg& in
set fnord &$@& &$arg&;;
# Strip any option that makedepend may not understand.
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
set fnord &$@& &$arg&;;
obj_suffix=&`echo $object | sed 's/^.*\././'`&
touch &$tmpdepfile&
${MAKEDEPEND-makedepend} -o&$obj_suffix& -f&$tmpdepfile& &$@&
rm -f &$depfile&
cat & &$tmpdepfile& & &$depfile&
sed '1,2d' &$tmpdepfile& | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.
Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' && &$depfile&
rm -f &$tmpdepfile& &$tmpdepfile&.bak
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
&$@& || exit $?
# Remove the call to Libtool.
if test &$libtool& = then
while test $1 != '--mode=compile'; do
# Remove `-o $object'.
case $arg in
set fnord &$@& &$arg&
shift # fnord
shift # $arg
sed -n -e '/^# [0-9][0-9]* &\([^&]*\)&.*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* &\([^&]*\)&.*/ s:: \1 \\:p' |
sed '$ s: \\$::' & &$tmpdepfile&
rm -f &$depfile&
echo &$object : \\& & &$depfile&
cat & &$tmpdepfile& && &$depfile&
sed & &$tmpdepfile& '/^$/d;s/^ //;s/ \\$//;s/$/ :/' && &$depfile&
rm -f &$tmpdepfile&
+msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
&$@& || exit $?
case &$arg& in
&-Gm&|&/Gm&|&-Gi&|&/Gi&|&-ZI&|&/ZI&)
+ set fnord &$@&
+ set fnord &$@& &$arg&
sed -n '/^#line [0-9][0-9]* &\([^&]*\)&/ s::echo &`cygpath -u \\&\1\\&`&:p' | sort | uniq & &$tmpdepfile&
rm -f &$depfile&
echo &$object : \\& & &$depfile&
. &$tmpdepfile& | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' && &$depfile&
echo & & && &$depfile&
. &$tmpdepfile& | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' && &$depfile&
rm -f &$tmpdepfile&
echo &Unknown depmode $depmode& 1&&2
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: &scriptversion=&
+# time-stamp-format: &%:y-%02m-%02d.%02H&
+# time-stamp-end: &$&
Index: config.guess
===================================================================
--- config.guess (revision 0)
+++ config.guess (revision 39)
@@ -0,0 +1,1526 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
Copyright (C) , , , ,
, , , , 2008
Free Software Foundation, Inc.
+timestamp=''
+# This f you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software F either version 2 of the License, or
+# (at your option) any later version.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU
+# General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# alo if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+# Originally written by Per Bothner &&.
+# Please send patches to &config-patches@gnu.org&.
Submit a context
+# diff and a properly formatted ChangeLog entry.
+# This script attempts to guess a canonical system name similar to
+# config.sub.
If it succeeds, it prints the system name on stdout, and
+# exits with 0.
Otherwise, it exits with 1.
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+me=`echo &$0& | sed -e 's,.*/,,'`
+Usage: $0 [OPTION]
+Output the configuration name of the system \`$me' is run on.
+Operation modes:
-h, --help
print this help, then exit
-t, --time-stamp
print date of last modification, then exit
-v, --version
print version number, then exit
+Report bugs and patches to &config-patches@gnu.org&.&
+version=&\
+GNU config.guess ($timestamp)
+Originally written by Per Bothner.
+Copyright (C) , , , , ,
+, , , 2008 Free Software Foundation, Inc.
+T see the source for copying conditions.
There is NO
+ not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&
+Try \`$me --help' for more information.&
+# Parse command line
+while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo &$timestamp& ;;
--version | -v )
echo &$version& ;;
--help | --h* | -h )
echo &$usage&;;
# Stop option processing
- ) # Use stdin as input.
echo &$me: invalid option $1$help& &&2
+if test $# != 0; then
echo &$me: too many arguments$help& &&2
+trap 'exit 1' 1 2 15
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+# Portable tmp directory creation inspired by the Autoconf team.
+set_cc_for_build='
+trap &exitcode=\$?; (rm -f \$tmpfiles 2&/dev/ rmdir \$tmp 2&/dev/null) && exit \$exitcode& 0 ;
+trap &rm -f \$tmpfiles 2&/dev/ rmdir \$tmp 2&/dev/ exit 1& 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d &$TMPDIR/cgXXXXXX&) 2&/dev/null` && test -n &$tmp& && test -d &$tmp& ; } ||
+ { test -n &$RANDOM& && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo &Warning: creating insecure temp directory& &&2 ; } ||
+ { echo &$me: cannot create a temporary directory in $TMPDIR& &&2 ; exit 1 ; } ;
+dummy=$tmp/
+tmpfiles=&$dummy.c $dummy.o $dummy.rel $dummy& ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
echo && & $dummy.
+ for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) &/dev/null 2&&1 ; then
CC_FOR_BUILD=&$c&;
+ if test x&$CC_FOR_BUILD& = then
CC_FOR_BUILD=no_compiler_
CC_FOR_BUILD=$CC ;;
CC_FOR_BUILD=$HOST_CC ;;
+ set_cc_for_build= ;'
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu )
+if (test -f /.attbin/uname) &/dev/null 2&&1 ; then
+ PATH=$PATH:/. export PATH
+UNAME_MACHINE=`(uname -m) 2&/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2&/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2&/dev/null`
|| UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2&/dev/null` || UNAME_VERSION=unknown
+# Note: order is significant - the case branches are not exclusive.
+case &${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}& in
*:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*.
For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format.
This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name.
We always set it to &unknown&.
+ sysctl=&sysctl -n hw.machine_arch&
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2&/dev/null || \
/usr/sbin/$sysctl 2&/dev/null || echo unknown)`
+ case &${UNAME_MACHINE_ARCH}& in
armeb) machine=armeb-;
arm*) machine=arm-;
sh3el) machine=shl-;
sh3eb) machine=sh-;
sh5el) machine=sh5le-;
*) machine=${UNAME_MACHINE_ARCH}-;
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case &${UNAME_MACHINE_ARCH}& in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2&/dev/null \
| grep __ELF__ &/dev/null
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either.
os=netbsdelf
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case &${UNAME_VERSION}& in
release='-gnu'
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo &${machine}-${os}${release}&
*:OpenBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
*:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
*:SolidBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
macppc:MirBSD:*:*)
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
*:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995.
I hope that
+ # covers most systems running today.
This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^
The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case &$ALPHA_CPU_TYPE& in
&EV4 (21064)&)
UNAME_MACHINE=&alpha& ;;
&EV4.5 (21064)&)
UNAME_MACHINE=&alpha& ;;
&LCA4 ()&)
UNAME_MACHINE=&alpha& ;;
&EV5 (21164)&)
UNAME_MACHINE=&alphaev5& ;;
&EV5.6 (21164A)&)
UNAME_MACHINE=&alphaev56& ;;
&EV5.6 (21164PC)&)
UNAME_MACHINE=&alphapca56& ;;
&EV5.7 (21164PC)&)
UNAME_MACHINE=&alphapca57& ;;
&EV6 (21264)&)
UNAME_MACHINE=&alphaev6& ;;
&EV6.7 (21264A)&)
UNAME_MACHINE=&alphaev67& ;;
&EV6.8CB (21264C)&)
UNAME_MACHINE=&alphaev68& ;;
&EV6.8AL (21264B)&)
UNAME_MACHINE=&alphaev68& ;;
&EV6.8CX (21264D)&)
UNAME_MACHINE=&alphaev68& ;;
&EV6.9A (21264/EV69A)&)
UNAME_MACHINE=&alphaev69& ;;
&EV7 (21364)&)
UNAME_MACHINE=&alphaev7& ;;
&EV7.9 (21364A)&)
UNAME_MACHINE=&alphaev79& ;;
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses &1.2& for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
*:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
*:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
*:OS/390:*:*)
+ echo i370-ibm-openedition
*:z/VM:*:*)
+ echo s390-ibm-zvmoe
*:OS400:*:*)
echo powerpc-ibm-os400
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
arm:riscos:*:*|arm:RISCOS:*:*)
+ echo arm-unknown-riscos
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test &`(/bin/universe) 2&/dev/null`& = then
echo pyramid-pyramid-sysv3
echo pyramid-pyramid-bsd
NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7;;
sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6.
Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
sun4*:SunOS:*:*)
+ case &`/usr/bin/arch -k`& in
Series*|S4*)
UNAME_RELEASE=`uname -v`
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2&/dev/null`
+ test &x${UNAME_RELEASE}& = &x& && UNAME_RELEASE=3
+ case &`/bin/arch`& in
echo m68k-sun-sunos${UNAME_RELEASE}
echo sparc-sun-sunos${UNAME_RELEASE}
aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
# The situation for MiNT is a little confusing.
The machine name
# can be virtually everything (everything which is not
# &atarist& or &atariste& at least should have a processor
# & m68000).
The system name ranges from &MiNT& over &FreeMiNT&
# to the lowercase version &mint& (or &freemint&).
# the system name &TOS& denotes a system which is actually not
But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' && EOF &$dummy.c
+#ifdef __cplusplus
+#include &stdio.h&
/* for printf() prototype */
+ int main (int argc, char *argv[]) {
+ int main (argc, argv) char *argv[]; {
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
printf (&mips-mips-riscos%ssysv\n&, argv[1]); exit (0);
+ #if defined (SYSTYPE_SVR4)
printf (&mips-mips-riscos%ssvr4\n&, argv[1]); exit (0);
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf (&mips-mips-riscos%sbsd\n&, argv[1]); exit (0);
exit (-1);
+ $CC_FOR_BUILD -o $dummy $dummy.c &&
dummyarg=`echo &${UNAME_RELEASE}& | sed -n 's/\([0-9]*\).*/\1/p'` &&
SYSTEM_NAME=`$dummy $dummyarg` &&
{ echo &$SYSTEM_NAME&; }
+ echo mips-mips-riscos${UNAME_RELEASE}
Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
echo m88k-dg-dgux${UNAME_RELEASE}
echo m88k-dg-dguxbcs${UNAME_RELEASE}
echo i586-dg-dgux${UNAME_RELEASE}
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
*:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
????????:AIX?:[12].1:2)
# AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix
# uname -m gives an 8 hex-code CPU id
# Note that: echo &'`uname -s`'& gives 'AIX '
i*86:AIX:*:*)
+ echo i386-ibm-aix
ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
*:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h &/dev/null 2&&1; then
eval $set_cc_for_build
sed 's/^
//' && EOF &$dummy.c
#include &sys/systemcfg.h&
if (!__power_pc())
puts(&powerpc-ibm-aix3.2.5&);
if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
echo &$SYSTEM_NAME&
echo rs6000-ibm-aix3.2.5
+ elif grep bos324 /usr/include/stdio.h &/dev/null 2&&1; then
echo rs6000-ibm-aix3.2.4
echo rs6000-ibm-aix3.2
*:AIX:*:[456])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' &/dev/null 2&&1; then
IBM_ARCH=rs6000
IBM_ARCH=powerpc
+ if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
*:AIX:*:*)
+ echo rs6000-ibm-aix
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
ibmrt:*BSD:*|romp-ibm:BSD:*)
# covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE}
# 4.3 with uname added to
# report: romp-ibm BSD 4.3
*:BOSX:*:*)
+ echo rs6000-bull-bosx
DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case &${UNAME_MACHINE}& in
9000/31? )
HP_ARCH=m68000 ;;
9000/[34]?? )
HP_ARCH=m68;
][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2&/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2&/dev/null`
case &${sc_cpu_version}& in
523) HP_ARCH=&hppa1.0& ;; # CPU_PA_RISC1_0
528) HP_ARCH=&hppa1.1& ;; # CPU_PA_RISC1_1
# CPU_PA_RISC2_0
case &${sc_kernel_bits}& in
32) HP_ARCH=&hppa2.0n& ;;
64) HP_ARCH=&hppa2.0w& ;;
'') HP_ARCH=&hppa2.0& ;;
# HP-UX 10.20
if [ &${HP_ARCH}& = && ]; then
eval $set_cc_for_build
sed 's/^
//' && EOF &$dummy.c
#define _HPUX_SOURCE
#include &stdlib.h&
#include &unistd.h&
int main ()
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
= sysconf (_SC_CPU_VERSION);
switch (cpu)
case CPU_PA_RISC1_0: puts (&hppa1.0&);
case CPU_PA_RISC1_1: puts (&hppa1.1&);
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
case 64: puts (&hppa2.0w&);
case 32: puts (&hppa2.0n&);
default: puts (&hppa2.0&);
/* !defined(_SC_KERNEL_BITS) */
puts (&hppa2.0&);
default: puts (&hppa1.0&);
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2&/dev/null) && HP_ARCH=`$dummy`
test -z &$HP_ARCH& && HP_ARCH=hppa
+ if [ ${HP_ARCH} = &hppa2.0w& ]
eval $set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code.
hppa64-hp-hpux* has the same kernel and a compiler
# generating 64-bit code.
GNU and HP use different nomenclature:
# $ CC_FOR_BUILD=cc ./config.guess
# =& hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD=&cc +DA2.0w& ./config.guess
# =& hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2&/dev/null) |
grep __LP64__ &/dev/null
HP_ARCH=&hppa2.0w&
HP_ARCH=&hppa64&
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' && EOF &$dummy.c
+ #include &unistd.h&
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0.
CPU_IS_PA_RISC returns correct
results, however.
if (CPU_IS_PA_RISC (cpu))
switch (cpu)
case CPU_PA_RISC1_0: puts (&hppa1.0-hitachi-hiuxwe2&);
case CPU_PA_RISC1_1: puts (&hppa1.1-hitachi-hiuxwe2&);
case CPU_PA_RISC2_0: puts (&hppa2.0-hitachi-hiuxwe2&);
default: puts (&hppa-hitachi-hiuxwe2&);
else if (CPU_IS_HP_MC68K (cpu))
puts (&m68k-hitachi-hiuxwe2&);
else puts (&unknown-hitachi-hiuxwe2&);
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
{ echo &$SYSTEM_NAME&; }
+ echo unknown-hitachi-hiuxwe2
9000/7??:4.3bsd:*:* | ]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
echo ${UNAME_MACHINE}-unknown-osf1
parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
*:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo &${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}&
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo &sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}&
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
*:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
*:FreeBSD:*:*)
+ case ${UNAME_MACHINE} in
echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
*:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
i*:windows32*:*)
# uname -m includes &-pc& on this system.
echo ${UNAME_MACHINE}-mingw32
+ echo ${UNAME_MACHINE}-pc-pw32
*:Interix*:[3456]*)
case ${UNAME_MACHINE} in
echo i586-pc-interix${UNAME_RELEASE}
EM64T | authenticamd)
echo x86_64-unknown-interix${UNAME_RELEASE}
echo ia64-unknown-interix${UNAME_RELEASE}
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX su

我要回帖

更多关于 it is no use to do 的文章

 

随机推荐