Opened 8 years ago

Closed 8 years ago

#49849 closed defect (fixed)

Don't use system availability macros in webkit-gtk headers

Reported by: jeremyhu (Jeremy Huddleston Sequoia) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: webkit-gtk

Description

Building midori on Snow Leopard fails because of incorrect availability macros in webkit-gtk. The macros are annotating availability of the symbols as they would be in the OS X Webkit.framework, but these symbols are always available in our port, so they should not be present.

[  9%] Building C object midori/CMakeFiles/midori-core.dir/__/katze/katze-arrayaction.c.o
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/katze/katze-arrayaction.c:15:
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/midori/midori-platform.h:17:
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/midori/sokoke.h:16:
In file included from /opt/local/include/webkitgtk-1.0/JavaScriptCore/JavaScript.h:31:
In file included from /opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:29:
In file included from /opt/local/include/webkitgtk-1.0/JavaScriptCore/JSObjectRef.h:31:
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSValueRef.h:221:86: error: expected function body after function declarator
JS_EXPORT JSValueRef JSValueMakeFromJSONString(JSContextRef ctx, JSStringRef string) CF_AVAILABLE(10_7, 7_0);
                                                                                     ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSValueRef.h:232:123: error: expected function body after function declarator
  ...JSValueCreateJSONString(JSContextRef ctx, JSValueRef value, unsigned indent, JSValueRef* exception) CF_AVAILABLE(10_7...
                                                                                                         ^
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/katze/katze-arrayaction.c:15:
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/midori/midori-platform.h:17:
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/midori/sokoke.h:16:
In file included from /opt/local/include/webkitgtk-1.0/JavaScriptCore/JavaScript.h:31:
In file included from /opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:29:
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSObjectRef.h:444:134: error: expected function body after function declarator
  ...ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0);
                                                                                     ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSObjectRef.h:455:133: error: expected function body after function declarator
  ...ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0);
                                                                                     ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSObjectRef.h:466:134: error: expected function body after function declarator
  ...ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0);
                                                                                     ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSObjectRef.h:477:135: error: expected function body after function declarator
  ...ctx, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception) CF_AVAILABLE(10_6, 7_0);
                                                                                     ^
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/katze/katze-arrayaction.c:15:
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/midori/midori-platform.h:17:
In file included from /opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_www_midori/midori/work/midori-0.5.10/midori/sokoke.h:16:
In file included from /opt/local/include/webkitgtk-1.0/JavaScriptCore/JavaScript.h:31:
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:51:52: error: expected function body after function declarator
JS_EXPORT JSContextGroupRef JSContextGroupCreate() CF_AVAILABLE(10_6, 7_0);
                                                   ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:59:75: error: expected function body after function declarator
JS_EXPORT JSContextGroupRef JSContextGroupRetain(JSContextGroupRef group) CF_AVAILABLE(10_6, 7_0);
                                                                          ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:66:63: error: expected function body after function declarator
JS_EXPORT void JSContextGroupRelease(JSContextGroupRef group) CF_AVAILABLE(10_6, 7_0);
                                                              ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:81:82: error: expected function body after function declarator
JS_EXPORT JSGlobalContextRef JSGlobalContextCreate(JSClassRef globalObjectClass) CF_AVAILABLE(10_5, 7_0);
                                                                                 ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:95:114: error: expected function body after function declarator
  ...JSGlobalContextRef JSGlobalContextCreateInGroup(JSContextGroupRef group, JSClassRef globalObjectClass) CF_AVAILABLE(10...
                                                                                                            ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:126:65: error: expected function body after function declarator
JS_EXPORT JSContextGroupRef JSContextGetGroup(JSContextRef ctx) CF_AVAILABLE(10_6, 7_0);
                                                                ^
/opt/local/include/webkitgtk-1.0/JavaScriptCore/JSContextRef.h:134:74: error: expected function body after function declarator
JS_EXPORT JSGlobalContextRef JSContextGetGlobalContext(JSContextRef ctx) CF_AVAILABLE(10_7, 7_0);
                                                                         ^
13 errors generated.
make[3]: *** [midori/CMakeFiles/midori-core.dir/__/katze/katze-arrayaction.c.o] Error 1
make[2]: *** [midori/CMakeFiles/midori-core.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2

Change History (3)

comment:1 Changed 8 years ago by dbevans (David B. Evans)

Port: webkit-gtk-2.0 added; webkit-gtk3-2.0 removed
Status: newassigned
Version: 2.3.4

I'm confused. Midori seems to build fine on the SL buildbot both version 0.5.10 and 0.5.11 which I just committed. It builds with webkit-gtk-2.0 which doesn't use the availability macros at all. webkit-gtk does have the macros as you describe but that's not the right version for SL using the default libstdc++. The platforms that use libc++ by default and use webkit-gtk build OK too.

Are you trying to build midori on SL using libc++?

comment:2 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Port: webkit-gtk added; webkit-gtk-2.0 removed

This is with webkit-gtk, not with webkit-gtk-2.0.

Yes, libc++ is being used as it is a requirement of webkit-gtk.

comment:3 Changed 8 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed

Thanks. Fix committed in r143224.

Note: See TracTickets for help on using tickets.