Closed Bug 316888 Opened 20 years ago Closed 20 years ago

Camino builds failing in PreferenceManager.mm, Xcode 2.2 and SDK >= 10.3.9

Categories

(Camino Graveyard :: General, defect)

1.8 Branch
PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mark, Assigned: mark)

Details

(Keywords: fixed1.8)

Attachments

(1 file)

Seems like there were a few changes to the SDKs in Xcode 2.2. Camino builds are failing in PreferenceManager.mm because kSCPropNetProxiesProxyAutoConfigEnable and friends are macros defined in the SDK as CFSTR(...), so static NSString* const kSCPropNetProxiesProxyAutoConfigEnable = @"ProxyAutoC onfigEnable"; actually winds up expanding to something like static NSString* const ((CFStringRef) __builtin___CFStringMakeConstantString ("" "ProxyAutoConfigEnable" "")) = @"ProxyAutoConfigEnable"; That's clearly very wrong. Of the three constants defined at http://lxr.mozilla.org/mozilla/source/camino/src/preferences/PreferenceManager.mm#80, all are defined in the 10.4 SDK, and the first two are defined in the 10.3 SDK. There's no fantastic reliable way of handling this other than using our own custom constants all the way, overriding the #defines. This patch does that whenever the DT < 10.4. DTs >= 10.4 (currently only Intel builds) will use the SDK's definitions, which will either be #defines or externs relying on runtime linkage.
Attached patch FixSplinter Review
Attachment #203437 - Flags: review?(sfraser_bugs)
Attachment #203437 - Flags: review?(sfraser_bugs) → review+
Trunk 'n' branch.
Status: NEW → RESOLVED
Closed: 20 years ago
Keywords: fixed1.8
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: