Discussion:
Some Q's about moving CodeWarrior 8.2 to CW9, 10 and XCode?
(too old to reply)
Andy
2007-09-01 15:05:29 UTC
Permalink
I hope you can help. have a few questions about upgrading some old
CodeWarrior 8.2 projects to CW9 or CW10, and possibly converting them
all the way to XCode, etc. All are carbonized apps, but all are
non-mach-o, all still have resource forks, etc. Some of these apps I'd
like to continue to work on and make them better than ever, others I'm
just hoping to be able to maintain them (with only modest improvements)
possibly in XCode since I'm not sure how long I'll still be able to use
CodeWarrior?

I'm quite late in asking such questions, so I hope some of you still
remember some details to help...

1 - Why do most articles about how to migrate a CodeWarrior project to
XCode start by saying you should start with CodeWarrior 8.3, or higher?
Is there something about CW8.2 that is a no-no? Can it be worked around
and imported into XCode as is? (I ask this because as it happens, my
old CW projects were created with CW8.2. I once tried to update to
CW8.3 but had various troubles which I don't fully yet understand with
include files that weren't found when I tried to rebuild the CW
libraries on moving to CW8.3. I'm running OSX 10.4.10 now.)

2 - In a related manner to question #1, I wonder if the problem I'm
having updating from CW 8.2 to 8.3 might not be automatically fixed by
skipping 8.3 completely, and maybe just updating CW all the way to CW 9
or even CW10? Would that fix the include file problem?

3 - Since CodeWarrior is now obsolete (except unfortunately for me, at
the moment) and no longer manufactured or supported, can a version 9.x
or 10.x still be purchased? Better yet, can it be downloaded somewhere
for free even? Is that now legal? Is it even worth doing?

4 - I'm also still using a G4 Mac but hoping for a new Intel-based Mac
soon. I wonder will I still be able to use CodeWarrior (8.2 or beyond)
if I were to buy a new Intel Mac? Will Rosetta on the new Intel Mac
allow me to use CodeWarrior without problem (however slow??) Or, will
CW just plain not work on an Intel-Mac?

5 - Some of my old apps though carbonized do NOT use the new Event
Manager, and still use a resource fork (many are still from ResEdit
days.) Can such code still be converted to XCode from CodeWarrior, or
must anything with old resources be totally rewritten to take advantage
of Interface Builder-style resources and calls?

(And, by the way, it's not that I'm blind to the obvious benefits of
using the latest and greatest XCode/Interface Builder/New Event Manager
Code/ etc....it's just that some of my old apps have a limited
lifetime, and I don't want to spend too much time updating them...but
still getting them to be tweakable outside of CW and in an XCode
environment instead would be quite handy.)

THANKS for any and all comments!
James W. Walker
2007-09-02 07:20:39 UTC
Permalink
Post by Andy
4 - I'm also still using a G4 Mac but hoping for a new Intel-based Mac
soon. I wonder will I still be able to use CodeWarrior (8.2 or beyond)
if I were to buy a new Intel Mac? Will Rosetta on the new Intel Mac
allow me to use CodeWarrior without problem (however slow??) Or, will
CW just plain not work on an Intel-Mac?
You'll probably be able to compile (at least, I have done so with CW
10) but you won't be able to debug.
Post by Andy
5 - Some of my old apps though carbonized do NOT use the new Event
Manager, and still use a resource fork (many are still from ResEdit
days.) Can such code still be converted to XCode from CodeWarrior, or
must anything with old resources be totally rewritten to take advantage
of Interface Builder-style resources and calls?
I'm not sure what you mean by "new Event Manager". If you mean
RunApplicationEventLoop and Carbon Events, that's not a requirement.
And you can start adopting Carbon Events piecemeal while still using
WaitNextEvent. Resources can still be used with Xcode, though of
course neither ResEdit not Resorcerer have been updated for years.
Andy
2007-09-05 01:25:19 UTC
Permalink
Hi James...ahhh, back from a few days off...thanks for your response to
the last two of my questions on Codewarrior, XCode, etc. Good News on
#4, and Yes, you had the right idea of what I was getting at on #5. So
far so good. I hope others might still comment on my first few
questions, but real good news so far. The CodeWarrior group is sure
sparse these days! :-)
Post by James W. Walker
Post by Andy
4 - I'm also still using a G4 Mac but hoping for a new Intel-based Mac
soon. I wonder will I still be able to use CodeWarrior (8.2 or beyond)
if I were to buy a new Intel Mac? Will Rosetta on the new Intel Mac
allow me to use CodeWarrior without problem (however slow??) Or, will
CW just plain not work on an Intel-Mac?
You'll probably be able to compile (at least, I have done so with CW
10) but you won't be able to debug.
Post by Andy
5 - Some of my old apps though carbonized do NOT use the new Event
Manager, and still use a resource fork (many are still from ResEdit
days.) Can such code still be converted to XCode from CodeWarrior, or
must anything with old resources be totally rewritten to take advantage
of Interface Builder-style resources and calls?
I'm not sure what you mean by "new Event Manager". If you mean
RunApplicationEventLoop and Carbon Events, that's not a requirement.
And you can start adopting Carbon Events piecemeal while still using
WaitNextEvent. Resources can still be used with Xcode, though of
course neither ResEdit not Resorcerer have been updated for years.
Fritz Anderson
2007-09-05 13:17:37 UTC
Permalink
You particularly wanted replies to your 1 - 3, and as you haven't
gotten any, I'll offer my weaker-than-optimum ones.
Post by Andy
1 - Why do most articles about how to migrate a CodeWarrior project to
XCode start by saying you should start with CodeWarrior 8.3, or higher?
Is there something about CW8.2 that is a no-no? Can it be worked around
and imported into XCode as is? (I ask this because as it happens, my
old CW projects were created with CW8.2. I once tried to update to
CW8.3 but had various troubles which I don't fully yet understand with
include files that weren't found when I tried to rebuild the CW
libraries on moving to CW8.3. I'm running OSX 10.4.10 now.)
8.3 is required because 8.2-and-earlier didn't have the AppleScript
support Xcode needs for importing projects. The workaround would be to
recreate the project by hand. Your project would have to be
astonishingly large for this to be a significant fraction of your
development effort (unless you make extensive use of compiler-switch
#pragmas).

You might care to post your exact problems with upgrading, as somebody
might have an idea as to what's going on.

One disadvantage in using CodeWarrior nowadays is that (at least
through 8) it never was able to use the header files as released by
Apple. They always had to be tweaked. If you're set up to use the
system headers, you will have trouble. (I don't know if that's your
problem, or even if it's possible to get into that kind of trouble
with CW 8.x.)
Post by Andy
2 - In a related manner to question #1, I wonder if the problem I'm
having updating from CW 8.2 to 8.3 might not be automatically fixed by
skipping 8.3 completely, and maybe just updating CW all the way to CW 9
or even CW10? Would that fix the include file problem?
This sounds well worth trying (net of question 3). You don't have to
be told to make thorough backups of your 8.2 setup first.
Post by Andy
3 - Since CodeWarrior is now obsolete (except unfortunately for me, at
the moment) and no longer manufactured or supported, can a version 9.x
or 10.x still be purchased? Better yet, can it be downloaded somewhere
for free even? Is that now legal? Is it even worth doing?
No, and almost certainly no. (My guess:) Freescale doesn't want to be
responsible for a development system it can't support. Remember that
"support" includes "I can't sell my $10,000,000 product because of a
bug in your compiler." With absolutely no way for Freescale to fix it,
the developer is apt to sue. So they have to take steps to make sure
people don't get into that position. That means no sales, and
enforcing their exclusive right to distribute (or not) CodeWarrior,
whether by sale or gift. A download would be an illegal, and if
Freescale can help it, a short-lived, proposition. Your best hope
would be to find someone who would do you a favor, though that may
take you longer than a hand-conversion.

- F
Andy
2007-09-05 22:58:25 UTC
Permalink
Thanks Fritz...weaker than optimum is still probably a step up for me.
Your comments are most appreciated.

And, yes, some of my problems revolve around having to tweak include
files that I am not responsible for. I quickly feel like I'm in over my
head. I guess that's why I was hoping that maybe rather than trying to
update from 8.2 to 8.3 (and apparently having to tweak include files to
get there), I could just skip 8.x and update right to 9.x or even 10.x
in hopes that any include tweaking would NOT be required, and I'd be
one magical step closer. Now, of course, I regret not upgrading sooner
(but at the time, 8.2 was working real fine! :-))
Post by Fritz Anderson
You particularly wanted replies to your 1 - 3, and as you haven't
gotten any, I'll offer my weaker-than-optimum ones.
Post by Andy
1 - Why do most articles about how to migrate a CodeWarrior project to
XCode start by saying you should start with CodeWarrior 8.3, or higher?
Is there something about CW8.2 that is a no-no? Can it be worked around
and imported into XCode as is? (I ask this because as it happens, my
old CW projects were created with CW8.2. I once tried to update to
CW8.3 but had various troubles which I don't fully yet understand with
include files that weren't found when I tried to rebuild the CW
libraries on moving to CW8.3. I'm running OSX 10.4.10 now.)
8.3 is required because 8.2-and-earlier didn't have the AppleScript
support Xcode needs for importing projects. The workaround would be to
recreate the project by hand. Your project would have to be
astonishingly large for this to be a significant fraction of your
development effort (unless you make extensive use of compiler-switch
#pragmas).
You might care to post your exact problems with upgrading, as somebody
might have an idea as to what's going on.
One disadvantage in using CodeWarrior nowadays is that (at least
through 8) it never was able to use the header files as released by
Apple. They always had to be tweaked. If you're set up to use the
system headers, you will have trouble. (I don't know if that's your
problem, or even if it's possible to get into that kind of trouble
with CW 8.x.)
Post by Andy
2 - In a related manner to question #1, I wonder if the problem I'm
having updating from CW 8.2 to 8.3 might not be automatically fixed by
skipping 8.3 completely, and maybe just updating CW all the way to CW 9
or even CW10? Would that fix the include file problem?
This sounds well worth trying (net of question 3). You don't have to
be told to make thorough backups of your 8.2 setup first.
Post by Andy
3 - Since CodeWarrior is now obsolete (except unfortunately for me, at
the moment) and no longer manufactured or supported, can a version 9.x
or 10.x still be purchased? Better yet, can it be downloaded somewhere
for free even? Is that now legal? Is it even worth doing?
No, and almost certainly no. (My guess:) Freescale doesn't want to be
responsible for a development system it can't support. Remember that
"support" includes "I can't sell my $10,000,000 product because of a
bug in your compiler." With absolutely no way for Freescale to fix it,
the developer is apt to sue. So they have to take steps to make sure
people don't get into that position. That means no sales, and
enforcing their exclusive right to distribute (or not) CodeWarrior,
whether by sale or gift. A download would be an illegal, and if
Freescale can help it, a short-lived, proposition. Your best hope
would be to find someone who would do you a favor, though that may
take you longer than a hand-conversion.
- F
Jonathan Hoyle
2007-09-12 21:33:36 UTC
Permalink
Hi Andy,

Others have already answered many of your questions already, but I'll
throw in what I know as well.
Post by Andy
1 - Why do most articles about how to migrate a CodeWarrior project to
XCode start by saying you should start with CodeWarrior 8.3, or higher?
Well, one good reason is that any 8.x update is free once you have
8.0, and they probably don't want to have to worry about 8.0, 8.1 &
8.2 limitations when 8.3 is freely available. Despite Fresscale's
killing of the product line, you can still download the updates from
their web site:

http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=012726006178821402
Post by Andy
2 - In a related manner to question #1, I wonder if the problem I'm
having updating from CW 8.2 to 8.3 might not be automatically fixed by
skipping 8.3 completely, and maybe just updating CW all the way to
CW 9 or even CW10? Would that fix the include file problem?
Sometimes it's better to make small steps as you upgrade, as compiler
changes may start off as warnings before becoming errors. Another
company I consulted took an old CW Pro 4 application and upgraded one
version at a time, fixing as they went, rather than take on the one
big hurt of a full upgrade.
Post by Andy
3 - Since CodeWarrior is now obsolete (except unfortunately for me, at
the moment) and no longer manufactured or supported, can a version
9.x or 10.x still be purchased?
Not from the original manufacturer. You will occasionally see used
versions available on Ebay or Amazon that you can scarf up, sometimes
very cheaply.
Post by Andy
Better yet, can it be downloaded somewhere for free even? Is that now
legal? Is it even worth doing?
Legal? No. Worth doing? Well, that's up to you. In any case, I
have seen it sold for little more than the price of blank disks, so I
am not sure your "theft" is much of a bargain. In any case, Freescale
doesn't seem to be interested in selling it to you any longer.
Post by Andy
4 - I'm also still using a G4 Mac but hoping for a new Intel-based Mac
soon. I wonder will I still be able to use CodeWarrior (8.2 or beyond)
if I were to buy a new Intel Mac? Will Rosetta on the new Intel Mac
allow me to use CodeWarrior without problem (however slow??) Or, will
CW just plain not work on an Intel-Mac?
CW 10, the final version, compiles and runs on Intel-based
Macintoshes, although does not allow you to debug. This is because
the gdb debugger is not universal, and so you cannot debug into
Rosetta. (Even on Xcode, you cannot debug into a PowerPC app on an
Intel-based Mac, or vice-versa.)

5 - Some of my old apps though carbonized do NOT use the new Event
Post by Andy
Manager, and still use a resource fork (many are still from ResEdit
days.) Can such code still be converted to XCode from CodeWarrior, or
must anything with old resources be totally rewritten to take advantage
of Interface Builder-style resources and calls?
The bigger problem is that your project probably creates a CFM-based
application rather than Mach-O. Since CFM is PowerPC only, you may
want to convert to Mach-O first, making it easier for you to
eventually transition to Xcode.

<SHAMELESS_PLUG>

I am a columnist with maccompanion.com, and had been doing a series of
articles on porting a project from CodeWarrior to Xcode. You can view
them at:

Part I: http://www.maccompanion.com/archives/April2007web/Goodies/AccordingToHoyle.html

Part II: http://www.maccompanion.com/archives/May2007/Columns/AccordingtoHoyle.htm

Part III: http://www.maccompanion.com/archives/June2007/Columns/AccordingtoHoyle.htm

The final installment (Part IV) has been delayed, as my articles have
been concentrating on information from this year's WWDC and the
upcoming Leopard OS. However these first 3 installments ought to keep
you busy.

Feel free to email me if you have any further questions.

</SHAMELESS_PLUG>

Good Luck,

Jonathan Hoyle
http://www.jonhoyle.com
Andy
2007-09-12 22:35:17 UTC
Permalink
Thanks Jonathan...your comments are much appreciated, and shameless
plugs too! I'm in the process of reading your articles on updating as
well. Thanks for the links...
Post by Jonathan Hoyle
Hi Andy,
Others have already answered many of your questions already, but I'll
throw in what I know as well.
Post by Andy
1 - Why do most articles about how to migrate a CodeWarrior project to
XCode start by saying you should start with CodeWarrior 8.3, or higher?
Well, one good reason is that any 8.x update is free once you have
8.0, and they probably don't want to have to worry about 8.0, 8.1 &
8.2 limitations when 8.3 is freely available. Despite Fresscale's
killing of the product line, you can still download the updates from
http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=01272600617882140
2
Post by Andy
2 - In a related manner to question #1, I wonder if the problem I'm
having updating from CW 8.2 to 8.3 might not be automatically fixed by
skipping 8.3 completely, and maybe just updating CW all the way to
CW 9 or even CW10? Would that fix the include file problem?
Sometimes it's better to make small steps as you upgrade, as compiler
changes may start off as warnings before becoming errors. Another
company I consulted took an old CW Pro 4 application and upgraded one
version at a time, fixing as they went, rather than take on the one
big hurt of a full upgrade.
Post by Andy
3 - Since CodeWarrior is now obsolete (except unfortunately for me, at
the moment) and no longer manufactured or supported, can a version
9.x or 10.x still be purchased?
Not from the original manufacturer. You will occasionally see used
versions available on Ebay or Amazon that you can scarf up, sometimes
very cheaply.
Post by Andy
Better yet, can it be downloaded somewhere for free even? Is that now
legal? Is it even worth doing?
Legal? No. Worth doing? Well, that's up to you. In any case, I
have seen it sold for little more than the price of blank disks, so I
am not sure your "theft" is much of a bargain. In any case, Freescale
doesn't seem to be interested in selling it to you any longer.
Post by Andy
4 - I'm also still using a G4 Mac but hoping for a new Intel-based Mac
soon. I wonder will I still be able to use CodeWarrior (8.2 or beyond)
if I were to buy a new Intel Mac? Will Rosetta on the new Intel Mac
allow me to use CodeWarrior without problem (however slow??) Or, will
CW just plain not work on an Intel-Mac?
CW 10, the final version, compiles and runs on Intel-based
Macintoshes, although does not allow you to debug. This is because
the gdb debugger is not universal, and so you cannot debug into
Rosetta. (Even on Xcode, you cannot debug into a PowerPC app on an
Intel-based Mac, or vice-versa.)
5 - Some of my old apps though carbonized do NOT use the new Event
Post by Andy
Manager, and still use a resource fork (many are still from ResEdit
days.) Can such code still be converted to XCode from CodeWarrior, or
must anything with old resources be totally rewritten to take advantage
of Interface Builder-style resources and calls?
The bigger problem is that your project probably creates a CFM-based
application rather than Mach-O. Since CFM is PowerPC only, you may
want to convert to Mach-O first, making it easier for you to
eventually transition to Xcode.
<SHAMELESS_PLUG>
I am a columnist with maccompanion.com, and had been doing a series of
articles on porting a project from CodeWarrior to Xcode. You can view
http://www.maccompanion.com/archives/April2007web/Goodies/AccordingToHoyle.htm
l
http://www.maccompanion.com/archives/May2007/Columns/AccordingtoHoyle.htm
http://www.maccompanion.com/archives/June2007/Columns/AccordingtoHoyle.htm
The final installment (Part IV) has been delayed, as my articles have
been concentrating on information from this year's WWDC and the
upcoming Leopard OS. However these first 3 installments ought to keep
you busy.
Feel free to email me if you have any further questions.
</SHAMELESS_PLUG>
Good Luck,
Jonathan Hoyle
http://www.jonhoyle.com
Loading...