Closed Bug 200118 Opened 23 years ago Closed 23 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: 23 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: