There are more variants of msvcrt runtime libraries and mingw-w64
currently does not build import library for each variant. Some variants
are available in all Windows versions as system libraries, some are
available only via external redistributable package.

Build import libraries also for msvcrt10.dll, msvcrt20.dll,
msvcrt40.dll, msvcr70.dll and msvcr71.dll runtime libraries during
mingw-w64 build procedure.

With these patches it is possible for application or plugin compiled
by mingw-w64 to link with any of these dll libraries.

If e.g. existing application was compiled by Visual Studio 2003 and it
supports loadable plugins, then new plugin may be developed and compiled
by mingw-w64 with linking to msvcr71.dll (Visual Studio 2003 CRT) via
libmsvcr71.a import library, which is build by this patch series.

Pali Rohár (7):
  crt: Move implementation of __initenv and __winitenv to common file
    misc/__initenv.c
  crt: Move dummy stdio _lock() and _unlock() functions into
    stdio/mingw_dummy__lock.c file
  crt: Move dummy __setusermatherr() function into
    misc/dummy__setusermatherr.c file.
  crt: Build import library for msvcrt10.dll
  crt: Build import library for msvcrt20.dll
  crt: Build import library for msvcrt40.dll
  crt: Build import library for msvcr70.dll and msvcr71.dll

 mingw-w64-crt/Makefile.am                  |   83 +-
 mingw-w64-crt/crt/crtdll_compat.c          |   17 -
 mingw-w64-crt/crt/ucrtbase_compat.c        |    5 -
 mingw-w64-crt/lib32/msvcr70.def            |  899 +++++++++++
 mingw-w64-crt/lib32/msvcr70.mri            |    6 +
 mingw-w64-crt/lib32/msvcr71.def            |  894 +++++++++++
 mingw-w64-crt/lib32/msvcr71.mri            |    6 +
 mingw-w64-crt/lib32/msvcrt10.def           | 1295 +++++++++++++++
 mingw-w64-crt/lib32/msvcrt10.mri           |    6 +
 mingw-w64-crt/lib32/msvcrt20.def           | 1570 +++++++++++++++++++
 mingw-w64-crt/lib32/msvcrt20.mri           |    6 +
 mingw-w64-crt/lib32/msvcrt40.def           | 1654 ++++++++++++++++++++
 mingw-w64-crt/lib32/msvcrt40.mri           |    6 +
 mingw-w64-crt/misc/__initenv.c             |   12 +
 mingw-w64-crt/misc/dummy__setusermatherr.c |   11 +
 mingw-w64-crt/stdio/mingw_dummy__lock.c    |   12 +
 16 files changed, 6459 insertions(+), 23 deletions(-)
 create mode 100644 mingw-w64-crt/lib32/msvcr70.def
 create mode 100644 mingw-w64-crt/lib32/msvcr70.mri
 create mode 100644 mingw-w64-crt/lib32/msvcr71.def
 create mode 100644 mingw-w64-crt/lib32/msvcr71.mri
 create mode 100644 mingw-w64-crt/lib32/msvcrt10.def
 create mode 100644 mingw-w64-crt/lib32/msvcrt10.mri
 create mode 100644 mingw-w64-crt/lib32/msvcrt20.def
 create mode 100644 mingw-w64-crt/lib32/msvcrt20.mri
 create mode 100644 mingw-w64-crt/lib32/msvcrt40.def
 create mode 100644 mingw-w64-crt/lib32/msvcrt40.mri
 create mode 100644 mingw-w64-crt/misc/__initenv.c
 create mode 100644 mingw-w64-crt/misc/dummy__setusermatherr.c
 create mode 100644 mingw-w64-crt/stdio/mingw_dummy__lock.c

-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to