Created
June 16, 2014 22:29
-
-
Save gaoyifan/916be1f0191e1ef10058 to your computer and use it in GitHub Desktop.
bmon-3.1 patch for Homebrew
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/Makefile.in b/Makefile.in | |
index 6a94c01..0cfbd52 100644 | |
--- a/Makefile.in | |
+++ b/Makefile.in | |
@@ -1,4 +1,4 @@ | |
-# Makefile.in generated by automake 1.13.2 from Makefile.am. | |
+# Makefile.in generated by automake 1.14.1 from Makefile.am. | |
# @configure_input@ | |
# Copyright (C) 1994-2013 Free Software Foundation, Inc. | |
@@ -78,11 +78,18 @@ POST_INSTALL = : | |
NORMAL_UNINSTALL = : | |
PRE_UNINSTALL = : | |
POST_UNINSTALL = : | |
+build_triplet = @build@ | |
+host_triplet = @host@ | |
+target_triplet = @target@ | |
subdir = . | |
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ | |
$(top_srcdir)/configure $(am__configure_deps) \ | |
$(top_srcdir)/include/bmon/defs.h.in ChangeLog \ | |
- build-aux/depcomp build-aux/install-sh build-aux/missing \ | |
+ build-aux/compile build-aux/config.guess build-aux/config.sub \ | |
+ build-aux/install-sh build-aux/missing \ | |
+ $(top_srcdir)/build-aux/compile \ | |
+ $(top_srcdir)/build-aux/config.guess \ | |
+ $(top_srcdir)/build-aux/config.sub \ | |
$(top_srcdir)/build-aux/install-sh \ | |
$(top_srcdir)/build-aux/missing | |
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | |
@@ -294,14 +301,22 @@ am__quote = @am__quote@ | |
am__tar = @am__tar@ | |
am__untar = @am__untar@ | |
bindir = @bindir@ | |
+build = @build@ | |
build_alias = @build_alias@ | |
+build_cpu = @build_cpu@ | |
+build_os = @build_os@ | |
+build_vendor = @build_vendor@ | |
builddir = @builddir@ | |
datadir = @datadir@ | |
datarootdir = @datarootdir@ | |
docdir = @docdir@ | |
dvidir = @dvidir@ | |
exec_prefix = @exec_prefix@ | |
+host = @host@ | |
host_alias = @host_alias@ | |
+host_cpu = @host_cpu@ | |
+host_os = @host_os@ | |
+host_vendor = @host_vendor@ | |
htmldir = @htmldir@ | |
includedir = @includedir@ | |
infodir = @infodir@ | |
@@ -321,7 +336,11 @@ sbindir = @sbindir@ | |
sharedstatedir = @sharedstatedir@ | |
srcdir = @srcdir@ | |
sysconfdir = @sysconfdir@ | |
+target = @target@ | |
target_alias = @target_alias@ | |
+target_cpu = @target_cpu@ | |
+target_os = @target_os@ | |
+target_vendor = @target_vendor@ | |
top_build_prefix = @top_build_prefix@ | |
top_builddir = @top_builddir@ | |
top_srcdir = @top_srcdir@ | |
@@ -371,8 +390,8 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) | |
$(am__aclocal_m4_deps): | |
include/bmon/defs.h: include/bmon/stamp-h1 | |
- @if test ! -f $@; then rm -f include/bmon/stamp-h1; else :; fi | |
- @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) include/bmon/stamp-h1; else :; fi | |
+ @test -f $@ || rm -f include/bmon/stamp-h1 | |
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) include/bmon/stamp-h1 | |
include/bmon/stamp-h1: $(top_srcdir)/include/bmon/defs.h.in $(top_builddir)/config.status | |
@rm -f include/bmon/stamp-h1 | |
@@ -593,10 +612,16 @@ dist-xz: distdir | |
$(am__post_remove_distdir) | |
dist-tarZ: distdir | |
+ @echo WARNING: "Support for shar distribution archives is" \ | |
+ "deprecated." >&2 | |
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | |
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z | |
$(am__post_remove_distdir) | |
dist-shar: distdir | |
+ @echo WARNING: "Support for distribution archives compressed with" \ | |
+ "legacy program 'compress' is deprecated." >&2 | |
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 | |
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz | |
$(am__post_remove_distdir) | |
@@ -638,9 +663,10 @@ distcheck: dist | |
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ | |
&& am__cwd=`pwd` \ | |
&& $(am__cd) $(distdir)/_build \ | |
- && ../configure --srcdir=.. --prefix="$$dc_install_base" \ | |
+ && ../configure \ | |
$(AM_DISTCHECK_CONFIGURE_FLAGS) \ | |
$(DISTCHECK_CONFIGURE_FLAGS) \ | |
+ --srcdir=.. --prefix="$$dc_install_base" \ | |
&& $(MAKE) $(AM_MAKEFLAGS) \ | |
&& $(MAKE) $(AM_MAKEFLAGS) dvi \ | |
&& $(MAKE) $(AM_MAKEFLAGS) check \ | |
diff --git a/aclocal.m4 b/aclocal.m4 | |
index 46dd04b..337d33e 100644 | |
--- a/aclocal.m4 | |
+++ b/aclocal.m4 | |
@@ -1,4 +1,4 @@ | |
-# generated automatically by aclocal 1.13.2 -*- Autoconf -*- | |
+# generated automatically by aclocal 1.14.1 -*- Autoconf -*- | |
# Copyright (C) 1996-2013 Free Software Foundation, Inc. | |
@@ -220,6 +220,21 @@ m4_popdef([pkg_default]) | |
m4_popdef([pkg_description]) | |
]) dnl PKG_NOARCH_INSTALLDIR | |
+ | |
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, | |
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) | |
+# ------------------------------------------- | |
+# Retrieves the value of the pkg-config variable for the given module. | |
+AC_DEFUN([PKG_CHECK_VAR], | |
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl | |
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl | |
+ | |
+_PKG_CONFIG([$1], [variable="][$3]["], [$2]) | |
+AS_VAR_COPY([$1], [pkg_cv_][$1]) | |
+ | |
+AS_VAR_IF([$1], [""], [$5], [$4])dnl | |
+])# PKG_CHECK_VAR | |
+ | |
# Copyright (C) 2002-2013 Free Software Foundation, Inc. | |
# | |
# This file is free software; the Free Software Foundation | |
@@ -232,10 +247,10 @@ m4_popdef([pkg_description]) | |
# generated from the m4 files accompanying Automake X.Y. | |
# (This private macro should not be called outside this file.) | |
AC_DEFUN([AM_AUTOMAKE_VERSION], | |
-[am__api_version='1.13' | |
+[am__api_version='1.14' | |
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to | |
dnl require some minimum version. Point them to the right macro. | |
-m4_if([$1], [1.13.2], [], | |
+m4_if([$1], [1.14.1], [], | |
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl | |
]) | |
@@ -251,7 +266,7 @@ m4_define([_AM_AUTOCONF_VERSION], []) | |
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. | |
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. | |
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], | |
-[AM_AUTOMAKE_VERSION([1.13.2])dnl | |
+[AM_AUTOMAKE_VERSION([1.14.1])dnl | |
m4_ifndef([AC_AUTOCONF_VERSION], | |
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl | |
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) | |
@@ -618,6 +633,12 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], | |
# This macro actually does too much. Some checks are only needed if | |
# your package does certain things. But this isn't really a big deal. | |
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. | |
+m4_define([AC_PROG_CC], | |
+m4_defn([AC_PROG_CC]) | |
+[_AM_PROG_CC_C_O | |
+]) | |
+ | |
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) | |
# AM_INIT_AUTOMAKE([OPTIONS]) | |
# ----------------------------------------------- | |
@@ -726,7 +747,48 @@ dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. | |
AC_CONFIG_COMMANDS_PRE(dnl | |
[m4_provide_if([_AM_COMPILER_EXEEXT], | |
[AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl | |
-]) | |
+ | |
+# POSIX will say in a future version that running "rm -f" with no argument | |
+# is OK; and we want to be able to make that assumption in our Makefile | |
+# recipes. So use an aggressive probe to check that the usage we want is | |
+# actually supported "in the wild" to an acceptable degree. | |
+# See automake bug#10828. | |
+# To make any issue more visible, cause the running configure to be aborted | |
+# by default if the 'rm' program in use doesn't match our expectations; the | |
+# user can still override this though. | |
+if rm -f && rm -fr && rm -rf; then : OK; else | |
+ cat >&2 <<'END' | |
+Oops! | |
+ | |
+Your 'rm' program seems unable to run without file operands specified | |
+on the command line, even when the '-f' option is present. This is contrary | |
+to the behaviour of most rm programs out there, and not conforming with | |
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> | |
+ | |
+Please tell [email protected] about your system, including the value | |
+of your $PATH and any error possibly output before this message. This | |
+can help us improve future automake versions. | |
+ | |
+END | |
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then | |
+ echo 'Configuration will proceed anyway, since you have set the' >&2 | |
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 | |
+ echo >&2 | |
+ else | |
+ cat >&2 <<'END' | |
+Aborting the configuration process, to ensure you take notice of the issue. | |
+ | |
+You can download and install GNU coreutils to get an 'rm' implementation | |
+that behaves properly: <http://www.gnu.org/software/coreutils/>. | |
+ | |
+If you want to complete the configuration process using your problematic | |
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM | |
+to "yes", and re-run configure. | |
+ | |
+END | |
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) | |
+ fi | |
+fi]) | |
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not | |
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further | |
@@ -734,7 +796,6 @@ dnl mangled by Autoconf and run in a shell conditional statement. | |
m4_define([_AC_COMPILER_EXEEXT], | |
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) | |
- | |
# When config.status generates a header, we must update the stamp-h file. | |
# This file resides in the same directory as the config header | |
# that is generated. The stamp files are numbered to have different names. | |
@@ -916,6 +977,70 @@ AC_DEFUN([_AM_SET_OPTIONS], | |
AC_DEFUN([_AM_IF_OPTION], | |
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) | |
+# Copyright (C) 1999-2013 Free Software Foundation, Inc. | |
+# | |
+# This file is free software; the Free Software Foundation | |
+# gives unlimited permission to copy and/or distribute it, | |
+# with or without modifications, as long as this notice is preserved. | |
+ | |
+# _AM_PROG_CC_C_O | |
+# --------------- | |
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC | |
+# to automatically call this. | |
+AC_DEFUN([_AM_PROG_CC_C_O], | |
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl | |
+AC_REQUIRE_AUX_FILE([compile])dnl | |
+AC_LANG_PUSH([C])dnl | |
+AC_CACHE_CHECK( | |
+ [whether $CC understands -c and -o together], | |
+ [am_cv_prog_cc_c_o], | |
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) | |
+ # Make sure it works both with $CC and with simple cc. | |
+ # Following AC_PROG_CC_C_O, we do the test twice because some | |
+ # compilers refuse to overwrite an existing .o file with -o, | |
+ # though they will create one. | |
+ am_cv_prog_cc_c_o=yes | |
+ for am_i in 1 2; do | |
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ | |
+ && test -f conftest2.$ac_objext; then | |
+ : OK | |
+ else | |
+ am_cv_prog_cc_c_o=no | |
+ break | |
+ fi | |
+ done | |
+ rm -f core conftest* | |
+ unset am_i]) | |
+if test "$am_cv_prog_cc_c_o" != yes; then | |
+ # Losing compiler, so override with the script. | |
+ # FIXME: It is wrong to rewrite CC. | |
+ # But if we don't then we get into trouble of one sort or another. | |
+ # A longer-term fix would be to have automake use am__CC in this case, | |
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" | |
+ CC="$am_aux_dir/compile $CC" | |
+fi | |
+AC_LANG_POP([C])]) | |
+ | |
+# For backward compatibility. | |
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) | |
+ | |
+# Copyright (C) 2001-2013 Free Software Foundation, Inc. | |
+# | |
+# This file is free software; the Free Software Foundation | |
+# gives unlimited permission to copy and/or distribute it, | |
+# with or without modifications, as long as this notice is preserved. | |
+ | |
+# AM_RUN_LOG(COMMAND) | |
+# ------------------- | |
+# Run COMMAND, save the exit status in ac_status, and log it. | |
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) | |
+AC_DEFUN([AM_RUN_LOG], | |
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD | |
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD | |
+ ac_status=$? | |
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | |
+ (exit $ac_status); }]) | |
+ | |
# Check to make sure that the build environment is sane. -*- Autoconf -*- | |
# Copyright (C) 1996-2013 Free Software Foundation, Inc. | |
diff --git a/build-aux/compile b/build-aux/compile | |
new file mode 100755 | |
index 0000000..531136b | |
--- /dev/null | |
+++ b/build-aux/compile | |
@@ -0,0 +1,347 @@ | |
+#! /bin/sh | |
+# Wrapper for compilers which do not understand '-c -o'. | |
+ | |
+scriptversion=2012-10-14.11; # UTC | |
+ | |
+# Copyright (C) 1999-2013 Free Software Foundation, Inc. | |
+# Written by Tom Tromey <[email protected]>. | |
+# | |
+# This program is free software; you can redistribute it and/or modify | |
+# it under the terms of the GNU General Public License as published by | |
+# the Free Software Foundation; 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. See the | |
+# GNU General Public License for more details. | |
+# | |
+# You should have received a copy of the GNU General Public License | |
+# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
+ | |
+# 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. | |
+ | |
+# This file is maintained in Automake, please report | |
+# bugs to <[email protected]> or send patches to | |
+# <[email protected]>. | |
+ | |
+nl=' | |
+' | |
+ | |
+# We need space, tab and new line, in precisely that order. Quoting is | |
+# there to prevent tools from complaining about whitespace usage. | |
+IFS=" "" $nl" | |
+ | |
+file_conv= | |
+ | |
+# func_file_conv build_file lazy | |
+# Convert a $build file to $host form and store it in $file | |
+# Currently only supports Windows hosts. If the determined conversion | |
+# type is listed in (the comma separated) LAZY, no conversion will | |
+# take place. | |
+func_file_conv () | |
+{ | |
+ file=$1 | |
+ case $file in | |
+ / | /[!/]*) # absolute file, and not a UNC file | |
+ if test -z "$file_conv"; then | |
+ # lazily determine how to convert abs files | |
+ case `uname -s` in | |
+ MINGW*) | |
+ file_conv=mingw | |
+ ;; | |
+ CYGWIN*) | |
+ file_conv=cygwin | |
+ ;; | |
+ *) | |
+ file_conv=wine | |
+ ;; | |
+ esac | |
+ fi | |
+ case $file_conv/,$2, in | |
+ *,$file_conv,*) | |
+ ;; | |
+ mingw/*) | |
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` | |
+ ;; | |
+ cygwin/*) | |
+ file=`cygpath -m "$file" || echo "$file"` | |
+ ;; | |
+ wine/*) | |
+ file=`winepath -w "$file" || echo "$file"` | |
+ ;; | |
+ esac | |
+ ;; | |
+ esac | |
+} | |
+ | |
+# func_cl_dashL linkdir | |
+# Make cl look for libraries in LINKDIR | |
+func_cl_dashL () | |
+{ | |
+ func_file_conv "$1" | |
+ if test -z "$lib_path"; then | |
+ lib_path=$file | |
+ else | |
+ lib_path="$lib_path;$file" | |
+ fi | |
+ linker_opts="$linker_opts -LIBPATH:$file" | |
+} | |
+ | |
+# func_cl_dashl library | |
+# Do a library search-path lookup for cl | |
+func_cl_dashl () | |
+{ | |
+ lib=$1 | |
+ found=no | |
+ save_IFS=$IFS | |
+ IFS=';' | |
+ for dir in $lib_path $LIB | |
+ do | |
+ IFS=$save_IFS | |
+ if $shared && test -f "$dir/$lib.dll.lib"; then | |
+ found=yes | |
+ lib=$dir/$lib.dll.lib | |
+ break | |
+ fi | |
+ if test -f "$dir/$lib.lib"; then | |
+ found=yes | |
+ lib=$dir/$lib.lib | |
+ break | |
+ fi | |
+ if test -f "$dir/lib$lib.a"; then | |
+ found=yes | |
+ lib=$dir/lib$lib.a | |
+ break | |
+ fi | |
+ done | |
+ IFS=$save_IFS | |
+ | |
+ if test "$found" != yes; then | |
+ lib=$lib.lib | |
+ fi | |
+} | |
+ | |
+# func_cl_wrapper cl arg... | |
+# Adjust compile command to suit cl | |
+func_cl_wrapper () | |
+{ | |
+ # Assume a capable shell | |
+ lib_path= | |
+ shared=: | |
+ linker_opts= | |
+ for arg | |
+ do | |
+ if test -n "$eat"; then | |
+ eat= | |
+ else | |
+ case $1 in | |
+ -o) | |
+ # configure might choose to run compile as 'compile cc -o foo foo.c'. | |
+ eat=1 | |
+ case $2 in | |
+ *.o | *.[oO][bB][jJ]) | |
+ func_file_conv "$2" | |
+ set x "$@" -Fo"$file" | |
+ shift | |
+ ;; | |
+ *) | |
+ func_file_conv "$2" | |
+ set x "$@" -Fe"$file" | |
+ shift | |
+ ;; | |
+ esac | |
+ ;; | |
+ -I) | |
+ eat=1 | |
+ func_file_conv "$2" mingw | |
+ set x "$@" -I"$file" | |
+ shift | |
+ ;; | |
+ -I*) | |
+ func_file_conv "${1#-I}" mingw | |
+ set x "$@" -I"$file" | |
+ shift | |
+ ;; | |
+ -l) | |
+ eat=1 | |
+ func_cl_dashl "$2" | |
+ set x "$@" "$lib" | |
+ shift | |
+ ;; | |
+ -l*) | |
+ func_cl_dashl "${1#-l}" | |
+ set x "$@" "$lib" | |
+ shift | |
+ ;; | |
+ -L) | |
+ eat=1 | |
+ func_cl_dashL "$2" | |
+ ;; | |
+ -L*) | |
+ func_cl_dashL "${1#-L}" | |
+ ;; | |
+ -static) | |
+ shared=false | |
+ ;; | |
+ -Wl,*) | |
+ arg=${1#-Wl,} | |
+ save_ifs="$IFS"; IFS=',' | |
+ for flag in $arg; do | |
+ IFS="$save_ifs" | |
+ linker_opts="$linker_opts $flag" | |
+ done | |
+ IFS="$save_ifs" | |
+ ;; | |
+ -Xlinker) | |
+ eat=1 | |
+ linker_opts="$linker_opts $2" | |
+ ;; | |
+ -*) | |
+ set x "$@" "$1" | |
+ shift | |
+ ;; | |
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) | |
+ func_file_conv "$1" | |
+ set x "$@" -Tp"$file" | |
+ shift | |
+ ;; | |
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) | |
+ func_file_conv "$1" mingw | |
+ set x "$@" "$file" | |
+ shift | |
+ ;; | |
+ *) | |
+ set x "$@" "$1" | |
+ shift | |
+ ;; | |
+ esac | |
+ fi | |
+ shift | |
+ done | |
+ if test -n "$linker_opts"; then | |
+ linker_opts="-link$linker_opts" | |
+ fi | |
+ exec "$@" $linker_opts | |
+ exit 1 | |
+} | |
+ | |
+eat= | |
+ | |
+case $1 in | |
+ '') | |
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2 | |
+ exit 1; | |
+ ;; | |
+ -h | --h*) | |
+ cat <<\EOF | |
+Usage: compile [--help] [--version] PROGRAM [ARGS] | |
+ | |
+Wrapper for compilers which do not understand '-c -o'. | |
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining | |
+arguments, and rename the output as expected. | |
+ | |
+If you are trying to build a whole package this is not the | |
+right script to run: please start by reading the file 'INSTALL'. | |
+ | |
+Report bugs to <[email protected]>. | |
+EOF | |
+ exit $? | |
+ ;; | |
+ -v | --v*) | |
+ echo "compile $scriptversion" | |
+ exit $? | |
+ ;; | |
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) | |
+ func_cl_wrapper "$@" # Doesn't return... | |
+ ;; | |
+esac | |
+ | |
+ofile= | |
+cfile= | |
+ | |
+for arg | |
+do | |
+ if test -n "$eat"; then | |
+ eat= | |
+ else | |
+ case $1 in | |
+ -o) | |
+ # configure might choose to run compile as 'compile cc -o foo foo.c'. | |
+ # So we strip '-o arg' only if arg is an object. | |
+ eat=1 | |
+ case $2 in | |
+ *.o | *.obj) | |
+ ofile=$2 | |
+ ;; | |
+ *) | |
+ set x "$@" -o "$2" | |
+ shift | |
+ ;; | |
+ esac | |
+ ;; | |
+ *.c) | |
+ cfile=$1 | |
+ set x "$@" "$1" | |
+ shift | |
+ ;; | |
+ *) | |
+ set x "$@" "$1" | |
+ shift | |
+ ;; | |
+ esac | |
+ fi | |
+ shift | |
+done | |
+ | |
+if test -z "$ofile" || test -z "$cfile"; then | |
+ # If no '-o' option was seen then we might have been invoked from a | |
+ # pattern rule where we don't need one. That is ok -- this is a | |
+ # normal compilation that the losing compiler can handle. If no | |
+ # '.c' file was seen then we are probably linking. That is also | |
+ # ok. | |
+ exec "$@" | |
+fi | |
+ | |
+# Name of file we expect compiler to create. | |
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` | |
+ | |
+# Create the lock directory. | |
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name | |
+# that we are using for the .o file. Also, base the name on the expected | |
+# object file name, since that is what matters with a parallel build. | |
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d | |
+while true; do | |
+ if mkdir "$lockdir" >/dev/null 2>&1; then | |
+ break | |
+ fi | |
+ sleep 1 | |
+done | |
+# FIXME: race condition here if user kills between mkdir and trap. | |
+trap "rmdir '$lockdir'; exit 1" 1 2 15 | |
+ | |
+# Run the compile. | |
+"$@" | |
+ret=$? | |
+ | |
+if test -f "$cofile"; then | |
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile" | |
+elif test -f "${cofile}bj"; then | |
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" | |
+fi | |
+ | |
+rmdir "$lockdir" | |
+exit $ret | |
+ | |
+# 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-time-zone: "UTC" | |
+# time-stamp-end: "; # UTC" | |
+# End: | |
diff --git a/build-aux/config.guess b/build-aux/config.guess | |
new file mode 100755 | |
index 0000000..9afd676 | |
--- /dev/null | |
+++ b/build-aux/config.guess | |
@@ -0,0 +1,1568 @@ | |
+#! /bin/sh | |
+# Attempt to guess a canonical system name. | |
+# Copyright 1992-2013 Free Software Foundation, Inc. | |
+ | |
+timestamp='2013-11-29' | |
+ | |
+# This file is free software; you can redistribute it and/or modify it | |
+# under the terms of the GNU General Public License as published by | |
+# the Free Software Foundation; either version 3 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 | |
+# along with this program; if not, see <http://www.gnu.org/licenses/>. | |
+# | |
+# 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. This Exception is an additional permission under section 7 | |
+# of the GNU General Public License, version 3 ("GPLv3"). | |
+# | |
+# Originally written by Per Bothner. | |
+# | |
+# You can get the latest version of this script from: | |
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | |
+# | |
+# Please send patches with a ChangeLog entry to [email protected]. | |
+ | |
+ | |
+me=`echo "$0" | sed -e 's,.*/,,'` | |
+ | |
+usage="\ | |
+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 <[email protected]>." | |
+ | |
+version="\ | |
+GNU config.guess ($timestamp) | |
+ | |
+Originally written by Per Bothner. | |
+Copyright 1992-2013 Free Software Foundation, Inc. | |
+ | |
+This is free software; see the source for copying conditions. There is NO | |
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | |
+ | |
+help=" | |
+Try \`$me --help' for more information." | |
+ | |
+# Parse command line | |
+while test $# -gt 0 ; do | |
+ case $1 in | |
+ --time-stamp | --time* | -t ) | |
+ echo "$timestamp" ; exit ;; | |
+ --version | -v ) | |
+ echo "$version" ; exit ;; | |
+ --help | --h* | -h ) | |
+ echo "$usage"; exit ;; | |
+ -- ) # Stop option processing | |
+ shift; break ;; | |
+ - ) # Use stdin as input. | |
+ break ;; | |
+ -* ) | |
+ echo "$me: invalid option $1$help" >&2 | |
+ exit 1 ;; | |
+ * ) | |
+ break ;; | |
+ esac | |
+done | |
+ | |
+if test $# != 0; then | |
+ echo "$me: too many arguments$help" >&2 | |
+ exit 1 | |
+fi | |
+ | |
+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/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; | |
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; 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/dummy ; | |
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; | |
+case $CC_FOR_BUILD,$HOST_CC,$CC in | |
+ ,,) echo "int x;" > $dummy.c ; | |
+ 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"; break ; | |
+ fi ; | |
+ done ; | |
+ if test x"$CC_FOR_BUILD" = x ; then | |
+ CC_FOR_BUILD=no_compiler_found ; | |
+ fi | |
+ ;; | |
+ ,,*) CC_FOR_BUILD=$CC ;; | |
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;; | |
+esac ; set_cc_for_build= ;' | |
+ | |
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe. | |
+# ([email protected] 1994-08-24) | |
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then | |
+ PATH=$PATH:/.attbin ; export PATH | |
+fi | |
+ | |
+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 | |
+ | |
+case "${UNAME_SYSTEM}" in | |
+Linux|GNU|GNU/*) | |
+ # If the system lacks a compiler, then just pick glibc. | |
+ # We could probably try harder. | |
+ LIBC=gnu | |
+ | |
+ eval $set_cc_for_build | |
+ cat <<-EOF > $dummy.c | |
+ #include <features.h> | |
+ #if defined(__UCLIBC__) | |
+ LIBC=uclibc | |
+ #elif defined(__dietlibc__) | |
+ LIBC=dietlibc | |
+ #else | |
+ LIBC=gnu | |
+ #endif | |
+ EOF | |
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` | |
+ ;; | |
+esac | |
+ | |
+# 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 tuples: *-*-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-unknown ;; | |
+ arm*) machine=arm-unknown ;; | |
+ sh3el) machine=shl-unknown ;; | |
+ sh3eb) machine=sh-unknown ;; | |
+ sh5el) machine=sh5le-unknown ;; | |
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;; | |
+ esac | |
+ # 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 -q __ELF__ | |
+ then | |
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). | |
+ # Return netbsd for either. FIX? | |
+ os=netbsd | |
+ else | |
+ os=netbsdelf | |
+ fi | |
+ ;; | |
+ *) | |
+ os=netbsd | |
+ ;; | |
+ esac | |
+ # 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 | |
+ Debian*) | |
+ release='-gnu' | |
+ ;; | |
+ *) | |
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` | |
+ ;; | |
+ esac | |
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: | |
+ # contains redundant information, the shorter form: | |
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. | |
+ echo "${machine}-${os}${release}" | |
+ exit ;; | |
+ *:Bitrig:*:*) | |
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` | |
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} | |
+ exit ;; | |
+ *:OpenBSD:*:*) | |
+ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` | |
+ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} | |
+ exit ;; | |
+ *:ekkoBSD:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} | |
+ exit ;; | |
+ *:SolidBSD:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} | |
+ exit ;; | |
+ macppc:MirBSD:*:*) | |
+ echo powerpc-unknown-mirbsd${UNAME_RELEASE} | |
+ exit ;; | |
+ *:MirBSD:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} | |
+ exit ;; | |
+ alpha:OSF1:*:*) | |
+ case $UNAME_RELEASE in | |
+ *4.0) | |
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` | |
+ ;; | |
+ *5.*) | |
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` | |
+ ;; | |
+ esac | |
+ # 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 (21066/21068)") | |
+ 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" ;; | |
+ esac | |
+ # 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'` | |
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code. | |
+ exitcode=$? | |
+ trap '' 0 | |
+ exit $exitcode ;; | |
+ 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 | |
+ exit ;; | |
+ 21064:Windows_NT:50:3) | |
+ echo alpha-dec-winnt3.5 | |
+ exit ;; | |
+ Amiga*:UNIX_System_V:4.0:*) | |
+ echo m68k-unknown-sysv4 | |
+ exit ;; | |
+ *:[Aa]miga[Oo][Ss]:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-amigaos | |
+ exit ;; | |
+ *:[Mm]orph[Oo][Ss]:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-morphos | |
+ exit ;; | |
+ *:OS/390:*:*) | |
+ echo i370-ibm-openedition | |
+ exit ;; | |
+ *:z/VM:*:*) | |
+ echo s390-ibm-zvmoe | |
+ exit ;; | |
+ *:OS400:*:*) | |
+ echo powerpc-ibm-os400 | |
+ exit ;; | |
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) | |
+ echo arm-acorn-riscix${UNAME_RELEASE} | |
+ exit ;; | |
+ arm*:riscos:*:*|arm*:RISCOS:*:*) | |
+ echo arm-unknown-riscos | |
+ exit ;; | |
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) | |
+ echo hppa1.1-hitachi-hiuxmpp | |
+ exit ;; | |
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) | |
+ # [email protected] (Earle F. Ake) contributed MIS and NILE. | |
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then | |
+ echo pyramid-pyramid-sysv3 | |
+ else | |
+ echo pyramid-pyramid-bsd | |
+ fi | |
+ exit ;; | |
+ NILE*:*:*:dcosx) | |
+ echo pyramid-pyramid-svr4 | |
+ exit ;; | |
+ DRS?6000:unix:4.0:6*) | |
+ echo sparc-icl-nx6 | |
+ exit ;; | |
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) | |
+ case `/usr/bin/uname -p` in | |
+ sparc) echo sparc-icl-nx7; exit ;; | |
+ esac ;; | |
+ s390x:SunOS:*:*) | |
+ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
+ exit ;; | |
+ sun4H:SunOS:5.*:*) | |
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
+ exit ;; | |
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) | |
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
+ exit ;; | |
+ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) | |
+ echo i386-pc-auroraux${UNAME_RELEASE} | |
+ exit ;; | |
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) | |
+ eval $set_cc_for_build | |
+ SUN_ARCH="i386" | |
+ # If there is a compiler, see if it is configured for 64-bit objects. | |
+ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. | |
+ # This test works for both compilers. | |
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | |
+ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ | |
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
+ grep IS_64BIT_ARCH >/dev/null | |
+ then | |
+ SUN_ARCH="x86_64" | |
+ fi | |
+ fi | |
+ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
+ exit ;; | |
+ 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/[^.]*//'` | |
+ exit ;; | |
+ sun4*:SunOS:*:*) | |
+ case "`/usr/bin/arch -k`" in | |
+ Series*|S4*) | |
+ UNAME_RELEASE=`uname -v` | |
+ ;; | |
+ esac | |
+ # Japanese Language versions have a version number like `4.1.3-JL'. | |
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` | |
+ exit ;; | |
+ sun3*:SunOS:*:*) | |
+ echo m68k-sun-sunos${UNAME_RELEASE} | |
+ exit ;; | |
+ 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 | |
+ sun3) | |
+ echo m68k-sun-sunos${UNAME_RELEASE} | |
+ ;; | |
+ sun4) | |
+ echo sparc-sun-sunos${UNAME_RELEASE} | |
+ ;; | |
+ esac | |
+ exit ;; | |
+ aushp:SunOS:*:*) | |
+ echo sparc-auspex-sunos${UNAME_RELEASE} | |
+ exit ;; | |
+ # 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"). Finally | |
+ # the system name "TOS" denotes a system which is actually not | |
+ # MiNT. 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} | |
+ exit ;; | |
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) | |
+ echo m68k-atari-mint${UNAME_RELEASE} | |
+ exit ;; | |
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) | |
+ echo m68k-atari-mint${UNAME_RELEASE} | |
+ exit ;; | |
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) | |
+ echo m68k-milan-mint${UNAME_RELEASE} | |
+ exit ;; | |
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) | |
+ echo m68k-hades-mint${UNAME_RELEASE} | |
+ exit ;; | |
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) | |
+ echo m68k-unknown-mint${UNAME_RELEASE} | |
+ exit ;; | |
+ m68k:machten:*:*) | |
+ echo m68k-apple-machten${UNAME_RELEASE} | |
+ exit ;; | |
+ powerpc:machten:*:*) | |
+ echo powerpc-apple-machten${UNAME_RELEASE} | |
+ exit ;; | |
+ RISC*:Mach:*:*) | |
+ echo mips-dec-mach_bsd4.3 | |
+ exit ;; | |
+ RISC*:ULTRIX:*:*) | |
+ echo mips-dec-ultrix${UNAME_RELEASE} | |
+ exit ;; | |
+ VAX*:ULTRIX*:*:*) | |
+ echo vax-dec-ultrix${UNAME_RELEASE} | |
+ exit ;; | |
+ 2020:CLIX:*:* | 2430:CLIX:*:*) | |
+ echo clipper-intergraph-clix${UNAME_RELEASE} | |
+ exit ;; | |
+ 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[]) { | |
+#else | |
+ int main (argc, argv) int argc; char *argv[]; { | |
+#endif | |
+ #if defined (host_mips) && defined (MIPSEB) | |
+ #if defined (SYSTYPE_SYSV) | |
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); | |
+ #endif | |
+ #if defined (SYSTYPE_SVR4) | |
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); | |
+ #endif | |
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) | |
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); | |
+ #endif | |
+ #endif | |
+ exit (-1); | |
+ } | |
+EOF | |
+ $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"; exit; } | |
+ echo mips-mips-riscos${UNAME_RELEASE} | |
+ exit ;; | |
+ Motorola:PowerMAX_OS:*:*) | |
+ echo powerpc-motorola-powermax | |
+ exit ;; | |
+ Motorola:*:4.3:PL8-*) | |
+ echo powerpc-harris-powermax | |
+ exit ;; | |
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) | |
+ echo powerpc-harris-powermax | |
+ exit ;; | |
+ Night_Hawk:Power_UNIX:*:*) | |
+ echo powerpc-harris-powerunix | |
+ exit ;; | |
+ m88k:CX/UX:7*:*) | |
+ echo m88k-harris-cxux7 | |
+ exit ;; | |
+ m88k:*:4*:R4*) | |
+ echo m88k-motorola-sysv4 | |
+ exit ;; | |
+ m88k:*:3*:R3*) | |
+ echo m88k-motorola-sysv3 | |
+ exit ;; | |
+ AViiON:dgux:*:*) | |
+ # DG/UX returns AViiON for all architectures | |
+ UNAME_PROCESSOR=`/usr/bin/uname -p` | |
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] | |
+ then | |
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ | |
+ [ ${TARGET_BINARY_INTERFACE}x = x ] | |
+ then | |
+ echo m88k-dg-dgux${UNAME_RELEASE} | |
+ else | |
+ echo m88k-dg-dguxbcs${UNAME_RELEASE} | |
+ fi | |
+ else | |
+ echo i586-dg-dgux${UNAME_RELEASE} | |
+ fi | |
+ exit ;; | |
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3) | |
+ echo m88k-dolphin-sysv3 | |
+ exit ;; | |
+ M88*:*:R3*:*) | |
+ # Delta 88k system running SVR3 | |
+ echo m88k-motorola-sysv3 | |
+ exit ;; | |
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) | |
+ echo m88k-tektronix-sysv3 | |
+ exit ;; | |
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) | |
+ echo m68k-tektronix-bsd | |
+ exit ;; | |
+ *:IRIX*:*:*) | |
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` | |
+ exit ;; | |
+ ????????: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 | |
+ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' | |
+ i*86:AIX:*:*) | |
+ echo i386-ibm-aix | |
+ exit ;; | |
+ ia64:AIX:*:*) | |
+ if [ -x /usr/bin/oslevel ] ; then | |
+ IBM_REV=`/usr/bin/oslevel` | |
+ else | |
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | |
+ fi | |
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} | |
+ exit ;; | |
+ *: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> | |
+ | |
+ main() | |
+ { | |
+ if (!__power_pc()) | |
+ exit(1); | |
+ puts("powerpc-ibm-aix3.2.5"); | |
+ exit(0); | |
+ } | |
+EOF | |
+ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` | |
+ then | |
+ echo "$SYSTEM_NAME" | |
+ else | |
+ echo rs6000-ibm-aix3.2.5 | |
+ fi | |
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then | |
+ echo rs6000-ibm-aix3.2.4 | |
+ else | |
+ echo rs6000-ibm-aix3.2 | |
+ fi | |
+ exit ;; | |
+ *:AIX:*:[4567]) | |
+ 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 | |
+ else | |
+ IBM_ARCH=powerpc | |
+ fi | |
+ if [ -x /usr/bin/oslevel ] ; then | |
+ IBM_REV=`/usr/bin/oslevel` | |
+ else | |
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} | |
+ fi | |
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV} | |
+ exit ;; | |
+ *:AIX:*:*) | |
+ echo rs6000-ibm-aix | |
+ exit ;; | |
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*) | |
+ echo romp-ibm-bsd4.4 | |
+ exit ;; | |
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and | |
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to | |
+ exit ;; # report: romp-ibm BSD 4.3 | |
+ *:BOSX:*:*) | |
+ echo rs6000-bull-bosx | |
+ exit ;; | |
+ DPX/2?00:B.O.S.:*:*) | |
+ echo m68k-bull-sysv3 | |
+ exit ;; | |
+ 9000/[34]??:4.3bsd:1.*:*) | |
+ echo m68k-hp-bsd | |
+ exit ;; | |
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) | |
+ echo m68k-hp-bsd4.4 | |
+ exit ;; | |
+ 9000/[34678]??:HP-UX:*:*) | |
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | |
+ case "${UNAME_MACHINE}" in | |
+ 9000/31? ) HP_ARCH=m68000 ;; | |
+ 9000/[34]?? ) HP_ARCH=m68k ;; | |
+ 9000/[678][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 | |
+ 532) # 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 | |
+ esac ;; | |
+ esac | |
+ fi | |
+ 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); | |
+ #endif | |
+ long cpu = sysconf (_SC_CPU_VERSION); | |
+ | |
+ switch (cpu) | |
+ { | |
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break; | |
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break; | |
+ case CPU_PA_RISC2_0: | |
+ #if defined(_SC_KERNEL_BITS) | |
+ switch (bits) | |
+ { | |
+ case 64: puts ("hppa2.0w"); break; | |
+ case 32: puts ("hppa2.0n"); break; | |
+ default: puts ("hppa2.0"); break; | |
+ } break; | |
+ #else /* !defined(_SC_KERNEL_BITS) */ | |
+ puts ("hppa2.0"); break; | |
+ #endif | |
+ default: puts ("hppa1.0"); break; | |
+ } | |
+ exit (0); | |
+ } | |
+EOF | |
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` | |
+ test -z "$HP_ARCH" && HP_ARCH=hppa | |
+ fi ;; | |
+ esac | |
+ if [ ${HP_ARCH} = "hppa2.0w" ] | |
+ then | |
+ 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 -q __LP64__ | |
+ then | |
+ HP_ARCH="hppa2.0w" | |
+ else | |
+ HP_ARCH="hppa64" | |
+ fi | |
+ fi | |
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV} | |
+ exit ;; | |
+ ia64:HP-UX:*:*) | |
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` | |
+ echo ia64-hp-hpux${HPUX_REV} | |
+ exit ;; | |
+ 3050*:HI-UX:*:*) | |
+ eval $set_cc_for_build | |
+ sed 's/^ //' << EOF >$dummy.c | |
+ #include <unistd.h> | |
+ int | |
+ main () | |
+ { | |
+ 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"); break; | |
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; | |
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; | |
+ default: puts ("hppa-hitachi-hiuxwe2"); break; | |
+ } | |
+ } | |
+ else if (CPU_IS_HP_MC68K (cpu)) | |
+ puts ("m68k-hitachi-hiuxwe2"); | |
+ else puts ("unknown-hitachi-hiuxwe2"); | |
+ exit (0); | |
+ } | |
+EOF | |
+ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && | |
+ { echo "$SYSTEM_NAME"; exit; } | |
+ echo unknown-hitachi-hiuxwe2 | |
+ exit ;; | |
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) | |
+ echo hppa1.1-hp-bsd | |
+ exit ;; | |
+ 9000/8??:4.3bsd:*:*) | |
+ echo hppa1.0-hp-bsd | |
+ exit ;; | |
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) | |
+ echo hppa1.0-hp-mpeix | |
+ exit ;; | |
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) | |
+ echo hppa1.1-hp-osf | |
+ exit ;; | |
+ hp8??:OSF1:*:*) | |
+ echo hppa1.0-hp-osf | |
+ exit ;; | |
+ i*86:OSF1:*:*) | |
+ if [ -x /usr/sbin/sysversion ] ; then | |
+ echo ${UNAME_MACHINE}-unknown-osf1mk | |
+ else | |
+ echo ${UNAME_MACHINE}-unknown-osf1 | |
+ fi | |
+ exit ;; | |
+ parisc*:Lites*:*:*) | |
+ echo hppa1.1-hp-lites | |
+ exit ;; | |
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) | |
+ echo c1-convex-bsd | |
+ exit ;; | |
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) | |
+ if getsysinfo -f scalar_acc | |
+ then echo c32-convex-bsd | |
+ else echo c2-convex-bsd | |
+ fi | |
+ exit ;; | |
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) | |
+ echo c34-convex-bsd | |
+ exit ;; | |
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) | |
+ echo c38-convex-bsd | |
+ exit ;; | |
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) | |
+ echo c4-convex-bsd | |
+ exit ;; | |
+ CRAY*Y-MP:*:*:*) | |
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
+ exit ;; | |
+ 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/' | |
+ exit ;; | |
+ CRAY*TS:*:*:*) | |
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
+ exit ;; | |
+ CRAY*T3E:*:*:*) | |
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
+ exit ;; | |
+ CRAY*SV1:*:*:*) | |
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
+ exit ;; | |
+ *:UNICOS/mp:*:*) | |
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' | |
+ exit ;; | |
+ 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}" | |
+ exit ;; | |
+ 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}" | |
+ exit ;; | |
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) | |
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} | |
+ exit ;; | |
+ sparc*:BSD/OS:*:*) | |
+ echo sparc-unknown-bsdi${UNAME_RELEASE} | |
+ exit ;; | |
+ *:BSD/OS:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} | |
+ exit ;; | |
+ *:FreeBSD:*:*) | |
+ UNAME_PROCESSOR=`/usr/bin/uname -p` | |
+ case ${UNAME_PROCESSOR} in | |
+ amd64) | |
+ echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | |
+ *) | |
+ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; | |
+ esac | |
+ exit ;; | |
+ i*:CYGWIN*:*) | |
+ echo ${UNAME_MACHINE}-pc-cygwin | |
+ exit ;; | |
+ *:MINGW64*:*) | |
+ echo ${UNAME_MACHINE}-pc-mingw64 | |
+ exit ;; | |
+ *:MINGW*:*) | |
+ echo ${UNAME_MACHINE}-pc-mingw32 | |
+ exit ;; | |
+ i*:MSYS*:*) | |
+ echo ${UNAME_MACHINE}-pc-msys | |
+ exit ;; | |
+ i*:windows32*:*) | |
+ # uname -m includes "-pc" on this system. | |
+ echo ${UNAME_MACHINE}-mingw32 | |
+ exit ;; | |
+ i*:PW*:*) | |
+ echo ${UNAME_MACHINE}-pc-pw32 | |
+ exit ;; | |
+ *:Interix*:*) | |
+ case ${UNAME_MACHINE} in | |
+ x86) | |
+ echo i586-pc-interix${UNAME_RELEASE} | |
+ exit ;; | |
+ authenticamd | genuineintel | EM64T) | |
+ echo x86_64-unknown-interix${UNAME_RELEASE} | |
+ exit ;; | |
+ IA64) | |
+ echo ia64-unknown-interix${UNAME_RELEASE} | |
+ exit ;; | |
+ esac ;; | |
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) | |
+ echo i${UNAME_MACHINE}-pc-mks | |
+ exit ;; | |
+ 8664:Windows_NT:*) | |
+ echo x86_64-pc-mks | |
+ exit ;; | |
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*) | |
+ # How do we know it's Interix rather than the generic POSIX subsystem? | |
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we | |
+ # UNAME_MACHINE based on the output of uname instead of i386? | |
+ echo i586-pc-interix | |
+ exit ;; | |
+ i*:UWIN*:*) | |
+ echo ${UNAME_MACHINE}-pc-uwin | |
+ exit ;; | |
+ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) | |
+ echo x86_64-unknown-cygwin | |
+ exit ;; | |
+ p*:CYGWIN*:*) | |
+ echo powerpcle-unknown-cygwin | |
+ exit ;; | |
+ prep*:SunOS:5.*:*) | |
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` | |
+ exit ;; | |
+ *:GNU:*:*) | |
+ # the GNU system | |
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` | |
+ exit ;; | |
+ *:GNU/*:*:*) | |
+ # other systems with GNU libc and userland | |
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} | |
+ exit ;; | |
+ i*86:Minix:*:*) | |
+ echo ${UNAME_MACHINE}-pc-minix | |
+ exit ;; | |
+ aarch64:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ aarch64_be:Linux:*:*) | |
+ UNAME_MACHINE=aarch64_be | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ alpha:Linux:*:*) | |
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in | |
+ EV5) UNAME_MACHINE=alphaev5 ;; | |
+ EV56) UNAME_MACHINE=alphaev56 ;; | |
+ PCA56) UNAME_MACHINE=alphapca56 ;; | |
+ PCA57) UNAME_MACHINE=alphapca56 ;; | |
+ EV6) UNAME_MACHINE=alphaev6 ;; | |
+ EV67) UNAME_MACHINE=alphaev67 ;; | |
+ EV68*) UNAME_MACHINE=alphaev68 ;; | |
+ esac | |
+ objdump --private-headers /bin/sh | grep -q ld.so.1 | |
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ arc:Linux:*:* | arceb:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ arm*:Linux:*:*) | |
+ eval $set_cc_for_build | |
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | |
+ | grep -q __ARM_EABI__ | |
+ then | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ else | |
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | |
+ | grep -q __ARM_PCS_VFP | |
+ then | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi | |
+ else | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf | |
+ fi | |
+ fi | |
+ exit ;; | |
+ avr32*:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ cris:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC} | |
+ exit ;; | |
+ crisv32:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC} | |
+ exit ;; | |
+ frv:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ hexagon:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ i*86:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC} | |
+ exit ;; | |
+ ia64:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ m32r*:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ m68*:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ mips:Linux:*:* | mips64:Linux:*:*) | |
+ eval $set_cc_for_build | |
+ sed 's/^ //' << EOF >$dummy.c | |
+ #undef CPU | |
+ #undef ${UNAME_MACHINE} | |
+ #undef ${UNAME_MACHINE}el | |
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) | |
+ CPU=${UNAME_MACHINE}el | |
+ #else | |
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) | |
+ CPU=${UNAME_MACHINE} | |
+ #else | |
+ CPU= | |
+ #endif | |
+ #endif | |
+EOF | |
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` | |
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } | |
+ ;; | |
+ or1k:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ or32:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ padre:Linux:*:*) | |
+ echo sparc-unknown-linux-${LIBC} | |
+ exit ;; | |
+ parisc64:Linux:*:* | hppa64:Linux:*:*) | |
+ echo hppa64-unknown-linux-${LIBC} | |
+ exit ;; | |
+ parisc:Linux:*:* | hppa:Linux:*:*) | |
+ # Look for CPU level | |
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in | |
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; | |
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; | |
+ *) echo hppa-unknown-linux-${LIBC} ;; | |
+ esac | |
+ exit ;; | |
+ ppc64:Linux:*:*) | |
+ echo powerpc64-unknown-linux-${LIBC} | |
+ exit ;; | |
+ ppc:Linux:*:*) | |
+ echo powerpc-unknown-linux-${LIBC} | |
+ exit ;; | |
+ ppc64le:Linux:*:*) | |
+ echo powerpc64le-unknown-linux-${LIBC} | |
+ exit ;; | |
+ ppcle:Linux:*:*) | |
+ echo powerpcle-unknown-linux-${LIBC} | |
+ exit ;; | |
+ s390:Linux:*:* | s390x:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC} | |
+ exit ;; | |
+ sh64*:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ sh*:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ sparc:Linux:*:* | sparc64:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ tile*:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ vax:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC} | |
+ exit ;; | |
+ x86_64:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ xtensa*:Linux:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} | |
+ exit ;; | |
+ i*86:DYNIX/ptx:4*:*) | |
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. | |
+ # earlier versions are messed up and put the nodename in both | |
+ # sysname and nodename. | |
+ echo i386-sequent-sysv4 | |
+ exit ;; | |
+ i*86:UNIX_SV:4.2MP:2.*) | |
+ # Unixware is an offshoot of SVR4, but it has its own version | |
+ # number series starting with 2... | |
+ # I am not positive that other SVR4 systems won't match this, | |
+ # I just have to hope. -- rms. | |
+ # Use sysv4.2uw... so that sysv4* matches it. | |
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} | |
+ exit ;; | |
+ i*86:OS/2:*:*) | |
+ # If we were able to find `uname', then EMX Unix compatibility | |
+ # is probably installed. | |
+ echo ${UNAME_MACHINE}-pc-os2-emx | |
+ exit ;; | |
+ i*86:XTS-300:*:STOP) | |
+ echo ${UNAME_MACHINE}-unknown-stop | |
+ exit ;; | |
+ i*86:atheos:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-atheos | |
+ exit ;; | |
+ i*86:syllable:*:*) | |
+ echo ${UNAME_MACHINE}-pc-syllable | |
+ exit ;; | |
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) | |
+ echo i386-unknown-lynxos${UNAME_RELEASE} | |
+ exit ;; | |
+ i*86:*DOS:*:*) | |
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp | |
+ exit ;; | |
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) | |
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` | |
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then | |
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} | |
+ else | |
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} | |
+ fi | |
+ exit ;; | |
+ i*86:*:5:[678]*) | |
+ # UnixWare 7.x, OpenUNIX and OpenServer 6. | |
+ case `/bin/uname -X | grep "^Machine"` in | |
+ *486*) UNAME_MACHINE=i486 ;; | |
+ *Pentium) UNAME_MACHINE=i586 ;; | |
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;; | |
+ esac | |
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} | |
+ exit ;; | |
+ i*86:*:3.2:*) | |
+ if test -f /usr/options/cb.name; then | |
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` | |
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL | |
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then | |
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` | |
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 | |
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ | |
+ && UNAME_MACHINE=i586 | |
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ | |
+ && UNAME_MACHINE=i686 | |
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ | |
+ && UNAME_MACHINE=i686 | |
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL | |
+ else | |
+ echo ${UNAME_MACHINE}-pc-sysv32 | |
+ fi | |
+ exit ;; | |
+ pc:*:*:*) | |
+ # Left here for compatibility: | |
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about | |
+ # the processor, so we play safe by assuming i586. | |
+ # Note: whatever this is, it MUST be the same as what config.sub | |
+ # prints for the "djgpp" host, or else GDB configury will decide that | |
+ # this is a cross-build. | |
+ echo i586-pc-msdosdjgpp | |
+ exit ;; | |
+ Intel:Mach:3*:*) | |
+ echo i386-pc-mach3 | |
+ exit ;; | |
+ paragon:*:*:*) | |
+ echo i860-intel-osf1 | |
+ exit ;; | |
+ i860:*:4.*:*) # i860-SVR4 | |
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then | |
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 | |
+ else # Add other i860-SVR4 vendors below as they are discovered. | |
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 | |
+ fi | |
+ exit ;; | |
+ mini*:CTIX:SYS*5:*) | |
+ # "miniframe" | |
+ echo m68010-convergent-sysv | |
+ exit ;; | |
+ mc68k:UNIX:SYSTEM5:3.51m) | |
+ echo m68k-convergent-sysv | |
+ exit ;; | |
+ M680?0:D-NIX:5.3:*) | |
+ echo m68k-diab-dnix | |
+ exit ;; | |
+ M68*:*:R3V[5678]*:*) | |
+ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; | |
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) | |
+ OS_REL='' | |
+ test -r /etc/.relid \ | |
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` | |
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | |
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } | |
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ | |
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; | |
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) | |
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | |
+ && { echo i486-ncr-sysv4; exit; } ;; | |
+ NCR*:*:4.2:* | MPRAS*:*:4.2:*) | |
+ OS_REL='.3' | |
+ test -r /etc/.relid \ | |
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` | |
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ | |
+ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } | |
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ | |
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } | |
+ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ | |
+ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; | |
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) | |
+ echo m68k-unknown-lynxos${UNAME_RELEASE} | |
+ exit ;; | |
+ mc68030:UNIX_System_V:4.*:*) | |
+ echo m68k-atari-sysv4 | |
+ exit ;; | |
+ TSUNAMI:LynxOS:2.*:*) | |
+ echo sparc-unknown-lynxos${UNAME_RELEASE} | |
+ exit ;; | |
+ rs6000:LynxOS:2.*:*) | |
+ echo rs6000-unknown-lynxos${UNAME_RELEASE} | |
+ exit ;; | |
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) | |
+ echo powerpc-unknown-lynxos${UNAME_RELEASE} | |
+ exit ;; | |
+ SM[BE]S:UNIX_SV:*:*) | |
+ echo mips-dde-sysv${UNAME_RELEASE} | |
+ exit ;; | |
+ RM*:ReliantUNIX-*:*:*) | |
+ echo mips-sni-sysv4 | |
+ exit ;; | |
+ RM*:SINIX-*:*:*) | |
+ echo mips-sni-sysv4 | |
+ exit ;; | |
+ *:SINIX-*:*:*) | |
+ if uname -p 2>/dev/null >/dev/null ; then | |
+ UNAME_MACHINE=`(uname -p) 2>/dev/null` | |
+ echo ${UNAME_MACHINE}-sni-sysv4 | |
+ else | |
+ echo ns32k-sni-sysv | |
+ fi | |
+ exit ;; | |
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort | |
+ # says <[email protected]> | |
+ echo i586-unisys-sysv4 | |
+ exit ;; | |
+ *:UNIX_System_V:4*:FTX*) | |
+ # From Gerald Hewes <[email protected]>. | |
+ # How about differentiating between stratus architectures? -djm | |
+ echo hppa1.1-stratus-sysv4 | |
+ exit ;; | |
+ *:*:*:FTX*) | |
+ # From [email protected]. | |
+ echo i860-stratus-sysv4 | |
+ exit ;; | |
+ i*86:VOS:*:*) | |
+ # From [email protected]. | |
+ echo ${UNAME_MACHINE}-stratus-vos | |
+ exit ;; | |
+ *:VOS:*:*) | |
+ # From [email protected]. | |
+ echo hppa1.1-stratus-vos | |
+ exit ;; | |
+ mc68*:A/UX:*:*) | |
+ echo m68k-apple-aux${UNAME_RELEASE} | |
+ exit ;; | |
+ news*:NEWS-OS:6*:*) | |
+ echo mips-sony-newsos6 | |
+ exit ;; | |
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) | |
+ if [ -d /usr/nec ]; then | |
+ echo mips-nec-sysv${UNAME_RELEASE} | |
+ else | |
+ echo mips-unknown-sysv${UNAME_RELEASE} | |
+ fi | |
+ exit ;; | |
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. | |
+ echo powerpc-be-beos | |
+ exit ;; | |
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. | |
+ echo powerpc-apple-beos | |
+ exit ;; | |
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. | |
+ echo i586-pc-beos | |
+ exit ;; | |
+ BePC:Haiku:*:*) # Haiku running on Intel PC compatible. | |
+ echo i586-pc-haiku | |
+ exit ;; | |
+ x86_64:Haiku:*:*) | |
+ echo x86_64-unknown-haiku | |
+ exit ;; | |
+ SX-4:SUPER-UX:*:*) | |
+ echo sx4-nec-superux${UNAME_RELEASE} | |
+ exit ;; | |
+ SX-5:SUPER-UX:*:*) | |
+ echo sx5-nec-superux${UNAME_RELEASE} | |
+ exit ;; | |
+ SX-6:SUPER-UX:*:*) | |
+ echo sx6-nec-superux${UNAME_RELEASE} | |
+ exit ;; | |
+ SX-7:SUPER-UX:*:*) | |
+ echo sx7-nec-superux${UNAME_RELEASE} | |
+ exit ;; | |
+ SX-8:SUPER-UX:*:*) | |
+ echo sx8-nec-superux${UNAME_RELEASE} | |
+ exit ;; | |
+ SX-8R:SUPER-UX:*:*) | |
+ echo sx8r-nec-superux${UNAME_RELEASE} | |
+ exit ;; | |
+ Power*:Rhapsody:*:*) | |
+ echo powerpc-apple-rhapsody${UNAME_RELEASE} | |
+ exit ;; | |
+ *:Rhapsody:*:*) | |
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} | |
+ exit ;; | |
+ *:Darwin:*:*) | |
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown | |
+ eval $set_cc_for_build | |
+ if test "$UNAME_PROCESSOR" = unknown ; then | |
+ UNAME_PROCESSOR=powerpc | |
+ fi | |
+ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then | |
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then | |
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ | |
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ | |
+ grep IS_64BIT_ARCH >/dev/null | |
+ then | |
+ case $UNAME_PROCESSOR in | |
+ i386) UNAME_PROCESSOR=x86_64 ;; | |
+ powerpc) UNAME_PROCESSOR=powerpc64 ;; | |
+ esac | |
+ fi | |
+ fi | |
+ elif test "$UNAME_PROCESSOR" = i386 ; then | |
+ # Avoid executing cc on OS X 10.9, as it ships with a stub | |
+ # that puts up a graphical alert prompting to install | |
+ # developer tools. Any system running Mac OS X 10.7 or | |
+ # later (Darwin 11 and later) is required to have a 64-bit | |
+ # processor. This is not true of the ARM version of Darwin | |
+ # that Apple uses in portable devices. | |
+ UNAME_PROCESSOR=x86_64 | |
+ fi | |
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} | |
+ exit ;; | |
+ *:procnto*:*:* | *:QNX:[0123456789]*:*) | |
+ UNAME_PROCESSOR=`uname -p` | |
+ if test "$UNAME_PROCESSOR" = "x86"; then | |
+ UNAME_PROCESSOR=i386 | |
+ UNAME_MACHINE=pc | |
+ fi | |
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} | |
+ exit ;; | |
+ *:QNX:*:4*) | |
+ echo i386-pc-qnx | |
+ exit ;; | |
+ NEO-?:NONSTOP_KERNEL:*:*) | |
+ echo neo-tandem-nsk${UNAME_RELEASE} | |
+ exit ;; | |
+ NSE-*:NONSTOP_KERNEL:*:*) | |
+ echo nse-tandem-nsk${UNAME_RELEASE} | |
+ exit ;; | |
+ NSR-?:NONSTOP_KERNEL:*:*) | |
+ echo nsr-tandem-nsk${UNAME_RELEASE} | |
+ exit ;; | |
+ *:NonStop-UX:*:*) | |
+ echo mips-compaq-nonstopux | |
+ exit ;; | |
+ BS2000:POSIX*:*:*) | |
+ echo bs2000-siemens-sysv | |
+ exit ;; | |
+ DS/*:UNIX_System_V:*:*) | |
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} | |
+ exit ;; | |
+ *:Plan9:*:*) | |
+ # "uname -m" is not consistent, so use $cputype instead. 386 | |
+ # is converted to i386 for consistency with other x86 | |
+ # operating systems. | |
+ if test "$cputype" = "386"; then | |
+ UNAME_MACHINE=i386 | |
+ else | |
+ UNAME_MACHINE="$cputype" | |
+ fi | |
+ echo ${UNAME_MACHINE}-unknown-plan9 | |
+ exit ;; | |
+ *:TOPS-10:*:*) | |
+ echo pdp10-unknown-tops10 | |
+ exit ;; | |
+ *:TENEX:*:*) | |
+ echo pdp10-unknown-tenex | |
+ exit ;; | |
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) | |
+ echo pdp10-dec-tops20 | |
+ exit ;; | |
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) | |
+ echo pdp10-xkl-tops20 | |
+ exit ;; | |
+ *:TOPS-20:*:*) | |
+ echo pdp10-unknown-tops20 | |
+ exit ;; | |
+ *:ITS:*:*) | |
+ echo pdp10-unknown-its | |
+ exit ;; | |
+ SEI:*:*:SEIUX) | |
+ echo mips-sei-seiux${UNAME_RELEASE} | |
+ exit ;; | |
+ *:DragonFly:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` | |
+ exit ;; | |
+ *:*VMS:*:*) | |
+ UNAME_MACHINE=`(uname -p) 2>/dev/null` | |
+ case "${UNAME_MACHINE}" in | |
+ A*) echo alpha-dec-vms ; exit ;; | |
+ I*) echo ia64-dec-vms ; exit ;; | |
+ V*) echo vax-dec-vms ; exit ;; | |
+ esac ;; | |
+ *:XENIX:*:SysV) | |
+ echo i386-pc-xenix | |
+ exit ;; | |
+ i*86:skyos:*:*) | |
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' | |
+ exit ;; | |
+ i*86:rdos:*:*) | |
+ echo ${UNAME_MACHINE}-pc-rdos | |
+ exit ;; | |
+ i*86:AROS:*:*) | |
+ echo ${UNAME_MACHINE}-pc-aros | |
+ exit ;; | |
+ x86_64:VMkernel:*:*) | |
+ echo ${UNAME_MACHINE}-unknown-esx | |
+ exit ;; | |
+esac | |
+ | |
+eval $set_cc_for_build | |
+cat >$dummy.c <<EOF | |
+#ifdef _SEQUENT_ | |
+# include <sys/types.h> | |
+# include <sys/utsname.h> | |
+#endif | |
+main () | |
+{ | |
+#if defined (sony) | |
+#if defined (MIPSEB) | |
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, | |
+ I don't know.... */ | |
+ printf ("mips-sony-bsd\n"); exit (0); | |
+#else | |
+#include <sys/param.h> | |
+ printf ("m68k-sony-newsos%s\n", | |
+#ifdef NEWSOS4 | |
+ "4" | |
+#else | |
+ "" | |
+#endif | |
+ ); exit (0); | |
+#endif | |
+#endif | |
+ | |
+#if defined (__arm) && defined (__acorn) && defined (__unix) | |
+ printf ("arm-acorn-riscix\n"); exit (0); | |
+#endif | |
+ | |
+#if defined (hp300) && !defined (hpux) | |
+ printf ("m68k-hp-bsd\n"); exit (0); | |
+#endif | |
+ | |
+#if defined (NeXT) | |
+#if !defined (__ARCHITECTURE__) | |
+#define __ARCHITECTURE__ "m68k" | |
+#endif | |
+ int version; | |
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; | |
+ if (version < 4) | |
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); | |
+ else | |
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); | |
+ exit (0); | |
+#endif | |
+ | |
+#if defined (MULTIMAX) || defined (n16) | |
+#if defined (UMAXV) | |
+ printf ("ns32k-encore-sysv\n"); exit (0); | |
+#else | |
+#if defined (CMU) | |
+ printf ("ns32k-encore-mach\n"); exit (0); | |
+#else | |
+ printf ("ns32k-encore-bsd\n"); exit (0); | |
+#endif | |
+#endif | |
+#endif | |
+ | |
+#if defined (__386BSD__) | |
+ printf ("i386-pc-bsd\n"); exit (0); | |
+#endif | |
+ | |
+#if defined (sequent) | |
+#if defined (i386) | |
+ printf ("i386-sequent-dynix\n"); exit (0); | |
+#endif | |
+#if defined (ns32000) | |
+ printf ("ns32k-sequent-dynix\n"); exit (0); | |
+#endif | |
+#endif | |
+ | |
+#if defined (_SEQUENT_) | |
+ struct utsname un; | |
+ | |
+ uname(&un); | |
+ | |
+ if (strncmp(un.version, "V2", 2) == 0) { | |
+ printf ("i386-sequent-ptx2\n"); exit (0); | |
+ } | |
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ | |
+ printf ("i386-sequent-ptx1\n"); exit (0); | |
+ } | |
+ printf ("i386-sequent-ptx\n"); exit (0); | |
+ | |
+#endif | |
+ | |
+#if defined (vax) | |
+# if !defined (ultrix) | |
+# include <sys/param.h> | |
+# if defined (BSD) | |
+# if BSD == 43 | |
+ printf ("vax-dec-bsd4.3\n"); exit (0); | |
+# else | |
+# if BSD == 199006 | |
+ printf ("vax-dec-bsd4.3reno\n"); exit (0); | |
+# else | |
+ printf ("vax-dec-bsd\n"); exit (0); | |
+# endif | |
+# endif | |
+# else | |
+ printf ("vax-dec-bsd\n"); exit (0); | |
+# endif | |
+# else | |
+ printf ("vax-dec-ultrix\n"); exit (0); | |
+# endif | |
+#endif | |
+ | |
+#if defined (alliant) && defined (i860) | |
+ printf ("i860-alliant-bsd\n"); exit (0); | |
+#endif | |
+ | |
+ exit (1); | |
+} | |
+EOF | |
+ | |
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && | |
+ { echo "$SYSTEM_NAME"; exit; } | |
+ | |
+# Apollos put the system type in the environment. | |
+ | |
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } | |
+ | |
+# Convex versions that predate uname can use getsysinfo(1) | |
+ | |
+if [ -x /usr/convex/getsysinfo ] | |
+then | |
+ case `getsysinfo -f cpu_type` in | |
+ c1*) | |
+ echo c1-convex-bsd | |
+ exit ;; | |
+ c2*) | |
+ if getsysinfo -f scalar_acc | |
+ then echo c32-convex-bsd | |
+ else echo c2-convex-bsd | |
+ fi | |
+ exit ;; | |
+ c34*) | |
+ echo c34-convex-bsd | |
+ exit ;; | |
+ c38*) | |
+ echo c38-convex-bsd | |
+ exit ;; | |
+ c4*) | |
+ echo c4-convex-bsd | |
+ exit ;; | |
+ esac | |
+fi | |
+ | |
+cat >&2 <<EOF | |
+$0: unable to guess system type | |
+ | |
+This script, last modified $timestamp, has failed to recognize | |
+the operating system you are using. It is advised that you | |
+download the most up to date version of the config scripts from | |
+ | |
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD | |
+and | |
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | |
+ | |
+If the version you run ($0) is already up to date, please | |
+send the following data and any information you think might be | |
+pertinent to <[email protected]> in order to provide the needed | |
+information to handle your system. | |
+ | |
+config.guess timestamp = $timestamp | |
+ | |
+uname -m = `(uname -m) 2>/dev/null || echo unknown` | |
+uname -r = `(uname -r) 2>/dev/null || echo unknown` | |
+uname -s = `(uname -s) 2>/dev/null || echo unknown` | |
+uname -v = `(uname -v) 2>/dev/null || echo unknown` | |
+ | |
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` | |
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null` | |
+ | |
+hostinfo = `(hostinfo) 2>/dev/null` | |
+/bin/universe = `(/bin/universe) 2>/dev/null` | |
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` | |
+/bin/arch = `(/bin/arch) 2>/dev/null` | |
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` | |
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` | |
+ | |
+UNAME_MACHINE = ${UNAME_MACHINE} | |
+UNAME_RELEASE = ${UNAME_RELEASE} | |
+UNAME_SYSTEM = ${UNAME_SYSTEM} | |
+UNAME_VERSION = ${UNAME_VERSION} | |
+EOF | |
+ | |
+exit 1 | |
+ | |
+# Local variables: | |
+# eval: (add-hook 'write-file-hooks 'time-stamp) | |
+# time-stamp-start: "timestamp='" | |
+# time-stamp-format: "%:y-%02m-%02d" | |
+# time-stamp-end: "'" | |
+# End: | |
diff --git a/build-aux/config.sub b/build-aux/config.sub | |
new file mode 100755 | |
index 0000000..61cb4bc | |
--- /dev/null | |
+++ b/build-aux/config.sub | |
@@ -0,0 +1,1793 @@ | |
+#! /bin/sh | |
+# Configuration validation subroutine script. | |
+# Copyright 1992-2013 Free Software Foundation, Inc. | |
+ | |
+timestamp='2013-10-01' | |
+ | |
+# This file is free software; you can redistribute it and/or modify it | |
+# under the terms of the GNU General Public License as published by | |
+# the Free Software Foundation; either version 3 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 | |
+# along with this program; if not, see <http://www.gnu.org/licenses/>. | |
+# | |
+# 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. This Exception is an additional permission under section 7 | |
+# of the GNU General Public License, version 3 ("GPLv3"). | |
+ | |
+ | |
+# Please send patches with a ChangeLog entry to [email protected]. | |
+# | |
+# Configuration subroutine to validate and canonicalize a configuration type. | |
+# Supply the specified configuration type as an argument. | |
+# If it is invalid, we print an error message on stderr and exit with code 1. | |
+# Otherwise, we print the canonical config type on stdout and succeed. | |
+ | |
+# You can get the latest version of this script from: | |
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD | |
+ | |
+# This file is supposed to be the same for all GNU packages | |
+# and recognize all the CPU types, system types and aliases | |
+# that are meaningful with *any* GNU software. | |
+# Each package is responsible for reporting which valid configurations | |
+# it does not support. The user should be able to distinguish | |
+# a failure to support a valid configuration from a meaningless | |
+# configuration. | |
+ | |
+# The goal of this file is to map all the various variations of a given | |
+# machine specification into a single specification in the form: | |
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM | |
+# or in some cases, the newer four-part form: | |
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM | |
+# It is wrong to echo any other type of specification. | |
+ | |
+me=`echo "$0" | sed -e 's,.*/,,'` | |
+ | |
+usage="\ | |
+Usage: $0 [OPTION] CPU-MFR-OPSYS | |
+ $0 [OPTION] ALIAS | |
+ | |
+Canonicalize a configuration name. | |
+ | |
+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 <[email protected]>." | |
+ | |
+version="\ | |
+GNU config.sub ($timestamp) | |
+ | |
+Copyright 1992-2013 Free Software Foundation, Inc. | |
+ | |
+This is free software; see the source for copying conditions. There is NO | |
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | |
+ | |
+help=" | |
+Try \`$me --help' for more information." | |
+ | |
+# Parse command line | |
+while test $# -gt 0 ; do | |
+ case $1 in | |
+ --time-stamp | --time* | -t ) | |
+ echo "$timestamp" ; exit ;; | |
+ --version | -v ) | |
+ echo "$version" ; exit ;; | |
+ --help | --h* | -h ) | |
+ echo "$usage"; exit ;; | |
+ -- ) # Stop option processing | |
+ shift; break ;; | |
+ - ) # Use stdin as input. | |
+ break ;; | |
+ -* ) | |
+ echo "$me: invalid option $1$help" | |
+ exit 1 ;; | |
+ | |
+ *local*) | |
+ # First pass through any local machine types. | |
+ echo $1 | |
+ exit ;; | |
+ | |
+ * ) | |
+ break ;; | |
+ esac | |
+done | |
+ | |
+case $# in | |
+ 0) echo "$me: missing argument$help" >&2 | |
+ exit 1;; | |
+ 1) ;; | |
+ *) echo "$me: too many arguments$help" >&2 | |
+ exit 1;; | |
+esac | |
+ | |
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). | |
+# Here we must recognize all the valid KERNEL-OS combinations. | |
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | |
+case $maybe_os in | |
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ | |
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ | |
+ knetbsd*-gnu* | netbsd*-gnu* | \ | |
+ kopensolaris*-gnu* | \ | |
+ storm-chaos* | os2-emx* | rtmk-nova*) | |
+ os=-$maybe_os | |
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` | |
+ ;; | |
+ android-linux) | |
+ os=-linux-android | |
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown | |
+ ;; | |
+ *) | |
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'` | |
+ if [ $basic_machine != $1 ] | |
+ then os=`echo $1 | sed 's/.*-/-/'` | |
+ else os=; fi | |
+ ;; | |
+esac | |
+ | |
+### Let's recognize common machines as not being operating systems so | |
+### that things like config.sub decstation-3100 work. We also | |
+### recognize some manufacturers as not being operating systems, so we | |
+### can provide default operating systems below. | |
+case $os in | |
+ -sun*os*) | |
+ # Prevent following clause from handling this invalid input. | |
+ ;; | |
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ | |
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ | |
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ | |
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ | |
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ | |
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ | |
+ -apple | -axis | -knuth | -cray | -microblaze*) | |
+ os= | |
+ basic_machine=$1 | |
+ ;; | |
+ -bluegene*) | |
+ os=-cnk | |
+ ;; | |
+ -sim | -cisco | -oki | -wec | -winbond) | |
+ os= | |
+ basic_machine=$1 | |
+ ;; | |
+ -scout) | |
+ ;; | |
+ -wrs) | |
+ os=-vxworks | |
+ basic_machine=$1 | |
+ ;; | |
+ -chorusos*) | |
+ os=-chorusos | |
+ basic_machine=$1 | |
+ ;; | |
+ -chorusrdb) | |
+ os=-chorusrdb | |
+ basic_machine=$1 | |
+ ;; | |
+ -hiux*) | |
+ os=-hiuxwe2 | |
+ ;; | |
+ -sco6) | |
+ os=-sco5v6 | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -sco5) | |
+ os=-sco3.2v5 | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -sco4) | |
+ os=-sco3.2v4 | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -sco3.2.[4-9]*) | |
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -sco3.2v[4-9]*) | |
+ # Don't forget version if it is 3.2v4 or newer. | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -sco5v6*) | |
+ # Don't forget version if it is 3.2v4 or newer. | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -sco*) | |
+ os=-sco3.2v2 | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -udk*) | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -isc) | |
+ os=-isc2.2 | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -clix*) | |
+ basic_machine=clipper-intergraph | |
+ ;; | |
+ -isc*) | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ ;; | |
+ -lynx*178) | |
+ os=-lynxos178 | |
+ ;; | |
+ -lynx*5) | |
+ os=-lynxos5 | |
+ ;; | |
+ -lynx*) | |
+ os=-lynxos | |
+ ;; | |
+ -ptx*) | |
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` | |
+ ;; | |
+ -windowsnt*) | |
+ os=`echo $os | sed -e 's/windowsnt/winnt/'` | |
+ ;; | |
+ -psos*) | |
+ os=-psos | |
+ ;; | |
+ -mint | -mint[0-9]*) | |
+ basic_machine=m68k-atari | |
+ os=-mint | |
+ ;; | |
+esac | |
+ | |
+# Decode aliases for certain CPU-COMPANY combinations. | |
+case $basic_machine in | |
+ # Recognize the basic CPU types without company name. | |
+ # Some are omitted here because they have special meanings below. | |
+ 1750a | 580 \ | |
+ | a29k \ | |
+ | aarch64 | aarch64_be \ | |
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | |
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | |
+ | am33_2.0 \ | |
+ | arc | arceb \ | |
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | |
+ | avr | avr32 \ | |
+ | be32 | be64 \ | |
+ | bfin \ | |
+ | c4x | c8051 | clipper \ | |
+ | d10v | d30v | dlx | dsp16xx \ | |
+ | epiphany \ | |
+ | fido | fr30 | frv \ | |
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | |
+ | hexagon \ | |
+ | i370 | i860 | i960 | ia64 \ | |
+ | ip2k | iq2000 \ | |
+ | k1om \ | |
+ | le32 | le64 \ | |
+ | lm32 \ | |
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | |
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | |
+ | mips | mipsbe | mipseb | mipsel | mipsle \ | |
+ | mips16 \ | |
+ | mips64 | mips64el \ | |
+ | mips64octeon | mips64octeonel \ | |
+ | mips64orion | mips64orionel \ | |
+ | mips64r5900 | mips64r5900el \ | |
+ | mips64vr | mips64vrel \ | |
+ | mips64vr4100 | mips64vr4100el \ | |
+ | mips64vr4300 | mips64vr4300el \ | |
+ | mips64vr5000 | mips64vr5000el \ | |
+ | mips64vr5900 | mips64vr5900el \ | |
+ | mipsisa32 | mipsisa32el \ | |
+ | mipsisa32r2 | mipsisa32r2el \ | |
+ | mipsisa64 | mipsisa64el \ | |
+ | mipsisa64r2 | mipsisa64r2el \ | |
+ | mipsisa64sb1 | mipsisa64sb1el \ | |
+ | mipsisa64sr71k | mipsisa64sr71kel \ | |
+ | mipsr5900 | mipsr5900el \ | |
+ | mipstx39 | mipstx39el \ | |
+ | mn10200 | mn10300 \ | |
+ | moxie \ | |
+ | mt \ | |
+ | msp430 \ | |
+ | nds32 | nds32le | nds32be \ | |
+ | nios | nios2 | nios2eb | nios2el \ | |
+ | ns16k | ns32k \ | |
+ | open8 \ | |
+ | or1k | or32 \ | |
+ | pdp10 | pdp11 | pj | pjl \ | |
+ | powerpc | powerpc64 | powerpc64le | powerpcle \ | |
+ | pyramid \ | |
+ | rl78 | rx \ | |
+ | score \ | |
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | |
+ | sh64 | sh64le \ | |
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | |
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | |
+ | spu \ | |
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | |
+ | ubicom32 \ | |
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | |
+ | we32k \ | |
+ | x86 | xc16x | xstormy16 | xtensa \ | |
+ | z8k | z80) | |
+ basic_machine=$basic_machine-unknown | |
+ ;; | |
+ c54x) | |
+ basic_machine=tic54x-unknown | |
+ ;; | |
+ c55x) | |
+ basic_machine=tic55x-unknown | |
+ ;; | |
+ c6x) | |
+ basic_machine=tic6x-unknown | |
+ ;; | |
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) | |
+ basic_machine=$basic_machine-unknown | |
+ os=-none | |
+ ;; | |
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) | |
+ ;; | |
+ ms1) | |
+ basic_machine=mt-unknown | |
+ ;; | |
+ | |
+ strongarm | thumb | xscale) | |
+ basic_machine=arm-unknown | |
+ ;; | |
+ xgate) | |
+ basic_machine=$basic_machine-unknown | |
+ os=-none | |
+ ;; | |
+ xscaleeb) | |
+ basic_machine=armeb-unknown | |
+ ;; | |
+ | |
+ xscaleel) | |
+ basic_machine=armel-unknown | |
+ ;; | |
+ | |
+ # We use `pc' rather than `unknown' | |
+ # because (1) that's what they normally are, and | |
+ # (2) the word "unknown" tends to confuse beginning users. | |
+ i*86 | x86_64) | |
+ basic_machine=$basic_machine-pc | |
+ ;; | |
+ # Object if more than one company name word. | |
+ *-*-*) | |
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | |
+ exit 1 | |
+ ;; | |
+ # Recognize the basic CPU types with company name. | |
+ 580-* \ | |
+ | a29k-* \ | |
+ | aarch64-* | aarch64_be-* \ | |
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | |
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | |
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | |
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | |
+ | avr-* | avr32-* \ | |
+ | be32-* | be64-* \ | |
+ | bfin-* | bs2000-* \ | |
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | |
+ | c8051-* | clipper-* | craynv-* | cydra-* \ | |
+ | d10v-* | d30v-* | dlx-* \ | |
+ | elxsi-* \ | |
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | |
+ | h8300-* | h8500-* \ | |
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | |
+ | hexagon-* \ | |
+ | i*86-* | i860-* | i960-* | ia64-* \ | |
+ | ip2k-* | iq2000-* \ | |
+ | k1om-* \ | |
+ | le32-* | le64-* \ | |
+ | lm32-* \ | |
+ | m32c-* | m32r-* | m32rle-* \ | |
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | |
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | |
+ | microblaze-* | microblazeel-* \ | |
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | |
+ | mips16-* \ | |
+ | mips64-* | mips64el-* \ | |
+ | mips64octeon-* | mips64octeonel-* \ | |
+ | mips64orion-* | mips64orionel-* \ | |
+ | mips64r5900-* | mips64r5900el-* \ | |
+ | mips64vr-* | mips64vrel-* \ | |
+ | mips64vr4100-* | mips64vr4100el-* \ | |
+ | mips64vr4300-* | mips64vr4300el-* \ | |
+ | mips64vr5000-* | mips64vr5000el-* \ | |
+ | mips64vr5900-* | mips64vr5900el-* \ | |
+ | mipsisa32-* | mipsisa32el-* \ | |
+ | mipsisa32r2-* | mipsisa32r2el-* \ | |
+ | mipsisa64-* | mipsisa64el-* \ | |
+ | mipsisa64r2-* | mipsisa64r2el-* \ | |
+ | mipsisa64sb1-* | mipsisa64sb1el-* \ | |
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | |
+ | mipsr5900-* | mipsr5900el-* \ | |
+ | mipstx39-* | mipstx39el-* \ | |
+ | mmix-* \ | |
+ | mt-* \ | |
+ | msp430-* \ | |
+ | nds32-* | nds32le-* | nds32be-* \ | |
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | |
+ | none-* | np1-* | ns16k-* | ns32k-* \ | |
+ | open8-* \ | |
+ | orion-* \ | |
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | |
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | |
+ | pyramid-* \ | |
+ | rl78-* | romp-* | rs6000-* | rx-* \ | |
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | |
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | |
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | |
+ | sparclite-* \ | |
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | |
+ | tahoe-* \ | |
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | |
+ | tile*-* \ | |
+ | tron-* \ | |
+ | ubicom32-* \ | |
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | |
+ | vax-* \ | |
+ | we32k-* \ | |
+ | x86-* | x86_64-* | xc16x-* | xps100-* \ | |
+ | xstormy16-* | xtensa*-* \ | |
+ | ymp-* \ | |
+ | z8k-* | z80-*) | |
+ ;; | |
+ # Recognize the basic CPU types without company name, with glob match. | |
+ xtensa*) | |
+ basic_machine=$basic_machine-unknown | |
+ ;; | |
+ # Recognize the various machine names and aliases which stand | |
+ # for a CPU type and a company and sometimes even an OS. | |
+ 386bsd) | |
+ basic_machine=i386-unknown | |
+ os=-bsd | |
+ ;; | |
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) | |
+ basic_machine=m68000-att | |
+ ;; | |
+ 3b*) | |
+ basic_machine=we32k-att | |
+ ;; | |
+ a29khif) | |
+ basic_machine=a29k-amd | |
+ os=-udi | |
+ ;; | |
+ abacus) | |
+ basic_machine=abacus-unknown | |
+ ;; | |
+ adobe68k) | |
+ basic_machine=m68010-adobe | |
+ os=-scout | |
+ ;; | |
+ alliant | fx80) | |
+ basic_machine=fx80-alliant | |
+ ;; | |
+ altos | altos3068) | |
+ basic_machine=m68k-altos | |
+ ;; | |
+ am29k) | |
+ basic_machine=a29k-none | |
+ os=-bsd | |
+ ;; | |
+ amd64) | |
+ basic_machine=x86_64-pc | |
+ ;; | |
+ amd64-*) | |
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ amdahl) | |
+ basic_machine=580-amdahl | |
+ os=-sysv | |
+ ;; | |
+ amiga | amiga-*) | |
+ basic_machine=m68k-unknown | |
+ ;; | |
+ amigaos | amigados) | |
+ basic_machine=m68k-unknown | |
+ os=-amigaos | |
+ ;; | |
+ amigaunix | amix) | |
+ basic_machine=m68k-unknown | |
+ os=-sysv4 | |
+ ;; | |
+ apollo68) | |
+ basic_machine=m68k-apollo | |
+ os=-sysv | |
+ ;; | |
+ apollo68bsd) | |
+ basic_machine=m68k-apollo | |
+ os=-bsd | |
+ ;; | |
+ aros) | |
+ basic_machine=i386-pc | |
+ os=-aros | |
+ ;; | |
+ aux) | |
+ basic_machine=m68k-apple | |
+ os=-aux | |
+ ;; | |
+ balance) | |
+ basic_machine=ns32k-sequent | |
+ os=-dynix | |
+ ;; | |
+ blackfin) | |
+ basic_machine=bfin-unknown | |
+ os=-linux | |
+ ;; | |
+ blackfin-*) | |
+ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ os=-linux | |
+ ;; | |
+ bluegene*) | |
+ basic_machine=powerpc-ibm | |
+ os=-cnk | |
+ ;; | |
+ c54x-*) | |
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ c55x-*) | |
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ c6x-*) | |
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ c90) | |
+ basic_machine=c90-cray | |
+ os=-unicos | |
+ ;; | |
+ cegcc) | |
+ basic_machine=arm-unknown | |
+ os=-cegcc | |
+ ;; | |
+ convex-c1) | |
+ basic_machine=c1-convex | |
+ os=-bsd | |
+ ;; | |
+ convex-c2) | |
+ basic_machine=c2-convex | |
+ os=-bsd | |
+ ;; | |
+ convex-c32) | |
+ basic_machine=c32-convex | |
+ os=-bsd | |
+ ;; | |
+ convex-c34) | |
+ basic_machine=c34-convex | |
+ os=-bsd | |
+ ;; | |
+ convex-c38) | |
+ basic_machine=c38-convex | |
+ os=-bsd | |
+ ;; | |
+ cray | j90) | |
+ basic_machine=j90-cray | |
+ os=-unicos | |
+ ;; | |
+ craynv) | |
+ basic_machine=craynv-cray | |
+ os=-unicosmp | |
+ ;; | |
+ cr16 | cr16-*) | |
+ basic_machine=cr16-unknown | |
+ os=-elf | |
+ ;; | |
+ crds | unos) | |
+ basic_machine=m68k-crds | |
+ ;; | |
+ crisv32 | crisv32-* | etraxfs*) | |
+ basic_machine=crisv32-axis | |
+ ;; | |
+ cris | cris-* | etrax*) | |
+ basic_machine=cris-axis | |
+ ;; | |
+ crx) | |
+ basic_machine=crx-unknown | |
+ os=-elf | |
+ ;; | |
+ da30 | da30-*) | |
+ basic_machine=m68k-da30 | |
+ ;; | |
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) | |
+ basic_machine=mips-dec | |
+ ;; | |
+ decsystem10* | dec10*) | |
+ basic_machine=pdp10-dec | |
+ os=-tops10 | |
+ ;; | |
+ decsystem20* | dec20*) | |
+ basic_machine=pdp10-dec | |
+ os=-tops20 | |
+ ;; | |
+ delta | 3300 | motorola-3300 | motorola-delta \ | |
+ | 3300-motorola | delta-motorola) | |
+ basic_machine=m68k-motorola | |
+ ;; | |
+ delta88) | |
+ basic_machine=m88k-motorola | |
+ os=-sysv3 | |
+ ;; | |
+ dicos) | |
+ basic_machine=i686-pc | |
+ os=-dicos | |
+ ;; | |
+ djgpp) | |
+ basic_machine=i586-pc | |
+ os=-msdosdjgpp | |
+ ;; | |
+ dpx20 | dpx20-*) | |
+ basic_machine=rs6000-bull | |
+ os=-bosx | |
+ ;; | |
+ dpx2* | dpx2*-bull) | |
+ basic_machine=m68k-bull | |
+ os=-sysv3 | |
+ ;; | |
+ ebmon29k) | |
+ basic_machine=a29k-amd | |
+ os=-ebmon | |
+ ;; | |
+ elxsi) | |
+ basic_machine=elxsi-elxsi | |
+ os=-bsd | |
+ ;; | |
+ encore | umax | mmax) | |
+ basic_machine=ns32k-encore | |
+ ;; | |
+ es1800 | OSE68k | ose68k | ose | OSE) | |
+ basic_machine=m68k-ericsson | |
+ os=-ose | |
+ ;; | |
+ fx2800) | |
+ basic_machine=i860-alliant | |
+ ;; | |
+ genix) | |
+ basic_machine=ns32k-ns | |
+ ;; | |
+ gmicro) | |
+ basic_machine=tron-gmicro | |
+ os=-sysv | |
+ ;; | |
+ go32) | |
+ basic_machine=i386-pc | |
+ os=-go32 | |
+ ;; | |
+ h3050r* | hiux*) | |
+ basic_machine=hppa1.1-hitachi | |
+ os=-hiuxwe2 | |
+ ;; | |
+ h8300hms) | |
+ basic_machine=h8300-hitachi | |
+ os=-hms | |
+ ;; | |
+ h8300xray) | |
+ basic_machine=h8300-hitachi | |
+ os=-xray | |
+ ;; | |
+ h8500hms) | |
+ basic_machine=h8500-hitachi | |
+ os=-hms | |
+ ;; | |
+ harris) | |
+ basic_machine=m88k-harris | |
+ os=-sysv3 | |
+ ;; | |
+ hp300-*) | |
+ basic_machine=m68k-hp | |
+ ;; | |
+ hp300bsd) | |
+ basic_machine=m68k-hp | |
+ os=-bsd | |
+ ;; | |
+ hp300hpux) | |
+ basic_machine=m68k-hp | |
+ os=-hpux | |
+ ;; | |
+ hp3k9[0-9][0-9] | hp9[0-9][0-9]) | |
+ basic_machine=hppa1.0-hp | |
+ ;; | |
+ hp9k2[0-9][0-9] | hp9k31[0-9]) | |
+ basic_machine=m68000-hp | |
+ ;; | |
+ hp9k3[2-9][0-9]) | |
+ basic_machine=m68k-hp | |
+ ;; | |
+ hp9k6[0-9][0-9] | hp6[0-9][0-9]) | |
+ basic_machine=hppa1.0-hp | |
+ ;; | |
+ hp9k7[0-79][0-9] | hp7[0-79][0-9]) | |
+ basic_machine=hppa1.1-hp | |
+ ;; | |
+ hp9k78[0-9] | hp78[0-9]) | |
+ # FIXME: really hppa2.0-hp | |
+ basic_machine=hppa1.1-hp | |
+ ;; | |
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) | |
+ # FIXME: really hppa2.0-hp | |
+ basic_machine=hppa1.1-hp | |
+ ;; | |
+ hp9k8[0-9][13679] | hp8[0-9][13679]) | |
+ basic_machine=hppa1.1-hp | |
+ ;; | |
+ hp9k8[0-9][0-9] | hp8[0-9][0-9]) | |
+ basic_machine=hppa1.0-hp | |
+ ;; | |
+ hppa-next) | |
+ os=-nextstep3 | |
+ ;; | |
+ hppaosf) | |
+ basic_machine=hppa1.1-hp | |
+ os=-osf | |
+ ;; | |
+ hppro) | |
+ basic_machine=hppa1.1-hp | |
+ os=-proelf | |
+ ;; | |
+ i370-ibm* | ibm*) | |
+ basic_machine=i370-ibm | |
+ ;; | |
+ i*86v32) | |
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
+ os=-sysv32 | |
+ ;; | |
+ i*86v4*) | |
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
+ os=-sysv4 | |
+ ;; | |
+ i*86v) | |
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
+ os=-sysv | |
+ ;; | |
+ i*86sol2) | |
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
+ os=-solaris2 | |
+ ;; | |
+ i386mach) | |
+ basic_machine=i386-mach | |
+ os=-mach | |
+ ;; | |
+ i386-vsta | vsta) | |
+ basic_machine=i386-unknown | |
+ os=-vsta | |
+ ;; | |
+ iris | iris4d) | |
+ basic_machine=mips-sgi | |
+ case $os in | |
+ -irix*) | |
+ ;; | |
+ *) | |
+ os=-irix4 | |
+ ;; | |
+ esac | |
+ ;; | |
+ isi68 | isi) | |
+ basic_machine=m68k-isi | |
+ os=-sysv | |
+ ;; | |
+ m68knommu) | |
+ basic_machine=m68k-unknown | |
+ os=-linux | |
+ ;; | |
+ m68knommu-*) | |
+ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ os=-linux | |
+ ;; | |
+ m88k-omron*) | |
+ basic_machine=m88k-omron | |
+ ;; | |
+ magnum | m3230) | |
+ basic_machine=mips-mips | |
+ os=-sysv | |
+ ;; | |
+ merlin) | |
+ basic_machine=ns32k-utek | |
+ os=-sysv | |
+ ;; | |
+ microblaze*) | |
+ basic_machine=microblaze-xilinx | |
+ ;; | |
+ mingw64) | |
+ basic_machine=x86_64-pc | |
+ os=-mingw64 | |
+ ;; | |
+ mingw32) | |
+ basic_machine=i686-pc | |
+ os=-mingw32 | |
+ ;; | |
+ mingw32ce) | |
+ basic_machine=arm-unknown | |
+ os=-mingw32ce | |
+ ;; | |
+ miniframe) | |
+ basic_machine=m68000-convergent | |
+ ;; | |
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) | |
+ basic_machine=m68k-atari | |
+ os=-mint | |
+ ;; | |
+ mips3*-*) | |
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` | |
+ ;; | |
+ mips3*) | |
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown | |
+ ;; | |
+ monitor) | |
+ basic_machine=m68k-rom68k | |
+ os=-coff | |
+ ;; | |
+ morphos) | |
+ basic_machine=powerpc-unknown | |
+ os=-morphos | |
+ ;; | |
+ msdos) | |
+ basic_machine=i386-pc | |
+ os=-msdos | |
+ ;; | |
+ ms1-*) | |
+ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` | |
+ ;; | |
+ msys) | |
+ basic_machine=i686-pc | |
+ os=-msys | |
+ ;; | |
+ mvs) | |
+ basic_machine=i370-ibm | |
+ os=-mvs | |
+ ;; | |
+ nacl) | |
+ basic_machine=le32-unknown | |
+ os=-nacl | |
+ ;; | |
+ ncr3000) | |
+ basic_machine=i486-ncr | |
+ os=-sysv4 | |
+ ;; | |
+ netbsd386) | |
+ basic_machine=i386-unknown | |
+ os=-netbsd | |
+ ;; | |
+ netwinder) | |
+ basic_machine=armv4l-rebel | |
+ os=-linux | |
+ ;; | |
+ news | news700 | news800 | news900) | |
+ basic_machine=m68k-sony | |
+ os=-newsos | |
+ ;; | |
+ news1000) | |
+ basic_machine=m68030-sony | |
+ os=-newsos | |
+ ;; | |
+ news-3600 | risc-news) | |
+ basic_machine=mips-sony | |
+ os=-newsos | |
+ ;; | |
+ necv70) | |
+ basic_machine=v70-nec | |
+ os=-sysv | |
+ ;; | |
+ next | m*-next ) | |
+ basic_machine=m68k-next | |
+ case $os in | |
+ -nextstep* ) | |
+ ;; | |
+ -ns2*) | |
+ os=-nextstep2 | |
+ ;; | |
+ *) | |
+ os=-nextstep3 | |
+ ;; | |
+ esac | |
+ ;; | |
+ nh3000) | |
+ basic_machine=m68k-harris | |
+ os=-cxux | |
+ ;; | |
+ nh[45]000) | |
+ basic_machine=m88k-harris | |
+ os=-cxux | |
+ ;; | |
+ nindy960) | |
+ basic_machine=i960-intel | |
+ os=-nindy | |
+ ;; | |
+ mon960) | |
+ basic_machine=i960-intel | |
+ os=-mon960 | |
+ ;; | |
+ nonstopux) | |
+ basic_machine=mips-compaq | |
+ os=-nonstopux | |
+ ;; | |
+ np1) | |
+ basic_machine=np1-gould | |
+ ;; | |
+ neo-tandem) | |
+ basic_machine=neo-tandem | |
+ ;; | |
+ nse-tandem) | |
+ basic_machine=nse-tandem | |
+ ;; | |
+ nsr-tandem) | |
+ basic_machine=nsr-tandem | |
+ ;; | |
+ op50n-* | op60c-*) | |
+ basic_machine=hppa1.1-oki | |
+ os=-proelf | |
+ ;; | |
+ openrisc | openrisc-*) | |
+ basic_machine=or32-unknown | |
+ ;; | |
+ os400) | |
+ basic_machine=powerpc-ibm | |
+ os=-os400 | |
+ ;; | |
+ OSE68000 | ose68000) | |
+ basic_machine=m68000-ericsson | |
+ os=-ose | |
+ ;; | |
+ os68k) | |
+ basic_machine=m68k-none | |
+ os=-os68k | |
+ ;; | |
+ pa-hitachi) | |
+ basic_machine=hppa1.1-hitachi | |
+ os=-hiuxwe2 | |
+ ;; | |
+ paragon) | |
+ basic_machine=i860-intel | |
+ os=-osf | |
+ ;; | |
+ parisc) | |
+ basic_machine=hppa-unknown | |
+ os=-linux | |
+ ;; | |
+ parisc-*) | |
+ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ os=-linux | |
+ ;; | |
+ pbd) | |
+ basic_machine=sparc-tti | |
+ ;; | |
+ pbb) | |
+ basic_machine=m68k-tti | |
+ ;; | |
+ pc532 | pc532-*) | |
+ basic_machine=ns32k-pc532 | |
+ ;; | |
+ pc98) | |
+ basic_machine=i386-pc | |
+ ;; | |
+ pc98-*) | |
+ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ pentium | p5 | k5 | k6 | nexgen | viac3) | |
+ basic_machine=i586-pc | |
+ ;; | |
+ pentiumpro | p6 | 6x86 | athlon | athlon_*) | |
+ basic_machine=i686-pc | |
+ ;; | |
+ pentiumii | pentium2 | pentiumiii | pentium3) | |
+ basic_machine=i686-pc | |
+ ;; | |
+ pentium4) | |
+ basic_machine=i786-pc | |
+ ;; | |
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) | |
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ pentiumpro-* | p6-* | 6x86-* | athlon-*) | |
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) | |
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ pentium4-*) | |
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ pn) | |
+ basic_machine=pn-gould | |
+ ;; | |
+ power) basic_machine=power-ibm | |
+ ;; | |
+ ppc | ppcbe) basic_machine=powerpc-unknown | |
+ ;; | |
+ ppc-* | ppcbe-*) | |
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ ppcle | powerpclittle | ppc-le | powerpc-little) | |
+ basic_machine=powerpcle-unknown | |
+ ;; | |
+ ppcle-* | powerpclittle-*) | |
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ ppc64) basic_machine=powerpc64-unknown | |
+ ;; | |
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little) | |
+ basic_machine=powerpc64le-unknown | |
+ ;; | |
+ ppc64le-* | powerpc64little-*) | |
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ ps2) | |
+ basic_machine=i386-ibm | |
+ ;; | |
+ pw32) | |
+ basic_machine=i586-unknown | |
+ os=-pw32 | |
+ ;; | |
+ rdos | rdos64) | |
+ basic_machine=x86_64-pc | |
+ os=-rdos | |
+ ;; | |
+ rdos32) | |
+ basic_machine=i386-pc | |
+ os=-rdos | |
+ ;; | |
+ rom68k) | |
+ basic_machine=m68k-rom68k | |
+ os=-coff | |
+ ;; | |
+ rm[46]00) | |
+ basic_machine=mips-siemens | |
+ ;; | |
+ rtpc | rtpc-*) | |
+ basic_machine=romp-ibm | |
+ ;; | |
+ s390 | s390-*) | |
+ basic_machine=s390-ibm | |
+ ;; | |
+ s390x | s390x-*) | |
+ basic_machine=s390x-ibm | |
+ ;; | |
+ sa29200) | |
+ basic_machine=a29k-amd | |
+ os=-udi | |
+ ;; | |
+ sb1) | |
+ basic_machine=mipsisa64sb1-unknown | |
+ ;; | |
+ sb1el) | |
+ basic_machine=mipsisa64sb1el-unknown | |
+ ;; | |
+ sde) | |
+ basic_machine=mipsisa32-sde | |
+ os=-elf | |
+ ;; | |
+ sei) | |
+ basic_machine=mips-sei | |
+ os=-seiux | |
+ ;; | |
+ sequent) | |
+ basic_machine=i386-sequent | |
+ ;; | |
+ sh) | |
+ basic_machine=sh-hitachi | |
+ os=-hms | |
+ ;; | |
+ sh5el) | |
+ basic_machine=sh5le-unknown | |
+ ;; | |
+ sh64) | |
+ basic_machine=sh64-unknown | |
+ ;; | |
+ sparclite-wrs | simso-wrs) | |
+ basic_machine=sparclite-wrs | |
+ os=-vxworks | |
+ ;; | |
+ sps7) | |
+ basic_machine=m68k-bull | |
+ os=-sysv2 | |
+ ;; | |
+ spur) | |
+ basic_machine=spur-unknown | |
+ ;; | |
+ st2000) | |
+ basic_machine=m68k-tandem | |
+ ;; | |
+ stratus) | |
+ basic_machine=i860-stratus | |
+ os=-sysv4 | |
+ ;; | |
+ strongarm-* | thumb-*) | |
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ ;; | |
+ sun2) | |
+ basic_machine=m68000-sun | |
+ ;; | |
+ sun2os3) | |
+ basic_machine=m68000-sun | |
+ os=-sunos3 | |
+ ;; | |
+ sun2os4) | |
+ basic_machine=m68000-sun | |
+ os=-sunos4 | |
+ ;; | |
+ sun3os3) | |
+ basic_machine=m68k-sun | |
+ os=-sunos3 | |
+ ;; | |
+ sun3os4) | |
+ basic_machine=m68k-sun | |
+ os=-sunos4 | |
+ ;; | |
+ sun4os3) | |
+ basic_machine=sparc-sun | |
+ os=-sunos3 | |
+ ;; | |
+ sun4os4) | |
+ basic_machine=sparc-sun | |
+ os=-sunos4 | |
+ ;; | |
+ sun4sol2) | |
+ basic_machine=sparc-sun | |
+ os=-solaris2 | |
+ ;; | |
+ sun3 | sun3-*) | |
+ basic_machine=m68k-sun | |
+ ;; | |
+ sun4) | |
+ basic_machine=sparc-sun | |
+ ;; | |
+ sun386 | sun386i | roadrunner) | |
+ basic_machine=i386-sun | |
+ ;; | |
+ sv1) | |
+ basic_machine=sv1-cray | |
+ os=-unicos | |
+ ;; | |
+ symmetry) | |
+ basic_machine=i386-sequent | |
+ os=-dynix | |
+ ;; | |
+ t3e) | |
+ basic_machine=alphaev5-cray | |
+ os=-unicos | |
+ ;; | |
+ t90) | |
+ basic_machine=t90-cray | |
+ os=-unicos | |
+ ;; | |
+ tile*) | |
+ basic_machine=$basic_machine-unknown | |
+ os=-linux-gnu | |
+ ;; | |
+ tx39) | |
+ basic_machine=mipstx39-unknown | |
+ ;; | |
+ tx39el) | |
+ basic_machine=mipstx39el-unknown | |
+ ;; | |
+ toad1) | |
+ basic_machine=pdp10-xkl | |
+ os=-tops20 | |
+ ;; | |
+ tower | tower-32) | |
+ basic_machine=m68k-ncr | |
+ ;; | |
+ tpf) | |
+ basic_machine=s390x-ibm | |
+ os=-tpf | |
+ ;; | |
+ udi29k) | |
+ basic_machine=a29k-amd | |
+ os=-udi | |
+ ;; | |
+ ultra3) | |
+ basic_machine=a29k-nyu | |
+ os=-sym1 | |
+ ;; | |
+ v810 | necv810) | |
+ basic_machine=v810-nec | |
+ os=-none | |
+ ;; | |
+ vaxv) | |
+ basic_machine=vax-dec | |
+ os=-sysv | |
+ ;; | |
+ vms) | |
+ basic_machine=vax-dec | |
+ os=-vms | |
+ ;; | |
+ vpp*|vx|vx-*) | |
+ basic_machine=f301-fujitsu | |
+ ;; | |
+ vxworks960) | |
+ basic_machine=i960-wrs | |
+ os=-vxworks | |
+ ;; | |
+ vxworks68) | |
+ basic_machine=m68k-wrs | |
+ os=-vxworks | |
+ ;; | |
+ vxworks29k) | |
+ basic_machine=a29k-wrs | |
+ os=-vxworks | |
+ ;; | |
+ w65*) | |
+ basic_machine=w65-wdc | |
+ os=-none | |
+ ;; | |
+ w89k-*) | |
+ basic_machine=hppa1.1-winbond | |
+ os=-proelf | |
+ ;; | |
+ xbox) | |
+ basic_machine=i686-pc | |
+ os=-mingw32 | |
+ ;; | |
+ xps | xps100) | |
+ basic_machine=xps100-honeywell | |
+ ;; | |
+ xscale-* | xscalee[bl]-*) | |
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` | |
+ ;; | |
+ ymp) | |
+ basic_machine=ymp-cray | |
+ os=-unicos | |
+ ;; | |
+ z8k-*-coff) | |
+ basic_machine=z8k-unknown | |
+ os=-sim | |
+ ;; | |
+ z80-*-coff) | |
+ basic_machine=z80-unknown | |
+ os=-sim | |
+ ;; | |
+ none) | |
+ basic_machine=none-none | |
+ os=-none | |
+ ;; | |
+ | |
+# Here we handle the default manufacturer of certain CPU types. It is in | |
+# some cases the only manufacturer, in others, it is the most popular. | |
+ w89k) | |
+ basic_machine=hppa1.1-winbond | |
+ ;; | |
+ op50n) | |
+ basic_machine=hppa1.1-oki | |
+ ;; | |
+ op60c) | |
+ basic_machine=hppa1.1-oki | |
+ ;; | |
+ romp) | |
+ basic_machine=romp-ibm | |
+ ;; | |
+ mmix) | |
+ basic_machine=mmix-knuth | |
+ ;; | |
+ rs6000) | |
+ basic_machine=rs6000-ibm | |
+ ;; | |
+ vax) | |
+ basic_machine=vax-dec | |
+ ;; | |
+ pdp10) | |
+ # there are many clones, so DEC is not a safe bet | |
+ basic_machine=pdp10-unknown | |
+ ;; | |
+ pdp11) | |
+ basic_machine=pdp11-dec | |
+ ;; | |
+ we32k) | |
+ basic_machine=we32k-att | |
+ ;; | |
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) | |
+ basic_machine=sh-unknown | |
+ ;; | |
+ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) | |
+ basic_machine=sparc-sun | |
+ ;; | |
+ cydra) | |
+ basic_machine=cydra-cydrome | |
+ ;; | |
+ orion) | |
+ basic_machine=orion-highlevel | |
+ ;; | |
+ orion105) | |
+ basic_machine=clipper-highlevel | |
+ ;; | |
+ mac | mpw | mac-mpw) | |
+ basic_machine=m68k-apple | |
+ ;; | |
+ pmac | pmac-mpw) | |
+ basic_machine=powerpc-apple | |
+ ;; | |
+ *-unknown) | |
+ # Make sure to match an already-canonicalized machine name. | |
+ ;; | |
+ *) | |
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | |
+ exit 1 | |
+ ;; | |
+esac | |
+ | |
+# Here we canonicalize certain aliases for manufacturers. | |
+case $basic_machine in | |
+ *-digital*) | |
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` | |
+ ;; | |
+ *-commodore*) | |
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` | |
+ ;; | |
+ *) | |
+ ;; | |
+esac | |
+ | |
+# Decode manufacturer-specific aliases for certain operating systems. | |
+ | |
+if [ x"$os" != x"" ] | |
+then | |
+case $os in | |
+ # First match some system type aliases | |
+ # that might get confused with valid system types. | |
+ # -solaris* is a basic system type, with this one exception. | |
+ -auroraux) | |
+ os=-auroraux | |
+ ;; | |
+ -solaris1 | -solaris1.*) | |
+ os=`echo $os | sed -e 's|solaris1|sunos4|'` | |
+ ;; | |
+ -solaris) | |
+ os=-solaris2 | |
+ ;; | |
+ -svr4*) | |
+ os=-sysv4 | |
+ ;; | |
+ -unixware*) | |
+ os=-sysv4.2uw | |
+ ;; | |
+ -gnu/linux*) | |
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` | |
+ ;; | |
+ # First accept the basic system types. | |
+ # The portable systems comes first. | |
+ # Each alternative MUST END IN A *, to match a version number. | |
+ # -sysv* is not here because it comes later, after sysvr4. | |
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | |
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | |
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | |
+ | -sym* | -kopensolaris* | -plan9* \ | |
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | |
+ | -aos* | -aros* \ | |
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | |
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | |
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | |
+ | -bitrig* | -openbsd* | -solidbsd* \ | |
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | |
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | |
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | |
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | |
+ | -chorusos* | -chorusrdb* | -cegcc* \ | |
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | |
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | |
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | |
+ | -uxpv* | -beos* | -mpeix* | -udk* \ | |
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | |
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | |
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | |
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | |
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | |
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | |
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) | |
+ # Remember, each alternative MUST END IN *, to match a version number. | |
+ ;; | |
+ -qnx*) | |
+ case $basic_machine in | |
+ x86-* | i*86-*) | |
+ ;; | |
+ *) | |
+ os=-nto$os | |
+ ;; | |
+ esac | |
+ ;; | |
+ -nto-qnx*) | |
+ ;; | |
+ -nto*) | |
+ os=`echo $os | sed -e 's|nto|nto-qnx|'` | |
+ ;; | |
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | |
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | |
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | |
+ ;; | |
+ -mac*) | |
+ os=`echo $os | sed -e 's|mac|macos|'` | |
+ ;; | |
+ -linux-dietlibc) | |
+ os=-linux-dietlibc | |
+ ;; | |
+ -linux*) | |
+ os=`echo $os | sed -e 's|linux|linux-gnu|'` | |
+ ;; | |
+ -sunos5*) | |
+ os=`echo $os | sed -e 's|sunos5|solaris2|'` | |
+ ;; | |
+ -sunos6*) | |
+ os=`echo $os | sed -e 's|sunos6|solaris3|'` | |
+ ;; | |
+ -opened*) | |
+ os=-openedition | |
+ ;; | |
+ -os400*) | |
+ os=-os400 | |
+ ;; | |
+ -wince*) | |
+ os=-wince | |
+ ;; | |
+ -osfrose*) | |
+ os=-osfrose | |
+ ;; | |
+ -osf*) | |
+ os=-osf | |
+ ;; | |
+ -utek*) | |
+ os=-bsd | |
+ ;; | |
+ -dynix*) | |
+ os=-bsd | |
+ ;; | |
+ -acis*) | |
+ os=-aos | |
+ ;; | |
+ -atheos*) | |
+ os=-atheos | |
+ ;; | |
+ -syllable*) | |
+ os=-syllable | |
+ ;; | |
+ -386bsd) | |
+ os=-bsd | |
+ ;; | |
+ -ctix* | -uts*) | |
+ os=-sysv | |
+ ;; | |
+ -nova*) | |
+ os=-rtmk-nova | |
+ ;; | |
+ -ns2 ) | |
+ os=-nextstep2 | |
+ ;; | |
+ -nsk*) | |
+ os=-nsk | |
+ ;; | |
+ # Preserve the version number of sinix5. | |
+ -sinix5.*) | |
+ os=`echo $os | sed -e 's|sinix|sysv|'` | |
+ ;; | |
+ -sinix*) | |
+ os=-sysv4 | |
+ ;; | |
+ -tpf*) | |
+ os=-tpf | |
+ ;; | |
+ -triton*) | |
+ os=-sysv3 | |
+ ;; | |
+ -oss*) | |
+ os=-sysv3 | |
+ ;; | |
+ -svr4) | |
+ os=-sysv4 | |
+ ;; | |
+ -svr3) | |
+ os=-sysv3 | |
+ ;; | |
+ -sysvr4) | |
+ os=-sysv4 | |
+ ;; | |
+ # This must come after -sysvr4. | |
+ -sysv*) | |
+ ;; | |
+ -ose*) | |
+ os=-ose | |
+ ;; | |
+ -es1800*) | |
+ os=-ose | |
+ ;; | |
+ -xenix) | |
+ os=-xenix | |
+ ;; | |
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | |
+ os=-mint | |
+ ;; | |
+ -aros*) | |
+ os=-aros | |
+ ;; | |
+ -zvmoe) | |
+ os=-zvmoe | |
+ ;; | |
+ -dicos*) | |
+ os=-dicos | |
+ ;; | |
+ -nacl*) | |
+ ;; | |
+ -none) | |
+ ;; | |
+ *) | |
+ # Get rid of the `-' at the beginning of $os. | |
+ os=`echo $os | sed 's/[^-]*-//'` | |
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 | |
+ exit 1 | |
+ ;; | |
+esac | |
+else | |
+ | |
+# Here we handle the default operating systems that come with various machines. | |
+# The value should be what the vendor currently ships out the door with their | |
+# machine or put another way, the most popular os provided with the machine. | |
+ | |
+# Note that if you're going to try to match "-MANUFACTURER" here (say, | |
+# "-sun"), then you have to tell the case statement up towards the top | |
+# that MANUFACTURER isn't an operating system. Otherwise, code above | |
+# will signal an error saying that MANUFACTURER isn't an operating | |
+# system, and we'll never get to this point. | |
+ | |
+case $basic_machine in | |
+ score-*) | |
+ os=-elf | |
+ ;; | |
+ spu-*) | |
+ os=-elf | |
+ ;; | |
+ *-acorn) | |
+ os=-riscix1.2 | |
+ ;; | |
+ arm*-rebel) | |
+ os=-linux | |
+ ;; | |
+ arm*-semi) | |
+ os=-aout | |
+ ;; | |
+ c4x-* | tic4x-*) | |
+ os=-coff | |
+ ;; | |
+ c8051-*) | |
+ os=-elf | |
+ ;; | |
+ hexagon-*) | |
+ os=-elf | |
+ ;; | |
+ tic54x-*) | |
+ os=-coff | |
+ ;; | |
+ tic55x-*) | |
+ os=-coff | |
+ ;; | |
+ tic6x-*) | |
+ os=-coff | |
+ ;; | |
+ # This must come before the *-dec entry. | |
+ pdp10-*) | |
+ os=-tops20 | |
+ ;; | |
+ pdp11-*) | |
+ os=-none | |
+ ;; | |
+ *-dec | vax-*) | |
+ os=-ultrix4.2 | |
+ ;; | |
+ m68*-apollo) | |
+ os=-domain | |
+ ;; | |
+ i386-sun) | |
+ os=-sunos4.0.2 | |
+ ;; | |
+ m68000-sun) | |
+ os=-sunos3 | |
+ ;; | |
+ m68*-cisco) | |
+ os=-aout | |
+ ;; | |
+ mep-*) | |
+ os=-elf | |
+ ;; | |
+ mips*-cisco) | |
+ os=-elf | |
+ ;; | |
+ mips*-*) | |
+ os=-elf | |
+ ;; | |
+ or1k-*) | |
+ os=-elf | |
+ ;; | |
+ or32-*) | |
+ os=-coff | |
+ ;; | |
+ *-tti) # must be before sparc entry or we get the wrong os. | |
+ os=-sysv3 | |
+ ;; | |
+ sparc-* | *-sun) | |
+ os=-sunos4.1.1 | |
+ ;; | |
+ *-be) | |
+ os=-beos | |
+ ;; | |
+ *-haiku) | |
+ os=-haiku | |
+ ;; | |
+ *-ibm) | |
+ os=-aix | |
+ ;; | |
+ *-knuth) | |
+ os=-mmixware | |
+ ;; | |
+ *-wec) | |
+ os=-proelf | |
+ ;; | |
+ *-winbond) | |
+ os=-proelf | |
+ ;; | |
+ *-oki) | |
+ os=-proelf | |
+ ;; | |
+ *-hp) | |
+ os=-hpux | |
+ ;; | |
+ *-hitachi) | |
+ os=-hiux | |
+ ;; | |
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) | |
+ os=-sysv | |
+ ;; | |
+ *-cbm) | |
+ os=-amigaos | |
+ ;; | |
+ *-dg) | |
+ os=-dgux | |
+ ;; | |
+ *-dolphin) | |
+ os=-sysv3 | |
+ ;; | |
+ m68k-ccur) | |
+ os=-rtu | |
+ ;; | |
+ m88k-omron*) | |
+ os=-luna | |
+ ;; | |
+ *-next ) | |
+ os=-nextstep | |
+ ;; | |
+ *-sequent) | |
+ os=-ptx | |
+ ;; | |
+ *-crds) | |
+ os=-unos | |
+ ;; | |
+ *-ns) | |
+ os=-genix | |
+ ;; | |
+ i370-*) | |
+ os=-mvs | |
+ ;; | |
+ *-next) | |
+ os=-nextstep3 | |
+ ;; | |
+ *-gould) | |
+ os=-sysv | |
+ ;; | |
+ *-highlevel) | |
+ os=-bsd | |
+ ;; | |
+ *-encore) | |
+ os=-bsd | |
+ ;; | |
+ *-sgi) | |
+ os=-irix | |
+ ;; | |
+ *-siemens) | |
+ os=-sysv4 | |
+ ;; | |
+ *-masscomp) | |
+ os=-rtu | |
+ ;; | |
+ f30[01]-fujitsu | f700-fujitsu) | |
+ os=-uxpv | |
+ ;; | |
+ *-rom68k) | |
+ os=-coff | |
+ ;; | |
+ *-*bug) | |
+ os=-coff | |
+ ;; | |
+ *-apple) | |
+ os=-macos | |
+ ;; | |
+ *-atari*) | |
+ os=-mint | |
+ ;; | |
+ *) | |
+ os=-none | |
+ ;; | |
+esac | |
+fi | |
+ | |
+# Here we handle the case where we know the os, and the CPU type, but not the | |
+# manufacturer. We pick the logical manufacturer. | |
+vendor=unknown | |
+case $basic_machine in | |
+ *-unknown) | |
+ case $os in | |
+ -riscix*) | |
+ vendor=acorn | |
+ ;; | |
+ -sunos*) | |
+ vendor=sun | |
+ ;; | |
+ -cnk*|-aix*) | |
+ vendor=ibm | |
+ ;; | |
+ -beos*) | |
+ vendor=be | |
+ ;; | |
+ -hpux*) | |
+ vendor=hp | |
+ ;; | |
+ -mpeix*) | |
+ vendor=hp | |
+ ;; | |
+ -hiux*) | |
+ vendor=hitachi | |
+ ;; | |
+ -unos*) | |
+ vendor=crds | |
+ ;; | |
+ -dgux*) | |
+ vendor=dg | |
+ ;; | |
+ -luna*) | |
+ vendor=omron | |
+ ;; | |
+ -genix*) | |
+ vendor=ns | |
+ ;; | |
+ -mvs* | -opened*) | |
+ vendor=ibm | |
+ ;; | |
+ -os400*) | |
+ vendor=ibm | |
+ ;; | |
+ -ptx*) | |
+ vendor=sequent | |
+ ;; | |
+ -tpf*) | |
+ vendor=ibm | |
+ ;; | |
+ -vxsim* | -vxworks* | -windiss*) | |
+ vendor=wrs | |
+ ;; | |
+ -aux*) | |
+ vendor=apple | |
+ ;; | |
+ -hms*) | |
+ vendor=hitachi | |
+ ;; | |
+ -mpw* | -macos*) | |
+ vendor=apple | |
+ ;; | |
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | |
+ vendor=atari | |
+ ;; | |
+ -vos*) | |
+ vendor=stratus | |
+ ;; | |
+ esac | |
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` | |
+ ;; | |
+esac | |
+ | |
+echo $basic_machine$os | |
+exit | |
+ | |
+# Local variables: | |
+# eval: (add-hook 'write-file-hooks 'time-stamp) | |
+# time-stamp-start: "timestamp='" | |
+# time-stamp-format: "%:y-%02m-%02d" | |
+# time-stamp-end: "'" | |
+# End: | |
diff --git a/build-aux/depcomp b/build-aux/depcomp | |
index 06b0882..4ebd5b3 100755 | |
--- a/build-aux/depcomp | |
+++ b/build-aux/depcomp | |
@@ -1,7 +1,7 @@ | |
#! /bin/sh | |
# depcomp - compile a program generating dependencies as side-effects | |
-scriptversion=2012-10-18.11; # UTC | |
+scriptversion=2013-05-30.07; # UTC | |
# Copyright (C) 1999-2013 Free Software Foundation, Inc. | |
@@ -552,6 +552,7 @@ $ { | |
G | |
p | |
}' >> "$depfile" | |
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash | |
rm -f "$tmpdepfile" | |
;; | |
diff --git a/build-aux/missing b/build-aux/missing | |
index cdea514..db98974 100755 | |
--- a/build-aux/missing | |
+++ b/build-aux/missing | |
@@ -1,7 +1,7 @@ | |
#! /bin/sh | |
# Common wrapper for a few potentially missing GNU programs. | |
-scriptversion=2012-06-26.16; # UTC | |
+scriptversion=2013-10-28.13; # UTC | |
# Copyright (C) 1996-2013 Free Software Foundation, Inc. | |
# Originally written by Fran,cois Pinard <[email protected]>, 1996. | |
@@ -160,7 +160,7 @@ give_advice () | |
;; | |
autom4te*) | |
echo "You might have modified some maintainer files that require" | |
- echo "the 'automa4te' program to be rebuilt." | |
+ echo "the 'autom4te' program to be rebuilt." | |
program_details 'autom4te' | |
;; | |
bison*|yacc*) | |
diff --git a/configure b/configure | |
index 5fc2ddc..9378290 100755 | |
--- a/configure | |
+++ b/configure | |
@@ -1,6 +1,6 @@ | |
#! /bin/sh | |
# Guess values for system-dependent variables and create Makefiles. | |
-# Generated by GNU Autoconf 2.69 for bmon 3.1. | |
+# Generated by GNU Autoconf 2.69 for bmon 3.2. | |
# | |
# | |
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. | |
@@ -577,8 +577,8 @@ MAKEFLAGS= | |
# Identity of this package. | |
PACKAGE_NAME='bmon' | |
PACKAGE_TARNAME='bmon' | |
-PACKAGE_VERSION='3.1' | |
-PACKAGE_STRING='bmon 3.1' | |
+PACKAGE_VERSION='3.2' | |
+PACKAGE_STRING='bmon 3.2' | |
PACKAGE_BUGREPORT='' | |
PACKAGE_URL='http://www.infradead.org/~tgr/bmon/' | |
@@ -684,6 +684,18 @@ am__isrc | |
INSTALL_DATA | |
INSTALL_SCRIPT | |
INSTALL_PROGRAM | |
+target_os | |
+target_vendor | |
+target_cpu | |
+target | |
+host_os | |
+host_vendor | |
+host_cpu | |
+host | |
+build_os | |
+build_vendor | |
+build_cpu | |
+build | |
target_alias | |
host_alias | |
build_alias | |
@@ -1292,7 +1304,7 @@ if test "$ac_init_help" = "long"; then | |
# Omit some internal or obsolete options to make the list less imposing. | |
# This message is too long to be a string in the A/UX 3.1 sh. | |
cat <<_ACEOF | |
-\`configure' configures bmon 3.1 to adapt to many kinds of systems. | |
+\`configure' configures bmon 3.2 to adapt to many kinds of systems. | |
Usage: $0 [OPTION]... [VAR=VALUE]... | |
@@ -1353,12 +1365,17 @@ Program names: | |
--program-prefix=PREFIX prepend PREFIX to installed program names | |
--program-suffix=SUFFIX append SUFFIX to installed program names | |
--program-transform-name=PROGRAM run sed PROGRAM on installed program names | |
+ | |
+System types: | |
+ --build=BUILD configure for building on BUILD [guessed] | |
+ --host=HOST cross-compile to build programs to run on HOST [BUILD] | |
+ --target=TARGET configure for building compilers for TARGET [HOST] | |
_ACEOF | |
fi | |
if test -n "$ac_init_help"; then | |
case $ac_init_help in | |
- short | recursive ) echo "Configuration of bmon 3.1:";; | |
+ short | recursive ) echo "Configuration of bmon 3.2:";; | |
esac | |
cat <<\_ACEOF | |
@@ -1476,7 +1493,7 @@ fi | |
test -n "$ac_init_help" && exit $ac_status | |
if $ac_init_version; then | |
cat <<\_ACEOF | |
-bmon configure 3.1 | |
+bmon configure 3.2 | |
generated by GNU Autoconf 2.69 | |
Copyright (C) 2012 Free Software Foundation, Inc. | |
@@ -1895,7 +1912,7 @@ cat >config.log <<_ACEOF | |
This file contains any messages produced by compilers while | |
running configure, to aid debugging if configure makes a mistake. | |
-It was created by bmon $as_me 3.1, which was | |
+It was created by bmon $as_me 3.2, which was | |
generated by GNU Autoconf 2.69. Invocation command line was | |
$ $0 $@ | |
@@ -2276,7 +2293,119 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. | |
-am__api_version='1.13' | |
+# Make sure we can run config.sub. | |
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || | |
+ as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 | |
+ | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 | |
+$as_echo_n "checking build system type... " >&6; } | |
+if ${ac_cv_build+:} false; then : | |
+ $as_echo_n "(cached) " >&6 | |
+else | |
+ ac_build_alias=$build_alias | |
+test "x$ac_build_alias" = x && | |
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` | |
+test "x$ac_build_alias" = x && | |
+ as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 | |
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || | |
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 | |
+ | |
+fi | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 | |
+$as_echo "$ac_cv_build" >&6; } | |
+case $ac_cv_build in | |
+*-*-*) ;; | |
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; | |
+esac | |
+build=$ac_cv_build | |
+ac_save_IFS=$IFS; IFS='-' | |
+set x $ac_cv_build | |
+shift | |
+build_cpu=$1 | |
+build_vendor=$2 | |
+shift; shift | |
+# Remember, the first character of IFS is used to create $*, | |
+# except with old shells: | |
+build_os=$* | |
+IFS=$ac_save_IFS | |
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac | |
+ | |
+ | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 | |
+$as_echo_n "checking host system type... " >&6; } | |
+if ${ac_cv_host+:} false; then : | |
+ $as_echo_n "(cached) " >&6 | |
+else | |
+ if test "x$host_alias" = x; then | |
+ ac_cv_host=$ac_cv_build | |
+else | |
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || | |
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 | |
+fi | |
+ | |
+fi | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 | |
+$as_echo "$ac_cv_host" >&6; } | |
+case $ac_cv_host in | |
+*-*-*) ;; | |
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; | |
+esac | |
+host=$ac_cv_host | |
+ac_save_IFS=$IFS; IFS='-' | |
+set x $ac_cv_host | |
+shift | |
+host_cpu=$1 | |
+host_vendor=$2 | |
+shift; shift | |
+# Remember, the first character of IFS is used to create $*, | |
+# except with old shells: | |
+host_os=$* | |
+IFS=$ac_save_IFS | |
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac | |
+ | |
+ | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5 | |
+$as_echo_n "checking target system type... " >&6; } | |
+if ${ac_cv_target+:} false; then : | |
+ $as_echo_n "(cached) " >&6 | |
+else | |
+ if test "x$target_alias" = x; then | |
+ ac_cv_target=$ac_cv_host | |
+else | |
+ ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || | |
+ as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5 | |
+fi | |
+ | |
+fi | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5 | |
+$as_echo "$ac_cv_target" >&6; } | |
+case $ac_cv_target in | |
+*-*-*) ;; | |
+*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;; | |
+esac | |
+target=$ac_cv_target | |
+ac_save_IFS=$IFS; IFS='-' | |
+set x $ac_cv_target | |
+shift | |
+target_cpu=$1 | |
+target_vendor=$2 | |
+shift; shift | |
+# Remember, the first character of IFS is used to create $*, | |
+# except with old shells: | |
+target_os=$* | |
+IFS=$ac_save_IFS | |
+case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac | |
+ | |
+ | |
+# The aliases save the names the user supplied, while $host etc. | |
+# will get canonicalized. | |
+test -n "$target_alias" && | |
+ test "$program_prefix$program_suffix$program_transform_name" = \ | |
+ NONENONEs,x,x, && | |
+ program_prefix=${target_alias}- | |
+ | |
+ | |
+am__api_version='1.14' | |
# Find a good install program. We prefer a C program (faster), | |
# so one script is as good as another. But avoid the broken or | |
@@ -2762,7 +2891,7 @@ fi | |
# Define the identity of the package. | |
PACKAGE='bmon' | |
- VERSION='3.1' | |
+ VERSION='3.2' | |
cat >>confdefs.h <<_ACEOF | |
@@ -2813,6 +2942,47 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' | |
+# POSIX will say in a future version that running "rm -f" with no argument | |
+# is OK; and we want to be able to make that assumption in our Makefile | |
+# recipes. So use an aggressive probe to check that the usage we want is | |
+# actually supported "in the wild" to an acceptable degree. | |
+# See automake bug#10828. | |
+# To make any issue more visible, cause the running configure to be aborted | |
+# by default if the 'rm' program in use doesn't match our expectations; the | |
+# user can still override this though. | |
+if rm -f && rm -fr && rm -rf; then : OK; else | |
+ cat >&2 <<'END' | |
+Oops! | |
+ | |
+Your 'rm' program seems unable to run without file operands specified | |
+on the command line, even when the '-f' option is present. This is contrary | |
+to the behaviour of most rm programs out there, and not conforming with | |
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> | |
+ | |
+Please tell [email protected] about your system, including the value | |
+of your $PATH and any error possibly output before this message. This | |
+can help us improve future automake versions. | |
+ | |
+END | |
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then | |
+ echo 'Configuration will proceed anyway, since you have set the' >&2 | |
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 | |
+ echo >&2 | |
+ else | |
+ cat >&2 <<'END' | |
+Aborting the configuration process, to ensure you take notice of the issue. | |
+ | |
+You can download and install GNU coreutils to get an 'rm' implementation | |
+that behaves properly: <http://www.gnu.org/software/coreutils/>. | |
+ | |
+If you want to complete the configuration process using your problematic | |
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM | |
+to "yes", and re-run configure. | |
+ | |
+END | |
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 | |
+ fi | |
+fi | |
# Check whether --enable-silent-rules was given. | |
if test "${enable_silent_rules+set}" = set; then : | |
enableval=$enable_silent_rules; | |
@@ -3705,6 +3875,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
+ac_ext=c | |
+ac_cpp='$CPP $CPPFLAGS' | |
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
+ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 | |
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } | |
+if ${am_cv_prog_cc_c_o+:} false; then : | |
+ $as_echo_n "(cached) " >&6 | |
+else | |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
+/* end confdefs.h. */ | |
+ | |
+int | |
+main () | |
+{ | |
+ | |
+ ; | |
+ return 0; | |
+} | |
+_ACEOF | |
+ # Make sure it works both with $CC and with simple cc. | |
+ # Following AC_PROG_CC_C_O, we do the test twice because some | |
+ # compilers refuse to overwrite an existing .o file with -o, | |
+ # though they will create one. | |
+ am_cv_prog_cc_c_o=yes | |
+ for am_i in 1 2; do | |
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 | |
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 | |
+ ac_status=$? | |
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 | |
+ (exit $ac_status); } \ | |
+ && test -f conftest2.$ac_objext; then | |
+ : OK | |
+ else | |
+ am_cv_prog_cc_c_o=no | |
+ break | |
+ fi | |
+ done | |
+ rm -f core conftest* | |
+ unset am_i | |
+fi | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 | |
+$as_echo "$am_cv_prog_cc_c_o" >&6; } | |
+if test "$am_cv_prog_cc_c_o" != yes; then | |
+ # Losing compiler, so override with the script. | |
+ # FIXME: It is wrong to rewrite CC. | |
+ # But if we don't then we get into trouble of one sort or another. | |
+ # A longer-term fix would be to have automake use am__CC in this case, | |
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" | |
+ CC="$am_aux_dir/compile $CC" | |
+fi | |
+ac_ext=c | |
+ac_cpp='$CPP $CPPFLAGS' | |
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
+ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
+ | |
+ | |
depcc="$CC" am_compiler_list= | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 | |
@@ -4429,6 +4658,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
+ac_ext=c | |
+ac_cpp='$CPP $CPPFLAGS' | |
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
+ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 | |
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } | |
+if ${am_cv_prog_cc_c_o+:} false; then : | |
+ $as_echo_n "(cached) " >&6 | |
+else | |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext | |
+/* end confdefs.h. */ | |
+ | |
+int | |
+main () | |
+{ | |
+ | |
+ ; | |
+ return 0; | |
+} | |
+_ACEOF | |
+ # Make sure it works both with $CC and with simple cc. | |
+ # Following AC_PROG_CC_C_O, we do the test twice because some | |
+ # compilers refuse to overwrite an existing .o file with -o, | |
+ # though they will create one. | |
+ am_cv_prog_cc_c_o=yes | |
+ for am_i in 1 2; do | |
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 | |
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 | |
+ ac_status=$? | |
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 | |
+ (exit $ac_status); } \ | |
+ && test -f conftest2.$ac_objext; then | |
+ : OK | |
+ else | |
+ am_cv_prog_cc_c_o=no | |
+ break | |
+ fi | |
+ done | |
+ rm -f core conftest* | |
+ unset am_i | |
+fi | |
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 | |
+$as_echo "$am_cv_prog_cc_c_o" >&6; } | |
+if test "$am_cv_prog_cc_c_o" != yes; then | |
+ # Losing compiler, so override with the script. | |
+ # FIXME: It is wrong to rewrite CC. | |
+ # But if we don't then we get into trouble of one sort or another. | |
+ # A longer-term fix would be to have automake use am__CC in this case, | |
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" | |
+ CC="$am_aux_dir/compile $CC" | |
+fi | |
+ac_ext=c | |
+ac_cpp='$CPP $CPPFLAGS' | |
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | |
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | |
+ac_compiler_gnu=$ac_cv_c_compiler_gnu | |
+ | |
+ | |
depcc="$CC" am_compiler_list= | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 | |
@@ -6921,6 +7209,8 @@ $as_echo "yes" >&6; } | |
fi | |
+case ${target_os} in | |
+ linux*) | |
pkg_failed=no | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBNL" >&5 | |
@@ -6980,11 +7270,11 @@ fi | |
# Put the nasty error message in config.log where it belongs | |
echo "$LIBNL_PKG_ERRORS" >&5 | |
- as_fn_error $? "requires libnl" "$LINENO" 5 | |
+ as_fn_error $? "requires libnl3-dev" "$LINENO" 5 | |
elif test $pkg_failed = untried; then | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 | |
$as_echo "no" >&6; } | |
- as_fn_error $? "requires libnl" "$LINENO" 5 | |
+ as_fn_error $? "requires libnl3-dev" "$LINENO" 5 | |
else | |
LIBNL_CFLAGS=$pkg_cv_LIBNL_CFLAGS | |
LIBNL_LIBS=$pkg_cv_LIBNL_LIBS | |
@@ -7063,6 +7353,8 @@ else | |
$as_echo "yes" >&6; } | |
fi | |
+ ;; | |
+esac | |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pow in -lm" >&5 | |
$as_echo_n "checking for pow in -lm... " >&6; } | |
@@ -7977,7 +8269,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | |
# report actual input values of CONFIG_FILES etc. instead of their | |
# values after options handling. | |
ac_log=" | |
-This file was extended by bmon $as_me 3.1, which was | |
+This file was extended by bmon $as_me 3.2, which was | |
generated by GNU Autoconf 2.69. Invocation command line was | |
CONFIG_FILES = $CONFIG_FILES | |
@@ -8044,7 +8336,7 @@ _ACEOF | |
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 | |
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" | |
ac_cs_version="\\ | |
-bmon config.status 3.1 | |
+bmon config.status 3.2 | |
configured by $0, generated by GNU Autoconf 2.69, | |
with options \\"\$ac_cs_config\\" | |
diff --git a/configure.ac b/configure.ac | |
index 0f7cb2e..bd1724f 100644 | |
--- a/configure.ac | |
+++ b/configure.ac | |
@@ -21,11 +21,14 @@ | |
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | |
# DEALINGS IN THE SOFTWARE. | |
-AC_INIT(bmon, 3.1, [], [], [http://www.infradead.org/~tgr/bmon/]) | |
+AC_INIT(bmon, 3.2, [], [], [http://www.infradead.org/~tgr/bmon/]) | |
AC_CONFIG_HEADERS(include/bmon/defs.h) | |
AC_CONFIG_AUX_DIR([build-aux]) | |
AC_CONFIG_MACRO_DIR([m4]) | |
+AC_CANONICAL_TARGET | |
+AC_CANONICAL_SYSTEM | |
+ | |
AM_INIT_AUTOMAKE([-Wall foreign subdir-objects]) | |
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)], []) | |
@@ -66,8 +69,12 @@ fi | |
PKG_CHECK_MODULES([CONFUSE], [libconfuse], [], AC_MSG_ERROR([requires libconfuse])) | |
-PKG_CHECK_MODULES([LIBNL], [libnl-3.0], [], AC_MSG_ERROR([requires libnl])) | |
-PKG_CHECK_MODULES([LIBNL_ROUTE], [libnl-route-3.0], [], AC_MSG_ERROR([requires libnl3-route])) | |
+case ${target_os} in | |
+ linux*) | |
+ PKG_CHECK_MODULES([LIBNL], [libnl-3.0], [], AC_MSG_ERROR([requires libnl3-dev])) | |
+ PKG_CHECK_MODULES([LIBNL_ROUTE], [libnl-route-3.0], [], AC_MSG_ERROR([requires libnl3-route])) | |
+ ;; | |
+esac | |
AC_CHECK_LIB(m, pow, [], AC_MSG_ERROR([requires libm])) | |
diff --git a/etc/bmon.conf b/etc/bmon.conf | |
index 567a131..d545229 100644 | |
--- a/etc/bmon.conf | |
+++ b/etc/bmon.conf | |
@@ -33,17 +33,25 @@ | |
* div = { 1, 1000, 1000000, 1000000000, 1000000000000 } | |
* txt = { "B", "KB", "MB", "GB", "TB" } | |
* } | |
+ * variant bit { | |
+ * div = { 0.125, 125, 125000, 125000000, 125000000000 } | |
+ * txt = { "b", "Kb", "Mb", "Gb", "Tb" } | |
+ * } | |
* } | |
* | |
* unit bit { | |
* variant default { | |
- * div = { 1, 1024, 1048576, 1073741824, 1099511627776} | |
- * txt = { "b", "Kib", "Mib", "Gib", "TiB" } | |
+ * div = { 1, 1000, 1000000, 1000000000, 1000000000000 } | |
+ * txt = { "b", "Kb", "Mb", "Gb", "Tb" } | |
* } | |
* variant si { | |
* div = { 1, 1000, 1000000, 1000000000, 1000000000000 } | |
* txt = { "b", "Kb", "Mb", "Gb", "Tb" } | |
* } | |
+ * variant bit { | |
+ * div = { 1, 1000, 1000000, 1000000000, 1000000000000 } | |
+ * txt = { "b", "Kb", "Mb", "Gb", "Tb" } | |
+ * } | |
* } | |
* | |
* unit number { | |
diff --git a/include/Makefile.in b/include/Makefile.in | |
index 6ab0acf..e64a11a 100644 | |
--- a/include/Makefile.in | |
+++ b/include/Makefile.in | |
@@ -1,4 +1,4 @@ | |
-# Makefile.in generated by automake 1.13.2 from Makefile.am. | |
+# Makefile.in generated by automake 1.14.1 from Makefile.am. | |
# @configure_input@ | |
# Copyright (C) 1994-2013 Free Software Foundation, Inc. | |
@@ -76,6 +76,9 @@ POST_INSTALL = : | |
NORMAL_UNINSTALL = : | |
PRE_UNINSTALL = : | |
POST_UNINSTALL = : | |
+build_triplet = @build@ | |
+host_triplet = @host@ | |
+target_triplet = @target@ | |
subdir = include | |
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ | |
$(noinst_HEADERS) | |
@@ -199,14 +202,22 @@ am__quote = @am__quote@ | |
am__tar = @am__tar@ | |
am__untar = @am__untar@ | |
bindir = @bindir@ | |
+build = @build@ | |
build_alias = @build_alias@ | |
+build_cpu = @build_cpu@ | |
+build_os = @build_os@ | |
+build_vendor = @build_vendor@ | |
builddir = @builddir@ | |
datadir = @datadir@ | |
datarootdir = @datarootdir@ | |
docdir = @docdir@ | |
dvidir = @dvidir@ | |
exec_prefix = @exec_prefix@ | |
+host = @host@ | |
host_alias = @host_alias@ | |
+host_cpu = @host_cpu@ | |
+host_os = @host_os@ | |
+host_vendor = @host_vendor@ | |
htmldir = @htmldir@ | |
includedir = @includedir@ | |
infodir = @infodir@ | |
@@ -226,7 +237,11 @@ sbindir = @sbindir@ | |
sharedstatedir = @sharedstatedir@ | |
srcdir = @srcdir@ | |
sysconfdir = @sysconfdir@ | |
+target = @target@ | |
target_alias = @target_alias@ | |
+target_cpu = @target_cpu@ | |
+target_os = @target_os@ | |
+target_vendor = @target_vendor@ | |
top_build_prefix = @top_build_prefix@ | |
top_builddir = @top_builddir@ | |
top_srcdir = @top_srcdir@ | |
diff --git a/include/bmon/config.h b/include/bmon/config.h | |
index e717245..ad6a367 100644 | |
--- a/include/bmon/config.h | |
+++ b/include/bmon/config.h | |
@@ -46,7 +46,11 @@ | |
#include <syslog.h> | |
#include <sys/wait.h> | |
#include <dirent.h> | |
-#include <values.h> | |
+#ifdef SYS_BSD | |
+# include <float.h> | |
+#else | |
+# include <values.h> | |
+#endif | |
#if TIME_WITH_SYS_TIME | |
# include <sys/time.h> | |
diff --git a/include/bmon/list.h b/include/bmon/list.h | |
index c7569d7..fff9409 100644 | |
--- a/include/bmon/list.h | |
+++ b/include/bmon/list.h | |
@@ -8,6 +8,14 @@ | |
#ifndef BMON_LIST_H_ | |
#define BMON_LIST_H_ | |
+#ifdef __APPLE__ | |
+/* Apple systems define these macros in system headers, so we undef | |
+ * them prior to inclusion of this file */ | |
+#undef LIST_HEAD | |
+#undef LIST_HEAD_INIT | |
+#undef INIT_LIST_HEAD | |
+#endif | |
+ | |
struct list_head | |
{ | |
struct list_head * next; | |
diff --git a/include/bmon/module.h b/include/bmon/module.h | |
index bd1405a..16ddabf 100644 | |
--- a/include/bmon/module.h | |
+++ b/include/bmon/module.h | |
@@ -29,8 +29,11 @@ | |
#include <bmon/bmon.h> | |
#include <bmon/conf.h> | |
-#define BMON_MODULE_ENABLED 1 | |
-#define BMON_MODULE_DEFAULT 2 | |
+#define BMON_MODULE_ENABLED (1 << 0) /* Enabled */ | |
+#define BMON_MODULE_DEFAULT (1 << 1) /* Suitable as default */ | |
+#define BMON_MODULE_AUTO (1 << 2) /* Auto enable */ | |
+ | |
+struct bmon_subsys; | |
struct bmon_module | |
{ | |
@@ -48,6 +51,7 @@ struct bmon_module | |
int m_flags; | |
struct list_head m_list; | |
+ struct bmon_subsys *m_subsys; | |
}; | |
struct bmon_subsys | |
@@ -65,7 +69,7 @@ extern void module_foreach_run_enabled_pre(struct bmon_subsys *); | |
extern void module_foreach_run_enabled(struct bmon_subsys *); | |
extern void module_foreach_run_enabled_post(struct bmon_subsys *); | |
-extern void module_register(struct bmon_subsys *, struct bmon_module *); | |
+extern int module_register(struct bmon_subsys *, struct bmon_module *); | |
extern int module_set(struct bmon_subsys *, const char *); | |
extern void module_init(void); | |
diff --git a/include/bmon/unit.h b/include/bmon/unit.h | |
index e0a83d3..ed88a24 100644 | |
--- a/include/bmon/unit.h | |
+++ b/include/bmon/unit.h | |
@@ -33,6 +33,7 @@ | |
enum { | |
UNIT_DEFAULT, | |
UNIT_SI, | |
+ UNIT_BIT, | |
__UNIT_MAX, | |
}; | |
@@ -42,7 +43,7 @@ enum { | |
#define UNIT_NUMBER "number" | |
struct fraction { | |
- uint64_t f_divisor; | |
+ float f_divisor; | |
char * f_name; | |
struct list_head f_list; | |
@@ -58,7 +59,7 @@ struct unit { | |
extern struct unit * unit_lookup(const char *); | |
extern struct unit * unit_add(const char *name); | |
extern void unit_add_div(struct unit *, int, const char *, float); | |
-extern uint64_t unit_divisor(uint64_t, struct unit *, char **, int *); | |
+extern double unit_divisor(uint64_t, struct unit *, char **, int *); | |
extern double unit_value2str(uint64_t, struct unit *, char **, int *); | |
extern void fraction_free(struct fraction *); | |
diff --git a/man/Makefile.in b/man/Makefile.in | |
index 862b42d..23de2d2 100644 | |
--- a/man/Makefile.in | |
+++ b/man/Makefile.in | |
@@ -1,4 +1,4 @@ | |
-# Makefile.in generated by automake 1.13.2 from Makefile.am. | |
+# Makefile.in generated by automake 1.14.1 from Makefile.am. | |
# @configure_input@ | |
# Copyright (C) 1994-2013 Free Software Foundation, Inc. | |
@@ -77,6 +77,9 @@ POST_INSTALL = : | |
NORMAL_UNINSTALL = : | |
PRE_UNINSTALL = : | |
POST_UNINSTALL = : | |
+build_triplet = @build@ | |
+host_triplet = @host@ | |
+target_triplet = @target@ | |
subdir = man | |
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ | |
$(dist_man8_MANS) | |
@@ -212,14 +215,22 @@ am__quote = @am__quote@ | |
am__tar = @am__tar@ | |
am__untar = @am__untar@ | |
bindir = @bindir@ | |
+build = @build@ | |
build_alias = @build_alias@ | |
+build_cpu = @build_cpu@ | |
+build_os = @build_os@ | |
+build_vendor = @build_vendor@ | |
builddir = @builddir@ | |
datadir = @datadir@ | |
datarootdir = @datarootdir@ | |
docdir = @docdir@ | |
dvidir = @dvidir@ | |
exec_prefix = @exec_prefix@ | |
+host = @host@ | |
host_alias = @host_alias@ | |
+host_cpu = @host_cpu@ | |
+host_os = @host_os@ | |
+host_vendor = @host_vendor@ | |
htmldir = @htmldir@ | |
includedir = @includedir@ | |
infodir = @infodir@ | |
@@ -239,7 +250,11 @@ sbindir = @sbindir@ | |
sharedstatedir = @sharedstatedir@ | |
srcdir = @srcdir@ | |
sysconfdir = @sysconfdir@ | |
+target = @target@ | |
target_alias = @target_alias@ | |
+target_cpu = @target_cpu@ | |
+target_os = @target_os@ | |
+target_vendor = @target_vendor@ | |
top_build_prefix = @top_build_prefix@ | |
top_builddir = @top_builddir@ | |
top_srcdir = @top_srcdir@ | |
diff --git a/man/bmon.8 b/man/bmon.8 | |
index 38bdd79..3d81187 100644 | |
--- a/man/bmon.8 | |
+++ b/man/bmon.8 | |
@@ -17,24 +17,24 @@ interface and a programmable text output for scripting. | |
.SH "OPTIONS" | |
.PP | |
-\fB -h\fR, \fB\-\-help\fR | |
+\fB \-h\fR, \fB\-\-help\fR | |
.RS 4 | |
Prints a short help text and exits\&. | |
.RE | |
.PP | |
-\fB -V\fR, \fB\-\-version\fR | |
+\fB \-V\fR, \fB\-\-version\fR | |
.RS 4 | |
Prints the versioning identifier and exits\&. | |
.RE | |
.PP | |
-\fB -i\fR, \fB\-\-input=\fRMODULE[:OPTIONS][,MODULE...] | |
+\fB \-i\fR, \fB\-\-input=\fRMODULE[:OPTIONS][,MODULE...] | |
.RS 4 | |
Set list of input modules to load and use. Multiple modules can be used | |
in parallel. bmon automatically loads a useful and working input module | |
by default. See INPUT MODULES for more details. | |
.RE | |
.PP | |
-\fB -o\fR, \fB\-\-ouptut\fRMODULE[:OPTIONS][,MODULE...] | |
+\fB \-o\fR, \fB\-\-ouptut\fRMODULE[:OPTIONS][,MODULE...] | |
.RS 4 | |
Set list of output modules to load and use. Multiple modules can be used | |
in parallel. By default, bmon will use the curses output mode, if that is | |
@@ -42,40 +42,40 @@ not available due to an incompatible console it will fall back to a simple | |
text mode. See OUTPUT MODULES for more details. | |
.RE | |
.PP | |
-\fB -U\fR, \fB\-\-use\-si\fR | |
+\fB \-U\fR, \fB\-\-use\-si\fR | |
.RS 4 | |
Use SI unit system instead of 1KB = 1'024 bytes. | |
.RE | |
.PP | |
-\fB -f\fR, \fB\-\-configfile=\fRFILE | |
+\fB \-f\fR, \fB\-\-configfile=\fRFILE | |
.RS 4 | |
Set alternative path to configuration file. | |
.RE | |
.PP | |
-\fB -p\fR, \fB\-\-policy=\fRPOLICY | |
+\fB \-p\fR, \fB\-\-policy=\fRPOLICY | |
.RS 4 | |
Set policy defining which network interfaces to display. See | |
INTERFACE SELECTION for more details. | |
.RE | |
.PP | |
-\fB -a\fR, \fB\-\-show\-all=\fR | |
+\fB \-a\fR, \fB\-\-show\-all=\fR | |
.RS 4 | |
Display all interfaces, even interface that are administratively down. | |
.RE | |
.PP | |
-\fB -r\fR, \fB\-\-read\-interval=\fRFLOAT | |
+\fB \-r\fR, \fB\-\-read\-interval=\fRFLOAT | |
.RS 4 | |
Set interval in seconds in which input modules read statistics from their | |
source. The default is 1.0 seconds. | |
.RE | |
.PP | |
-\fB -R\fR, \fB\-\-rate\-interval=\fRFLOAT | |
+\fB \-R\fR, \fB\-\-rate\-interval=\fRFLOAT | |
.RS 4 | |
Set interval in seconds in which the rate per counter is calculated. | |
The default is 1.0 seconds. | |
.RE | |
.PP | |
-\fB -L\fR, \fB\-\-lifetime=\fRFLOAT | |
+\fB \-L\fR, \fB\-\-lifetime=\fRFLOAT | |
.RS 4 | |
Set lifetime of an element in seconds before it is no longer displayed | |
without receiving any statistical updates. The default is 30 seconds. | |
@@ -180,7 +180,7 @@ module: | |
.PP | |
.RS 4 | |
-bmon -i module:help | |
+bmon \-i module:help | |
.RE | |
.SH "INTERFACE SELECTION" | |
@@ -197,17 +197,14 @@ NAME ::= [!]interface | |
The interface name may contain the character '*' which will act as a wildcard | |
and represents any number of any character type, e.g. eth*, h*0, ... | |
-.TP | |
+.PP | |
Examples: | |
-.RS | |
-.NF | |
+ | |
+.PP | |
+.RS 4 | |
lo,eth0,eth1 | |
-.FI | |
-.RE | |
-.RS | |
-.NF | |
+.br | |
eth*,!eth0 | |
-.FI | |
.RE | |
.SH "EXAMPLES" | |
diff --git a/src/Makefile.am b/src/Makefile.am | |
index dcc7bfd..c773410 100644 | |
--- a/src/Makefile.am | |
+++ b/src/Makefile.am | |
@@ -36,6 +36,7 @@ bmon_SOURCES = \ | |
in_null.c \ | |
in_dummy.c \ | |
in_proc.c \ | |
+ in_sysctl.c \ | |
out_null.c \ | |
out_format.c \ | |
out_ascii.c \ | |
diff --git a/src/Makefile.in b/src/Makefile.in | |
index 671ca25..d4a179a 100644 | |
--- a/src/Makefile.in | |
+++ b/src/Makefile.in | |
@@ -1,4 +1,4 @@ | |
-# Makefile.in generated by automake 1.13.2 from Makefile.am. | |
+# Makefile.in generated by automake 1.14.1 from Makefile.am. | |
# @configure_input@ | |
# Copyright (C) 1994-2013 Free Software Foundation, Inc. | |
@@ -78,6 +78,9 @@ POST_INSTALL = : | |
NORMAL_UNINSTALL = : | |
PRE_UNINSTALL = : | |
POST_UNINSTALL = : | |
+build_triplet = @build@ | |
+host_triplet = @host@ | |
+target_triplet = @target@ | |
bin_PROGRAMS = bmon$(EXEEXT) | |
subdir = src | |
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ | |
@@ -101,8 +104,9 @@ am_bmon_OBJECTS = bmon-utils.$(OBJEXT) bmon-unit.$(OBJEXT) \ | |
bmon-bmon.$(OBJEXT) bmon-module.$(OBJEXT) \ | |
bmon-in_netlink.$(OBJEXT) bmon-in_null.$(OBJEXT) \ | |
bmon-in_dummy.$(OBJEXT) bmon-in_proc.$(OBJEXT) \ | |
- bmon-out_null.$(OBJEXT) bmon-out_format.$(OBJEXT) \ | |
- bmon-out_ascii.$(OBJEXT) bmon-out_curses.$(OBJEXT) | |
+ bmon-in_sysctl.$(OBJEXT) bmon-out_null.$(OBJEXT) \ | |
+ bmon-out_format.$(OBJEXT) bmon-out_ascii.$(OBJEXT) \ | |
+ bmon-out_curses.$(OBJEXT) | |
bmon_OBJECTS = $(am_bmon_OBJECTS) | |
am__DEPENDENCIES_1 = | |
bmon_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ | |
@@ -239,14 +243,22 @@ am__quote = @am__quote@ | |
am__tar = @am__tar@ | |
am__untar = @am__untar@ | |
bindir = @bindir@ | |
+build = @build@ | |
build_alias = @build_alias@ | |
+build_cpu = @build_cpu@ | |
+build_os = @build_os@ | |
+build_vendor = @build_vendor@ | |
builddir = @builddir@ | |
datadir = @datadir@ | |
datarootdir = @datarootdir@ | |
docdir = @docdir@ | |
dvidir = @dvidir@ | |
exec_prefix = @exec_prefix@ | |
+host = @host@ | |
host_alias = @host_alias@ | |
+host_cpu = @host_cpu@ | |
+host_os = @host_os@ | |
+host_vendor = @host_vendor@ | |
htmldir = @htmldir@ | |
includedir = @includedir@ | |
infodir = @infodir@ | |
@@ -266,7 +278,11 @@ sbindir = @sbindir@ | |
sharedstatedir = @sharedstatedir@ | |
srcdir = @srcdir@ | |
sysconfdir = @sysconfdir@ | |
+target = @target@ | |
target_alias = @target_alias@ | |
+target_cpu = @target_cpu@ | |
+target_os = @target_os@ | |
+target_vendor = @target_vendor@ | |
top_build_prefix = @top_build_prefix@ | |
top_builddir = @top_builddir@ | |
top_srcdir = @top_srcdir@ | |
@@ -304,6 +320,7 @@ bmon_SOURCES = \ | |
in_null.c \ | |
in_dummy.c \ | |
in_proc.c \ | |
+ in_sysctl.c \ | |
out_null.c \ | |
out_format.c \ | |
out_ascii.c \ | |
@@ -408,6 +425,7 @@ distclean-compile: | |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmon-in_netlink.Po@am__quote@ | |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmon-in_null.Po@am__quote@ | |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmon-in_proc.Po@am__quote@ | |
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmon-in_sysctl.Po@am__quote@ | |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmon-input.Po@am__quote@ | |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmon-module.Po@am__quote@ | |
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bmon-out_ascii.Po@am__quote@ | |
@@ -672,6 +690,20 @@ bmon-in_proc.obj: in_proc.c | |
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bmon_CFLAGS) $(CFLAGS) -c -o bmon-in_proc.obj `if test -f 'in_proc.c'; then $(CYGPATH_W) 'in_proc.c'; else $(CYGPATH_W) '$(srcdir)/in_proc.c'; fi` | |
+bmon-in_sysctl.o: in_sysctl.c | |
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bmon_CFLAGS) $(CFLAGS) -MT bmon-in_sysctl.o -MD -MP -MF $(DEPDIR)/bmon-in_sysctl.Tpo -c -o bmon-in_sysctl.o `test -f 'in_sysctl.c' || echo '$(srcdir)/'`in_sysctl.c | |
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/bmon-in_sysctl.Tpo $(DEPDIR)/bmon-in_sysctl.Po | |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='in_sysctl.c' object='bmon-in_sysctl.o' libtool=no @AMDEPBACKSLASH@ | |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bmon_CFLAGS) $(CFLAGS) -c -o bmon-in_sysctl.o `test -f 'in_sysctl.c' || echo '$(srcdir)/'`in_sysctl.c | |
+ | |
+bmon-in_sysctl.obj: in_sysctl.c | |
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bmon_CFLAGS) $(CFLAGS) -MT bmon-in_sysctl.obj -MD -MP -MF $(DEPDIR)/bmon-in_sysctl.Tpo -c -o bmon-in_sysctl.obj `if test -f 'in_sysctl.c'; then $(CYGPATH_W) 'in_sysctl.c'; else $(CYGPATH_W) '$(srcdir)/in_sysctl.c'; fi` | |
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/bmon-in_sysctl.Tpo $(DEPDIR)/bmon-in_sysctl.Po | |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='in_sysctl.c' object='bmon-in_sysctl.obj' libtool=no @AMDEPBACKSLASH@ | |
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | |
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bmon_CFLAGS) $(CFLAGS) -c -o bmon-in_sysctl.obj `if test -f 'in_sysctl.c'; then $(CYGPATH_W) 'in_sysctl.c'; else $(CYGPATH_W) '$(srcdir)/in_sysctl.c'; fi` | |
+ | |
bmon-out_null.o: out_null.c | |
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bmon_CFLAGS) $(CFLAGS) -MT bmon-out_null.o -MD -MP -MF $(DEPDIR)/bmon-out_null.Tpo -c -o bmon-out_null.o `test -f 'out_null.c' || echo '$(srcdir)/'`out_null.c | |
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/bmon-out_null.Tpo $(DEPDIR)/bmon-out_null.Po | |
diff --git a/src/bmon.c b/src/bmon.c | |
index 22492d0..ccb9167 100644 | |
--- a/src/bmon.c | |
+++ b/src/bmon.c | |
@@ -44,7 +44,7 @@ static char *usage_text = | |
"Options:\n" \ | |
"Startup:\n" \ | |
" -i, --input=MODPARM Input module(s)\n" \ | |
-" -o, --output=MODPARM Ouptut module(s)\n" \ | |
+" -o, --output=MODPARM Output module(s)\n" \ | |
" -f, --configfile=PATH Alternative path to configuration file\n" \ | |
" -h, --help Show this help text\n" \ | |
" -V, --version Show version\n" \ | |
@@ -53,12 +53,13 @@ static char *usage_text = | |
" -p, --policy=POLICY Element display policy (see below)\n" \ | |
" -a, --show-all Show all elements (even disabled elements)\n" \ | |
" -r, --read-interval=FLOAT Read interval in seconds (float)\n" \ | |
-" -R, --rate-internval=FLOAT Rate interval in seconds (float)\n" \ | |
+" -R, --rate-interval=FLOAT Rate interval in seconds (float)\n" \ | |
" -s, --sleep-interval=FLOAT Sleep time in seconds (float)\n" \ | |
" -L, --lifetime=LIFETIME Lifetime of an element in seconds (float)\n" \ | |
"\n" \ | |
"Output:\n" \ | |
" -U, --use-si Use SI units\n" \ | |
+" -b, --use-bit Display in bits instead of bytes\n" \ | |
"\n" \ | |
"Module configuration:\n" \ | |
" modparm := MODULE:optlist,MODULE:optlist,...\n" \ | |
@@ -170,7 +171,7 @@ static int parse_args_post(int argc, char *argv[]) | |
for (;;) | |
{ | |
- char *gostr = "i:o:p:r:R:s:aU" \ | |
+ char *gostr = "i:o:p:r:R:s:aUb" \ | |
"L:hvVf:"; | |
struct option long_opts[] = { | |
@@ -182,6 +183,7 @@ static int parse_args_post(int argc, char *argv[]) | |
{"sleep-interval", 1, 0, 's'}, | |
{"show-all", 0, 0, 'a'}, | |
{"use-si", 0, 0, 'U'}, | |
+ {"use-bit", 0, 0, 'b'}, | |
{"lifetime", 1, 0, 'L'}, | |
{0, 0, 0, 0}, | |
}; | |
@@ -225,6 +227,10 @@ static int parse_args_post(int argc, char *argv[]) | |
cfg_setbool(cfg, "use_si", cfg_true); | |
break; | |
+ case 'b': | |
+ cfg_setbool(cfg, "use_bit", cfg_true); | |
+ break; | |
+ | |
case 'L': | |
cfg_setint(cfg, "lifetime", strtoul(optarg, NULL, 0)); | |
break; | |
diff --git a/src/conf.c b/src/conf.c | |
index c1a1676..ba6a8d5 100644 | |
--- a/src/conf.c | |
+++ b/src/conf.c | |
@@ -79,6 +79,7 @@ static cfg_opt_t global_opts[] = { | |
CFG_INT("unit_exp", -1, CFGF_NONE), | |
CFG_INT("sleep_time", 20000UL, CFGF_NONE), | |
CFG_BOOL("use_si", 0, CFGF_NONE), | |
+ CFG_BOOL("use_bit", 0, CFGF_NONE), | |
CFG_STR("uid", NULL, CFGF_NONE), | |
CFG_STR("gid", NULL, CFGF_NONE), | |
CFG_STR("policy", "", CFGF_NONE), | |
@@ -86,6 +87,7 @@ static cfg_opt_t global_opts[] = { | |
CFG_SEC("attr", attr_opts, CFGF_MULTI | CFGF_TITLE), | |
CFG_SEC("history", history_opts, CFGF_MULTI | CFGF_TITLE), | |
CFG_SEC("element", element_opts, CFGF_MULTI | CFGF_TITLE), | |
+ CFG_END() | |
}; | |
float cfg_read_interval; | |
@@ -359,6 +361,8 @@ static void configfile_read_units(void) | |
add_div(u, UNIT_DEFAULT, variant); | |
else if (!strcasecmp(vtitle, "si")) | |
add_div(u, UNIT_SI, variant); | |
+ else if (!strcasecmp(vtitle, "bit")) | |
+ add_div(u, UNIT_BIT, variant); | |
else | |
quit("Unknown unit variant \'%s\'\n", vtitle); | |
} | |
@@ -458,16 +462,24 @@ static const char default_config[] = \ | |
" div = { 1, 1000, 1000000, 1000000000, 1000000000000 }" \ | |
" txt = { \"B\", \"KB\", \"MB\", \"GB\", \"TB\" }" \ | |
" }" \ | |
+" variant bit {" \ | |
+" div = { 0.125, 125, 125000, 125000000, 125000000000 }" \ | |
+" txt = { \"b\", \"Kb\", \"Mb\", \"Gb\", \"Tb\" }" \ | |
+" }" \ | |
" }" \ | |
"unit bit {" \ | |
" variant default {" \ | |
-" div = { 1, 1024, 1048576, 1073741824, 1099511627776}" \ | |
-" txt = { \"b\", \"Kib\", \"Mib\", \"Gib\", \"TiB\" }" \ | |
+" div = { 1, 1000, 1000000, 1000000000, 1000000000000 }" \ | |
+" txt = { \"b\", \"Kb\", \"Mb\", \"Gb\", \"Tb\" }" \ | |
" }" \ | |
" variant si {" \ | |
" div = { 1, 1000, 1000000, 1000000000, 1000000000000 }" \ | |
" txt = { \"b\", \"Kb\", \"Mb\", \"Gb\", \"Tb\" }" \ | |
" }" \ | |
+" variant bit {" \ | |
+" div = { 1, 1000, 1000000, 1000000000, 1000000000000 }" \ | |
+" txt = { \"b\", \"Kb\", \"Mb\", \"Gb\", \"Tb\" }" \ | |
+" }" \ | |
"}" \ | |
"unit number {" \ | |
" variant default {" \ | |
diff --git a/src/graph.c b/src/graph.c | |
index 3580238..e223b28 100644 | |
--- a/src/graph.c | |
+++ b/src/graph.c | |
@@ -82,7 +82,8 @@ static void fill_table(struct graph *g, struct graph_table *tbl, | |
struct history *h, struct history_store *data) | |
{ | |
struct graph_cfg *cfg = &g->g_cfg; | |
- uint64_t max = 0, v; | |
+ uint64_t max = 0; | |
+ double v; | |
int i, n, t; | |
float half_step, step; | |
@@ -146,7 +147,7 @@ static void fill_table(struct graph *g, struct graph_table *tbl, | |
&tbl->gt_y_unit, NULL); | |
for (i = 0; i < cfg->gc_height; i++) | |
- tbl->gt_scale[i] /= (double) v; | |
+ tbl->gt_scale[i] /= v; | |
} | |
struct graph *graph_alloc(struct history *h, struct graph_cfg *cfg) | |
diff --git a/src/in_dummy.c b/src/in_dummy.c | |
index 00eca82..9cf2c05 100644 | |
--- a/src/in_dummy.c | |
+++ b/src/in_dummy.c | |
@@ -61,7 +61,7 @@ static struct attr_map link_attrs[NUM_DUMMY_VALUE] = { | |
.name = "packets", | |
.type = ATTR_TYPE_COUNTER, | |
.unit = UNIT_NUMBER, | |
- .description = "Packtes", | |
+ .description = "Packets", | |
} | |
}; | |
@@ -171,7 +171,7 @@ static void print_help(void) | |
" TX-bytes := TX-packets * (Rand() %% mtu)\n"); | |
} | |
-static void dummy_parse_opt(const char *value, const char *type) | |
+static void dummy_parse_opt(const char *type, const char *value) | |
{ | |
if (!strcasecmp(type, "rxb") && value) | |
c_rx_b_inc = strtol(value, NULL, 0); | |
diff --git a/src/in_netlink.c b/src/in_netlink.c | |
index ddd687c..64021f5 100644 | |
--- a/src/in_netlink.c | |
+++ b/src/in_netlink.c | |
@@ -31,6 +31,8 @@ | |
#include <bmon/input.h> | |
#include <bmon/utils.h> | |
+#ifndef SYS_BSD | |
+ | |
static int c_notc = 0; | |
static struct element_group *grp; | |
static struct bmon_module netlink_ops; | |
@@ -58,7 +60,7 @@ static struct attr_map link_attrs[] = { | |
.name = "packets", | |
.type = ATTR_TYPE_COUNTER, | |
.unit = UNIT_NUMBER, | |
- .description = "Packtes", | |
+ .description = "Packets", | |
.rxid = RTNL_LINK_RX_PACKETS, | |
.txid = RTNL_LINK_TX_PACKETS, | |
}, | |
@@ -866,3 +868,4 @@ static void __init netlink_init(void) | |
{ | |
input_register(&netlink_ops); | |
} | |
+#endif | |
diff --git a/src/in_proc.c b/src/in_proc.c | |
index b360de2..245cd6b 100644 | |
--- a/src/in_proc.c | |
+++ b/src/in_proc.c | |
@@ -57,7 +57,7 @@ static struct attr_map link_attrs[NUM_PROC_VALUE] = { | |
.name = "packets", | |
.type = ATTR_TYPE_COUNTER, | |
.unit = UNIT_NUMBER, | |
- .description = "Packtes", | |
+ .description = "Packets", | |
}, | |
{ | |
.name = "errors", | |
diff --git a/src/in_sysctl.c b/src/in_sysctl.c | |
new file mode 100644 | |
index 0000000..6583574 | |
--- /dev/null | |
+++ b/src/in_sysctl.c | |
@@ -0,0 +1,293 @@ | |
+/* | |
+ * in_sysctl.c sysctl (BSD) | |
+ * | |
+ * $Id: in_sysctl.c 20 2004-10-30 22:46:16Z tgr $ | |
+ * | |
+ * Copyright (c) 2001-2004 Thomas Graf <[email protected]> | |
+ * Copyright (c) 2014 Žilvinas Valinskas <[email protected]> | |
+ * | |
+ * 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 AUTHORS OR COPYRIGHT HOLDERS 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. | |
+ */ | |
+ | |
+#include <bmon/bmon.h> | |
+#include <bmon/input.h> | |
+#include <bmon/conf.h> | |
+#include <bmon/group.h> | |
+#include <bmon/element.h> | |
+#include <bmon/utils.h> | |
+ | |
+#if defined SYS_BSD | |
+#include <sys/socket.h> | |
+#include <net/if.h> | |
+#include <sys/param.h> | |
+#include <sys/sysctl.h> | |
+#include <net/if_dl.h> | |
+#include <net/route.h> | |
+ | |
+static int c_debug = 0; | |
+static struct element_group *grp; | |
+ | |
+enum { | |
+ SYSCTL_RX_BYTES = 0x100, | |
+ SYSCTL_TX_BYTES, | |
+ SYSCTL_RX_PACKETS, | |
+ SYSCTL_TX_PACKETS, | |
+ SYSCTL_RX_ERRORS, | |
+ SYSCTL_TX_ERRORS, | |
+ SYSCTL_RX_DROPS, | |
+ SYSCTL_RX_MCAST, | |
+ SYSCTL_TX_MCAST, | |
+ SYSCTL_TX_COLLS, | |
+}; | |
+static struct attr_map link_attrs[] = { | |
+{ | |
+ .name = "bytes", | |
+ .type = ATTR_TYPE_COUNTER, | |
+ .unit = UNIT_BYTE, | |
+ .rxid = SYSCTL_RX_BYTES, | |
+ .txid = SYSCTL_TX_BYTES, | |
+ .description = "Bytes", | |
+}, | |
+{ | |
+ .name = "packets", | |
+ .type = ATTR_TYPE_COUNTER, | |
+ .unit = UNIT_NUMBER, | |
+ .rxid = SYSCTL_RX_PACKETS, | |
+ .txid = SYSCTL_TX_PACKETS, | |
+ .description = "Packets", | |
+}, | |
+{ | |
+ .name = "errors", | |
+ .type = ATTR_TYPE_COUNTER, | |
+ .unit = UNIT_NUMBER, | |
+ .rxid = SYSCTL_RX_ERRORS, | |
+ .txid = SYSCTL_TX_ERRORS, | |
+ .description = "Errors", | |
+}, | |
+{ | |
+ .name = "drop", | |
+ .type = ATTR_TYPE_COUNTER, | |
+ .unit = UNIT_NUMBER, | |
+ .rxid = SYSCTL_RX_DROPS, | |
+ .description = "Dropped", | |
+}, | |
+{ | |
+ .name = "coll", | |
+ .type = ATTR_TYPE_COUNTER, | |
+ .unit = UNIT_NUMBER, | |
+ .txid = SYSCTL_TX_COLLS, | |
+ .description = "Collisions", | |
+}, | |
+{ | |
+ .name = "mcast", | |
+ .type = ATTR_TYPE_COUNTER, | |
+ .unit = UNIT_NUMBER, | |
+ .rxid = SYSCTL_RX_MCAST, | |
+ .txid = SYSCTL_TX_MCAST, | |
+ .description = "Multicast", | |
+} | |
+}; | |
+ | |
+uint64_t sysctl_get_stats(const struct if_msghdr *ifm, int what) | |
+{ | |
+ switch(what) { | |
+ case SYSCTL_RX_BYTES: | |
+ return ifm->ifm_data.ifi_ibytes; | |
+ case SYSCTL_TX_BYTES: | |
+ return ifm->ifm_data.ifi_obytes; | |
+ | |
+ case SYSCTL_RX_PACKETS: | |
+ return ifm->ifm_data.ifi_ipackets; | |
+ case SYSCTL_TX_PACKETS: | |
+ return ifm->ifm_data.ifi_opackets; | |
+ | |
+ case SYSCTL_RX_ERRORS: | |
+ return ifm->ifm_data.ifi_ierrors; | |
+ case SYSCTL_TX_ERRORS: | |
+ return ifm->ifm_data.ifi_oerrors; | |
+ | |
+ case SYSCTL_RX_DROPS: | |
+ return ifm->ifm_data.ifi_iqdrops; | |
+ | |
+ case SYSCTL_RX_MCAST: | |
+ return ifm->ifm_data.ifi_imcasts; | |
+ case SYSCTL_TX_MCAST: | |
+ return ifm->ifm_data.ifi_omcasts; | |
+ case SYSCTL_TX_COLLS: | |
+ return ifm->ifm_data.ifi_collisions; | |
+ | |
+ default: | |
+ return 0; | |
+ }; | |
+} | |
+ | |
+static void | |
+sysctl_read(void) | |
+{ | |
+ int mib[] = {CTL_NET, PF_ROUTE, 0, 0, NET_RT_IFLIST, 0}; | |
+ size_t n; | |
+ char *buf, *next, *lim; | |
+ | |
+ if (sysctl(mib, 6, NULL, &n, NULL, 0) < 0) | |
+ quit("sysctl() failed"); | |
+ | |
+ if (c_debug) | |
+ fprintf(stderr, "sysctl 1-pass n=%zd\n", n); | |
+ | |
+ buf = xcalloc(1, n); | |
+ | |
+ if (sysctl(mib, 6, buf, &n, NULL, 0) < 0) | |
+ quit("sysctl() failed"); | |
+ | |
+ if (c_debug) | |
+ fprintf(stderr, "sysctl 2-pass n=%zd\n", n); | |
+ | |
+ lim = (buf + n); | |
+ for (next = buf; next < lim; ) { | |
+ struct element *e, *e_parent = NULL; | |
+ struct if_msghdr *ifm, *nextifm; | |
+ struct sockaddr_dl *sdl; | |
+ | |
+ ifm = (struct if_msghdr *) next; | |
+ if (ifm->ifm_type != RTM_IFINFO) | |
+ break; | |
+ | |
+ next += ifm->ifm_msglen; | |
+ | |
+ while (next < lim) { | |
+ nextifm = (struct if_msghdr *) next; | |
+ if (nextifm->ifm_type != RTM_NEWADDR) | |
+ break; | |
+ next += nextifm->ifm_msglen; | |
+ } | |
+ | |
+ sdl = (struct sockaddr_dl *) (ifm + 1); | |
+ | |
+ if (!cfg_show_all && !(ifm->ifm_flags & IFF_UP)) | |
+ continue; | |
+ | |
+ if (sdl->sdl_family != AF_LINK) | |
+ continue; | |
+ | |
+ if (c_debug) | |
+ fprintf(stderr, "Processing %s\n", sdl->sdl_data); | |
+ | |
+ sdl->sdl_data[sdl->sdl_nlen] = '\0'; | |
+ e = element_lookup(grp, | |
+ sdl->sdl_data, sdl->sdl_index, | |
+ e_parent, ELEMENT_CREAT); | |
+ if (!e) | |
+ continue; | |
+ | |
+ if (e->e_flags & ELEMENT_FLAG_CREATED) { | |
+ if (e->e_parent) | |
+ e->e_level = e->e_parent->e_level + 1; | |
+ | |
+ if (element_set_key_attr(e, "bytes", "packets") || | |
+ element_set_usage_attr(e, "bytes")) | |
+ BUG(); | |
+ | |
+ e->e_flags &= ~ELEMENT_FLAG_CREATED; | |
+ } | |
+ | |
+ int i; | |
+ for (i = 0; i < ARRAY_SIZE(link_attrs); i++) { | |
+ struct attr_map *m = &link_attrs[i]; | |
+ uint64_t rx = 0, tx = 0; | |
+ int flags = 0; | |
+ | |
+ if (m->rxid) { | |
+ rx = sysctl_get_stats(ifm, m->rxid); | |
+ flags |= UPDATE_FLAG_RX; | |
+ } | |
+ | |
+ if (m->txid) { | |
+ tx = sysctl_get_stats(ifm, m->txid); | |
+ flags |= UPDATE_FLAG_TX; | |
+ } | |
+ | |
+ attr_update(e, m->attrid, rx, tx, flags); | |
+ } | |
+ | |
+ element_notify_update(e, NULL); | |
+ element_lifesign(e, 1); | |
+ } | |
+ | |
+ xfree(buf); | |
+} | |
+ | |
+static void | |
+print_help(void) | |
+{ | |
+ printf( | |
+ "sysctl - sysctl statistic collector for BSD and Darwin\n" \ | |
+ "\n" \ | |
+ " BSD and Darwin statistic collector using sysctl()\n" \ | |
+ " Author: Thomas Graf <[email protected]>\n" \ | |
+ "\n"); | |
+} | |
+ | |
+static void | |
+sysctl_set_opts(const char* type, const char* value) | |
+{ | |
+ if (!strcasecmp(type, "debug")) | |
+ c_debug = 1; | |
+ else if (!strcasecmp(type, "help")) { | |
+ print_help(); | |
+ exit(0); | |
+ } | |
+} | |
+ | |
+static int | |
+sysctl_probe(void) | |
+{ | |
+ size_t n; | |
+ int mib[] = {CTL_NET, PF_ROUTE, 0, 0, NET_RT_IFLIST, 0}; | |
+ if (sysctl(mib, 6, NULL, &n, NULL, 0) < 0) | |
+ return 0; | |
+ return 1; | |
+} | |
+ | |
+static int sysctl_do_init(void) | |
+{ | |
+ if (attr_map_load(link_attrs, ARRAY_SIZE(link_attrs))) | |
+ BUG(); | |
+ | |
+ grp = group_lookup(DEFAULT_GROUP, GROUP_CREATE); | |
+ if (!grp) | |
+ BUG(); | |
+ | |
+ return 0; | |
+} | |
+ | |
+static struct bmon_module kstat_ops = { | |
+ .m_name = "sysctl", | |
+ .m_do = sysctl_read, | |
+ .m_parse_opt = sysctl_set_opts, | |
+ .m_probe = sysctl_probe, | |
+ .m_init = sysctl_do_init, | |
+}; | |
+ | |
+static void __init | |
+sysctl_init(void) | |
+{ | |
+ input_register(&kstat_ops); | |
+} | |
+ | |
+#endif | |
diff --git a/src/input.c b/src/input.c | |
index f4afac7..4a7d4ca 100644 | |
--- a/src/input.c | |
+++ b/src/input.c | |
@@ -44,11 +44,18 @@ static void activate_default(void) | |
if (!input_subsys.s_nmod) { | |
struct bmon_module *m; | |
+#ifdef SYS_LINUX | |
if (!input_set("netlink")) | |
return; | |
if (!input_set("proc")) | |
return; | |
+#endif | |
+ | |
+#ifdef SYS_BSD | |
+ if (!input_set("sysctl")) | |
+ return; | |
+#endif | |
/* Fall back to anything that could act as default */ | |
list_for_each_entry(m, &input_subsys.s_mod_list, m_list) { | |
diff --git a/src/module.c b/src/module.c | |
index e805ce0..b245f72 100644 | |
--- a/src/module.c | |
+++ b/src/module.c | |
@@ -92,7 +92,7 @@ static int module_configure(struct bmon_module *m, module_conf_t *cfg) | |
{ | |
DBG("Configuring module %s", m->m_name); | |
- if (m->m_parse_opt) { | |
+ if (m->m_parse_opt && cfg) { | |
tv_t *tv; | |
list_for_each_entry(tv, &cfg->m_attrs, tv_list) | |
@@ -102,12 +102,29 @@ static int module_configure(struct bmon_module *m, module_conf_t *cfg) | |
if (m->m_probe && !m->m_probe()) | |
return -EINVAL; | |
+ m->m_flags |= BMON_MODULE_ENABLED; | |
+ m->m_subsys->s_nmod++; | |
+ | |
return 0; | |
} | |
-void module_register(struct bmon_subsys *ss, struct bmon_module *m) | |
+int module_register(struct bmon_subsys *ss, struct bmon_module *m) | |
{ | |
+ if (m->m_subsys) | |
+ return -EBUSY; | |
+ | |
list_add_tail(&m->m_list, &ss->s_mod_list); | |
+ m->m_subsys = ss; | |
+ return 0; | |
+} | |
+ | |
+static void __auto_load(struct bmon_module *m) | |
+{ | |
+ if ((m->m_flags & BMON_MODULE_AUTO) && | |
+ !(m->m_flags & BMON_MODULE_ENABLED)) { | |
+ if (module_configure(m, NULL) == 0) | |
+ DBG("Auto-enabled module %s", m->m_name); | |
+ } | |
} | |
int module_set(struct bmon_subsys *ss, const char *name) | |
@@ -116,7 +133,6 @@ int module_set(struct bmon_subsys *ss, const char *name) | |
struct list_head *list; | |
LIST_HEAD(tmp_list); | |
module_conf_t *m; | |
- int nmod = 0; | |
if (!name || !strcasecmp(name, "list")) { | |
module_list(ss, &ss->s_mod_list); | |
@@ -129,18 +145,16 @@ int module_set(struct bmon_subsys *ss, const char *name) | |
if (!(mod = module_lookup(ss, m->m_name))) | |
quit("Unknown %s module: %s\n", ss->s_name, m->m_name); | |
- if (module_configure(mod, m) == 0) { | |
- DBG("Enabling module %s", mod->m_name); | |
- mod->m_flags |= BMON_MODULE_ENABLED; | |
- nmod++; | |
- } | |
+ if (module_configure(mod, m) == 0) | |
+ DBG("Enabled module %s", mod->m_name); | |
} | |
- if (!nmod) | |
+ module_foreach(ss, __auto_load); | |
+ | |
+ if (!ss->s_nmod) | |
quit("No working %s module found\n", ss->s_name); | |
- DBG("Configured %d modules", nmod); | |
- ss->s_nmod = nmod; | |
+ DBG("Configured modules"); | |
return 0; | |
} | |
diff --git a/src/out_ascii.c b/src/out_ascii.c | |
index 40a70e2..b3e8d2d 100644 | |
--- a/src/out_ascii.c | |
+++ b/src/out_ascii.c | |
@@ -55,7 +55,7 @@ static void print_list(struct element *e) | |
{ | |
char *rxu1 = "", *txu1 = "", *rxu2 = "", *txu2 = ""; | |
double rx1 = 0.0f, tx1 = 0.0f, rx2 = 0.0f, tx2 = 0.0f; | |
- int rx1prec, tx1prec, rx2prec, tx2prec; | |
+ int rx1prec = 0, tx1prec = 0, rx2prec = 0, tx2prec = 0; | |
char pad[IFNAMSIZ + 32]; | |
struct attr *a; | |
diff --git a/src/out_curses.c b/src/out_curses.c | |
index 602998c..fde2ef6 100644 | |
--- a/src/out_curses.c | |
+++ b/src/out_curses.c | |
@@ -599,7 +599,10 @@ static void draw_element(struct element_group *g, struct element *e, | |
addch(' '); | |
} else if (e == current_element) { | |
apply_layout(LAYOUT_SELECTED); | |
- printw("->"); | |
+ addch(' '); | |
+ attron(A_BOLD); | |
+ addch(ACS_RARROW); | |
+ attroff(A_BOLD); | |
apply_layout(LAYOUT_LIST); | |
} else if (*line == offset + list_length - 1 && | |
*line < (list_req - 1)) { | |
@@ -1199,6 +1202,13 @@ static int handle_input(int ch) | |
static void curses_pre(void) | |
{ | |
+ static int init = 0; | |
+ | |
+ if (!init) { | |
+ curses_init(); | |
+ init = 1; | |
+ } | |
+ | |
for (;;) { | |
int ch = getch(); | |
@@ -1264,7 +1274,6 @@ static void curses_parse_opt(const char *type, const char *value) | |
static struct bmon_module curses_ops = { | |
.m_name = "curses", | |
.m_flags = BMON_MODULE_DEFAULT, | |
- .m_init = curses_init, | |
.m_shutdown = curses_shutdown, | |
.m_pre = curses_pre, | |
.m_do = curses_draw, | |
diff --git a/src/out_format.c b/src/out_format.c | |
index e373b81..19c588f 100644 | |
--- a/src/out_format.c | |
+++ b/src/out_format.c | |
@@ -126,10 +126,10 @@ static char *get_token(struct element_group *g, struct element *e, | |
} | |
if (!strncasecmp(type, "rx:", 3)) { | |
- snprintf(buf, len, "%lu", a->a_rx_rate.r_total); | |
+ snprintf(buf, len, "%llu", a->a_rx_rate.r_total); | |
return buf; | |
} else if (!strncasecmp(type, "tx:", 3)) { | |
- snprintf(buf, len, "%lu", a->a_tx_rate.r_total); | |
+ snprintf(buf, len, "%llu", a->a_tx_rate.r_total); | |
return buf; | |
} else if (!strncasecmp(type, "rxrate:", 7)) { | |
snprintf(buf, len, "%.2f", a->a_rx_rate.r_rate); | |
@@ -313,7 +313,7 @@ static void print_help(void) | |
" :rxusage RX usage in percent\n" \ | |
" :txusage TX usage in percent)\n" \ | |
" :id ID of element\n" \ | |
- " :haschilds Indicate if element has childs (0|1)\n" \ | |
+ " :haschilds Indicate if element has children (0|1)\n" \ | |
" attr:rx:<name> RX counter of attribute <name>\n" \ | |
" :tx:<name> TX counter of attribute <name>\n" \ | |
" :rxrate:<name> RX rate of attribute <name>\n" \ | |
diff --git a/src/unit.c b/src/unit.c | |
index 4e70fbe..ab4cbd8 100644 | |
--- a/src/unit.c | |
+++ b/src/unit.c | |
@@ -34,13 +34,15 @@ static LIST_HEAD(units); | |
static struct list_head *get_flist(struct unit *unit) | |
{ | |
- static int cached = 0, div = UNIT_DEFAULT; | |
+ int div = UNIT_DEFAULT; | |
- if (!cached && cfg_getbool(cfg, "use_si")) | |
+ if (cfg_getbool(cfg, "use_bit")) | |
+ div = UNIT_BIT; | |
+ else if (cfg_getbool(cfg, "use_si")) | |
div = UNIT_SI; | |
- if (!list_empty(&unit->u_div[UNIT_SI]) && div == UNIT_SI) | |
- return &unit->u_div[UNIT_SI]; | |
+ if (!list_empty(&unit->u_div[div])) | |
+ return &unit->u_div[div]; | |
else | |
return &unit->u_div[UNIT_DEFAULT]; | |
} | |
@@ -72,8 +74,8 @@ struct unit *unit_lookup(const char *name) | |
* If prec points to a vaild integer, a number of precision digits | |
* is suggested to avoid n.00 to make pretty printing easier. | |
*/ | |
-uint64_t unit_divisor(uint64_t hint, struct unit *unit, char **name, | |
- int *prec) | |
+double unit_divisor(uint64_t hint, struct unit *unit, char **name, | |
+ int *prec) | |
{ | |
struct list_head *flist = get_flist(unit); | |
struct fraction *f; | |
@@ -98,7 +100,7 @@ uint64_t unit_divisor(uint64_t hint, struct unit *unit, char **name, | |
return 1; | |
found_it: | |
- if (f->f_divisor == 1 && prec) | |
+ if (f->f_divisor == 1.0f && prec) | |
*prec = 0; | |
*name = f->f_name; | |
@@ -108,12 +110,13 @@ found_it: | |
double unit_value2str(uint64_t value, struct unit *unit, | |
char **name, int *prec) | |
{ | |
- uint64_t div = unit_divisor(value, unit, name, prec); | |
+ double div = unit_divisor(value, unit, name, prec); | |
+ double v = (double) value; | |
- if (value % div == 0 && prec) | |
+ if (fmod(v, div) == 0.0f && prec) | |
*prec = 0; | |
- return (double) value / (double) div; | |
+ return v / div; | |
} | |
void fraction_free(struct fraction *f) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment