glib2.0/glib/gnulib
su-fang a28e47d6c8 merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
..
gl_cv_cc_double_expbit0 merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_frexp_works merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_frexpl_works merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_ldexpl_works merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_directive_a merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_directive_f merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_directive_ls merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_enomem merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_flag_grouping merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_flag_leftadjust merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_flag_zero merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_infinite merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_infinite_long_double merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_long_double merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_func_printf_precision merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
gl_cv_long_double_equals_double Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
gl_extern_inline Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
README Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
arg-nonnull.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
asnprintf.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
c++defs.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
float+.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
fpucw.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
frexp.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
frexpl.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
g-gnulib.h merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
glib-gnulib.patch Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
gnulib_math.h.in Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
isinf.c merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
isnan.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
isnand-nolibm.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
isnand.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
isnanf-nolibm.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
isnanf.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
isnanl-nolibm.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
isnanl.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
meson.build merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
printf-args.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf-args.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf-frexp.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf-frexp.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf-frexpl.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf-frexpl.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf-parse.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf-parse.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
printf.c merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
printf.h merge upstream 2.74.5 2023-02-15 16:51:32 +08:00
signbitd.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
signbitf.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
signbitl.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
vasnprintf.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
vasnprintf.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
verify.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
xsize.c Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00
xsize.h Import Upstream version 2.64.2 2022-06-29 16:02:05 +08:00

README

The files
 
 asnprintf.c 
 printf-args.c
 printf-args.h
 printf-parse.c
 printf-parse.h
 vasnprintf.c
 vasnprintf.h

are taken from the vasnprintf module of the GNUlib package, which can
be found at: 

 http://www.gnu.org/software/gnulib/

All files have been modified to include g-gnulib.h. 

vasnprintf.c has also been modified to include support for long long 
printing if the system printf doesn't. This code is protected by 
#ifndef HAVE_LONG_LONG_FORMAT.

Code has been added to printf-args.[ch], printf-parse.c and vasnprintf.c
to support printing of __int64 values with the I64 format modifier. This
is protected by #ifdef HAVE_INT64_AND_I64.

The files

 printf.h 
 printf.c
 g-gnulib.h

have been written by me. printf.[hc] contain implementations of the  
remaining functions in the printf family based on vasnprintf. 
g-gnulib.h is included by all source files in order to move all
exported functions to the _g_gnulib namespace, replace malloc by
g_malloc and make sure that snprintf is only used if it implements 
C99 return value semantics. 

Matthias Clasen
November 1, 2003

To update:
* Create an empty directory, put a configure.ac file into it.
* Run gnulib-tool --lgpl=2 --import --lib=libgnu --source-base=lib \
  --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. \
  --no-conditional-dependencies --no-libtool --macro-prefix=gl \
  isnand-nolibm isnanf-nolibm isnanl-nolibm printf-frexpl \
  signbit vasnprintf
* Then pick out the files that are already in glib/gnulib subdirectory
  (the rest of the files are not needed):

asnprintf.c
c++defs.h
float+.h
fpucw.h
gnulib_math.h.in (rename from math.in.h)
isnan.c
isnand.c
isnand-nolibm.h
isnanf.c
isnanf-nolibm.h
isnanl.c
isnanl-nolibm.h
printf-args.c
printf-args.h
printf-frexp.c
printf-frexp.h
printf-frexpl.c
printf-frexpl.h
printf-parse.c
printf-parse.h
signbitd.c
signbitf.c
signbitl.c
vasnprintf.c
vasnprintf.h
verify.h
xsize.h

* Then look at the glib-gnulib.patch and re-introduce custom glib changes
  contained in that patch.
* If gnulib_math.h.in got some new @variables@, these will have to be
  somehow set in meson.build, otherwise meson would warn about them
  at configure stage

LRN
June 06, 2018