enable MOZ_IPC by default for i386 Mac OS X

RESOLVED FIXED in mozilla1.9.3a4

Status

()

RESOLVED FIXED
9 years ago
7 years ago

People

(Reporter: jaas, Assigned: jaas)

Tracking

Trunk
mozilla1.9.3a4
x86
Mac OS X
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments, 2 obsolete attachments)

(Assignee)

Description

9 years ago
We should enable MOZ_IPC by default for i386 Mac OS X, but with OOPP pref'd off. We have to fix crashreporter bustage in order to do this.

For now we'll leave the test plugin as a Carbon plugin so we don't interfere with normal testing. We can switch it to Cocoa if we pref OOP on by default for i386 at some point, or we can change it so that it negotiates based on the browser pref when built as an i386 binary.
(Assignee)

Comment 1

9 years ago
Created attachment 435206 [details] [diff] [review]
fix v1.0
(Assignee)

Updated

9 years ago
Depends on: 555714
(Assignee)

Updated

9 years ago
Attachment #435206 - Flags: review?(benjamin)

Updated

9 years ago
Attachment #435206 - Flags: review?(benjamin) → review+
(Assignee)

Comment 2

9 years ago
pushed to mozilla-central

http://hg.mozilla.org/mozilla-central/rev/3bbb3c3d3fa8
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
Backed out because we have test files in x86 that aren't there for PPC.  Will try packaging the tests for both but bailing in the IPC-only tests if !OOP (as we do for mochitests).
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Created attachment 435980 [details] [diff] [review]
Enable OOPP for x86 OS X and don't export mochitests conditional on MOZ_IPC

Going through try as we speak, review is mostly for the change to test_GCRace.html.
Attachment #435980 - Flags: review?(benjamin)

Updated

9 years ago
Attachment #435980 - Flags: review?(benjamin) → review+
BTW, josh is going to add a gross hack to this patch to somehow get a file named "mozilla-runtime" into dist/bin on PPC.
It will have to be a valid Mach-O binary, because unify will assert that both files are Mach-O files if one of them is, and then it will run lipo on them to generate a universal binary. That's not to say it has to do anything useful on PPC.
(Assignee)

Comment 7

9 years ago
Created attachment 436696 [details] [diff] [review]
fix v2.0
[Checkin: Comment 10]
Attachment #435206 - Attachment is obsolete: true
Attachment #435980 - Attachment is obsolete: true
Attachment #436696 - Flags: review?
Comment on attachment 436696 [details] [diff] [review]
fix v2.0
[Checkin: Comment 10]

This looks fine. All the rest of the IPC mochitests check the pref already, right?
Attachment #436696 - Flags: review? → review+
(In reply to comment #8)
> (From update of attachment 436696 [details] [diff] [review])
> This looks fine. All the rest of the IPC mochitests check the pref already,
> right?

Yep, GCRace was the only one that didn't.
There was a small issue with the change to GCRace that came up on try, but green otherwise.

Pushed http://hg.mozilla.org/mozilla-central/rev/338f525fac98 on josh's behalf.
Status: REOPENED → RESOLVED
Last Resolved: 9 years ago9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a4
Comment on attachment 436696 [details] [diff] [review]
fix v2.0
[Checkin: Comment 10]

>diff --git a/toolkit/toolkit-tiers.mk b/toolkit/toolkit-tiers.mk
>@@ -102,16 +102,21 @@ tier_platform_dirs += modules/lib7z
> ifdef MOZ_IPC
> tier_platform_dirs += ipc
>+else
>+# Include fake mozilla-runtime so that unify has something to unify.
>+ifeq ($(OS_ARCH)_$(TARGET_CPU),Darwin_powerpc)
>+tier_platform_dirs += ipc/app/fake
>+endif
> endif

Does this actually work when IPC is explicitly disabled (for i386)?
Attachment #436696 - Attachment description: fix v2.0 → fix v2.0 [Checkin: Comment 10]
Created attachment 436972 [details] [diff] [review]
(Bv1-CC) Copy configure.in part to comm-central
[Checkin: Comment 13]
Attachment #436972 - Flags: review?(bugspam.Callek)
Attachment #436972 - Flags: review?(bugspam.Callek) → review+
Comment on attachment 436972 [details] [diff] [review]
(Bv1-CC) Copy configure.in part to comm-central
[Checkin: Comment 13]


http://hg.mozilla.org/comm-central/rev/c7bca06e4b24
Attachment #436972 - Attachment description: (Bv1-CC) Copy configure.in part to comm-central → (Bv1-CC) Copy configure.in part to comm-central [Checkin: Comment 13]
Comment on attachment 436696 [details] [diff] [review]
fix v2.0
[Checkin: Comment 10]

>diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
> #ifdef XP_MACOSX
> @BINPATH@/XUL
>+@BINPATH@/mozilla-runtime@BIN_SUFFIX@

Why package it |#ifndef MOZ_IPC|?

> #else
> @BINPATH@/@DLL_PREFIX@xul@DLL_SUFFIX@
>-#endif
> #ifdef MOZ_IPC
> @BINPATH@/mozilla-runtime@BIN_SUFFIX@
> #endif
>+#endif
Because of comment 5 and comment 6. Please, read the bug if you have questions about patches.
(In reply to comment #15)
> Please, read the bug if you have questions about patches.

I try to read, but I still don't fully understand (I'm sorry about that), so I ask questions.
To put it in other words, MacOSX SeaMonkey 2.1 (with MOZ_IPC=) seems to build fine without porting the package-manifest.in change atm, thus I wonder what the conditions for this change to be needed are...
This originally broke universal builds, because the unify step requires that both buidls (ppc/i386) have the same set of files, and the ppc half, not being built --enable-ipc, was missing mozilla-runtime. The fix is to put a fake mozilla-runtime binary there.
I think  we have to have this on 1.9.2 for lorentz, right?
blocking1.9.2: --- → ?
Nevermind, it's late and I'm not thinking clearly ;)
blocking1.9.2: ? → ---
Ftr:


(In reply to Serge Gautherie (:sgautherie) from comment #11)
> >diff --git a/toolkit/toolkit-tiers.mk b/toolkit/toolkit-tiers.mk
> 
> Does this actually work when IPC is explicitly disabled (for i386)?

This part was later removed in bug 563747.


(In reply to Serge Gautherie (:sgautherie) from comment #14)
> >diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
> 
> Why package it |#ifndef MOZ_IPC|?

Thanks for the explanation.
This part was eventually ported to SeaMonkey in bug 545716.
Blocks: 545716
You need to log in before you can comment on or make changes to this bug.