Bug 143753 - [GTK][W32] WTF tries to include non-existent WTFHeaderDetection.h
Summary: [GTK][W32] WTF tries to include non-existent WTFHeaderDetection.h
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-15 06:11 PDT by LRN
Modified: 2017-03-11 10:59 PST (History)
9 users (show)

See Also:


Attachments
[GTK][W32] Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x (2.27 KB, patch)
2015-04-15 07:33 PDT, LRN
ossy: review-
Details | Formatted Diff | Diff
Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x (1.69 KB, patch)
2015-04-15 09:38 PDT, LRN
bfulgham: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description LRN 2015-04-15 06:11:13 PDT
WTF/WTFHeaderDetection.h seems to be from some other universe,
there are no rules to generate it in webkit-2.4, except for MSVS projects.
Comment 1 LRN 2015-04-15 07:33:34 PDT
Created attachment 250788 [details]
[GTK][W32] Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x

WTF/WTFHeaderDetection.h seems to be from some other universe,
there are no rules to generate it in webkit-2.4, except for MSVS projects.
Comment 2 Csaba Osztrogonác 2015-04-15 08:10:51 PDT
Comment on attachment 250788 [details]
[GTK][W32] Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x

View in context: https://bugs.webkit.org/attachment.cgi?id=250788&action=review

> Source/WTF/ChangeLog:15
> +        [W32] Change printf format attribute to gnu_printf, MinGW compatibility
> +
> +        "printf" means "gnu_printf" when compiling for non-Windows and means
> +        "ms_printf" when compiling for Windows. The code, however, does seems to be
> +        assuming gnu_printf (judging by the use of %z and %l).
> +
> +        Fix this by explicitly specifying gnu_printf format style.
> +        To ensure that gnu-compatible printf implementation is used, compile
> +        with -D__USE_MINGW_ANSI_STDIO=1, it will automagically turn all *printf()
> +        invocations into __mingw_*printf(), which are gnu-compatible.
> +
> +        Only one function that won't be turned is _vsnprintf(). Ifdef its use and
> +        call vsnprintf() instead when __USE_MINGW_ANSI_STDIO != 0.

It seems it is unrelated to this change.

> Source/WTF/ChangeLog:23
> +        * wtf/Assertions.cpp:
> +        * wtf/Assertions.h:

ditto

> Source/WTF/wtf/Platform.h:616
> +#ifdef _MSC_VER
>  #include <WTF/WTFHeaderDetection.h>
> +#endif

It is a generated header (see WTFGenerated.make) which is used by Apple Windows port.
Comment 3 LRN 2015-04-15 09:38:07 PDT
Created attachment 250796 [details]
Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x

WTF/WTFHeaderDetection.h seems to be from some other universe,
there are no rules to generate it in webkit-2.4, except for MSVS projects.
Comment 4 Csaba Osztrogonác 2015-04-15 09:44:42 PDT
(In reply to comment #3)
> Created attachment 250796 [details]
> Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x
> 
> WTF/WTFHeaderDetection.h seems to be from some other universe,
> there are no rules to generate it in webkit-2.4, except for MSVS projects.

Ah, so don't you want to land this change in WebKit 
trunk, but only the WebKitGTK 2.4 release branch?
Comment 5 Brent Fulgham 2015-04-15 09:49:01 PDT
Comment on attachment 250796 [details]
Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x

View in context: https://bugs.webkit.org/attachment.cgi?id=250796&action=review

I don't think this is quite right. I think it would be better to have the GTK Win32 build simply generate a "false" case WTFHeaderDetection.h file. That will work with all compiler combinations. I know there are some people using MingW32 to build the WinCairo port, and others working with the Intel compiler. Now that Clang is somewhat usable on Windows, I expect that to be an issue as well.

> Source/WTF/ChangeLog:1
> +2015-04-15  РÑÑлан ÐжбÑлаÑов  <lrn1986@gmail.com>

The string encoding here seems wrong!

> Source/WTF/wtf/Platform.h:614
> +#ifdef _MSC_VER

This change breaks the build for people using MingW32 (or other compilers) to build WebKit on Windows.
Comment 6 LRN 2015-04-15 10:29:08 PDT
(In reply to comment #5)
> Comment on attachment 250796 [details]
> Don't include non-existing WTF/WTFHeaderDetection.h in 2.4.x
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=250796&action=review
> 
> I don't think this is quite right. I think it would be better to have the
> GTK Win32 build simply generate a "false" case WTFHeaderDetection.h file.
> That will work with all compiler combinations. I know there are some people
> using MingW32 to build the WinCairo port, and others working with the Intel
> compiler. Now that Clang is somewhat usable on Windows, I expect that to be
> an issue as well.

I went for the simplest fix possible that does not immediately break anything else. Considering the fact that building webkit takes a few hours, i'm not very well-motivated to try anything fancier, unless i absolutely have to.

> 
> > Source/WTF/ChangeLog:1
> > +2015-04-15  РÑÑлан ÐжбÑлаÑов  <lrn1986@gmail.com>
> 
> The string encoding here seems wrong!

Poor UTF-8 support in the review module. The text is in UTF-8 in the attachment itself.

> 
> > Source/WTF/wtf/Platform.h:614
> > +#ifdef _MSC_VER
> 
> This change breaks the build for people using MingW32 (or other compilers)
> to build WebKit on Windows.

What about #ifdef HAVE_WTFHEADERDETECTION_H and modifying these mysterious other-ports-with-buildsystems-that-use-gnu-toolchain-but-refuse-to-use-gnu-autotools-which-do-not-generate-this-header? Well, i guess they'd tell me to fix the autotools-based buildsystem used to build webkitgtk instead, which would be fair enough.

Thing is, 2.4.x is the last version to have autotools, newer webkitgtk uses cmake, and we'll go back to square one.