<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>157574</bug_id>
          
          <creation_ts>2016-05-11 11:39:50 -0700</creation_ts>
          <short_desc>webkit is not usable on OS X 10.10 and older due to CF_AVAILABLE usage</short_desc>
          <delta_ts>2016-05-11 20:02:02 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=152720</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>126492</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Huddleston Sequoia">jeremyhu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1191998</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Huddleston Sequoia">jeremyhu</who>
    <bug_when>2016-05-11 11:39:50 -0700</bug_when>
    <thetext>When building projects that make use of WebKit on older OS versions, CF_AVAILABLE() is unable to expand.  Furthermore, these availability macros don&apos;t really apply to this install.  They only apply when installing the system framework.

In file included from /opt/local/include/webkitgtk-4.0/JavaScriptCore/JavaScript.h:31:
In file included from /opt/local/include/webkitgtk-4.0/JavaScriptCore/JSContextRef.h:29:
In file included from /opt/local/include/webkitgtk-4.0/JavaScriptCore/JSObjectRef.h:31:
/opt/local/include/webkitgtk-4.0/JavaScriptCore/JSValueRef.h:139:67: error: expected function body after function declarator
JS_EXPORT bool JSValueIsArray(JSContextRef ctx, JSValueRef value) CF_AVAILABLE(10_11, 9_0);
                                                                  ^
/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:54:34: note: expanded from macro &apos;CF_AVAILABLE&apos;
#define CF_AVAILABLE(_mac, _ios) AVAILABLE_MAC_OS_X_VERSION_##_mac##_AND_LATER
                                 ^
&lt;scratch space&gt;:30:1: note: expanded from macro &apos;AVAILABLE_MAC_OS_X_VERSION_&apos;
AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER
^
In file included from goawebview.c:27:

This was seen on webkit-gtk-2.12.2 on OS X Lion, but the issue applies to Yosemite as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192032</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-05-11 12:17:35 -0700</bug_when>
    <thetext>WebKit trunk supports 10.10 (Yosemite) and above. On 10.10, only Xcode 7 is supported, which includes 10.11 SDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192081</commentid>
    <comment_count>2</comment_count>
    <who name="Jeremy Huddleston Sequoia">jeremyhu</who>
    <bug_when>2016-05-11 13:56:47 -0700</bug_when>
    <thetext>Well you might not support it as a firstclass port, but webkit-gtk works fine back as far as Snow Leopard without issue.

However, the current sources do *NOT* work on 10.10 either because the CF_AVAILABLE macros aren&apos;t being stripped out, so those are getting marked as weak even though the built WebKit obviously contains them.

In the past, the CF_AVAILABLE macros have been stripped so they don&apos;t break non PLATFORM(COCOA) builds.  That is not currently happening here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192154</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Huddleston Sequoia">jeremyhu</who>
    <bug_when>2016-05-11 16:57:10 -0700</bug_when>
    <thetext>The changes in #152720 handle the case for *building* webkit, but I recall that something used to strip these availability macros out of the installed headers.  That process is no longer happening.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>