Bug 93030 - [EFL] Build failures with harfbuzz outside standard locations
Summary: [EFL] Build failures with harfbuzz outside standard locations
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Raphael Kubo da Costa (:rakuco)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-02 14:32 PDT by Raphael Kubo da Costa (:rakuco)
Modified: 2012-08-22 08:45 PDT (History)
5 users (show)

See Also:


Attachments
Patch (1.74 KB, patch)
2012-08-21 20:15 PDT, Raphael Kubo da Costa (:rakuco)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Raphael Kubo da Costa (:rakuco) 2012-08-02 14:32:15 PDT
glima has been having some trouble building WebKit-EFL without building the dependencies with jhbuild. One of the problems is:

  In file included from /home/glima/devel/webkit/Source/WebCore/platform/graphics/freetype/FontPlatformData.h:33:0,
                   from /home/glima/devel/webkit/Source/WebCore/platform/graphics/FontPlatformData.h:35,
                   from /home/glima/devel/webkit/Source/WebCore/platform/graphics/SimpleFontData.h:30,
                   from /home/glima/devel/webkit/Source/WebCore/platform/graphics/FontFallbackList.h:25,
                   from /home/glima/devel/webkit/Source/WebCore/platform/graphics/Font.h:29,
                   from /home/glima/devel/webkit/Source/WebCore/platform/PopupMenuStyle.h:30,
                   from /home/glima/devel/webkit/Source/WebCore/platform/PopupMenuClient.h:26,
                   from /home/glima/devel/webkit/Source/WebCore/page/ChromeClient.h:33,
                   from /home/glima/devel/webkit/Source/WebCore/Modules/webdatabase/DatabaseContext.cpp:34:
  /home/glima/devel/webkit/Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:34:16: fatal error: hb.h: No such file or directory
  compilation terminated.

I think there are problems when building Source/WebKit as well.

This can be solved by including ${HARFBUZZ_INCLUDE_DIRS} in the include path.
Comment 1 Raphael Kubo da Costa (:rakuco) 2012-08-15 21:33:28 PDT
I've finished building here and couldn't reproduce the issue (I was able to do so on another system).

The harfbuzz include path seems to be added via EVAS_INCLUDE_DIRS, as `pkg-config --cflags-only-I evas' returns, among others, -I${WEBKITOUTPUUTDIR}/Dependencies/Root/include/harfbuzz.

Are you building the port with build-webkit or using CMake on your own? In case it's the latter, I suspect evas may have been built without harfbuzz support and the flag is thus absent from your evas.pc. In case it's the former, I'd like to see the output of `./Tools/efl/run-with-jhbuild pkg-config --cflags-only-I evas'.
Comment 2 Raphael Kubo da Costa (:rakuco) 2012-08-15 21:34:11 PDT
(In reply to comment #1)
> The harfbuzz include path seems to be added via EVAS_INCLUDE_DIRS, as `pkg-config --cflags-only-I evas' returns, among others, -I${WEBKITOUTPUUTDIR}/Dependencies/Root/include/harfbuzz.

(Relying on this is wrong, by the way, but I'd like to pinpoint where the problem is before trying to fix it).
Comment 3 Raphael Kubo da Costa (:rakuco) 2012-08-15 21:37:53 PDT
(In reply to comment #1)
> I've finished building here and couldn't reproduce the issue (I was able to do so on another system).

... Thinking of it again, I was able to reproduce this when I was testing my FindEFL.cmake rewrite, which gets rid of those implicit dependencies I mentioned in the previous comments, so it makes sense to have experienced the same build problem.
Comment 4 Gustavo Lima Chaves 2012-08-16 08:22:01 PDT
The problem occurs with a build without build-webkit usage, but pristine cmake. Evas without harfbuzz linkage too. I've just found out that a harfbuzzy Evas will let the build go, but apparently this should not be a requirement. My 2 cents.
Comment 5 Raphael Kubo da Costa (:rakuco) 2012-08-21 20:15:44 PDT
Created attachment 159850 [details]
Patch
Comment 6 Dominik Röttsches (drott) 2012-08-22 06:29:59 PDT
Makes sense to me, thanks for catching this.
Comment 7 Rob Buis 2012-08-22 08:32:46 PDT
Comment on attachment 159850 [details]
Patch

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

LGTM.

> Source/WebCore/PlatformEfl.cmake:158
> +      ${HARFBUZZ_INCLUDE_DIRS}

Is the indenting correct here?
Comment 8 Raphael Kubo da Costa (:rakuco) 2012-08-22 08:36:44 PDT
Yep, we're just not using quotes.
Comment 9 Raphael Kubo da Costa (:rakuco) 2012-08-22 08:45:46 PDT
Comment on attachment 159850 [details]
Patch

Clearing flags on attachment: 159850

Committed r126305: <http://trac.webkit.org/changeset/126305>
Comment 10 Raphael Kubo da Costa (:rakuco) 2012-08-22 08:45:53 PDT
All reviewed patches have been landed.  Closing bug.