Re: [Mingw-w64-public] [PATCH 00/27] More sharing and unification of def files

2017-08-20 Thread Jean-Baptiste Kempf
The whole series LGTM.

On Thu, 17 Aug 2017, at 14:14, Martin Storsjö wrote:
> Hi,
> 
> This is a patchset that unifies a decent amount of def files for
> commonly used DLLs; these (and the previously unified ones) should
> hopefully be enough for compiling many basic libraries/apps.
> 
> All these def files are files that contained differences that had to
> be sorted out manually. A header file is added that contains macros
> that allows specifying functions (or parts of declarations) that only
> should be included on some architectures.
> 
> Martin Storsjö (27):
>   crt: Include the def file in libwindowscodecs.a
>   crt: Add a framework for sharing def files with arch specific
> differences
>   crt: Share a def file where lib64 has got a superset of the functions
> in libarm32
>   crt: Unify advapi32.def for lib64 and libarm32
>   crt: Unify advpack.def for lib64 and libarm32
>   crt: Unify bcrypt.def for lib64 and libarm32
>   crt: Unify comctl32.def for lib64 and libarm32
>   crt: Unify crypt32.def for lib64 and libarm32
>   crt: Unify cryptext.def for lib64 and libarm32
>   crt: Unify cryptnet.def for lib64 and libarm32
>   crt: Unify cryptui.def for lib64 and libarm32
>   crt: Unify dmutil.def for lib64 and libarm32
>   crt: Unify duser.def for lib64 and libarm32
>   crt: Unify dxgi.def for lib64 and libarm32
>   crt: Unify dxva2.def for lib64 and libarm32
>   crt: Unify kernel32.def for lib64 and libarm32
>   crt: Unify mfplat.def for lib64 and libarm32
>   crt: Unify netapi32.def for lib64 and libarm32
>   crt: Unify ole32.def for lib64 and libarm32
>   crt: Unify rpcrt4.def for lib64 and libarm32
>   crt: Unify schannel.def for lib64 and libarm32
>   crt: Unify shell32.def for lib64 and libarm32
>   crt: Unify user32.def for lib64 and libarm32
>   crt: Unify winmm.def for lib64 and libarm32
>   crt: Unify ws2_32.def for lib64 and libarm32
>   crt: Unify msvcrt.def.in for lib64 and libarm32
>   crt: Merge lib32's msvcrt.def.in into lib-common
> 
>  mingw-w64-crt/Makefile.am  |   51 +-
>  mingw-w64-crt/def-include/func.def.in  |   42 +
>  .../advapi32.def => lib-common/advapi32.def.in}|   19 +-
>  mingw-w64-crt/{libarm32 => lib-common}/advpack.def |   10 +-
>  mingw-w64-crt/{lib64 => lib-common}/bcrypt.def |8 +-
>  .../clbcatq.def => lib-common/clbcatq.def.in}  |   34 +-
>  mingw-w64-crt/{lib64 => lib-common}/comctl32.def   |   17 +-
>  mingw-w64-crt/{libarm32 => lib-common}/crypt32.def |   23 +-
>  .../{libarm32 => lib-common}/cryptext.def  |7 +-
>  .../{libarm32 => lib-common}/cryptnet.def  |7 +-
>  mingw-w64-crt/{libarm32 => lib-common}/cryptui.def |   19 +-
>  mingw-w64-crt/{libarm32 => lib-common}/dmutil.def  |6 +-
>  mingw-w64-crt/{libarm32 => lib-common}/duser.def   |   12 +-
>  mingw-w64-crt/{libarm32 => lib-common}/dxgi.def|6 +-
>  mingw-w64-crt/{lib64 => lib-common}/dxva2.def  |6 +-
>  .../kernel32.def => lib-common/kernel32.def.in}|  154 ++-
>  mingw-w64-crt/{libarm32 => lib-common}/mfplat.def  |   18 +-
>  mingw-w64-crt/{lib64 => lib-common}/msvcrt.def.in  |  385 +-
>  mingw-w64-crt/{lib64 => lib-common}/netapi32.def   |7 +-
>  .../ole32.def => lib-common/ole32.def.in}  |   84 +-
>  mingw-w64-crt/{lib64 => lib-common}/rpcrt4.def |   36 +-
>  mingw-w64-crt/{lib64 => lib-common}/schannel.def   |9 +-
>  mingw-w64-crt/{lib64 => lib-common}/shell32.def|   51 +-
>  .../{lib64/user32.def => lib-common/user32.def.in} |   26 +-
>  mingw-w64-crt/{lib64 => lib-common}/winmm.def  |   21 +-
>  .../ws2_32.def => lib-common/ws2_32.def.in}|   23 +-
>  mingw-w64-crt/lib32/Makefile.am|1 -
>  mingw-w64-crt/lib32/msvcrt.def.in  | 1248
>  -
>  mingw-w64-crt/lib64/advapi32.def   |  822 ---
>  mingw-w64-crt/lib64/advpack.def|   40 -
>  mingw-w64-crt/lib64/crypt32.def|  273 
>  mingw-w64-crt/lib64/cryptext.def   |   40 -
>  mingw-w64-crt/lib64/cryptnet.def   |   27 -
>  mingw-w64-crt/lib64/cryptui.def|   56 -
>  mingw-w64-crt/lib64/dmutil.def |   37 -
>  mingw-w64-crt/lib64/duser.def  |  120 --
>  mingw-w64-crt/lib64/dxgi.def   |   51 -
>  mingw-w64-crt/lib64/kernel32.def   | 1436
>  
>  mingw-w64-crt/lib64/mfplat.def |  133 --
>  mingw-w64-crt/lib64/ole32.def  |  467 ---
>  mingw-w64-crt/lib64/ws2_32.def |  189 ---
>  mingw-w64-crt/libarm32/Makefile.am |1 -
>  mingw-w64-crt/libarm32/bcrypt.def  |   64 -
>  mingw-w64-crt/libarm32/clbcatq.def |   35 -
>  mingw-w64-crt/libarm32/comctl32.def|  185 ---
>  mingw-w64-crt/libarm32/dxva2.def   |   44 -
>  

