Closed Bug 555234 Opened 14 years ago Closed 14 years ago

enable MOZ_IPC by default for i386 Mac OS X

Categories

(Core :: IPC, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9.3a4

People

(Reporter: jaas, Assigned: jaas)

References

Details

Attachments

(2 files, 2 obsolete files)

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.
Attached patch fix v1.0 (obsolete) — Splinter Review
Depends on: 555714
Attachment #435206 - Flags: review?(benjamin)
Attachment #435206 - Flags: review?(benjamin) → review+
pushed to mozilla-central

http://hg.mozilla.org/mozilla-central/rev/3bbb3c3d3fa8
Status: NEW → RESOLVED
Closed: 14 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 → ---
Going through try as we speak, review is mostly for the change to test_GCRace.html.
Attachment #435980 - Flags: review?(benjamin)
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.
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
Closed: 14 years ago14 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]
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: SM-OOPP
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: