1The files 2 3 asnprintf.c 4 printf-args.c 5 printf-args.h 6 printf-parse.c 7 printf-parse.h 8 vasnprintf.c 9 vasnprintf.h 10 11are taken from the vasnprintf module of the GNUlib package, which can 12be found at: 13 14 http://www.gnu.org/software/gnulib/ 15 16All files have been modified to include g-gnulib.h. 17 18vasnprintf.c has also been modified to include support for long long 19printing if the system printf doesn't. This code is protected by 20#ifndef HAVE_LONG_LONG_FORMAT. 21 22Code has been added to printf-args.[ch], printf-parse.c and vasnprintf.c 23to support printing of __int64 values with the I64 format modifier. This 24is protected by #ifdef HAVE_INT64_AND_I64. 25 26The files 27 28 printf.h 29 printf.c 30 g-gnulib.h 31 32have been written by me. printf.[hc] contain implementations of the 33remaining functions in the printf family based on vasnprintf. 34g-gnulib.h is included by all source files in order to move all 35exported functions to the _g_gnulib namespace, replace malloc by 36g_malloc and make sure that snprintf is only used if it implements 37C99 return value semantics. 38 39Matthias Clasen 40November 1, 2003 41 42To update: 43* Create an empty directory, put a configure.ac file into it. 44* Run gnulib-tool --lgpl=2 --import --lib=libgnu --source-base=lib \ 45 --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. \ 46 --no-conditional-dependencies --no-libtool --macro-prefix=gl \ 47 isnand-nolibm isnanf-nolibm isnanl-nolibm printf-frexpl \ 48 signbit vasnprintf 49* Then pick out the files that are already in glib/gnulib subdirectory 50 (the rest of the files are not needed): 51 52asnprintf.c 53c++defs.h 54float+.h 55fpucw.h 56gnulib_math.h.in (rename from math.in.h) 57isnan.c 58isnand.c 59isnand-nolibm.h 60isnanf.c 61isnanf-nolibm.h 62isnanl.c 63isnanl-nolibm.h 64printf-args.c 65printf-args.h 66printf-frexp.c 67printf-frexp.h 68printf-frexpl.c 69printf-frexpl.h 70printf-parse.c 71printf-parse.h 72signbitd.c 73signbitf.c 74signbitl.c 75vasnprintf.c 76vasnprintf.h 77verify.h 78xsize.h 79 80* Then look at the glib-gnulib.patch and re-introduce custom glib changes 81 contained in that patch. 82* If gnulib_math.h.in got some new @variables@, these will have to be 83 somehow set in meson.build, otherwise meson would warn about them 84 at configure stage 85 86LRN 87June 06, 2018 88