Closed Bug 200118 Opened 21 years ago Closed 21 years ago

Allow Cocoa embedding projects to build in objdir world

Categories

(Core Graveyard :: Embedding: Mac, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: ccarlen, Assigned: ccarlen)

Details

Attachments

(3 files)

Since I've become an objdir convert, I need this in order to work on Cocoa
embedding. I've done NSBrowserView.pbproj and will next do CocoaEmbed.pbproj.
The same thing was done as for PPEmbed: In the Makefile, copy the project to the
objdir, and symlink any src dirs.
So Makefiles get generated from the new Makefile.ins
Both of these do the same trick as was done for PPEmbed - the makefile copies
the project to the objdir and makes symlinks to the projects src dirs. Problem
is, that means that the project can't be in the same dir as the src. So, most of
this patch is simply to move the projects. In one case, I was able to just move
it up a  level, for the other, I had to make src and res dirs beside the project.

For cocoaEmbed, more changes were made besides moving things:
(1) I made all of the files which come from dist/Embed be group relative instead
of project relative, recursively. This allows a nice trick for development of
Gecko components. With this setup, I can change only the "Gecko" dir to point to
dist/bin. Then, I can rebuild components and, with no building required from the
PB project, I can run and use the newly built component. This is made possible
by the fact that we use absolute symlinks in dist/bin. It's pure joy.
(2) Removed the call to NS_InitEmbedding() from main.mm. That's called
implicitly by the framework and having it called twice by different libs in the
same process is deadly.
Comment on attachment 119121 [details] [diff] [review]
patch to allmakefiles.sh

Looking for r=/sr= on all 3 patches. I'll just ask once here to avoid separate
bugmail for each ;-)
Attachment #119121 - Flags: superreview?(bryner)
Attachment #119121 - Flags: review?(pinkerton)
Attachment #119121 - Flags: superreview?(bryner) → superreview+
Comment on attachment 119122 [details] [diff] [review]
patch for embedding/browser/cocoa

I'm assuming you have the project files moved to embedding/browser/cocoa in
your tree and it's just not included in this patch.
Attachment #119122 - Flags: superreview+
Comment on attachment 119123 [details] [diff] [review]
patch for embedding/tests/cocoaEmbed

You might want to get the repository files copied for any files that you're
moving.  sr=bryner.
Attachment #119123 - Flags: superreview+
> I'm assuming you have the project files moved

Yes, I had not cvs added that. Added now. Thanks.

About copying repository files vs. removing and re-adding, I asked Pink if he
cared about the CVS history for these. He didn't because there's not much too
it. Also, doing it this way, I can do it myself and be done with it. If that's a
CVS no-no, I'll ask leaf to copy files around.
Comment on attachment 119121 [details] [diff] [review]
patch to allmakefiles.sh

r=pink.

i've asked conrad to double-check this works for both opt and debug builds,
just to be safe.
Attachment #119121 - Flags: review?(pinkerton) → review+
Forgot to mention - this was checked in on 04/04.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: