Mercurial > hg > octave-lojdl > gnulib-hg
view COPYING @ 17366:9855b352e525
regex: port to mingw's recent addition of undeclared alarm
On mingw (at least, when cross-compiling with Fedora 18's
mingw32-headers-2.0.999-0.15.trunk.20121110.fc18.noarch build),
compilation of test-regex fails:
test-regex.c: In function 'main':
test-regex.c:42:11: error: 'SIGALRM' undeclared (first use in this function)
test-regex.c:42:11: note: each undeclared identifier is reported only
once for each function it appears in
test-regex.c:43:3: warning: implicit declaration of function 'alarm'
It turns out that recent mingw64 added an export of alarm() and
SIGALRM, but guarded their declarations behind __USE_MINGW_ALARM
(default off, and with alarm() only in the non-standard <io.h>);
so the m4 tests were setting HAVE_ALARM to 1 based on link success
but then failing to compile.
* doc/posix-functions/alarm.texi (alarm): Document that alarm
exists but still doesn't work in newer mingw.
* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
not existence. Ensure SIGALRM is not trapped.
* m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
* m4/regex.m4 (gl_REGEX): Likewise.
* m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
* tests/test-regex.c (main): Use correct probe for alarm.
Signed-off-by: Eric Blake <eblake@redhat.com>
author | Eric Blake <eblake@redhat.com> |
---|---|
date | Mon, 11 Mar 2013 14:51:33 -0600 |
parents | 70e0e23ed97a |
children |
line wrap: on
line source
$Id: COPYING,v 1.3 2006-10-26 16:20:28 eggert Exp $ The files in here are mostly copyright (C) Free Software Foundation, and are under assorted licenses. Mostly, but not entirely, GPL. Many modules are provided dual-license, either GPL or LGPL at your option. The headers of files in the lib directory (e.g., lib/error.c) state GPL for convenience, since the bulk of current gnulib users are GPL'd programs. But the files in the modules directory (e.g., modules/error) state the true license of each file, and when you use 'gnulib-tool --lgpl --import <modules>', gnulib-tool either rewrites the files to have an LGPL header as part of copying them from gnulib to your project directory, or fails because the modules you requested were not licensed under LGPL. Some of the source files in lib/ have different licenses. Also, the copy of maintain.texi in doc/ has a verbatim-copying license, and doc/standards.texi and make-stds.texi are GFDL.