Re: RFC: Why these <winuser.h> vs. <winable.h> conflicts?

Keith Marshall <[email protected]> Tue, 22 Nov 2016 10:00:05 +0000
Newsgroups gmane.comp.gnu.mingw.devel
Organization MinGW Project
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------090200020103000408000304
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 13/11/16 21:17, Keith Marshall wrote:
> Okay; from a maintenance perspective, it makes little difference to
> me whether a small subset of the content remains in <winable.h>,
> (factored out of <winuser.h>, and replaced by a "#include
> <winable.h> therein), or the factoring goes the other way, (leaving
> <winable.h> as an empty stub, which does no more than emit an
> "obsolete header" warning, followed by a "#include <winuser.h>").

Further inspection of <winuser.h> reveals three other headers containing
duplicate code ... <winable.h>, <dbt.h>, and <pbt.h>.  Of these, I have
refactored <dbt.h>, such that <winuser.h> may now include it to retrieve
just the formerly duplicated content.

<winable.h> and <pbt.h> both appear to have been declared "obsolete", by
Microsoft, (indeed, MSDN doesn't seem to mention <pbt.h> at all), so I
propose to provide an "obsolete.h.in" template, and let make translate
that into a pair of stubs, to emit a warning, then include <winuser.h>.

- -- 
Regards,
Keith.

Public key available from keys.gnupg.net
Key fingerprint: C19E C018 1547 DE50 E1D4 8F53 C0AD 36C6 347E 5A3F
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (GNU/Linux)

iQIcBAEBAgAGBQJYNBckAAoJEMCtNsY0flo/j0sQAIh6D19OYi+Q4wek6OE+5K8V
ABb5I6jk8QSvYfoXvsol2exhVuVJtS6FtjhvePsVg76Um7jsjuUDYC3GpJp46alJ
TUne3i6EJ6bt0hWTgXEXNmpKF+MFfi5WC6Iua64tZhOxYhed7bxbfHlZ0swV+P/9
VgAJjvvF3E7I1Sy0xVnaziJn/MG1ixSFqYSCylX0LqINmek+TF5qmpgNNS6jY6IY
qWY+8uiayW8bs9ScxJ/yrm3y1gReJjFkN0qcq3WOphd5reWk7TaQEJwa/xgNOEvs
UTIMweW6aTc1625F2myq/XJuffkBJMs0LyCI8mdo3g2YnC6cWB6tVfKGky5LlRXZ
OeM3126CxusmhZyIDkauxEUGnzQJFtszYt3qfyYiyKO6WBGHopG3Nz+JIiI2r+62
p8tRI8oAxkikYP92MNeWKecrFaeSJ4bU/G+XLvVff8f322e1Gi8+PnFbrBBAK627
OMTcfStUxwSodCl7aR0yQR3icFxwkQuy++UYGmMtTygwfHmI/dO1dcsIqv9ZyWoe
YJHvNG+HF9amMoPdHuS528VufGOdmrbJ5tZmG3cypCzI5vyWllA2sKhCRFb+5TEN
mau1zDvPYTO7lVsUqwwRzUoWO+c5ZbQ9B8PzoaP+EjYpFr5dWcBjrzm4TXh+M6Np
937Dz+YCtQoF8hKjpsnI
=hXej
-----END PGP SIGNATURE-----

--------------090200020103000408000304
Content-Type: text/plain; charset=UTF-8;
 name="obsolete.h.in"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="obsolete.h.in"

LyoKICogJUhFQURFUiUKICoKICogT2Jzb2xldGUgaGVhZGVyIHJlcGxhY2VkIGJ5IDwlUkVQ
TEFDRU1FTlQlPjsgdGhpcyBzdHViIGlzIHJldGFpbmVkIGZvcgogKiBiYWNrd2FyZCBjb21w
YXRpYmlsaXR5IG9ubHkuCiAqCiAqICRJZCQKICoKICogV3JpdHRlbiBieSBLZWl0aCBNYXJz
aGFsbCA8a2VpdGhtYXJzaGFsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CiAqIENvcHlyaWdo
dCAoQykgMjAxNiwgTWluR1cub3JnIFByb2plY3QKICoKICoKICogUGVybWlzc2lvbiBpcyBo
ZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5n
IGEKICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRp
b24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUg
d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgogKiB0
aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp
YnV0ZSwgc3VibGljZW5zZSwKICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2Fy
ZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCiAqIFNvZnR3YXJlIGlzIGZ1
cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6
CiAqCiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIHBlcm1pc3Npb24gbm90
aWNlLCBhbmQgdGhlIGZvbGxvd2luZwogKiBkaXNjbGFpbWVyIHNoYWxsIGJlIGluY2x1ZGVk
IGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YKICogdGhlIFNvZnR3
YXJlLgogKgogKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX
QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUwogKiBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwK
ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO
VC4gIElOIE5PIEVWRU5UIFNIQUxMCiAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xE
RVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiAqIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX
SVNFLCBBUklTSU5HCiAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF
IFNPRlRXQVJFIE9SIFRIRSBVU0UgT0YgT1IgT1RIRVIKICogREVBTElOR1MgSU4gVEhFIFNP
RlRXQVJFLgogKgogKi8KI2lmbmRlZiBfJUdVQVJEX01BQ1JPJQojcHJhZ21hIEdDQyBzeXN0
ZW1faGVhZGVyCiNkZWZpbmUgXyVHVUFSRF9NQUNSTyUKCi8qIEhlYWRlciA8JUhFQURFUiU+
IGlzIG9ic29sZXRlLCBhbmQgd2Ugd291bGQgbGlrZSB0byBhZHZpc2UgdGhlIHVzZXIgdG8K
ICogdXNlIDwlUkVQTEFDRU1FTlQlPiBpbnN0ZWFkOyBob3dldmVyLi4uCiAqLwojaWZuZGVm
IF9fSU5fJVBBQ0tBR0UlX1RFU1RTVUlURV9fCi8qIC4uLnRoaXMgd2FybmluZyBtYXkgaW50
ZXJmZXJlIHdpdGggYW55IHRlc3RzdWl0ZSByZXN1bHRzLCBzbyBkaXNwbGF5IGl0CiAqIG9u
bHkgaW4gbm9ybWFsIHVzZSwgKGkuZS4gc3VwcHJlc3MgaXQgd2hlbiBydW5uaW5nIHRoZSB0
ZXN0c3VpdGUpLi4uCiAqLwojd2FybmluZyAiPCVIRUFERVIlPiBpcyBvYnNvbGV0ZTsgcGxl
YXNlIHVzZSA8JVJFUExBQ0VNRU5UJT4gaW5zdGVhZC4iCiNlbmRpZgovKiAuLi5hbHdheXMg
aW5jbHVkaW5nIHRoZSBhcHByb3ByaWF0ZSByZXBsYWNlbWVudCBoZWFkZXIsIHJlZ2FyZGxl
c3MuCiAqLwojaW5jbHVkZSA8UkVQTEFDRU1FTlQ+CgojZW5kaWYJLyogIV8lR1VBUkRfTUFD
Uk8lOiAkUkNTZmlsZSQ6IGVuZCBvZiBmaWxlICovCg==
--------------090200020103000408000304
Content-Type: text/plain; charset=UTF-8;
 name="obsolete.h.mk"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="obsolete.h.mk"

YWxsOgpQQUNLQUdFX1RBUk5BTUUgOj0gdzMyYXBpCgp2cGF0aCAlLmguaW4gLi4vdzMyYXBp
L2luY2x1ZGUgLi4vbWluZ3dydC9pbmNsdWRlCgpvYnNvbGV0ZV9oZWFkZXJzIDo9IHdpbmFi
bGUuaCBwYnQuaAp3aW5hYmxlLmggcGJ0Lmg6IHJlcGxhY2VtZW50ID0gd2ludXNlci5oCgok
KG9ic29sZXRlX2hlYWRlcnMpOiAlLmg6IG9ic29sZXRlLmguaW4KCSQoaWYgJChzdWJzdCAu
LywsJChkaXIgJEApKSxta2RpciAtcCAkKEBEKSkKCSQob2Jzb2xldGVfaGVhZGVyX3Njcmlw
dCkgJDwgPiAkQAoKb2Jzb2xldGVfaGVhZGVyX3NjcmlwdCA9IHNlZCAtZSAncywlSEVBREVS
JSwkQCwnIFwKICAtZSAicywlUEFDS0FHRSUsJChjYWxsIG1hY3JvX25hbWUsJChQQUNLQUdF
X1RBUk5BTUUpKSwiIFwKICAtZSAncyw8UkVQTEFDRU1FTlQ+LCQoY2FsbCByZXBsYWNlX2hl
YWRlciwkKHJlcGxhY2VtZW50KSksJyBcCiAgLWUgInMsJUdVQVJEX01BQ1JPJSwkKGNhbGwg
bWFjcm9fbmFtZSwkQCksIiBcCiAgLWUgJ3MsJVJFUExBQ0VNRU5UJSwkKHJlcGxhY2VtZW50
KSwnCgpyZXBsYWNlX2hlYWRlciA9ICQoaWYgJChzdWJzdCAuLywsJChkaXIgJDEpKSw8JDE+
LCIkMSIpCm1hY3JvX25hbWUgPSBgZWNobyAkMSB8IHRyIC5hLXotIF9BLVpfYAo=
--------------090200020103000408000304
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------

--------------090200020103000408000304
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MinGW-dvlpr mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-dvlpr

--------------090200020103000408000304--