[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [6/7] Proposed patches to remove several inttypes-related dependenci
From: |
Eric Blake |
Subject: |
Re: [6/7] Proposed patches to remove several inttypes-related dependencies |
Date: |
Fri, 22 Apr 2011 04:31:04 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.15) Gecko/20110307 Fedora/3.1.9-0.39.b3pre.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.9 |
On 04/22/2011 03:54 AM, Paul Eggert wrote:
> diff --git a/ChangeLog b/ChangeLog
> index 1ed5995..babb259 100644
> --- a/ChangeLog
> +++ b/ChangeLog
> @@ -1,5 +1,29 @@
> 2011-04-22 Paul Eggert <address@hidden>
>
> + inttypes: migrate 'configure' checks to modules that need it
> + This module was quite heavyweight, and contained 'configure'-time
> + checks that often were not needed. Migrate the checks for
> + PRI* and SCN* macros, which are often not needed, into a new
> + inttypes-pri-scn module.
Would it help for transition purposes to intentionally do #undef PRI*
and SCN* in the remaining shell inttypes.in.h if GNULIB_POSIXCHECK is
defined but the inttypes-pri-scn module is not in use? That way,
someone that _was_ relying on the PRI macros (and I know libvirt does)
will get a compile error on Linux if they update gnulib without
consulting NEWS to realize that they need a new module, rather than
silently having compilation work on Linux only to break elsewhere where
the PRI macro was actually missing. Then again, we documented it in
NEWS so I don't know if we need to do anything further.
>
> +2011-04-22 inttypes This module no longer arranges for <inttypes.h>
> + to declare imaxabs; that has been moved to the
> + imaxabs module. Similarly for imaxdiv,
> strtoimax,
> + and strtoumax. Also, this module no longer
> + arranges for <inttypes.h> to define the PRI* and
> + SCN* macros correctly; that has been moved to the
> + new module inttypes-pri-scn.
An alternative might be to have a new module, inttypes-h, which provides
the shell replacement header, and keep inttypes as the module that pulls
in everything C99 related (that is, inttypes-pri-scn changes to depend
on inttypes-h not inttypes, and inttypes depends on inttypes-h,
inttypes-pri-scn, ...), so that there is no backwards incompatibility
(all existing clients of inttypes still get everything) but so that
newer clients (both internal to gnulib and emacs) can use the
lighter-weight inttypes-h for just what needs replacing.
> diff --git a/modules/inttypes b/modules/inttypes
> index f85939c..09442d8 100644
> --- a/modules/inttypes
> +++ b/modules/inttypes
> @@ -3,7 +3,6 @@ An <inttypes.h> that nearly conforms to C99.
Perhaps this comment needs updating; to nearly conform to C99, you now
need multiple modules. Unless you like the inttypes-h module idea.
--
Eric Blake address@hidden +1-801-349-2682
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
- Proposed patches to remove several inttypes-related dependencies, Paul Eggert, 2011/04/22
- Re: Proposed patches to remove several inttypes-related dependencies, Eric Blake, 2011/04/22
- Re: [1/7] Proposed patches to remove several inttypes-related dependencies, Bruno Haible, 2011/04/24
- Re: [2/7][7/7] Proposed patches to remove several inttypes-related dependencies, Bruno Haible, 2011/04/24
- Re: [3/7][4/7][5/7] Proposed patches to remove several inttypes-related dependencies, Bruno Haible, 2011/04/24