Linked by Eugenia Loli on Wed 30th Nov 2005 07:58 UTC, submitted by Hakime
Mac OS X Move your application from CodeWarrior to Xcode and be ready for Intel-based Macs. It's easier than you may think, and this article gets you started.
Order by: Score:
v that's only Apple marketing.
by stew on Wed 30th Nov 2005 09:08 UTC
RE: that's only Apple marketing.
by tyrione on Wed 30th Nov 2005 12:52 UTC in reply to "that's only Apple marketing."
tyrione Member since:
2005-11-21

Hate to pee in your wheaties but OS X is built using Xcode. Openstep and NeXTSTEP used Project Builder to build the operating system.

The internal build system for an Operating System being different than an application, one does take into account the tools to build the kernel so on and so forth that are not actually part of Xcode but are custom to Apple, as par for the course.

However, if you think Final Cut Pro or any Apple Development or App specific application to be small then I'd love to see your project.

Reply Score: 3

RE[2]: that's only Apple marketing.
by stew on Wed 30th Nov 2005 12:55 UTC in reply to "RE: that's only Apple marketing."
stew Member since:
2005-07-06

Hate to pee in your wheaties but OS X is built using Xcode.

Why then can I build the entire Darwin system without Xcode?

Reply Score: 2

evangs Member since:
2005-07-07

Darwin != OS X

Darwin may be the underlying core of OS X, but it doesn't contain the Cocoa, Carbon and pretty much any other framework that makes OS X function.

Reply Score: 2

Anonymous Member since:
---

"Hate to pee in your wheaties but OS X is built using Xcode. Openstep and NeXTSTEP used Project Builder to build the operating system. "

Does XCode function without a GUI? If not, and OSX is built on it, where does the GUI come from?

OSX may be made on gcc, but I'm struggling to see how OSX could be built with a tool that requires OSX to run.

Reply Score: 1

kaiwai Member since:
2005-07-06

[rolls eyes]

How does a compiler work without a host operating system? how does a compiler compile itself?

Good lord, and as for the complaining; does anyone here actually spend the time and update their software? XCode 2.2 is released - along with the updates, GCC 4.0.1 corrects some file bloat which someone here is complaining about.

So before whinge, whine, complain and belly ache; spend a wee bit of time researching whether it has already been corrected via patch or update, becuse shock horror, some companies actually do that! support their own products! :-)

Reply Score: 1

null_pointer_us Member since:
2005-08-19

How does a compiler work without a host operating system? how does a compiler compile itself?

I'm not sure exactly what people are debating. There is, indeed, a chicken-and-egg problem, but precisely determining what is possible really needs to be done in light of the evolutionary nature of software.

In theory, an early, not-publicly-released version of XCode could have been written to run on MacOS 9 and used to develop OSX. Newer versions of OSX and XCode could then be developed on older versions of OSX and XCode.

After all, neither the chicken nor the egg just magically came into existence; they each evolved from previous versions of each other. But I have no idea what the real story is behind the development of OSX and XCode.

Edited 2005-11-30 17:04

Reply Score: 2

1234 Member since:
2005-10-02

"After all, neither the chicken nor the egg just magically came into existence; they each evolved from previous versions of each other."

Sure... this my comment is VERY off-topic but I feel it important to say that your comment is a very darwinistic way of thinking.

I find it interesting that so few are willing to consider the possibility that either the chicken or egg were first created... rather than they being evolved from a lesser being like you suggested.

Creationist theory can be approached just as scientifically as a darwinistic theory. It all boils down to there having to be something that created the objects which set this process into motion. If you accept the notion that the matter simply always was... then you can't negate the possibility of a being that always was that created these things.

But I digress...

ok, back to your OS discussion.

Edited 2005-11-30 18:07

Reply Score: 1

null_pointer_us Member since:
2005-08-19

Actually, the only reason I used the chicken-and-egg analogy was because I thought people would be able to understand what I was talking about.

My analogy is flawed. Inanimate objects and ideas do not "evolve"; they are the result of intelligent (or sometimes not-so-intelligent) design by beings with vastly superior reasoning capabilities. In other words, if we could let a beta CD of Amiga OS 4.0 sit for hundreds of millions of years and later examine it, we would be very surprised if it evolved into the hypothetical "gold" release version.

Darwinistic theory implies that inanimate matter somehow became intelligent and began improving itself. Add a few parts sophistry, ego, and self-deception; beat vigorously for a few hundred million years; and suddenly you've got geeks with iPods.

Social debates can be spun 'round and 'round endlessly until everyone's too dizzy too think straight. I'm so sick of it all that I don't want to do anything more than work in a few half-hearted digs at the prevailing theories of the day.

