Closed Bug 174405 Opened 19 years ago Closed 19 years ago
Allow Classic Mac build with cw command line tools
Split off from bug 119589 for Classic rather than Mach-O build issues. Relevant discussion copied below. ------- Additional Comment #30 From TimMaroney 2002-10-11 15:56 ------- I am looking at making the same kind of build for Mac Classic PPC and Carbon builds with the MPW Shell. All the major GNU tools exist as MPW tools except gmake. My initial investigation indicates gmake is easy to port. If we can build for Classic without CodeWarrior project files, that should reduce the maintenance cost of the Classic platform as it moves towards the end of its life. ------- Additional Comment #31 From Conrad Carlen 2002-10-12 08:09 ------- > My initial investigation indicates gmake is easy to port. That would be so cool! There would be some additional challenges, like the IDL compiler, though. ------- Additional Comment #32 From TimMaroney 2002-10-13 09:45 ------- xpidl is a command-line tool on other platforms so I don't imagine it would be much trouble to make it an MPW tool. But yes, it's not just gmake. The Windows build instructions list about a dozen required cygwin packages, and the worst case would be that every command in every one of those packages would be needed in MPW. In practice, though, it looks like most of them aren't needed. Basic commands like mkdir, cp, rm, mv and touch could be hooked up to MPW scripts through aliasing. My impression is that Mozilla does not use shell scripts, only perl scripts. If I'm right about that, the chance of requiring large sections of the UNIX command set is mostly limited to make instructions (that is, build rules in makefiles). If I'm wrong, though, the task could be much bigger. I'm thinking of trying to build with a crippled cygwin to see what UNIX commands are required. ------- Additional Comment #33 From TimMaroney 2002-10-13 11:04 ------- config/rules.mk might need some MPW build rules. Not a problem. From eyeballing rules.mk, the commands I'm seeing are perl, cat, cd, cp, echo, make, rm, sed, sleep, test and touch. Not too bad as far as porting needs go. I think all those exist except test and make, and I'm well along on make. There is a good deal of shell-ism in rules.mk, such as if, for and &&. There are only 5 for's, but 24 &&'s and 18 if's. (There are no ||'s outside sed commands.) MPW is compatible with && and ||, and the minor idiosyncracies of MPW if and for syntax can be handled by running the commands through sed. Serialization may present an issue on MPW, in that one has to put out commands and then execute them, rather than being able to run them inside the gmake tool. Creating commands may be dependent on what has happened before, and in MPW gmake, the predecessor commands would not have executed yet. This could be solved by having make stop itself at points and insert a continuation make command at the end of its output in certain make rules, or in other ways. It was not really a problem for MPW's own Build and may not be one here. ------- Additional Comment #34 From Wan-Teh Chang 2002-10-14 10:22 ------- Please open a new bug for making Mac Classic PPC and Carbon builds with the MPW Shell. Each bug should focus on one issue. This bug is about using the CodeWarrior commandline tools to build mach-o. ------- Additional Comment #35 From Scott Collins 2002-10-14 10:23 ------- Building under MPW would be great; this would significantly lower the bar (certainly the financial bar, possibly the complexity bar) for people who want or need CFM builds after our current focus has shifted to mach-o. My understanding is that MPW will remain a Classic application. This probably is not a hindrance. Do we think MPW will remain available? (forget supported)
Scott: Yes, MPW will remain Classic. We could also consider a cross-platform Mozilla Classic build from inside the OS X environment, in which gmake is already available. My gmake port to MPW is going well and should be ready for self-build shortly. Perhaps we can transition to OS X cross-compilation for Classic when it becomes the majority Mac user platform? I think that's the answert to MPW EOL issues, anyway. Lowering the financial bar is possible but would require a build with MPW C++ rather than MW command-line compilers. gcc has generated inferior code compared with platform-specific compilers for Mozilla in the past IIRC. I am not sure how hard using the MPW compiler would be; your previous experiences with compiler changeovers are probably indicative. It's not a bad compiler and may have better optimization than MW, though it hasn't changed in a long time. This is not something I am considering as part of this bug.
autoconf was not taken into account. There are six configure.in files which are run through autoconf to create configurations for make (mostly putting out environment variables, I believe). They incorporate a good deal of shell scripting, some of which is fairly obscure, and therefore presents an MPW problem. Options: (1) Don't use autoconf on MacOS Classic, and instead create the configurations by hand. (2) Port autoconf but fix any shell scripting in configure.in so that it works in MPW if it needs to. (3) Use autoconf but require it to be run when configure.in changes on a different platform (cygwin, os x, linux....) and check in an MPW specific configuration file for Mac from there. All three options are probably feasible. Given that configure.in does not change often, (1) or (3) seem best, and probably (1) so the platform can remain self-contained.
On looking at the source code for autoconf, it's made entirely of m4 and perl scripts, both of which are available under MPW. That should make porting much easier, but it still leaves open the question of shell script compatibility.
QA to jj
QA Contact: granrose → jj
Status: UNCONFIRMED → NEW
Ever confirmed: true
Recommend WONTFIX. Classic support is dead.
Mozilla CFM build is dead. http://groups.google.com/groups?threadm=avkj4k%24ihs2%40ripley.netscape.com
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WONTFIX
Summary: [classic] Allow Mac build with cw command line tools → Allow Classic Mac build with cw command line tools
You need to log in before you can comment on or make changes to this bug.