Bug 93487 - [CMAKE][EFL] Fix build break with --tiled-backing-store
Summary: [CMAKE][EFL] Fix build break with --tiled-backing-store
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: Ryuan Choi
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-08 08:27 PDT by Ryuan Choi
Modified: 2012-08-13 19:09 PDT (History)
7 users (show)

See Also:


Attachments
Patch (1.48 KB, patch)
2012-08-08 08:30 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff
Patch (2.45 KB, patch)
2012-08-09 15:49 PDT, Ryuan Choi
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryuan Choi 2012-08-08 08:27:35 PDT
I got below compile errors when compiled with --tiled-backing-store.

CMakeFiles/webcore_efl.dir/__/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp.o: In function `yy_flush_buffer(yy_buffer_state*, void*)':
glslang_lex.cpp:(.text+0x2e0): multiple definition of `yy_flush_buffer(yy_buffer_state*, void*)'
CMakeFiles/webcore_efl.dir/__/__/DerivedSources/WebCore/glslang.cpp.o:glslang.cpp:(.text+0x2e0): first defined here
CMakeFiles/webcore_efl.dir/__/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp.o: In function `yyget_extra(void*)':
glslang_lex.cpp:(.text+0x360): multiple definition of `yyget_extra(void*)'
CMakeFiles/webcore_efl.dir/__/__/DerivedSources/WebCore/glslang.cpp.o:glslang.cpp:(.text+0x360): first defined here
CMakeFiles/webcore_efl.dir/__/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp.o: In function `yyget_lineno(void*)':
glslang_lex.cpp:(.text+0x370): multiple definition of `yyget_lineno(void*)'
CMakeFiles/webcore_efl.dir/__/__/DerivedSources/WebCore/glslang.cpp.o:glslang.cpp:(.text+0x370): first defined here
CMakeFiles/webcore_efl.dir/__/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp.o: In function `yyget_column(void*)':
glslang_lex.cpp:(.text+0x390): multiple definition of `yyget_column(void*)'
CMakeFiles/webcore_efl.dir/__/__/DerivedSources/WebCore/glslang.cpp.o:glslang.cpp:(.text+0x390): first defined here
CMakeFiles/webcore_efl.dir/__/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp.o: In function `yyget_in(void*)':
glslang_lex.cpp:(.text+0x3b0): multiple definition of `yyget_in(void*)'
CMakeFiles/webcore_efl.dir/__/__/DerivedSources/WebCore/glslang.cpp.o:glslang.cpp:(.text+0x3b0): first defined here
CMakeFiles/webcore_efl.dir/__/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp.o: In function `yyget_out(void*)':
glslang_lex.cpp:(.text+0x3c0): multiple definition of `yyget_out(void*)'
CMakeFiles/webcore_efl.dir/__/__/DerivedSources/WebCore/glslang.cpp.o:glslang.cpp:(.text+0x3c0): first defined here
CMakeFiles/webcore_efl.dir/__/ThirdParty/ANGLE/src/compiler/glslang_lex.cpp.o: In function `yyget_leng(void*)':
glslang_lex.cpp:(.text+0x3d0): multiple definition of `yyget_leng(void*)'

I checked that other ports does not include glslang_lex.cpp.
Comment 1 Ryuan Choi 2012-08-08 08:30:11 PDT
Created attachment 157227 [details]
Patch
Comment 2 Raphael Kubo da Costa (:rakuco) 2012-08-08 09:13:52 PDT
Does the _tab.cpp file also cause problems? Do you know whether it makes sense to generate these files instead of using the generated ones from ANGLE?
Comment 3 Ryuan Choi 2012-08-08 10:00:47 PDT
(In reply to comment #2)
> Does the _tab.cpp file also cause problems? Do you know whether it makes sense to generate these files instead of using the generated ones from ANGLE?

Sorry, I cut the log because it is too long.

_tab.cpp also have same issue.

I don't know ANGLE enough, but I choosed generated one because 
  1) generated one looks better although almost changes are minor (such as size_t vs int)
  2) other ports also used generated one.
Comment 4 Raphael Kubo da Costa (:rakuco) 2012-08-08 11:16:43 PDT
Right. svn blame tells me that the lex and tab.cpp files were added by Joshua Netterfield for the BlackBerry port, so I'm CC'ing both him and Rob in case they have anything to say.
Comment 5 Joshua Netterfield 2012-08-08 11:30:46 PDT
We also wanted to use the generated files, but it doesn't compile with certain versions of Bison. I'm noticing that upstream both versions are present (probably due to a merge failure on my end). Perhaps it would be best to have the generated files in PlatformEfl.cmake and the non-generated files in PlatformBlackBerry.cmake?
Comment 6 Ryuan Choi 2012-08-08 18:14:11 PDT
(In reply to comment #5)
> We also wanted to use the generated files, but it doesn't compile with certain versions of Bison. I'm noticing that upstream both versions are present (probably due to a merge failure on my end). Perhaps it would be best to have the generated files in PlatformEfl.cmake and the non-generated files in PlatformBlackBerry.cmake?

Can I know which version of BISON has problem?

I think that this is not port specific issue.
So, what do you think about checking bison version which we has issue like below?

IF (BISON_VERSION EQUAL "specific version")
    # 
ELSE ()
    # use generated one
ENDIF ()
Comment 7 Joshua Netterfield 2012-08-09 09:12:04 PDT
Yes, that sounds good. We had trouble with version 2.5 on mac.
Comment 8 Ryuan Choi 2012-08-09 15:49:42 PDT
Created attachment 157567 [details]
Patch
Comment 9 Ryuan Choi 2012-08-09 15:50:38 PDT
(In reply to comment #7)
> Yes, that sounds good. We had trouble with version 2.5 on mac.

Ok, updated.
Could you test whether it works for you?

Thank you.
Comment 10 WebKit Review Bot 2012-08-13 19:09:30 PDT
Comment on attachment 157567 [details]
Patch

Clearing flags on attachment: 157567

Committed r125496: <http://trac.webkit.org/changeset/125496>
Comment 11 WebKit Review Bot 2012-08-13 19:09:36 PDT
All reviewed patches have been landed.  Closing bug.