diff options
Diffstat (limited to 'gnu-config')
-rw-r--r-- | gnu-config/gnu-config/gnu-configize.in | 267 | ||||
-rw-r--r-- | gnu-config/gnu-config/uclibc.patch | 21 |
2 files changed, 288 insertions, 0 deletions
diff --git a/gnu-config/gnu-config/gnu-configize.in b/gnu-config/gnu-config/gnu-configize.in index e69de29bb2..be8580c8e6 100644 --- a/gnu-config/gnu-config/gnu-configize.in +++ b/gnu-config/gnu-config/gnu-configize.in @@ -0,0 +1,267 @@ +#! /usr/bin/perl -w +# -*- perl -*- + +eval 'case $# in 0) exec /usr/bin/perl -S "$0";; *) exec /usr/bin/perl -S "$0" "$@";; esac' + if 0; + +# gnu-configize - install the GNU config.guess / config.sub in a directory tree +# Based on autoreconf: +# Copyright (C) 1994, 1999, 2000, 2001, 2002, 2003 +# Free Software Foundation, Inc. + +# 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +BEGIN +{ + my $datadir = $ENV{'autom4te_perllibdir'} || '@autom4te_perllibdir@'; +# '/home/kergoth/code/build-arm/tmp/staging/share/autoconf'; + unshift @INC, $datadir; + + # Override SHELL. On DJGPP SHELL may not be set to a shell + # that can handle redirection and quote arguments correctly, + # e.g.: COMMAND.COM. For DJGPP always use the shell that configure + # has detected. + $ENV{'SHELL'} = '/bin/sh' if ($^O eq 'dos'); +} + +use Autom4te::ChannelDefs; +use Autom4te::Channels; +use Autom4te::Configure_ac; +use Autom4te::FileUtils; +use Autom4te::General; +use Autom4te::XFile; +# Do not use Cwd::chdir, since it might hang. +use Cwd 'cwd'; +use strict; + +## ----------- ## +## Variables. ## +## ----------- ## + +# $HELP +# ----- +$help = "Usage: $0 [OPTION] ... [CONFIGURE-AC or DIRECTORY] ... + +Install the GNU config.sub and config.guess scripts in the +DIRECTORIES or the directory trees driven by CONFIGURE-AC +(defaulting to `.'). + +Operation modes: + -h, --help print this help, then exit + -V, --version print version number, then exit + -v, --verbose verbosely report processing + -f, --force consider all files obsolete + -s, --symlink install symbolic links instead of copies + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax] + +" . Autom4te::ChannelDefs::usage . " + +The environment variable \`WARNINGS\' is honored. Some subtools might +support other warning types, using \`all' is encouraged. +"; + +# $VERSION +# -------- +$version = "gnu-configize 1.0 + +Copyright (C) 2004 Chris Larson +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +"; + +my $configdir = '@gnu-configdir@'; +#'/home/kergoth/code/build-arm/tmp/staging/i686-linux/share/gnu-config'; +my $autoconf = $ENV{'AUTOCONF'} || 'autoconf'; + +# use symlinks instead. +my $symlink = 0; + +my $configure_ac; + +my $rm = "rm -f"; +my $ln_s = "ln -sf"; +my $cp = "cp -f"; +my $mkdir = "mkdir"; +my $chmod = "chmod"; + +## ---------- ## +## Routines. ## +## ---------- ## + + +# parse_args () +# ------------- +# Process any command line arguments. +sub parse_args () +{ + my $srcdir; + + getopt ('s|symlink' => \$symlink); + + # Even if the user specified a configure.ac, trim to get the + # directory, and look for configure.ac again. Because (i) the code + # is simpler, and (ii) we are still able to diagnose simultaneous + # presence of configure.ac and configure.in. + @ARGV = map { /configure\.(ac|in)$/ ? dirname ($_) : $_ } @ARGV; + push @ARGV, '.' unless @ARGV; +} + + +# &gnu_configize_current_directory +# ----------------------------- +sub gnu_configize_current_directory () +{ + my $configure_ac = require_configure_ac; + + # ---------------------- # + # Is it using Autoconf? # + # ---------------------- # + + my $uses_autoconf; + my $uses_gettext; + my $configure_ac_file = new Autom4te::XFile $configure_ac; + while ($_ = $configure_ac_file->getline) + { + s/#.*//; + s/dnl.*//; + $uses_autoconf = 1 if /AC_INIT/; + } + + if (!$uses_autoconf) + { + verb "$configure_ac: not using Autoconf"; + return; + } + + my $aux_dir; + my @subdir; + my $cmd; + my $dest; + + verb "$configure_ac: tracing"; + my $traces = new Autom4te::XFile + ("$autoconf" + . join (' --trace=', '', + # If you change this list, update the + # `Autoreconf-preselections' section of autom4te.in. + 'AC_CONFIG_AUX_DIR:AC_CONFIG_AUX_DIR:\$1', + 'AC_CONFIG_SUBDIRS:AC_CONFIG_SUBDIRS:\$1', + 'AC_INIT', + ) + . ' |'); + while ($_ = $traces->getline) + { + $aux_dir = $1 if /AC_CONFIG_AUX_DIR:(.*)/; + $uses_autoconf = 1 if /AC_INIT/; + push @subdir, split (' ', $1) if /AC_CONFIG_SUBDIRS:(.*)/; + } + + # The subdirs are *optional*, they may not exist. + foreach (@subdir) + { + if (-d) + { + verb "$configure_ac: subdirectory $_ to gnu-configize"; + gnu_configize ($_); + } + else + { + verb "$configure_ac: subdirectory $_ not present"; + } + } + + $dest = "."; + + if (defined $aux_dir) + { + $dest = $aux_dir; + if (! -d $aux_dir) + { + verb "$configure_ac: creating directory $aux_dir"; + mkdir $aux_dir + or error "cannot create $aux_dir: $!"; + } + } + + if (!$symlink) + { + $cmd = $cp; + } + else + { + $cmd = $ln_s; + } + + xsystem ("$cmd $configdir/config.guess $dest/"); + xsystem ("$chmod u+x $dest/config.guess"); + xsystem ("$cmd $configdir/config.sub $dest/"); + xsystem ("$chmod u+x $dest/config.sub"); +} + + +# &gnu_configize ($DIRECTORY) +# ------------------------ +# Reconf the $DIRECTORY. +sub gnu_configize ($) +{ + my ($directory) = @_; + my $cwd = cwd; + + # The format for this message is not free: taken from Emacs, itself + # using GNU Make's format. + verb "Entering directory `$directory'"; + chdir $directory + or error "cannot chdir to $directory: $!"; + + gnu_configize_current_directory; + + # The format is not free: taken from Emacs, itself using GNU Make's + # format. + verb "Leaving directory `$directory'"; + chdir $cwd + or error "cannot chdir to $cwd: $!"; +} + + +## ------ ## +## Main. ## +## ------ ## + +parse_args; + +# Autoreconf all the given configure.ac. A while loop, not a for, +# since the list can change at runtime because of AC_CONFIG_SUBDIRS. +for my $directory (@ARGV) + { + gnu_configize ($directory); + } + +### Setup "GNU" style for perl-mode and cperl-mode. +## Local Variables: +## perl-indent-level: 2 +## perl-continued-statement-offset: 2 +## perl-continued-brace-offset: 0 +## perl-brace-offset: 0 +## perl-brace-imaginary-offset: 0 +## perl-label-offset: -2 +## cperl-indent-level: 2 +## cperl-brace-offset: 0 +## cperl-continued-brace-offset: 0 +## cperl-label-offset: -2 +## cperl-extra-newline-before-brace: t +## cperl-merge-trailing-else: nil +## cperl-continued-statement-offset: 2 +## End: diff --git a/gnu-config/gnu-config/uclibc.patch b/gnu-config/gnu-config/uclibc.patch index e69de29bb2..20a3b11f2f 100644 --- a/gnu-config/gnu-config/uclibc.patch +++ b/gnu-config/gnu-config/uclibc.patch @@ -0,0 +1,21 @@ +--- config.sub.orig 2004-05-14 19:38:36.000000000 -0500 ++++ config.sub 2004-05-14 19:39:17.000000000 -0500 +@@ -118,7 +118,7 @@ + # 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* | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) ++ nto-qnx* | linux-gnu* | linux-uclibc* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; +@@ -1135,7 +1135,8 @@ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ +- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ ++ | -mingw32* | -linux-gnu* | -linux-uclibc* \ ++ | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ |