summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-02-15 08:57:17 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-02-15 08:57:17 +0100
commitf6d24fdf0f1c294628b979aa199e06ef6462df4e (patch)
tree9f393bb86eec9898b64ce401da2c239cc0c32cc1
parentc0d1f2fc0c975886dcaead85a389cc6bdda68330 (diff)
add special handling for kernel modules in pkgmaker
- use Config.in.kmod for packages with kernel modules - cleanup dots in uclibc Config.in - avoid autotool in cryptsetup, breaks build on debian lenny
-rw-r--r--.gitignore1
-rw-r--r--package/cryptsetup/Makefile1
-rw-r--r--package/cryptsetup/patches/patch-INSTALL345
-rw-r--r--package/cryptsetup/patches/patch-Makefile_in58
-rw-r--r--package/cryptsetup/patches/patch-aclocal_m426
-rw-r--r--package/cryptsetup/patches/patch-compile23
-rw-r--r--package/cryptsetup/patches/patch-config_guess339
-rw-r--r--package/cryptsetup/patches/patch-config_sub169
-rw-r--r--package/cryptsetup/patches/patch-configure38
-rw-r--r--package/cryptsetup/patches/patch-configure_in2
-rw-r--r--package/cryptsetup/patches/patch-lib_Makefile_in8
-rw-r--r--package/cryptsetup/patches/patch-ltmain_sh20
-rw-r--r--package/cryptsetup/patches/patch-luks_Makefile_in8
-rw-r--r--package/cryptsetup/patches/patch-man_Makefile_in8
-rw-r--r--package/cryptsetup/patches/patch-src_Makefile_in8
-rw-r--r--package/cryptsetup/patches/patch-tests_Makefile_in8
-rw-r--r--package/pkgmaker7
-rw-r--r--package/uclibc/Config.in.manual6
-rw-r--r--target/linux/config/Config.in.misc3
-rw-r--r--target/linux/config/Config.in.netdevice1
-rw-r--r--target/linux/config/Config.in.netfilter2
21 files changed, 1073 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index 3ead4eac4..3c58ed468 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,7 @@ dl/
package/*/info.mk
package/*/Config.in
package/*/Config.in.lib
+package/*/Config.in.kmod
tools_build/
extra/
.menu
diff --git a/package/cryptsetup/Makefile b/package/cryptsetup/Makefile
index d3bd57e6f..4d8973482 100644
--- a/package/cryptsetup/Makefile
+++ b/package/cryptsetup/Makefile
@@ -24,7 +24,6 @@ include ${TOPDIR}/mk/package.mk
$(eval $(call PKG_template,CRYPTSETUP,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
-AUTOTOOL_STYLE:= autotool
CONFIGURE_ARGS+= --disable-selinux
post-install:
diff --git a/package/cryptsetup/patches/patch-INSTALL b/package/cryptsetup/patches/patch-INSTALL
new file mode 100644
index 000000000..9fbf51b65
--- /dev/null
+++ b/package/cryptsetup/patches/patch-INSTALL
@@ -0,0 +1,345 @@
+--- cryptsetup-1.1.0.orig/INSTALL 2009-07-06 18:53:08.000000000 +0200
++++ cryptsetup-1.1.0/INSTALL 2010-02-14 18:24:56.000000000 +0100
+@@ -1,13 +1,25 @@
+-Copyright 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
+-Foundation, Inc.
++Installation Instructions
++*************************
+
+- This file is free documentation; the Free Software Foundation gives
+-unlimited permission to copy, distribute and modify it.
++Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
++2006, 2007, 2008, 2009 Free Software Foundation, Inc.
++
++ Copying and distribution of this file, with or without modification,
++are permitted in any medium without royalty provided the copyright
++notice and this notice are preserved. This file is offered as-is,
++without warranty of any kind.
+
+ Basic Installation
+ ==================
+
+- These are generic installation instructions.
++ Briefly, the shell commands `./configure; make; make install' should
++configure, build, and install this package. The following
++more-detailed instructions are generic; see the `README' file for
++instructions specific to this package. Some packages provide this
++`INSTALL' file but do not implement all of the features documented
++below. The lack of an optional feature in a given package is not
++necessarily a bug. More recommendations for GNU packages can be found
++in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+ various system-dependent variables used during compilation. It uses
+@@ -20,9 +32,9 @@ debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+ and enabled with `--cache-file=config.cache' or simply `-C') that saves
+-the results of its tests to speed up reconfiguring. (Caching is
++the results of its tests to speed up reconfiguring. Caching is
+ disabled by default to prevent problems with accidental use of stale
+-cache files.)
++cache files.
+
+ If you need to do unusual things to compile the package, please try
+ to figure out how `configure' could check whether to do them, and mail
+@@ -32,30 +44,37 @@ some point `config.cache' contains resul
+ may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+-`configure' by a program called `autoconf'. You only need
+-`configure.ac' if you want to change it or regenerate `configure' using
+-a newer version of `autoconf'.
++`configure' by a program called `autoconf'. You need `configure.ac' if
++you want to change it or regenerate `configure' using a newer version
++of `autoconf'.
+
+-The simplest way to compile this package is:
++ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+- `./configure' to configure the package for your system. If you're
+- using `csh' on an old version of System V, you might need to type
+- `sh ./configure' instead to prevent `csh' from trying to execute
+- `configure' itself.
++ `./configure' to configure the package for your system.
+
+- Running `configure' takes awhile. While running, it prints some
+- messages telling which features it is checking for.
++ Running `configure' might take a while. While running, it prints
++ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+- the package.
++ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+- documentation.
++ documentation. When installing into a prefix owned by root, it is
++ recommended that the package be configured and built as a regular
++ user, and only the `make install' phase executed with root
++ privileges.
+
+- 5. You can remove the program binaries and object files from the
++ 5. Optionally, type `make installcheck' to repeat any self-tests, but
++ this time using the binaries in their final installed location.
++ This target does not install anything. Running this target as a
++ regular user, particularly if the prior `make install' required
++ root privileges, verifies that the installation completed
++ correctly.
++
++ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+@@ -64,6 +83,16 @@ The simplest way to compile this package
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
++ 7. Often, you can also type `make uninstall' to remove the installed
++ files again. In practice, not all packages have tested that
++ uninstallation works correctly, even though it is required by the
++ GNU Coding Standards.
++
++ 8. Some packages, particularly those that use Automake, provide `make
++ distcheck', which can by used by developers to test that all other
++ targets like `make install' and `make uninstall' work correctly.
++ This target is generally not run by end users.
++
+ Compilers and Options
+ =====================
+
+@@ -75,7 +104,7 @@ for details on some of the pertinent env
+ by setting variables in the command line or in the environment. Here
+ is an example:
+
+- ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
++ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+@@ -84,44 +113,89 @@ Compiling For Multiple Architectures
+
+ You can compile the package for more than one kind of computer at the
+ same time, by placing the object files for each architecture in their
+-own directory. To do this, you must use a version of `make' that
+-supports the `VPATH' variable, such as GNU `make'. `cd' to the
++own directory. To do this, you can use GNU `make'. `cd' to the
+ directory where you want the object files and executables to go and run
+ the `configure' script. `configure' automatically checks for the
+-source code in the directory that `configure' is in and in `..'.
++source code in the directory that `configure' is in and in `..'. This
++is known as a "VPATH" build.
+
+- If you have to use a `make' that does not support the `VPATH'
+-variable, you have to compile the package for one architecture at a
+-time in the source code directory. After you have installed the
+-package for one architecture, use `make distclean' before reconfiguring
+-for another architecture.
++ With a non-GNU `make', it is safer to compile the package for one
++architecture at a time in the source code directory. After you have
++installed the package for one architecture, use `make distclean' before
++reconfiguring for another architecture.
++
++ On MacOS X 10.5 and later systems, you can create libraries and
++executables that work on multiple system types--known as "fat" or
++"universal" binaries--by specifying multiple `-arch' options to the
++compiler but only a single `-arch' option to the preprocessor. Like
++this:
++
++ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
++ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
++ CPP="gcc -E" CXXCPP="g++ -E"
++
++ This is not guaranteed to produce working output in all cases, you
++may have to build one architecture at a time and combine the results
++using the `lipo' tool if you have problems.
+
+ Installation Names
+ ==================
+
+- By default, `make install' will install the package's files in
+-`/usr/local/bin', `/usr/local/man', etc. You can specify an
+-installation prefix other than `/usr/local' by giving `configure' the
+-option `--prefix=PATH'.
++ By default, `make install' installs the package's commands under
++`/usr/local/bin', include files under `/usr/local/include', etc. You
++can specify an installation prefix other than `/usr/local' by giving
++`configure' the option `--prefix=PREFIX', where PREFIX must be an
++absolute file name.
+
+ You can specify separate installation prefixes for
+ architecture-specific files and architecture-independent files. If you
+-give `configure' the option `--exec-prefix=PATH', the package will use
+-PATH as the prefix for installing programs and libraries.
+-Documentation and other data files will still use the regular prefix.
++pass the option `--exec-prefix=PREFIX' to `configure', the package uses
++PREFIX as the prefix for installing programs and libraries.
++Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+-options like `--bindir=PATH' to specify different values for particular
++options like `--bindir=DIR' to specify different values for particular
+ kinds of files. Run `configure --help' for a list of the directories
+-you can set and what kinds of files go in them.
++you can set and what kinds of files go in them. In general, the
++default for these options is expressed in terms of `${prefix}', so that
++specifying just `--prefix' will affect all of the other directory
++specifications that were not explicitly provided.
+
+- If the package supports it, you can cause programs to be installed
+-with an extra prefix or suffix on their names by giving `configure' the
+-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
++ The most portable way to affect installation locations is to pass the
++correct locations to `configure'; however, many packages provide one or
++both of the following shortcuts of passing variable assignments to the
++`make install' command line to change installation locations without
++having to reconfigure or recompile.
++
++ The first method involves providing an override variable for each
++affected directory. For example, `make install
++prefix=/alternate/directory' will choose an alternate location for all
++directory configuration variables that were expressed in terms of
++`${prefix}'. Any directories that were specified during `configure',
++but not in terms of `${prefix}', must each be overridden at install
++time for the entire installation to be relocated. The approach of
++makefile variable overrides for each directory variable is required by
++the GNU Coding Standards, and ideally causes no recompilation.
++However, some platforms have known limitations with the semantics of
++shared libraries that end up requiring recompilation when using this
++method, particularly noticeable in packages that use GNU Libtool.
++
++ The second method involves providing the `DESTDIR' variable. For
++example, `make install DESTDIR=/alternate/directory' will prepend
++`/alternate/directory' before all installation names. The approach of
++`DESTDIR' overrides is not required by the GNU Coding Standards, and
++does not work on platforms that have drive letters. On the other hand,
++it does better at avoiding recompilation issues, and works well even
++when some directory options were not specified in terms of `${prefix}'
++at `configure' time.
+
+ Optional Features
+ =================
+
++ If the package supports it, you can cause programs to be installed
++with an extra prefix or suffix on their names by giving `configure' the
++option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
++
+ Some packages pay attention to `--enable-FEATURE' options to
+ `configure', where FEATURE indicates an optional part of the package.
+ They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+@@ -134,6 +208,45 @@ find the X include and library files aut
+ you can use the `configure' options `--x-includes=DIR' and
+ `--x-libraries=DIR' to specify their locations.
+
++ Some packages offer the ability to configure how verbose the
++execution of `make' will be. For these packages, running `./configure
++--enable-silent-rules' sets the default to minimal output, which can be
++overridden with `make V=1'; while running `./configure
++--disable-silent-rules' sets the default to verbose, which can be
++overridden with `make V=0'.
++
++Particular systems
++==================
++
++ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
++CC is not installed, it is recommended to use the following options in
++order to use an ANSI C compiler:
++
++ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
++
++and if that doesn't work, install pre-built binaries of GCC for HP-UX.
++
++ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
++parse its `<wchar.h>' header file. The option `-nodtk' can be used as
++a workaround. If GNU CC is not installed, it is therefore recommended
++to try
++
++ ./configure CC="cc"
++
++and if that doesn't work, try
++
++ ./configure CC="cc -nodtk"
++
++ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
++directory contains several dysfunctional programs; working variants of
++these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
++in your `PATH', put it _after_ `/usr/bin'.
++
++ On Haiku, software installed for all users goes in `/boot/common',
++not `/usr/local'. It is recommended to use the following options:
++
++ ./configure --prefix=/boot/common
++
+ Specifying the System Type
+ ==========================
+
+@@ -149,14 +262,15 @@ type, such as `sun4', or a canonical nam
+
+ where SYSTEM can have one of these forms:
+
+- OS KERNEL-OS
++ OS
++ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+ `config.sub' isn't included in this package, then this package doesn't
+ need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+-use the `--target=TYPE' option to select the type of system they will
++use the option `--target=TYPE' to select the type of system they will
+ produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+@@ -186,9 +300,14 @@ them in the `configure' command line, us
+
+ ./configure CC=/usr/local2/bin/gcc
+
+-will cause the specified gcc to be used as the C compiler (unless it is
++causes the specified `gcc' to be used as the C compiler (unless it is
+ overridden in the site shell script).
+
++Unfortunately, this technique does not work for `CONFIG_SHELL' due to
++an Autoconf bug. Until the bug is fixed you can use this workaround:
++
++ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
++
+ `configure' Invocation
+ ======================
+
+@@ -197,7 +316,14 @@ operates.
+
+ `--help'
+ `-h'
+- Print a summary of the options to `configure', and exit.
++ Print a summary of all of the options to `configure', and exit.
++
++`--help=short'
++`--help=recursive'
++ Print a summary of the options unique to this package's
++ `configure', and exit. The `short' variant lists options used
++ only in the top level, while the `recursive' variant lists options
++ also present in any nested packages.
+
+ `--version'
+ `-V'
+@@ -224,6 +350,16 @@ operates.
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
++`--prefix=DIR'
++ Use DIR as the installation prefix. *note Installation Names::
++ for more details, including other options available for fine-tuning
++ the installation locations.
++
++`--no-create'
++`-n'
++ Run the configure checks, but stop before creating any output
++ files.
++
+ `configure' also accepts some other, not widely useful, options. Run
+ `configure --help' for more details.
+
diff --git a/package/cryptsetup/patches/patch-Makefile_in b/package/cryptsetup/patches/patch-Makefile_in
new file mode 100644
index 000000000..0bc8b95e4
--- /dev/null
+++ b/package/cryptsetup/patches/patch-Makefile_in
@@ -0,0 +1,58 @@
+--- cryptsetup-1.1.0.orig/Makefile.in 2010-01-17 11:29:23.000000000 +0100
++++ cryptsetup-1.1.0/Makefile.in 2010-02-14 18:24:56.000000000 +0100
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11 from Makefile.am.
++# Makefile.in generated by automake 1.11.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -323,7 +323,7 @@ distclean-libtool:
+ # (which will cause the Makefiles to be regenerated when you run `make');
+ # (2) otherwise, pass the desired values on the `make' command line.
+ $(RECURSIVE_TARGETS):
+- @failcom='exit 1'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -348,7 +348,7 @@ $(RECURSIVE_TARGETS):
+ fi; test -z "$$fail"
+
+ $(RECURSIVE_CLEAN_TARGETS):
+- @failcom='exit 1'; \
++ @fail= failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+@@ -512,7 +512,8 @@ distdir: $(DISTFILES)
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+- || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
++ || find "$(distdir)" -type d ! -perm -755 \
++ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+@@ -556,17 +557,17 @@ dist dist-all: distdir
+ distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
++ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+- bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
++ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lzma*) \
+- unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
++ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+- GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
++ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
diff --git a/package/cryptsetup/patches/patch-aclocal_m4 b/package/cryptsetup/patches/patch-aclocal_m4
new file mode 100644
index 000000000..7fd490cda
--- /dev/null
+++ b/package/cryptsetup/patches/patch-aclocal_m4
@@ -0,0 +1,26 @@
+--- cryptsetup-1.1.0.orig/aclocal.m4 2010-01-17 11:29:20.000000000 +0100
++++ cryptsetup-1.1.0/aclocal.m4 2010-02-14 18:24:56.000000000 +0100
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.11 -*- Autoconf -*-
++# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+ # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+@@ -143,7 +143,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.11'
+ 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.11], [],
++m4_if([$1], [1.11.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -159,7 +159,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.11])dnl
++[AM_AUTOMAKE_VERSION([1.11.1])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
diff --git a/package/cryptsetup/patches/patch-compile b/package/cryptsetup/patches/patch-compile
new file mode 100644
index 000000000..1ff0e3e7f
--- /dev/null
+++ b/package/cryptsetup/patches/patch-compile
@@ -0,0 +1,23 @@
+--- cryptsetup-1.1.0.orig/compile 2009-08-24 17:04:56.000000000 +0200
++++ cryptsetup-1.1.0/compile 2010-02-14 18:24:56.000000000 +0100
+@@ -1,7 +1,7 @@
+ #! /bin/sh
+ # Wrapper for compilers which do not understand `-c -o'.
+
+-scriptversion=2009-04-28.21; # UTC
++scriptversion=2009-10-06.20; # UTC
+
+ # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software
+ # Foundation, Inc.
+@@ -124,9 +124,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15
+ ret=$?
+
+ if test -f "$cofile"; then
+- mv "$cofile" "$ofile"
++ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+ elif test -f "${cofile}bj"; then
+- mv "${cofile}bj" "$ofile"
++ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+ fi
+
+ rmdir "$lockdir"
diff --git a/package/cryptsetup/patches/patch-config_guess b/package/cryptsetup/patches/patch-config_guess
new file mode 100644
index 000000000..1848f8087
--- /dev/null
+++ b/package/cryptsetup/patches/patch-config_guess
@@ -0,0 +1,339 @@
+--- cryptsetup-1.1.0.orig/config.guess 2009-06-30 10:31:47.000000000 +0200
++++ cryptsetup-1.1.0/config.guess 2010-02-14 18:24:56.000000000 +0100
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
++# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ # Free Software Foundation, Inc.
+
+-timestamp='2008-09-28'
++timestamp='2009-06-10'
+
+ # 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
+@@ -139,23 +139,6 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` |
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+-if [ "${UNAME_SYSTEM}" = "Linux" ] ; then
+- eval $set_cc_for_build
+- cat << EOF > $dummy.c
+- #include <features.h>
+- #ifdef __UCLIBC__
+- # ifdef __UCLIBC_CONFIG_VERSION__
+- LIBC=uclibc __UCLIBC_CONFIG_VERSION__
+- # else
+- LIBC=uclibc
+- # endif
+- #else
+- LIBC=gnu
+- #endif
+-EOF
+- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
+-fi
+-
+ # Note: order is significant - the case branches are not exclusive.
+
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+@@ -187,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+- | grep __ELF__ >/dev/null
++ | grep -q __ELF__
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+@@ -341,6 +324,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ 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 ;;
+@@ -348,7 +334,20 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit ;;
+ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+- echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ 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
+@@ -657,7 +656,7 @@ EOF
+ # => hppa64-hp-hpux11.23
+
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+- grep __LP64__ >/dev/null
++ grep -q __LP64__
+ then
+ HP_ARCH="hppa2.0w"
+ else
+@@ -823,6 +822,9 @@ EOF
+ [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
+@@ -857,66 +859,43 @@ EOF
+ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_EABI__
+ then
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ else
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
++ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
+ avr32*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ cris:Linux:*:*)
+- echo cris-axis-linux-${LIBC}
++ echo cris-axis-linux-gnu
+ exit ;;
+ crisv32:Linux:*:*)
+- echo crisv32-axis-linux-${LIBC}
++ echo crisv32-axis-linux-gnu
+ exit ;;
+ frv:Linux:*:*)
+- echo frv-unknown-linux-${LIBC}
++ echo frv-unknown-linux-gnu
+ exit ;;
+ ia64:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m32r*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ m68*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+- mips:Linux:*:*)
+- eval $set_cc_for_build
+- sed 's/^ //' << EOF >$dummy.c
+- #undef CPU
+- #undef mips
+- #undef mipsel
+- #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+- CPU=mipsel
+- #else
+- #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+- CPU=mips
+- #else
+- CPU=
+- #endif
+- #endif
+-EOF
+- eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+- /^CPU/{
+- s: ::g
+- p
+- }'`"
+- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+- ;;
+- mips64:Linux:*:*)
++ mips:Linux:*:* | mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+- #undef mips64
+- #undef mips64el
++ #undef ${UNAME_MACHINE}
++ #undef ${UNAME_MACHINE}el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+- CPU=mips64el
++ CPU=${UNAME_MACHINE}el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+- CPU=mips64
++ CPU=${UNAME_MACHINE}
+ #else
+ CPU=
+ #endif
+@@ -927,16 +906,16 @@ EOF
+ s: ::g
+ p
+ }'`"
+- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ ;;
+ or32:Linux:*:*)
+- echo or32-unknown-linux-${LIBC}
++ echo or32-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+- echo powerpc-unknown-linux-${LIBC}
++ echo powerpc-unknown-linux-gnu
+ exit ;;
+ ppc64:Linux:*:*)
+- echo powerpc64-unknown-linux-${LIBC}
++ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+@@ -948,9 +927,9 @@ EOF
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+- objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+- if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ objdump --private-headers /bin/sh | grep -q ld.so.1
++ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
++ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit ;;
+ padre:Linux:*:*)
+ echo sparc-unknown-linux-gnu
+@@ -958,34 +937,34 @@ EOF
+ 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} ;;
++ PA7*) echo hppa1.1-unknown-linux-gnu ;;
++ PA8*) echo hppa2.0-unknown-linux-gnu ;;
++ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+- echo hppa64-unknown-linux-${LIBC}
++ echo hppa64-unknown-linux-gnu
+ exit ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit ;;
+ sh64*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sh*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ vax:Linux:*:*)
+- echo ${UNAME_MACHINE}-dec-linux-${LIBC}
++ echo ${UNAME_MACHINE}-dec-linux-gnu
+ exit ;;
+ x86_64:Linux:*:*)
+- echo x86_64-unknown-linux-${LIBC}
++ echo x86_64-unknown-linux-gnu
+ exit ;;
+ xtensa*:Linux:*:*)
+- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+@@ -1000,19 +979,9 @@ EOF
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+- TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
++ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+- a.out-i386-linux)
+- echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
+- exit ;;
+- "")
+- # Either a pre-BFD a.out linker (linux-gnuoldld) or
+- # one that does not give us useful --help.
+- echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
+- exit ;;
+ esac
+- # This should get integrated into the C code below, but now we hack
+- if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+@@ -1077,7 +1046,7 @@ EOF
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit ;;
+- i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit ;;
+ i*86:*DOS:*:*)
+@@ -1121,8 +1090,11 @@ EOF
+ 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 i386.
+- echo i386-pc-msdosdjgpp
++ # 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
+@@ -1160,6 +1132,16 @@ EO