Bug 130261

Summary: [GTK][CMake] Build with -fno-rtti
Product: WebKit Reporter: Zan Dobersek <zan>
Component: New BugsAssignee: Zan Dobersek <zan>
Status: RESOLVED FIXED    
Severity: Normal CC: bunhere, commit-queue, gyuyoung.kim, Martin.Jansa, rakuco, sergio
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Zan Dobersek 2014-03-14 13:52:50 PDT
[GTK][CMake] Build with -fno-rtti
Comment 1 Zan Dobersek 2014-03-14 14:02:05 PDT
Created attachment 226763 [details]
Patch
Comment 2 Martin Robinson 2014-03-14 14:17:07 PDT
Comment on attachment 226763 [details]
Patch

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

> Source/cmake/gtest/CMakeLists.txt:25
> +add_definitions(-DGTEST_CREATE_SHARED_LIBRARY=1 -DGTEST_HAS_RTTI=0)

New line please.

> Tools/TestWebKitAPI/CMakeLists.txt:89
> +add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DGTEST_HAS_RTTI=0

New line please.
Comment 3 Zan Dobersek 2014-03-16 13:13:52 PDT
Comment on attachment 226763 [details]
Patch

Clearing flags on attachment: 226763

Committed r165709: <http://trac.webkit.org/changeset/165709>
Comment 4 Zan Dobersek 2014-03-16 13:14:03 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Martin Jansa 2014-08-13 15:53:47 PDT
+    set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing")

Is this added line correct?

Causes build failures in udis86 which explicitly asks for gcc but then gets g++ flags from CMAKE_CXX_FLAGS.

cc1: error: command line option '-fvisibility-inlines-hidden' is valid for C++/ObjC++ but not for C [-Werror]
cc1: error: command line option '-fpermissive' is valid for C++/ObjC++ but not for C [-Werror]
cc1: all warnings being treated as errors
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:11182: recipe for target 'Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o' failed
make[2]: *** [Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/disassembler/udis86/udis86.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/OE/build/oe-core/tmp-eglibc/work/core2-64-oe-linux/webkit-efl/1_1.10.0+1.11.0-beta1-r0/build'
Comment 6 Zan Dobersek 2014-08-14 07:31:25 PDT
(In reply to comment #5)
> +    set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing")
> 
> Is this added line correct?
> 
> Causes build failures in udis86 which explicitly asks for gcc but then gets g++ flags from CMAKE_CXX_FLAGS.

Yes, that's not correct. My bad.

Fixed in r172579.
http://trac.webkit.org/changeset/172579