Closed Bug 715930 Opened 14 years ago Closed 14 years ago

Use stdc++compat.cpp on OS X too

Categories

(Firefox Build System :: General, defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
mozilla12

People

(Reporter: espindola, Assigned: espindola)

References

Details

Attachments

(1 file, 2 obsolete files)

No description provided.
Attached patch Use stdc++compat.cpp on OS X too (obsolete) — Splinter Review
Assignee: nobody → respindola
Status: NEW → ASSIGNED
Attachment #586461 - Flags: review?(ted.mielczarek)
Attached patch Use stdc++compat.cpp on OS X too (obsolete) — Splinter Review
Attachment #586461 - Attachment is obsolete: true
Attachment #586461 - Flags: review?(ted.mielczarek)
Attachment #586539 - Flags: review?(ted.mielczarek)
Comment on attachment 586539 [details] [diff] [review] Use stdc++compat.cpp on OS X too Review of attachment 586539 [details] [diff] [review]: ----------------------------------------------------------------- I'm going to punt this to glandium.
Attachment #586539 - Flags: review?(ted.mielczarek) → review?(mh+mozilla)
What is the need for this?
At a higher level the bug it blocks: https://bugzilla.mozilla.org/show_bug.cgi?id=715397 More specifically, to be able to build with the 10.6 SDK and run the binary on 10.5. See https://tbpl.mozilla.org/php/getParsedLog.php?id=8360973&tree=Try&full=1#error0 for an example of what this fix.
Comment on attachment 586539 [details] [diff] [review] Use stdc++compat.cpp on OS X too Review of attachment 586539 [details] [diff] [review]: ----------------------------------------------------------------- ::: build/autoconf/libstdcxx.py @@ +69,5 @@ > > if __name__ == '__main__': > + if os.uname()[0] == 'Darwin': > + sdk_dir = os.environ['MACOS_SDK_DIR'] > + if 'MacOSX10.5.sdk' in sdk_dir: Wouldn't it be better to use MACOSX_DEPLOYMENT_TARGET? ::: build/stdc++compat.cpp @@ +56,5 @@ > /* Instantiate these templates to avoid GLIBCXX_3.4.9 symbol versions */ > template ostream& ostream::_M_insert(double); > template ostream& ostream::_M_insert(long); > template ostream& ostream::_M_insert(unsigned long); > + template ostream& ostream::_M_insert(const void*); That part is in bug 702158, and I guess it can be #ifdef DEBUG like there.
> > if __name__ == '__main__': > > + if os.uname()[0] == 'Darwin': > > + sdk_dir = os.environ['MACOS_SDK_DIR'] > > + if 'MacOSX10.5.sdk' in sdk_dir: > > Wouldn't it be better to use MACOSX_DEPLOYMENT_TARGET? No, that is the OS version we are targeting, not the SDK we are using. In particular, using that would cause the build to fail in the current setup (10.5 MACOSX_DEPLOYMENT_TARGET and 10.5 SDK). > ::: build/stdc++compat.cpp > @@ +56,5 @@ > > /* Instantiate these templates to avoid GLIBCXX_3.4.9 symbol versions */ > > template ostream& ostream::_M_insert(double); > > template ostream& ostream::_M_insert(long); > > template ostream& ostream::_M_insert(unsigned long); > > + template ostream& ostream::_M_insert(const void*); > > That part is in bug 702158, and I guess it can be #ifdef DEBUG like there. Maybe. I will try and let you know.
Comment on attachment 586539 [details] [diff] [review] Use stdc++compat.cpp on OS X too r+ modulo the part that is covered in bug 702158.
Attachment #586539 - Flags: review?(mh+mozilla) → review+
Attachment #587337 - Flags: review?(mh+mozilla) → review+
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla12
Depends on: 729926
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: