Mercurial > gnulib
view config/srclist-update @ 40177:dcd889592b62
dtoastr,ftoastr,ldtoastr: port to c-strtod changes
Decouple these modules from c-strtod. Nowadays it’s reasonable to
assume the C99 signatures for strtod and strtold. Programs that
require stricter adherence to C99 should also use the strtod and
strtold modules as needed, and we no longer need the
HAVE_C99_STRTOLD macro.
* NEWS: Mention this.
* lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
* m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
* modules/dtoastr, modules/ftoastr, modules/ldtoastr:
(Files): Remove m4/c-strtod.m4.
(configure.ac): Do not require gl_C99_STRTOLD, which no longer
exists.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Sat, 02 Feb 2019 13:01:55 -0800 |
parents | b06060465f09 |
children |
line wrap: on
line source
#!/bin/sh # Check for files in directory $1 being up to date, according to the # list on stdin. Don't actually make any changes, just show the diffs. # # Empty (or only whitespace) input lines are ignored. # Lines beginning with # are ignored. # Lines with just one word are ignored. # Otherwise, the line has two or more whitespace-separated words: # the first word is the source directory, which can be a top-level # directory of source archive, # the second word is the source file name relative to the source # directory, and # the third word is the destination, other optional words are # options. # The possible options are "gpl" (to replace the license with the GPL) # and "doclicense" (to replace @include doclicense.texi with fdl.texi) # and "release" (to use the release version instead of the # development version). # Unrecognized options are ignored. # $VARIABLE expansions are done (with sh eval). # # This script is used in gnulib and texinfo; the input files are named # srclist.txt. # # Copyright (C) 2002-2003, 2005, 2007-2019 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 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 <https://www.gnu.org/licenses/>. # Originally written by Karl Berry. if test -n "$1"; then cd "$1" || exit 1 fi verbose=false #chicken="echo (would)" : ${TMPDIR=/tmp} dsttmp=$TMPDIR/srclist.dst # Source `dirname $0`/srclistvars.sh first, if it exists. mydir=`dirname $0` test -r $mydir/srclistvars.sh && . $mydir/srclistvars.sh # # sed command to fix the license to be GPL. fixlicense=' /^[[:space:]]*#[[:space:]]*Th[ei][ s].* is free software/,/^[[:space:]]*#.*USA\./c\ # 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 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 <https://www.gnu.org/licenses/>. /Th[ei][ s].* is free software/,/\*\//c\ 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 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 <https://www.gnu.org/licenses/>. */ ' # sed command to remove lines containing $Id lines. # Quote the $ so that CVS does not expand it in this script. remove_id_lines='/[$]Id:.*[$]/d' # $1 is the root directory of input file, $2 is input file, $3 is # output. Remove $Id lines, since they'll differ between source # locations. If $options contains "gpl", change the license to be the # standard GPL. We use this for libc files, et al. # fixfile() \ { sed_command="$remove_id_lines" case " $options " in *' gpl '*) sed_command="$sed_command; $fixlicense";; *' doclicense '*) sed_command="$sed_command; s/@include doclicense.texi/@include fdl.texi/";; esac sed "$sed_command" $1 >$2-t && mv $2-t $2 } # cat | while read top src dst options; do #echo "top=$top, src=$src, dst=$dst, options=$options" >&2 case $top:$src:$dst in *: ) continue;; # skip lines without last element '#'* ) continue;; # skip comment-only lines esac release=false case " $options " in *' release '*) release=true ;; esac eval top=$top if $release && test ! -d $top/.git; then echo "$0: 'release' option only works with git checkout" release=false fi # Expand variables and make sure we have an input file. src1=$src eval src=$top/$src if test ! -r $src; then echo "$0: cannot read $src" >&2 continue fi # Ignore subdirs in src dir. E.g., if input spec is # src/subdir/foo.c dst # then write destination file dst/foo.c. eval dst=$dst test -d $dst && dst=$dst/`basename $src` if $release; then rev=$(git --git-dir=$top/.git describe --abbrev=0) reltmp=$TMPDIR/`basename $src1`:$rev git --git-dir=$top/.git show $rev:$src1 > $reltmp fixfile $reltmp $reltmp fi # Fix files in both src and dst, for the sake # of a clean comparison. srctmp=$TMPDIR/`basename $src` fixfile $src $srctmp test -r $dst && fixfile $dst $dsttmp # if src was executable, make dst executable, to placate git. test -x $src && chmod a+x $dst if test ! -e $dst; then echo "## $srctmp $dst # new" $chicken cp -p $srctmp $dst elif $release && cmp -s $reltmp $dsttmp; then $verbose && echo "## $reltmp $dst # unchanged" elif cmp -s $srctmp $dsttmp; then $verbose && echo "## $srctmp $dst # unchanged" else echo "## $srctmp $dst # changes" diff -C 2 $dst $srctmp fi done rm -f $dsttmp