[Webkit-unassigned] [Bug 30526] Supporting multiple OS X versions in one binary

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Oct 19 14:35:44 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=30526





--- Comment #3 from Kevin Ollivier <kevino at theolliviers.com>  2009-10-19 14:35:42 PDT ---
(In reply to comment #2)
> (From update of attachment 41439 [details])
> It may appear to work but it will have subtle bugs as *all* of the code wrapped
> with these macros was written with the assumption that the code within these
> blocks was targeted for the specific OS version.  When building in the manner
> you mention it will be running on a different version of the OS and may not
> behave as expected.  A number of aspects of the code would likely need to be
> updated to determine the underlying OS version at runtime and to react
> accordingly.
> 
> It also doesn’t make sense to switch a single use of BUILDING_ON_TIGER and
> BUILDING_ON_LEOPARD to using availability macros.  If we’re going to make this
> change it needs to be done in a more consistent manner.

Okay, after doing a grep what I'm seeing is that a vast majority of the use of
these macros are in Mac port sources or code blocks, which won't use this
support anyway, at least not in the short term. Perhaps that somewhat explains
why the change didn't seem so problematic for the wx port.

So, how about this? We create a SUPPORTS_<CAT> or <CAT>_COMPATIBLE (where CAT
is release name) type of define that corresponds to MIN_REQUIRED for non-Mac
ports but for Mac (or any port that wants to keep the existing behavior) will
simply be defined to  BUILDING_ON_<CAT> for compatibility. The only other thing
this would probably require is to add weakly defined symbol checks to allow to
use the newer API when running on a newer release, but since wx doesn't use
much of the Mac port's Cocoa, CF or CG code,  nor presumably would Qt or GTK, I
suspect this would actually only need to be done in a few spots.

So, does this sound reasonable? If not, any ideas on how else we could approach
this issue?

Thanks,

Kevin

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list