Reply Score: 0

tyrione Member since:
2005-11-21

For those who worked at NeXT a custom version of Openstep was used to help build up Rhapsody until we transitioned over. That approach was taken for the entire system and its set of tools, etc.

Reply Score: 1

I'm doing this (more or less) right now
by xdev on Wed 30th Nov 2005 10:06 UTC
xdev
Member since:
2005-11-11

I'm in the process of porting a "vertical market" suite of old software from MPW (!) to XCode. I use CodeWarrior as intermediate for this process that roughly consists of ANSI-C-ification, update to Universal Headers 3.3 and finally Carbonizing before the jump to X can be done.

The switch to Xcode is indeed the easiest part of the work, but I noticed the following:

- Importing does NOT (*) work with the old versions (Pro 5) of Codewarrior that we have. Pro 5.3 is a special version, because it is the latest that can still generate 68K code. Believe it or not, there are still a few 68K machines out there I possibly might have to support. For import to work, you probably want CW Pro 9. The new 10 is newer than the documents, so something might be b0rked. (* edited:) Hmm. Maybe because I just did not have Classic on the G5. Anyway.

- Initially, XCode has a steep learning curve with its stacked compilation flag logic. It can be quite overwhelming. Best is to take one of the sample projects and build up from there. I did so, and in the overall scope of the project it took much less time to just drop in my source files than to figure out what flags to set and what to enter in which .plist file.

- XCode is abysmally slow, compared to CW on 9. (CW on X feels sluggish, too, but at least inherits the fast compiler). Regular parallel CW-on-9 and XCode work would require two machines, where one supports 9 and the other is fast enough for XCode (Dual G5 suggested). You might be lucky with a late model MDD G4 or TiPB to do both. You could maybe get along in Classic by building with your old CW while debugging with a special version of CW Pro 8 from Metrowerks.

- Convert to linefeeds!!! I have had cases where XCode would get line numbers wrong, making the debugger useless. You also want LFs for subversion diffs to work.

That said, once you get the hang, and a very fast machine, XCode is quite pretty - and free, of course. The early versions were a bit flakey, but with 2.1+ it has gained a good amount of solidity, too (if only it was faster than with a snail interpreting java on a slide rule VM).

Rich

Edited 2005-11-30 10:21

Reply Score: 1

Anonymous Member since:
---

Hmmm, Codewarrior 6 Pro does 68000 dev for me. CW 9 doesn't, but then its running under MacOS X anyway.

The 68000 compiler never went off the radar also, because they used it in the PalmOS version of CW.

Reply Score: 0

RE[2]: 68K on CW 6
by xdev on Fri 2nd Dec 2005 01:00 UTC in reply to "RE: I'm doing this (more or less) right now"
xdev Member since:
2005-11-11

> Hmmm, Codewarrior 6 Pro does 68000 dev for me. CW 9 doesn't, but then its running under MacOS X anyway.

Yes. You're right. It was the Pascal compiler that disappeared after 5. I mixed that up. Eventually 68K did go though. (I wonder now, and this actually keeps me on topic, whether it would be feasible to do a GCC-68K build of an XCode project, or at least XCode-compliant source)

> The 68000 compiler never went off the radar also, because they used it in the PalmOS version of CW.

Did you know you could run 5.x for Mac, plus a (then?) free dev pack for PalmOS? As a special bonus this package would build Mac-native Palm API apps...

Reply Score: 1

RE:that's only Apple marketing.
by Hakime on Wed 30th Nov 2005 10:31 UTC
Hakime
Member since:
2005-11-16

I am dealing with a project with millions lines of code, and i have a very good experience with Xcode. Its fast, very stable, and yes we made the transition from CodeWarrior to Xcode a few months ago, and its was very smooth. Xcode offer a large set of features that help a lot, i give credit to that. Its not a one minute task, sure, but thats not a headache with a clean project. Xcode has grown very well since the first version, it got fast (for example code completion is largely improved in 2.1), stable and very rich featured. The last version 2.1 offers a lot of new improvements and features. Some are aimed to catch up and go beyond some CodeWarrior features (breakpoints actions, conditions and watchpoints, integrated unit testing), some are Xcode only. The new build configurations (a matrix of settings) are very powerful and really simplify the setting of different values for multiple projects or targets independently or accross the sames ones and are very powerful for managing dependencies accross multiple targets. I find it very powerful for very large projects. And a so powerful development environment for free, i can not ask more!!!!

Its like that everything that Apple is saying is marketing, come one, ......you better read the document and stop trolling!!!!

Reply Score: 5