[Mingw-w64-public] [PATCH 00/27] More sharing and unification of def files

2017-08-17 Thread Martin Storsjö
Hi,

This is a patchset that unifies a decent amount of def files for
commonly used DLLs; these (and the previously unified ones) should
hopefully be enough for compiling many basic libraries/apps.

All these def files are files that contained differences that had to
be sorted out manually. A header file is added that contains macros
that allows specifying functions (or parts of declarations) that only
should be included on some architectures.

Martin Storsjö (27):
  crt: Include the def file in libwindowscodecs.a
  crt: Add a framework for sharing def files with arch specific
differences
  crt: Share a def file where lib64 has got a superset of the functions
in libarm32
  crt: Unify advapi32.def for lib64 and libarm32
  crt: Unify advpack.def for lib64 and libarm32
  crt: Unify bcrypt.def for lib64 and libarm32
  crt: Unify comctl32.def for lib64 and libarm32
  crt: Unify crypt32.def for lib64 and libarm32
  crt: Unify cryptext.def for lib64 and libarm32
  crt: Unify cryptnet.def for lib64 and libarm32
  crt: Unify cryptui.def for lib64 and libarm32
  crt: Unify dmutil.def for lib64 and libarm32
  crt: Unify duser.def for lib64 and libarm32
  crt: Unify dxgi.def for lib64 and libarm32
  crt: Unify dxva2.def for lib64 and libarm32
  crt: Unify kernel32.def for lib64 and libarm32
  crt: Unify mfplat.def for lib64 and libarm32
  crt: Unify netapi32.def for lib64 and libarm32
  crt: Unify ole32.def for lib64 and libarm32
  crt: Unify rpcrt4.def for lib64 and libarm32
  crt: Unify schannel.def for lib64 and libarm32
  crt: Unify shell32.def for lib64 and libarm32
  crt: Unify user32.def for lib64 and libarm32
  crt: Unify winmm.def for lib64 and libarm32
  crt: Unify ws2_32.def for lib64 and libarm32
  crt: Unify msvcrt.def.in for lib64 and libarm32
  crt: Merge lib32's msvcrt.def.in into lib-common

 mingw-w64-crt/Makefile.am  |   51 +-
 mingw-w64-crt/def-include/func.def.in  |   42 +
 .../advapi32.def => lib-common/advapi32.def.in}|   19 +-
 mingw-w64-crt/{libarm32 => lib-common}/advpack.def |   10 +-
 mingw-w64-crt/{lib64 => lib-common}/bcrypt.def |8 +-
 .../clbcatq.def => lib-common/clbcatq.def.in}  |   34 +-
 mingw-w64-crt/{lib64 => lib-common}/comctl32.def   |   17 +-
 mingw-w64-crt/{libarm32 => lib-common}/crypt32.def |   23 +-
 .../{libarm32 => lib-common}/cryptext.def  |7 +-
 .../{libarm32 => lib-common}/cryptnet.def  |7 +-
 mingw-w64-crt/{libarm32 => lib-common}/cryptui.def |   19 +-
 mingw-w64-crt/{libarm32 => lib-common}/dmutil.def  |6 +-
 mingw-w64-crt/{libarm32 => lib-common}/duser.def   |   12 +-
 mingw-w64-crt/{libarm32 => lib-common}/dxgi.def|6 +-
 mingw-w64-crt/{lib64 => lib-common}/dxva2.def  |6 +-
 .../kernel32.def => lib-common/kernel32.def.in}|  154 ++-
 mingw-w64-crt/{libarm32 => lib-common}/mfplat.def  |   18 +-
 mingw-w64-crt/{lib64 => lib-common}/msvcrt.def.in  |  385 +-
 mingw-w64-crt/{lib64 => lib-common}/netapi32.def   |7 +-
 .../ole32.def => lib-common/ole32.def.in}  |   84 +-
 mingw-w64-crt/{lib64 => lib-common}/rpcrt4.def |   36 +-
 mingw-w64-crt/{lib64 => lib-common}/schannel.def   |9 +-
 mingw-w64-crt/{lib64 => lib-common}/shell32.def|   51 +-
 .../{lib64/user32.def => lib-common/user32.def.in} |   26 +-
 mingw-w64-crt/{lib64 => lib-common}/winmm.def  |   21 +-
 .../ws2_32.def => lib-common/ws2_32.def.in}|   23 +-
 mingw-w64-crt/lib32/Makefile.am|1 -
 mingw-w64-crt/lib32/msvcrt.def.in  | 1248 -
 mingw-w64-crt/lib64/advapi32.def   |  822 ---
 mingw-w64-crt/lib64/advpack.def|   40 -
 mingw-w64-crt/lib64/crypt32.def|  273 
 mingw-w64-crt/lib64/cryptext.def   |   40 -
 mingw-w64-crt/lib64/cryptnet.def   |   27 -
 mingw-w64-crt/lib64/cryptui.def|   56 -
 mingw-w64-crt/lib64/dmutil.def |   37 -
 mingw-w64-crt/lib64/duser.def  |  120 --
 mingw-w64-crt/lib64/dxgi.def   |   51 -
 mingw-w64-crt/lib64/kernel32.def   | 1436 
 mingw-w64-crt/lib64/mfplat.def |  133 --
 mingw-w64-crt/lib64/ole32.def  |  467 ---
 mingw-w64-crt/lib64/ws2_32.def |  189 ---
 mingw-w64-crt/libarm32/Makefile.am |1 -
 mingw-w64-crt/libarm32/bcrypt.def  |   64 -
 mingw-w64-crt/libarm32/clbcatq.def |   35 -
 mingw-w64-crt/libarm32/comctl32.def|  185 ---
 mingw-w64-crt/libarm32/dxva2.def   |   44 -
 mingw-w64-crt/libarm32/msvcrt.def.in   | 1283 -
 mingw-w64-crt/libarm32/netapi32.def|  310 -
 mingw-w64-crt/libarm32/rpcrt4.def  |  534 
 mingw-w64-crt/libarm32/schannel.def|