update for Intel

Cameron Kaiser 2018-07-15 01:38:57 +00:00
parent efc4e9b602
commit 989972da4b

@ -10,8 +10,9 @@ These build instructions are always subject to change. You should be familiar wi
* The currently supported compiler is `gcc` 4.8.x (4.8.2 or higher), from MacPorts (see below); building with 4.6 as used in TenFourFox 38 is no longer possible. However, although Apple `gcc` 4.0.1 and `gcc` 4.2 are no longer supported, you must still install Xcode for certain other prerequisites.
* Later versions of `gcc` have been used in limited situations, and may work, but are not yet supported.
* Building on 10.5.8 and/or with Xcode 3 should work, but linking against the 10.5 SDK is not supported. Note that the browser can still be _built_ on 10.5.8, and will still _run_ on 10.5.8, but the only allowed target will be a _10.4_-compatible browser.
* Building on Intel now functions again, but there are many known problems with the browser still (see the section in _Building the browser_).
* If your compiler is compiled for 10.5, the browser will use the 10.4 SDK, but wind up linked against your 10.5-only `libgcc`, `libatomic` and `libstdc++`. If you intend to use your build on a 10.4 system, you will need to replace them with 10.4-compatible libraries. The easiest source is a TenFourFox binary package; see below (under Distributing the executable). If this is not acceptable, it is also possible, though involved, to make a cross-building `gcc`; see [issue 52](/classilla/tenfourfox/issues/52).
* `clang` is not supported. However, it may be possible to do a cross-build on 10.6.8 using a cross-compiling version of `gcc`. Good luck, let us know if it works. We are not aware of any presently working way to get later versions of OS X to build TenFourFox, but [this script may help](https://github.com/devernay/xcodelegacy). If you get any of this working, post an issue with how you did it!
* `clang` is not supported. However, it may be possible to do a cross-build on 10.6.8 using a cross-compiling version of `gcc`. Good luck, let us know if it works. We are not aware of any presently working way to get later versions of OS X to build TenFourFox, but [this script may help](https://github.com/devernay/xcodelegacy). If you get any of this working, post an issue with how you did it!
* Install MacPorts, using the Tiger `dmg` for 10.4 or the Leopard `dmg` for 10.5. Note that MacPorts does not always have the most current release up to date for 10.4 or 10.5, but you can still get whatever the most recently updated historical version was from [the MacPorts download repository](https://distfiles.macports.org/MacPorts/) -- you need only grab the most recent 10.4 or 10.5 version available, because we will immediately force it to self-update in the next step (read on).
* We need to install not only Git, a new Python and a new `gcc`, but we'll also need Mozilla's preferred `autoconf` and a newer GNU `make` to get around various bugs in Tiger's included version. Get a cup of coffee, because MacPorts likes to install everything else as a prereq for everything else.
@ -28,7 +29,7 @@ These build instructions are always subject to change. You should be familiar wi
1. Select your desired configuration (any of the `*.mozcfg` files) and copy it to `.mozconfig` in the root of the repo. These configurations should be self-explanatory. For the gory details, see [Configuring Build Options](https://developer.mozilla.org/en/configuring_build_options) at MDN, but in general, you should avoid changing the standard build configurations unless you know exactly what you are doing. Use the `mozconfig`s that came with this most current revision if at all possible, because the options are periodically upgraded and changed as the build system gets modified, and old configurations may fail inexplicably.
* **G4 and G5 owners:** if you want to test the AltiVec (VMX) code paths apart from the standard `mozcfg` files, you should include `--enable-tenfourfox-vmx` in your custom `.mozconfig` or it will be compiled without AltiVec/VMX acceleration.
* **G5 owners _ONLY_:** if you want to test the G5-specific code paths apart from the standard `G5.mozcfg`, you should include `--enable-tenfourfox-g5` in your custom `.mozconfig` or the regular code paths will be used instead of the G5-specific ones. This does not enable VMX; if you want that, specify it too. You may also need to add `-D_PPC970_` to your compiler strings so that non-Mozilla libraries and JavaScript properly select the correct architecture optimizations. Although you don't need this, the browser will run substantially more poorly if you don't.
* **Intel owners _ONLY_: Intel builds for TenFourFox 45 do not work.** You can fix this! Good luck; submit patches if you get it operational.
* **Intel owners _ONLY_:** TenFourFox is now known to build on Intel systems again, but you may need to write your own `.mozconfig` to tailor it to your system. A sample `intel-Yonah.mozcfg` file for Yonah Intel systems is currently included which you can use as a basis. Currently there are many known bugs and certain features don't work other than basic functionality. Don't use the modified `strip` on Intel; also, we don't ship a debugger for this platform either right now. There is no support for building on Intel, but if you find and fix issues, pull requests will be accepted as long as they don't regress Power Macs.
1. (Optional but recommended) Edit `netwerk/protocol/http/OptimizedFor.h` and set the string to something human-readable about the configuration you're building for. This string should be relatively short, and will appear after the `TenFourFox/` in the user agent string.
* **Warning:** if you don't do something like `git update-index --skip-worktree netwerk/protocol/http/OptimizedFor.h`, this change will end up in any pull requests you issue and _we won't accept them_!
1. (Optional) If you want to change the reported version numbers, alter `browser/config/version.txt` for the reported browser version, `browser/config/version_display.txt` for the _displayed_ browser version (this is where we usually put the long FPR string), and `config/milestone.txt` for the reported Gecko version.