view STATUS-libposix @ 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 5f709022a256
children
line wrap: on
line source

Status for libposix
===================

This file documents the status of work-in-progress.
No ChangeLog entries are needed for this file.

Status for the libposix branch
------------------------------

Bruce Korb says:

I think a real big step in libposix is to get a little experience with it.
There are also some few little nits pointed out in the discussions that
need some careful consideration, but some experience in using it would
be good, too.  The intended/expected usage is along the lines of:

1.  configure, build and install the thing.  Perhaps from:
    http://autogen.sourceforge.net/data/
    or roll your own, but the distribution should be there, I think.

2.  fiddle a project to detect that it is "sufficiently recent" to
    cover the needs of this unnamed project.  That is an interesting
    issue, though:  the concept behind "configure" is that you do
    feature tests rather than version testing.  However, if you choose
    to not test the version of libposix and test the features you
    need of libposix, then I have an extremely difficult time trying
    to understand the point of libposix -- you are back to running
    a bunch of feature tests that take too long.  Testing for a
    libposix current as of some marker (version number or date)
    seems right to me, though there are some caveats to consider
    regarding "retired" POSIX features.

    Anyway, the "fiddle a project" should boil down to testing
    for libposix in some way and then dying if it is not up to snuff.

3.  configure, build, test, install and test installation of said project.


TODO list for master
--------------------

Bruno Haible says:

1) ... 7)
  proposed by Gary in the thread starting at
  [PATCH 0/7] contents of topic/libposix for merge to master
  in <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/threads.html>

1) Allow generate header files to coexist without shadowing each other.
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00283.html>

  Discussion:
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00289.html>

  Still missing: dealing with include_next and old compilers, cf.
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00269.html>
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00285.html>

2) Allow using libgnu's file name in module descriptions.
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00284.html>

  Discussion:
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00291.html>
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00308.html

3) iconv_open's file file list
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00282.html>

  Discussion:
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00290.html>
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00307.html>
  libposix needs to install only selected headers, not all of them. Let the
  script look at the 'Include:' section of each module description.

4) Module libposix
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00280.html>

  Discussion:
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00292.html>
  More discussion needed

5) Installable headers
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00281.html>

  Discussion:
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00293.html>
  Patch to be rewritten to use nobase_nodist_include_HEADERS,
  also need to add an Automake conditional to distinguish libposix from
  other projects.
  Also see whether the Automake bug can be fixed.
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00325.html>

6) libposix subdirectory
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00277.html>

  Discussion:
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00294.html>

7) use git-version-gen for version numbering
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00279.html>

  Discussion:
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00297.html>
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00303.html>
  Patch to be revised.

8) Licensing
  <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00184.html>

  Status: A majority of the issues have been handled.
  Obsolete modules (free, memcpy) can be ignored.
  To be done:
    getcwd
    faccessat
    fdopendir
    linkat
    mkfifoat
    openat
    readlinkat
    renameat
    symlinkat
    utimensat

9) Versioning
  <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00163.html>

  Status: No real plan exists.