RE[2]:that's only Apple marketing.
by stew on Wed 30th Nov 2005 13:03 UTC in reply to "RE:that's only Apple marketing."
stew Member since:
2005-07-06

Its fast, very stable, and yes we made the transition from CodeWarrior to Xcode a few months ago, and its was very smooth.

I envy you.

you better read the document and stop trolling!!!!

I wish I were a troll. If I made this up, then Xcode would not abort importing CodeWarrior projects with errors like this:

2005-11-30 10:28:01.885 Xcode[414] CodeWarrior XML export file not generated for the following reason: {
NSAppleScriptErrorBriefMessage = "Can't make U00abclass ctnrU00bb of alias "stew:dev:BuildAllMac (CW8)ForXcodeExport.mcp" into type alias.";
NSAppleScriptErrorMessage = "Can't make U00abclass ctnrU00bb of alias "stew:dev:wxWindows21:BuildAllMac (CW8)ForXcodeExport.mcp" into type alias.";
NSAppleScriptErrorNumber = -1700;
NSAppleScriptErrorRange = <00000000 00000000 >;
}

If I were making this up, Xcode would resolve three-level dependancies correctly and relink my app.
If I were making this up, I wouldn't have to wait a minute for Xcode to fully load and parse a preprocessed source file.
If I were making this up, Xcode wouldn't produce a 450MB binary (debug build) or take twenty minutes to link (release build with dead code stripping).

Reading that document gave me nothing I didn't learn the hard way a year ago. Boy I wish I were a troll and Xcode was as good as Apple wants me to think it is. Then my life would be a lot easier.

Reply Score: 1

Dear Bill
by Anonymous on Wed 30th Nov 2005 13:27 UTC
Anonymous
Member since:
---

It's easier than you may think, and this article gets you started.

Of course there is going to be a dedicated team at Redmond trying to figure out how to screw this up.

Present MS Mac apps are built on CW, I wouldn't trust their first X-Code offerings.

Neither would I trust Adobe's firsts either, but at least they have a friend in Apple to get over the bumps.

Reply Score: 0

Doing a good job
by marcushe on Wed 30th Nov 2005 16:04 UTC
marcushe
Member since:
2005-09-30

I think Apple is doing a rather fine job of supporting the developer's transition over to the Mactels. No other company would be able to offer an importer, and "universal binaries" so easily. Do you think Linux or Microsoft could EVER do something like this?

By the time Leopard comes around, the one single OS install disc will boot & install on both PPC and Intel machines. Amazing.

Reply Score: 1

RE: Doing a good job
by stew on Wed 30th Nov 2005 16:24 UTC in reply to "Doing a good job"
stew Member since:
2005-07-06

By the time Leopard comes around, the one single OS install disc will boot & install on both PPC and Intel machines. Amazing.

Back in the days, we called that BeOS R3. ;)

Reply Score: 1

RE[2]: Doing a good job
by protagonist on Wed 30th Nov 2005 16:45 UTC in reply to "RE: Doing a good job"
protagonist Member since:
2005-07-06

I still miss that OS. Too bad Steve and Bill didn't learn from it.

Reply Score: 1

RE[2]: Doing a good job
by Anonymous on Thu 1st Dec 2005 00:48 UTC in reply to "RE: Doing a good job"
Anonymous Member since:
---

And in even earlier days, there was an OS named NeXT...

Reply Score: 0

BeOS R3
by Anonymous on Wed 30th Nov 2005 16:35 UTC
Anonymous
Member since:
---

Browser: Links (2.1pre15; FreeBSD 5.3-RELEASE i386; 80x24)

Shipped with two CDs; one for the PPC and one for the x86. I have them and the white jacket that they shipped in.

Reply Score: 0

RE: BeOS R3
by Anonymous on Thu 1st Dec 2005 14:45 UTC in reply to "BeOS R3"
Anonymous Member since:
---

BeOS R4 was the first single CD distro IIRC. R4.5 definately came on one CD. DR8 was on multiple CD's and it only supported the PowerPC - there was a diffrernt Mac and BeBox version IIRC.

Let's not hijack yet another thread with BeOS talk now ;-)

Reply Score: 0

v OT, re 1234's post @ 18.06.13
by Anonymous on Thu 1st Dec 2005 10:00 UTC
re Null Pointer US
by Anonymous on Thu 1st Dec 2005 16:49 UTC
Anonymous
Member since:
---

I'm glad you at least acknowledge that Darwinism is a theory.. in that it is backed up by evidence and based on known facts. I assume you use the word "sophistry" in its lesser-understood meaning, being that people dare to demand their knowledge be backed up by observation rather than extrapolated from a 2000-yr old folk-myth.

Reply Score: 0