|
MacBuildInstructions
Build instructions for Chromium on Mac OS X
ExpectationsThese instructions will produce two applications: a test harness for running layout tests (TestShell) and a multi-process web browser (Chromium). Depending on the level or area of your involvement, one or the other may be more important (ie, TestShell will be of primary concern if you're hacking on WebKit). Most people, however, will be interested in Chromium. This project is a work in progress, please respect that. For more detailed information on our progress, please check out the Mac OS X Detailed Status page. Prerequisites
Getting the codeCheck out the source code using the direct svn checkout method if you plan on staying current with the project. As the tarball may not be svn 1.4 compatible, updating it per the instructions probably won't work and you're left with a half-updated tree that doesn't build. Before you check out, make sure that the waterfall indicates the source tree is open, or you risk pulling a broken tree. The path to the build directory should not contain spaces (e.g. "~/Mac OS X/chromium"), as this will cause the build to fail. BuildingThe Xcode project files are generated from GYP files. Running gclient sync will bring the source code up-to-date and will automatically generate the project files. You can also (re-)generate the project files by calling gclient runhooks at any time. To build all of the targets, open ~/chromium/src/build/all.xcodeproj and build the All target. Assuming the waterfall is green, building the All target should not produce any errors and will generate both TestShell and Chromium applications. To work on TestShell directly, open src/webkit/tools/test_shell/test_shell.xcodeproj in XCode and build the test_shell target. The Chromium project is in src/chrome/chrome.xcodeproj. Both of these projects include accompanying unit tests as separate targets. As you make changes, it is very important these tests continue to pass. The build will break if you break the tests. If you have problems building, join us in #chromium on irc.freenode.net and ask there. As mentioned above, be sure that the waterfall is green and the tree is open before checking out. This will increase your chances of success. Building from the command lineChromium can also be built from the command-line using the xcodebuild command. This is useful when you are looking to script or automate builds. For example, assuming ~/chromium/ is the check out directory, to build the 'All' target using the Debug configuration (Release is the other option): $ cd ~/chromium/src/build $ xcodebuild -project all.xcodeproj -configuration Debug -target All RunningAll build output is located in the xcodebuild directory (in the example above, ~/chromium/src/xcodebuild). You can find the applications at {Debug|Release}/TestShell.app and {Debug|Release}/Chromium.app, depending on the selected configuration. Unit TestsWe have several unit test targets that build, and tests that run and pass:
When these tests are built, you will find them in the xcodebuild/{Debug|Release} directory. You can run them from the command line. DebuggingGood debugging tips can be found here. ContributingOnce you’re comfortable with building Chromium, check out Contributing Code for information about writing code for Chromium and contributing it. |
"V8 does not currently support PowerPC."
now, that makes sence, considering v8 is more compiler than interpreter, but I'm still disappointed a little ...
Will there be PPC support?
misterlister: no, it's written there. V8, javascript interpret/compiler won't run on PPC.
I check out the whole source code, but I could not build it... There are lots of errors.
running.cz: It says "currently". Is there any plan for ppc support eventually?
@Takano Naoki: make sure the tree is open when you do a checkout. If you just want to have a look at the state of things, you can find TestShell? builds here.
Thank you, mavink. Now I can build on my environment ;-)
@TEARSxFROMxCALLIE: Since it requires 10.5, I'm guessing not.
@jalexanderdatkins: 10.5 supports PPC.
Does anyone know if this may ever support 10.4? Because, I'm not planning on upgrading anytime soon.
If Google doesn't support PPC, I can understand why. Over our 20 or so web sites the statistics (Google Analytics) show that 9.61% of our visitors over the last 90 days used a MAC, and only 4.65% of the MACs were PPC. So Google would be writing for, testing, and supporting a platform of a total population of under .5% (one half of one percent) of the market. Not only that, but by definition, it is guaranteed to decline every year. Sure it would be great if my old G4 ran it, but it really makes no sense for Google.
Another vote for PPC and 10.4.
First half of 2009? Seriously, you can do better than that Google.
Seems like I am not the only one using a PPC. Bought a Mini just before Apple started to sell Intel machines. I am not willing to buy a new one since the machine runs fine for me.
Then again, Google is not the only one supporting intel only. Maybe they do not respect the .x percent users or even have a deal with apple.
Please include a version for PPC.........Some of us really don't want an Intel Mac.........!
Begging for a PPC version here is not going to do you any good. It doesn't make sense.
It makes sense that V8 would remain Intel-only. There are some really intense optimizations going on (I talked with an ex-professor of mine that now works on V8). Re-coding this for another architecture would be painful.
Oh and @macewan: Give them a break. Do you have any idea what goes into a project like this?
It's a pity that I'll still have to use FF on my PPC (which I have little problems with) but to be honest I don't expect companies (even the big ones...) to write new software that can run on old version of any OS... If only I had money to buy one of the new Macbooks...
>It makes sense that V8 would remain Intel-only. IIRC you may disabled JIT (ie: v8) and use a static javascript interpreter so V8 is not preventing from having a PPC version of chrome. But this would be slower than intel version...
Comment by EJWilliamsJr, Jan 10 (44 hours ago) Please include a version for PPC.........Some of us really don't want an Intel Mac.........!
Why don't you want to join the rest of us in the 21st century? I'm pretty sure 10.6 won't be compatible with PPC so why would Google create a program for old technology - seems kinda pointless.
10.6 will support PowerPC G4 and G5 chips.
Still, porting from one platform to another is about as much as a challenge of porting from one architecture to another. Perhaps an enterprising developer can have Javascript execute in V8 on Intel, and through Safari's JS engine on PowerPC?
So does this mean that there will be no Chrome for PPC at all?
I doubt that even the Google programmers know for sure. And things can always change. Keep lobbying ppcers!
Hi, I use a Mac IIe... can you guys make Chrome work on it?
lol... It's time to move forward with the times. Personally I use chrome on my work XP machine and my Vista boot camp partition. It is my browser of choice. Stable, fast, and of course, google's. Nice job guys. I'm willing to wait as you always do a great job on your mac products.
Seriously, upgrade to Intel people.
Chrome rocks.. But I still dont see why the GUI could be implemented with QT, like Opera does.
It seems like you are re-inventing the wheel instead of maturing existing frameworks.
Why should people have to upgrade? Macs typically last four years before the user upgrades. The last PPC Mac sold was in mid 2006 - that's only 2.5 years ago. Granted the last revision was in late 2005 but that still means PPC Macs have at least a year left in them.
Posted from my Intel Core Duo MacBook? Pro.
@madley.maddles: nobody said they have to upgrade. they just can't run Chrome.
Like the poster above said, asking for PPC would be like asking for Chrome to run on my old Apple Lisa. The cost to Google to get Chrome to run well on PPC is just way too much. Begging and voting and pleading is not going to change the simple economic shere. Give it up already.
Like Chromium, Snow Leopard will support Intel iron exclusively. Get with the program, hippies!
@SignOfZeta?: no. 10.6 is Intel-only.
Although that is certainly an idea (using a different JS engine on PPC). Not sure they're willing to go through the testing that would require for such a small marketshare, though. And I'm not sure Chromium would be worth it without V8. I think it's my favorite part. I'd be on FF if it ran Javascript like Chromium.
There is a significant share of PPC Macs out there. For example, my parent's Power Mac G4's XBench score is higher than some Mac Mini's out there. They have no reason to upgrade to another computer, especially since it runs all the apps they use at a decent speed, runs Leopard well, and runs Safari well. It also has gigabit ethernet.
Is there a way to get around building webkit every time? Could I just install the upstream nightly build and set up xcode to use some of the prebuilt webkit rather than all of the webkit source from chromium? This question applies for the other third party libraries too, like libxslt. I have many of these installed through macports and yet xcode seems to build the chromium-sourced version every time.
@SignOfZeta? You are simply wrong. 10.6 is intel only. It would be a huuuge waste of money to just now start developing for a fading architecture.
Intel is crap, are you making a crappy browser as well? If not can you please make it PPC compatible?
Many thanks, Pat
To all that are asking for Chrome Mac to work on PPC: THIS IS AN OPEN SOURCE PROJECT! If making it run on PPC is so easy and the demand is so high, just write it.
@fabtheman hahaha Very true. @patriziosaliani You're an idiot.
If a PPC version came out I'd certainly try it out. There are some things about FireFox? that really irritate me, but I have next to nothing to make me really desire to go out and buy a new computer enough to pony up the cash. I've got the same G4 I bought new in 2000, upgraded with a processor upgrade card running OS X 10.5.6 The last time I got a new computer it was only because my then 6 year old PowerMac6100? started overheating and killed it self.
That said, I'm not holding my breath or anything. I'll be fine running whatever ends up being the last version of FireFox? that works for PPC untill it starts crapping out on nearly every single page the same way Netscape Navigator 3.0 does now.
To Tearsxfromxcallie: are you assuming I should know how to build an app? And by the way do you think I care learning howto? Idiot to me is just an unsollicited comment but if you want to meet me we can talk about it. I can make you happy.
You recent converts from PC's have to understand that longtime Mac users are accustomed to getting more years of useful life out of their computers than you are. It's a painful thought to have a Mac mini you bought new in 2005 unable to run a browser released in 2009, a mere 4 years later. That said, if you're still chugging along on a G4 as your main machine, you really should go get a new machine. The Intel-powered Macs obliterate the PPC ones - very very fast machines by comparison. And what is with the Leopard upgrade holdouts? They'll have Snow Leopard out soon enough, I guess you might as well wait for that - oh wait - you need an Intel Mac for that too.
Please ppc and 10.4, please!!!
Why would any sane company make a browser for Mac PPC in 2009? Give me a break. I have been on Macs since they came out in 1984, and what makes them great is that they morph to the demands of every mini-era. And there are always the people who get left in the dust cause they can't change as nimbly. My Intel MacBook? Pro is now 3 years old and still is the best computer I've ever had. Chrome for has taken long enough... don't start whining with absurd requests and slow it down even more.
"To build all of the targets, open ~/chromium/src/build/all.xcodeproj and build the All target"
There is no all.xcodeproj after a fresh sync.
"To work on TestShell? directly, open src/webkit/tools/test_shell/mac/TestShell?.xcodeproj in XCode and build the TestShell? target."
Nor is there a TestShell?.xcodeproj file....
I have a problem building Chrome. A time.h in chrome is getting included instead of the system one when, in pthread.h (system), I have #include <time.h>
Example: CompileC ../xcodebuild/base.build/Debug/base.build/Objects-normal/i386/prtime.o /Users/filcab/dev/stuff/google/src/base/third_party/nspr/prtime.cc normal i386 c++ com.apple.compilers.gcc.4_2
In file included from /Developer/SDKs/MacOSX10.5.sdk/usr/include/pthread.h:60, ./time.h:213: error: 'time_t' has not been declared ./time.h:214: error: 'time_t' does not name a typeThe time.h that gets included is in src/base/base/time.h
I've posted a pre-built version on my website as well as the build instructions I used. It seems that you have to use "gclient sync" to generate the Xcode project files (all.xcodeproj).
http://www.bluestatic.org/chromium/
Thanks for the link... But even if I follow those instructions, I get the same error... somehow the src/base directory is getting included in the include search path... and time.h is getting ingluded when the system's pthread.h includes <time.h>...
Any clues?
It would be great to have some binary downloadable at some point like Webkit nightly provide.
In Tiger, it won't run ?
Try reading the second section called "Prerequisites." Leopard only.
Upgrade from the PPC and you will never look back
"Hi, I use a Mac IIe... can you guys make Chrome work on it?..."
Possibly, if the IIe is running a flavor of Linux that will support Chrome.
"...Possibly, if the IIe is running a flavor of Linux that will support Chrome."
Sorry, my bad. I was thinking of the Macintosh II. I don't know of any flavor of Linux that will run on an Apple IIe.
PPC and 10.4 pleaaaase!
Please include PowerPC Compatibility. I really want to run this on my G4
Hi! I'm having a problem with syncing gclient. The process as I can see in the terminal goes well, but when the files stop downloading there is neither /src/build/all.xcodeproj file, nor src/webkit/tools/test_shell/TestShell?.xcodeproj one. Can anyone help me with this? The waterfall at the moment of syncing was green. Thanks!
PPC is dying out, it is time to upgrade!!!
Would it be possible to add Sparkle (http://sparkle.andymatuschak.org/) to Chrome so that it is easy for testers to update automatically rather than manually?
Nikita: Do you have a src/chrome/chrome.xcodeproj?
muhammadk: They'll probably use Google Update eventually. That's a lower priority, though.
rsesek: I'm running into the same problems as Nikita, no All.xcodeproj, no chrome.xcodeproj either.
I have tried both downloading and unarchiving the tarball and using gclient to checkout the source code directly. (using SVN 1.5.6, so no issues there either). In both cases, the .xcodeproj files are MIA.
It seems like both .xcodeproj files have been removed from the trunk at some point in the past.
Yep same problem here of course. No All.xcodeproj and no chrome.xcodeproj please advise.
in 2.0.x the all.xcodeproj seems to be replaced by all.gyp. The latest release with the all.xcodeproj is 1.0.145.65. I haven't found a copy of chrome.xcodeproj in any of the sources.
The Xcode projects are generated from the gyp files on checkout. If for some reason that step didn't run for you, you can generate them with 'gclient runhooks --force'
Thanks, I pulled it again normally using gclient. It converted the files. I'm compiling now.
I pulled the source (with a green waterfall), and found no .xcodeproj files. I ran 'gclient runhooks --force', and it gave no output, yet no Xcode projects were made. Am I doing something wrong?
I'm having a similar issue. No .xcodeproj files. The output of gclient runhooks --force is below: