I've tested our support for ucrtbase.dll a bit further by trying building
a handful of libraries with it, and fixing the issues I run into. With
these patches, I'm able to build among others Qt (tested with 5.7.1).

Some libraries have an issue where autoconf tries to detect whether e.g.
snprintf or similar exist, by just checking if linking to a function
with that name succeeds. Since there is no function with that name in
the import library, it will fail and think that a replacement needs to
be provided, which then clashes with the real ones in stdio.h. (Configure
checks that actually include the headers generally work though.)

Martin Storsjö (11):
  crt: Don't add extra timezone related exports to ucrtbase.def
  headers: Remove unnecessary ifdefs around __p_* functions
  headers: Remove an incorrect declaration of "environ" when _POSIX_ is
    defined
  headers: Restructure declarations of external variables like _argc
  headers: Hook up __argc and similar external variables for ucrtbase
  headers: Use the single argument version of setjmp for ucrtbase
  headers: Always map e.g. time to _time32 or _time64 for ucrtbase
  headers: Redirect f{seek,tell}o{,64} to
    fseek/ftell/_fseeki64/_ftelli64 for ucrtbase
  crt: Add compatibility for __imp___argv for ucrtbase
  headers: Provide timezone/dstbias/tzname/daylight for ucrtbase
  crt: Provide compat wrappers for the unprefixed "timezone" and
    "tzname"

 mingw-w64-crt/crt/ucrtbase_compat.c            |  14 +++
 mingw-w64-crt/def-include/msvcrt-common.def.in |   2 +
 mingw-w64-crt/lib-common/ucrtbase.def.in       |   3 +-
 mingw-w64-headers/crt/setjmp.h                 |   4 +-
 mingw-w64-headers/crt/stdio.h                  |  31 +++--
 mingw-w64-headers/crt/stdlib.h                 | 166 ++++++++++++++++---------
 mingw-w64-headers/crt/time.h                   |  48 ++++---
 7 files changed, 182 insertions(+), 86 deletions(-)

-- 
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to