diff options
author | Roland McGrath <roland@redhat.com> | 2010-08-24 11:55:53 -0700 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2010-08-24 11:56:52 -0700 |
commit | 090555538d4347a52807ba9f08cf20ed13206afe (patch) | |
tree | e8ddcd0e24e9c8efe85342caae73c3ba934e6ec0 | |
parent | f2ac4868b7b69c32c4de9895b4a1e22b91cc6aa8 (diff) | |
download | glibc-090555538d4347a52807ba9f08cf20ed13206afe.tar glibc-090555538d4347a52807ba9f08cf20ed13206afe.tar.gz glibc-090555538d4347a52807ba9f08cf20ed13206afe.tar.bz2 glibc-090555538d4347a52807ba9f08cf20ed13206afe.zip |
Rejigger header generation for default uname implementation.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | config-name.in | 9 | ||||
-rwxr-xr-x | configure | 87 | ||||
-rw-r--r-- | configure.in | 73 | ||||
-rw-r--r-- | posix/Makefile | 8 | ||||
-rwxr-xr-x | scripts/config-uname.sh | 50 |
6 files changed, 69 insertions, 165 deletions
@@ -1,5 +1,12 @@ 2010-08-24 Roland McGrath <roland@redhat.com> + * configure.in: Remove config-name.h generation. + * configure: Regenerated. + * config-name.in: File removed. + * scripts/config-uname.sh: New file. + * posix/Makefile (uname.c): Depend on $(objdir)config-name.h. + ($(objdir)config-name.h): New target. + * sunrpc/rpc_parse.h: Avoid nested comment. 2010-08-24 Richard Henderson <rth@redhat.com> diff --git a/config-name.in b/config-name.in deleted file mode 100644 index cdac43d860..0000000000 --- a/config-name.in +++ /dev/null @@ -1,9 +0,0 @@ -/* @configure_input@ -*- C -*- - - This is used only by the generic `uname' function for systems with no real - `uname' call. If this data is not correct, it does not matter much. */ - -#define UNAME_SYSNAME "@uname_sysname@" -#define UNAME_RELEASE "@uname_release@" -#define UNAME_VERSION "@uname_version@" -#define UNAME_MACHINE "@host_cpu@-@host_vendor@" @@ -623,9 +623,6 @@ libc_cv_sysconfdir libc_cv_localedir libc_cv_slibdir old_glibc_headers -uname_version -uname_release -uname_sysname libc_cv_gcc_unwind_find_fde sizeof_long_double EGREP @@ -7746,8 +7743,7 @@ libc_cv_gcc_unwind_find_fde=no libc_cv_idn=no # Iterate over all the sysdep directories we will use, running their -# configure fragments, and looking for a uname implementation. -uname= +# configure fragments. for dir in $sysnames; do case $dir in /*) dest=$dir ;; @@ -7758,15 +7754,6 @@ for dir in $sysnames; do $as_echo "running configure fragment for $dir" >&6; } . $dest/configure fi - - if test -z "$uname"; then - if test -r $dest/uname.c || - test -r $dest/uname.S || - { test -r $dest/syscalls.list && - grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then - uname=$dir - fi - fi done if test x$libc_cv_gcc_unwind_find_fde = xyes; then @@ -7775,75 +7762,6 @@ if test x$libc_cv_gcc_unwind_find_fde = xyes; then fi -# If we will use the generic uname implementation, we must figure out what -# it will say by examining the system, and write the results in config-name.h. -if test "$uname" = "sysdeps/generic"; then - - uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'` - if test $uname_sysname != $config_os; then - config_release=`echo $config_os | sed s/$uname_sysname//` - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking OS release for uname" >&5 -$as_echo_n "checking OS release for uname... " >&6; } -if test "${libc_cv_uname_release+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -r /vmunix; then - kernel_id=`strings /vmunix | grep UNIX` - elif test -r /dynix; then - kernel_id=`strings /dynix | grep DYNIX` - else - kernel_id= - fi - - kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'` - if test x`echo "$config_release" | sed "s/^$kernel_release//"` \ - != x$config_release; then - # The configuration release is a substring of the kernel release. - libc_cv_uname_release=$kernel_release - elif test x$config_release != x; then - libc_cv_uname_release=$config_release - elif test x$kernel_release != x; then - libc_cv_uname_release=$kernel_release - else - libc_cv_uname_release=unknown - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_uname_release" >&5 -$as_echo "$libc_cv_uname_release" >&6; } - uname_release="$libc_cv_uname_release" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking OS version for uname" >&5 -$as_echo_n "checking OS version for uname... " >&6; } -if test "${libc_cv_uname_version+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -r /vmunix; then - kernel_id=`strings /vmunix | grep UNIX` - elif test -r /dynix; then - kernel_id=`strings /dynix | grep DYNIX` - else - kernel_id= - fi - - kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'` - if test -n "$kernel_version"; then - libc_cv_uname_version="$kernel_version" - else - libc_cv_uname_version=unknown - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_uname_version" >&5 -$as_echo "$libc_cv_uname_version" >&6; } - uname_version="$libc_cv_uname_version" - - config_uname=config-name.h:config-name.in -else - # For non-generic uname, we don't need to create config-name.h at all. - config_uname= -fi - $as_echo "#define USE_IN_LIBIO 1" >>confdefs.h @@ -7938,7 +7856,7 @@ RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h` -ac_config_files="$ac_config_files config.make ${config_makefile} ${config_uname}" +ac_config_files="$ac_config_files config.make ${config_makefile}" ac_config_commands="$ac_config_commands default" @@ -8640,7 +8558,6 @@ do "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "config.make") CONFIG_FILES="$CONFIG_FILES config.make" ;; "${config_makefile}") CONFIG_FILES="$CONFIG_FILES ${config_makefile}" ;; - "${config_uname}") CONFIG_FILES="$CONFIG_FILES ${config_uname}" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; diff --git a/configure.in b/configure.in index 098adf4d35..d8cd5f1679 100644 --- a/configure.in +++ b/configure.in @@ -2192,8 +2192,7 @@ libc_cv_gcc_unwind_find_fde=no libc_cv_idn=no # Iterate over all the sysdep directories we will use, running their -# configure fragments, and looking for a uname implementation. -uname= +# configure fragments. for dir in $sysnames; do case $dir in /*) dest=$dir ;; @@ -2203,16 +2202,6 @@ for dir in $sysnames; do AC_MSG_RESULT(running configure fragment for $dir) . $dest/configure fi -[ - if test -z "$uname"; then - if test -r $dest/uname.c || - test -r $dest/uname.S || - { test -r $dest/syscalls.list && - grep '^uname[ ]' $dest/syscalls.list >/dev/null; }; then - uname=$dir - fi - fi -]dnl done if test x$libc_cv_gcc_unwind_find_fde = xyes; then @@ -2220,64 +2209,6 @@ if test x$libc_cv_gcc_unwind_find_fde = xyes; then fi AC_SUBST(libc_cv_gcc_unwind_find_fde) -# If we will use the generic uname implementation, we must figure out what -# it will say by examining the system, and write the results in config-name.h. -if test "$uname" = "sysdeps/generic"; then - -changequote(,)dnl - uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'` -changequote([,])dnl - if test $uname_sysname != $config_os; then - config_release=`echo $config_os | sed s/$uname_sysname//` - fi -dnl -AC_DEFUN(LIBC_KERNEL_ID, [dnl - if test -r /vmunix; then - kernel_id=`strings /vmunix | grep UNIX` - elif test -r /dynix; then - kernel_id=`strings /dynix | grep DYNIX` - else - kernel_id= - fi -])dnl - - AC_CACHE_CHECK(OS release for uname, libc_cv_uname_release, [dnl -LIBC_KERNEL_ID -changequote(,)dnl - kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'` -changequote([,])dnl - if test x`echo "$config_release" | sed "s/^$kernel_release//"` \ - != x$config_release; then - # The configuration release is a substring of the kernel release. - libc_cv_uname_release=$kernel_release - elif test x$config_release != x; then - libc_cv_uname_release=$config_release - elif test x$kernel_release != x; then - libc_cv_uname_release=$kernel_release - else - libc_cv_uname_release=unknown - fi]) - uname_release="$libc_cv_uname_release" - - AC_CACHE_CHECK(OS version for uname, libc_cv_uname_version, [dnl -LIBC_KERNEL_ID -changequote(,)dnl - kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'` -changequote([,])dnl - if test -n "$kernel_version"; then - libc_cv_uname_version="$kernel_version" - else - libc_cv_uname_version=unknown - fi]) - uname_version="$libc_cv_uname_version" - -AC_SUBST(uname_sysname) AC_SUBST(uname_release) AC_SUBST(uname_version)dnl - config_uname=config-name.h:config-name.in -else - # For non-generic uname, we don't need to create config-name.h at all. - config_uname= -fi - dnl This is tested by existing code and it's simpler to avoid changing it. AC_DEFINE(USE_IN_LIBIO) @@ -2361,7 +2292,7 @@ RELEASE=`sed -n -e 's/^#define RELEASE "\([^"]*\)"/\1/p' < $srcdir/version.h` AC_SUBST(VERSION) AC_SUBST(RELEASE) -AC_CONFIG_FILES([config.make ${config_makefile} ${config_uname}]) +AC_CONFIG_FILES([config.make ${config_makefile}]) AC_CONFIG_COMMANDS([default],[[ case $CONFIG_FILES in *config.make*) echo "$config_vars" >> config.make;; diff --git a/posix/Makefile b/posix/Makefile index 643d7e5374..4f29963a20 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -139,6 +139,14 @@ $(objpfx)wordexp-tst.out: wordexp-tst.sh $(objpfx)wordexp-test endif endif +# If we will use the generic uname implementation, we must figure out what +# it will say by examining the system, and write the results in config-name.h. +uname.c: $(objpfx)config-name.h +$(objpfx)config-name.h: $(..)scripts/config-uname.sh $(common-objpfx)config.make + $< '$(config-os)' '$(config-release)' \ + '$(config-machine)-$(config-vendor)' > $@.new + mv -f $@.new $@ + CFLAGS-regex.c = -Wno-strict-prototypes CFLAGS-getaddrinfo.c = -DRESOLVER -fexceptions -DUSE_NSCD CFLAGS-pread.c = -fexceptions -fasynchronous-unwind-tables diff --git a/scripts/config-uname.sh b/scripts/config-uname.sh new file mode 100755 index 0000000000..cf32ca53bf --- /dev/null +++ b/scripts/config-uname.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +config_os=$1 +config_release=$2 +uname_machine=$3 + +uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'` +if test $uname_sysname != $config_os; then + config_release=`echo $config_os | sed s/$uname_sysname//` +fi + +if test -r /vmunix; then + kernel_id=`strings /vmunix | grep UNIX` +elif test -r /dynix; then + kernel_id=`strings /dynix | grep DYNIX` +else + kernel_id= +fi + +kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'` +if test x`echo "$config_release" | sed "s/^$kernel_release//"` \ + != x$config_release; then + # The configuration release is a substring of the kernel release. + uname_release=$kernel_release +elif test x$config_release != x; then + uname_release=$config_release +elif test x$kernel_release != x; then + uname_release=$kernel_release +else + uname_release=unknown +fi + +kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'` +if test -n "$kernel_version"; then + uname_version="$kernel_version" +else + uname_version=unknown +fi + +cat <<EOF +/* This file is generated by $0. DO NOT EDIT. + + This is used only by the generic uname function for systems with no real + uname call. If this data is not correct, it does not matter much. */ + +#define UNAME_SYSNAME "$uname_sysname" +#define UNAME_RELEASE "$uname_release" +#define UNAME_VERSION "$uname_version" +#define UNAME_MACHINE "$uname_machine" +EOF |