From 30378b497340a9ee9e24331e08f8bd56e1db2400 Mon Sep 17 00:00:00 2001 From: Google Code Exporter Date: Sun, 9 Aug 2015 17:46:48 -0400 Subject: [PATCH] Migrating wiki contents from Google Code --- AAATheFAQ.md | 229 ++++++++++++++++++++++++++++++++++++ Hashes.md | 65 ++++++++++ HowToBuild.md | 56 +++++++++ HowToBuildNow.md | 80 +++++++++++++ HowToBuildRightNow.md | 100 ++++++++++++++++ HowToBuildRightNow38.md | 96 +++++++++++++++ IntelBuild.md | 39 ++++++ Localization.md | 181 ++++++++++++++++++++++++++++ MacTubesEnabler.md | 51 ++++++++ PluginsNoLongerSupported.md | 45 +++++++ ProjectHome.md | 23 ++++ QuickTimeEnabler.md | 103 ++++++++++++++++ ReleaseNotes100.md | 63 ++++++++++ ReleaseNotes1001.md | 56 +++++++++ ReleaseNotes10010.md | 58 +++++++++ ReleaseNotes10011.md | 57 +++++++++ ReleaseNotes1002.md | 61 ++++++++++ ReleaseNotes1003.md | 61 ++++++++++ ReleaseNotes1004.md | 58 +++++++++ ReleaseNotes1005.md | 60 ++++++++++ ReleaseNotes1006.md | 64 ++++++++++ ReleaseNotes1007.md | 58 +++++++++ ReleaseNotes1008.md | 58 +++++++++ ReleaseNotes1009.md | 58 +++++++++ ReleaseNotes10Beta1.md | 67 +++++++++++ ReleaseNotes110.md | 59 ++++++++++ ReleaseNotes120.md | 59 ++++++++++ ReleaseNotes130.md | 59 ++++++++++ ReleaseNotes140.md | 55 +++++++++ ReleaseNotes150.md | 61 ++++++++++ ReleaseNotes1501.md | 55 +++++++++ ReleaseNotes170.md | 70 +++++++++++ ReleaseNotes1701.md | 60 ++++++++++ ReleaseNotes17010.md | 59 ++++++++++ ReleaseNotes17011.md | 63 ++++++++++ ReleaseNotes1702.md | 62 ++++++++++ ReleaseNotes1703.md | 58 +++++++++ ReleaseNotes1704.md | 58 +++++++++ ReleaseNotes1705.md | 58 +++++++++ ReleaseNotes1706.md | 58 +++++++++ ReleaseNotes1707.md | 59 ++++++++++ ReleaseNotes1708.md | 58 +++++++++ ReleaseNotes1709.md | 60 ++++++++++ ReleaseNotes17Alpha2.md | 66 +++++++++++ ReleaseNotes190.md | 60 ++++++++++ ReleaseNotes1902.md | 60 ++++++++++ ReleaseNotes200.md | 66 +++++++++++ ReleaseNotes210.md | 62 ++++++++++ ReleaseNotes220.md | 63 ++++++++++ ReleaseNotes2201.md | 66 +++++++++++ ReleaseNotes2202.md | 63 ++++++++++ ReleaseNotes240.md | 67 +++++++++++ ReleaseNotes2410.md | 70 +++++++++++ ReleaseNotes2420.md | 70 +++++++++++ ReleaseNotes2430.md | 69 +++++++++++ ReleaseNotes2440.md | 70 +++++++++++ ReleaseNotes2450.md | 65 ++++++++++ ReleaseNotes2460.md | 64 ++++++++++ ReleaseNotes2470.md | 64 ++++++++++ ReleaseNotes310.md | 85 +++++++++++++ ReleaseNotes3110.md | 73 ++++++++++++ ReleaseNotes3111.md | 71 +++++++++++ ReleaseNotes3120.md | 70 +++++++++++ ReleaseNotes3130.md | 70 +++++++++++ ReleaseNotes3140.md | 75 ++++++++++++ ReleaseNotes3150.md | 68 +++++++++++ ReleaseNotes3160.md | 68 +++++++++++ ReleaseNotes3170.md | 68 +++++++++++ ReleaseNotes3180.md | 64 ++++++++++ ReleaseNotes3801.md | 70 +++++++++++ ReleaseNotes3811.md | 77 ++++++++++++ ReleaseNotes3820.md | 75 ++++++++++++ ReleaseNotes40.md | 40 +++++++ ReleaseNotes401.md | 41 +++++++ ReleaseNotes402.md | 39 ++++++ ReleaseNotes403.md | 38 ++++++ ReleaseNotes50.md | 58 +++++++++ ReleaseNotes5Beta1.md | 51 ++++++++ ReleaseNotes5Beta2.md | 56 +++++++++ ReleaseNotes60.md | 62 ++++++++++ ReleaseNotes601.md | 51 ++++++++ ReleaseNotes6Beta1.md | 59 ++++++++++ ReleaseNotes70.md | 51 ++++++++ ReleaseNotes7Beta1.md | 56 +++++++++ ReleaseNotes80.md | 66 +++++++++++ ReleaseNotes8Beta1.md | 61 ++++++++++ ReleaseNotes90.md | 63 ++++++++++ ReleaseNotes9Beta1.md | 62 ++++++++++ ReleaseNotesBeta11.md | 39 ++++++ ReleaseNotesBeta12.md | 40 +++++++ ReleaseNotesBeta7.md | 28 +++++ ReleaseNotesBeta8.md | 36 ++++++ ReleaseNotesBeta9.md | 40 +++++++ Roadmap.md | 204 ++++++++++++++++++++++++++++++++ SupportLevels.md | 21 ++++ TechnicalDifferences.md | 22 ++++ VideoDeviceSupport.md | 23 ++++ WhichABI.md | 37 ++++++ WhichVersion.md | 21 ++++ 99 files changed, 6262 insertions(+) create mode 100644 AAATheFAQ.md create mode 100644 Hashes.md create mode 100644 HowToBuild.md create mode 100644 HowToBuildNow.md create mode 100644 HowToBuildRightNow.md create mode 100644 HowToBuildRightNow38.md create mode 100644 IntelBuild.md create mode 100644 Localization.md create mode 100644 MacTubesEnabler.md create mode 100644 PluginsNoLongerSupported.md create mode 100644 ProjectHome.md create mode 100644 QuickTimeEnabler.md create mode 100644 ReleaseNotes100.md create mode 100644 ReleaseNotes1001.md create mode 100644 ReleaseNotes10010.md create mode 100644 ReleaseNotes10011.md create mode 100644 ReleaseNotes1002.md create mode 100644 ReleaseNotes1003.md create mode 100644 ReleaseNotes1004.md create mode 100644 ReleaseNotes1005.md create mode 100644 ReleaseNotes1006.md create mode 100644 ReleaseNotes1007.md create mode 100644 ReleaseNotes1008.md create mode 100644 ReleaseNotes1009.md create mode 100644 ReleaseNotes10Beta1.md create mode 100644 ReleaseNotes110.md create mode 100644 ReleaseNotes120.md create mode 100644 ReleaseNotes130.md create mode 100644 ReleaseNotes140.md create mode 100644 ReleaseNotes150.md create mode 100644 ReleaseNotes1501.md create mode 100644 ReleaseNotes170.md create mode 100644 ReleaseNotes1701.md create mode 100644 ReleaseNotes17010.md create mode 100644 ReleaseNotes17011.md create mode 100644 ReleaseNotes1702.md create mode 100644 ReleaseNotes1703.md create mode 100644 ReleaseNotes1704.md create mode 100644 ReleaseNotes1705.md create mode 100644 ReleaseNotes1706.md create mode 100644 ReleaseNotes1707.md create mode 100644 ReleaseNotes1708.md create mode 100644 ReleaseNotes1709.md create mode 100644 ReleaseNotes17Alpha2.md create mode 100644 ReleaseNotes190.md create mode 100644 ReleaseNotes1902.md create mode 100644 ReleaseNotes200.md create mode 100644 ReleaseNotes210.md create mode 100644 ReleaseNotes220.md create mode 100644 ReleaseNotes2201.md create mode 100644 ReleaseNotes2202.md create mode 100644 ReleaseNotes240.md create mode 100644 ReleaseNotes2410.md create mode 100644 ReleaseNotes2420.md create mode 100644 ReleaseNotes2430.md create mode 100644 ReleaseNotes2440.md create mode 100644 ReleaseNotes2450.md create mode 100644 ReleaseNotes2460.md create mode 100644 ReleaseNotes2470.md create mode 100644 ReleaseNotes310.md create mode 100644 ReleaseNotes3110.md create mode 100644 ReleaseNotes3111.md create mode 100644 ReleaseNotes3120.md create mode 100644 ReleaseNotes3130.md create mode 100644 ReleaseNotes3140.md create mode 100644 ReleaseNotes3150.md create mode 100644 ReleaseNotes3160.md create mode 100644 ReleaseNotes3170.md create mode 100644 ReleaseNotes3180.md create mode 100644 ReleaseNotes3801.md create mode 100644 ReleaseNotes3811.md create mode 100644 ReleaseNotes3820.md create mode 100644 ReleaseNotes40.md create mode 100644 ReleaseNotes401.md create mode 100644 ReleaseNotes402.md create mode 100644 ReleaseNotes403.md create mode 100644 ReleaseNotes50.md create mode 100644 ReleaseNotes5Beta1.md create mode 100644 ReleaseNotes5Beta2.md create mode 100644 ReleaseNotes60.md create mode 100644 ReleaseNotes601.md create mode 100644 ReleaseNotes6Beta1.md create mode 100644 ReleaseNotes70.md create mode 100644 ReleaseNotes7Beta1.md create mode 100644 ReleaseNotes80.md create mode 100644 ReleaseNotes8Beta1.md create mode 100644 ReleaseNotes90.md create mode 100644 ReleaseNotes9Beta1.md create mode 100644 ReleaseNotesBeta11.md create mode 100644 ReleaseNotesBeta12.md create mode 100644 ReleaseNotesBeta7.md create mode 100644 ReleaseNotesBeta8.md create mode 100644 ReleaseNotesBeta9.md create mode 100644 Roadmap.md create mode 100644 SupportLevels.md create mode 100644 TechnicalDifferences.md create mode 100644 VideoDeviceSupport.md create mode 100644 WhichABI.md create mode 100644 WhichVersion.md diff --git a/AAATheFAQ.md b/AAATheFAQ.md new file mode 100644 index 000000000..39e22cd24 --- /dev/null +++ b/AAATheFAQ.md @@ -0,0 +1,229 @@ +**Please don't modify this document unless you are authorized to do so. Comments not related or relevant to the most current release of TenFourFox may be deleted for space.** + +# TenFourFox Frequently Asked Questions # + +This page is for frequently asked questions about TenFourFox (or, as we abbreviate it, 10.4Fx). Some of these are also answered on the main site and other places in Google Code, but are also provided here for convenience. + +Questions answered in the FAQ are generally pertinent only to the **most current version of 10.4Fx** although notes about earlier versions are also included for reference. + +## What is TenFourFox? ## + +TenFourFox (_hereafter 10.4Fx_) is a port of Firefox to the Power Macintosh, running either Mac OS X 10.4 or 10.5. + +## Why make 10.4Fx? ## + +Mozilla stopped supporting Power Macintosh and Mac OS X v10.4 with Firefox 4/Mozilla 2.0, both of which remain important and in our humble opinion viable platforms, particularly for people who need to run older software or use Classic. We fall into this category. This is our attempt to rectify the disparity. + +## Why isn't it called Firefox? ## + +10.4Fx is not called Firefox because technically it isn't, and therefore legally it can't be. Mozilla's trademark conditions require that builds named Firefox be based on unmodified source, and 10.4Fx is modified. + +## What modifications were made to 10.4Fx? ## + +See TechnicalDifferences for the current set. In broad strokes, however, 10.4Fx contains modified widget code to work with OS X Tiger, contains modified font code to remove Mozilla's dependency on CoreText, disables graphics acceleration and WebGL (which are not compatible with Tiger), and includes AltiVec- and PowerPC-specific code such as its own JavaScript JIT accelerator and WebM decoder. There are other smaller changes due to the older build system available to 10.4. + +## Does Mozilla support TenFourFox? ## + +**No. TenFourFox is not an official Mozilla build or product.** That said, our project lead is a member of the Mozilla security group, and all our contributors routinely upstream patches we believe of benefit to other PowerPC builds of Firefox, which Mozilla accepts. However, we maintain separate support networks, build systems, and distribution infrastructure which Mozilla has no role in operating; no one working on this port is a Mozilla employee; and the project receives no material support from Mozilla. In short, we are no different to Mozilla than any other 3rd-party "Tier 3" port. + +## What is the difference between the _stable_ and _unstable_ branches? ## + +(This question does not apply to version 9.0 and earlier.) + +The _stable_ branch of TenFourFox is based on the Firefox extended support release, otherwise known as the Firefox **ESR**. The ESR receives bugfixes and security updates from Mozilla, but no new Firefox-general features. The _unstable_ branch of TenFourFox is based upon the current version of Firefox. + +The _stable_ branch, despite its name, does receive selected new TenFourFox features and does have "betas" for testing them, but does not receive other feature updates from Mozilla. Although it is not as technologically advanced as the _unstable_ branch, it is based on tested and stable code and receives security updates, and therefore **the stable branch is the recommended version for most users.** + +Because the _unstable_ branch is not a release-quality version, it frequently has known bugs, and therefore is only recommended for developers and advanced users. Nevertheless, we encourage technically proficient users to help us develop and keep the PowerPC Firefox port viable. If you are interested in helping to test the _unstable_ branch, please visit the [TenFourFox Development](http://tenfourfox.blogspot.com/) blog. + +## Are there other PowerPC OS X builds of Firefox? ## + +We are no longer aware of other current builders. For a period of time AuroraFox issued a 10.5-only build, but is no longer supported as of Firefox 20. There are also some older Firefox rebuilds for Power Macs made directly from Mozilla's source code, but none of them are still maintained. + +However, there is a Tenfourbird based on 10.4Fx code for Thunderbird users, compatible with 10.4 and 10.5, and a version of SeaMonkey for 10.5 only. + +We do not officially endorse any alternative build (other than our own, of course), although some of these builders also contribute to this project. + +## Why are there four different versions? Which one do I pick? ## + +10.4Fx comes in processor-tuned variants to give you the best speed on your particular Macintosh. The G4 and G5 versions include AltiVec code, for example, and the G5 JavaScript accelerator is tuned differently for better performance on the PowerPC 970. If you are using a G3 or a G5, you should use the G3 or G5 version, respectively. If you are using a G4, see WhichVersion for whether you should use the 7400 or 7450 build. + +## Can 10.4Fx run on Panther? (Jaguar, etc.?) ## + +No. OS X 10.3 does not contain the secret CoreText that is necessary for portions of the underlying font code, and because current versions of Firefox depend strongly on Cocoa, the core operating system libraries in general are not advanced enough to support the browser base. There is no easy way to fix this. For Panther, your best bet is probably Camino 1.6.1; you might also consider SeaMonkey 1.1, which will work for Jaguar too. You could also run [Classilla](http://www.classilla.org/) in Classic, which is also your best option for 10.0-10.1 if anyone is still running that, and of course OS 8.6 and OS 9. + +## I started up TenFourFox and it doesn't work/won't start. Don't you even test your software? ## + +No, we don't use the browser we write, at all. :P Joking aside, serious crippling issues like this are usually due to something local; failure to even start up would be rapidly apparent to our testing audience. To diagnose the problem will need a little detective work. + +The first thing to try when the browser won't work or won't even start is to try to start in safe mode -- hold down the Option key as you start 10.4Fx. This will disable any problematic extensions and themes and certain other browser features. If this fixes the problem, you should attempt to find which extension or feature is the problem. Some older extensions may cause serious issues with the browser. + +If this doesn't fix it, you should try [starting with a blank profile](http://tenfourfox.tenderapp.com/kb/general/how-to-reset-your-profile) instead of your earlier Firefox profile. Profiles created by versions of Firefox prior to 3.6 may corrupt or be unreadable to 10.4Fx. **If you upgraded from a very old version of Firefox (such as 2.x, 3.0 or 3.5) directly to TenFourFox, your profile probably won't work. You should try to upgrade to versions inbetween if you want to keep your profile so that information is properly upgraded at each step.** See _Will 10.4Fx use all my Firefox settings?_ below for more information. You may be able to keep the profiles separate if you are unable to do this, though it is not recommended. + +If you want to open a support ticket, please include any output from `Console.app` that appears when you start the application (don't cut and paste everything, just what is new). + +[Mozilla's Firefox OS X support pages](http://support.mozilla.com/en-US/kb/Firefox%20will%20not%20start) also have other suggestions for fixing startup problems. + +Also, see if the suggestions in the next question help you: ... + +## 10.4Fx says that it is "not supported on this architecture." ## + +There are several causes for this message: + + * You accidentally downloaded Firefox, not TenFourFox. Firefox is an Intel-only application and will not run on a Power Mac. + * You accidentally downloaded the wrong architecture version. A Power Mac G3 will not run anything but the G3 version; the G4 or G5 versions will either give you this message or not run at all. + * The tool you used to unzip 10.4Fx corrupted it. **Do not use third-party unzipping tools (such as Zipeg and others) to open the .zip file; it may corrupt the application.** Use the native OS X archive utility that comes with Tiger and Leopard (it is in `/System/Library/CoreServices/BOMArchiveHelper.app`, or you can try right-clicking on the .zip file and selecting it from the `Open With...` list). + +## 10.4Fx is very slow when it starts up. ## + +Since Firefox 5, Mozilla has required that most of the components of the browser be combined into a large "superlibrary" called _XUL_; it is no longer possible to run with the pieces separated anymore. XUL contains the bulk of the browser's code, roughly 70MB in size in current versions, and when the browser starts up this entire library needs to be scanned and components loaded from it. Part of this process happens on startup, but some happens on demand, so the first few pages you load might be slower than they should be. On a fast G5, this might be only a matter of a few seconds, but obviously it takes longer on computers with slower CPUs or slower hard disks. + +There is a silver lining, though: once XUL is mostly/fully loaded, much of it remains in memory, and the browser becomes considerably faster. Plus, because the components are kept all in one place, certain types of glue code can be dispensed with, allowing the browser to have even less overhead once it's fully loaded. As long as you keep the browser open and don't quit it (you can sleep your Mac with 10.4Fx running), you won't have to pay this startup penalty again unless you have to restart the browser. + +## Can 10.4Fx run on an Intel Mac with 10.4 or 10.5? ## + +Yes, but: **Intel Macintoshes are not supported. Please do not ask for support on Tenderapp.** Because Intel is a better-known architecture to attackers than PowerPC, both Intel 10.4 and 10.5 are much more likely to be successfully attacked than PowerPC, even though both technically have the same or similar security holes. You are strongly advised to update to at least Snow Leopard (10.6) and run the regular Firefox, which will give you security updates and still lets you run most OS X PowerPC applications. Apple still sells Snow Leopard, which even the earliest Intel Macs can run and is a necessary prerequisite for 10.7 through 10.9: http://store.apple.com/us/product/MC573/mac-os-x-106-snow-leopard + +That having been said, if you are absolutely unable or unwilling to upgrade your Intel Mac, it is possible to run TenFourFox on it under Rosetta with 10.4-10.6. However, because TenFourFox uses advanced custom code specific to the PowerPC architecture, Rosetta may have compatibility problems running the browser. Follow the steps below: + + * First, make sure you are using the _G3_ version; the others, particularly the G5 version, will not work with Rosetta under _any_ circumstances. + + * Second, if the browser crashes when you try to start it, try to restart it in **safe mode** (hold down the Option key as you start the browser). If this allows the browser to start, you will need to disable the JavaScript compiler permanently. Go to `about:config` by typing it in your address bar. Find all the preferences starting with `javascript.options.baselinejit` and `javascript.options.ion` and make sure they are set to `false` by double-clicking the value. If they are already false, leave them alone. **Do not change any other options.** Restart 10.4Fx and see if this fixes the problem. You can also try this if you experience inexplicable crashes with 10.4Fx on your Intel Mac, even if it appears to start normally. + +In general, using Rosetta to run TenFourFox will be noticeably _slower_ on an Intel Mac, even if you are successful in starting it up. The reason is that Rosetta must convert all the PowerPC code in it into Intel machine language on the fly and there is no AltiVec or other acceleration support. As a result, it will appear to be much slower than Firefox 3.6, 10 or 16, all of which have native Intel code. However, it is more up-to-date with security patches and fixes, so you may prefer it if your Intel Mac is sufficiently fast enough. + +At one time a TenFourFox 17.0.2 was available for Intel, donated by a contributor, but is no longer being maintained. You should not use this version any more due to known security vulnerabilities. If you can help with building and maintaining a newer release, please post to the development blog. + +Finally, let us say it again: **Intel Macintoshes are not supported under any circumstances, period.** Power Macs remain the primary focus of support and development; any indulgence of Intel Macs is on a best-effort basis only. Seriously, please do us all a favour and install Snow Leopard and run the real Firefox. + +## Will 10.4Fx use all my Firefox settings? ## + +Yes, because as far as your Mac is concerned TenFourFox _is_ Firefox, so it will use your previous profile seamlessly including all of your old bookmarks, all compatible add-ons and all settings. **However, you may wish to install versions in between and upgrade through them** so that your profile is correctly updated, such as from 2 to 3 to 3.6. + +Similarly, **if you are updating from a Firefox version prior to 10.0 (such as 3.6), download and install TenFourFox 10.0.11, run it once, then download and install 17.0.11, run that once, then download and install 24.7.0, run that once, then download and install the current version of TenFourFox.** If you are unable to do so, consider removing the `Library/Application Support/Firefox` folder in your home directory to make sure settings are clean and correct, but this will destroy your bookmarks, saved settings, cookies and add-ons. **If your Mac has never run Firefox (even if it ran Camino), you don't need to do this.** + +Again, in some cases, you may have corrupted or buggy settings from older versions that will actually cause problems with 10.4Fx. In that case, [you may need to reset your profile](http://tenfourfox.tenderapp.com/kb/general/how-to-reset-your-profile); there is usually no way to fix this otherwise. + +As a corollary in general, old versions of Firefox that are no longer supported will typically not be able to use profiles from later versions of Firefox, and may even corrupt them. That brings us to the next question: + +## I want to keep my Firefox and 10.4Fx settings separate. ## + +If you must use the old Firefox, or use different add-ons or keep different settings, you will need separate profiles. Mozilla explains how to start the Firefox Profile Manager at http://support.mozilla.com/en-US/kb/Managing-profiles. These steps will also work for TenFourFox; just substitute the correct application. **Be careful:** profile management, if done incorrectly, can cause you to lose your current settings and bookmarks. Follow the directions exactly. This is not recommended if you can avoid it. + +## I tried to run the Profile Manager like you said, and it gives me a weird error message (on 10.4). ## + +Run `firefox -P` instead of `firefox-bin -P`. + +In future, once you've created a new profile -- let's say you called it `newprofile` -- you can just type `firefox -p newprofile` to use that profile and avoid using the GUI Profile Manager altogether if you like. + +## Can I run 10.4Fx together with Camino, SeaMonkey, Safari or other browsers? ## + +Yes. In fact, you can even run them at the same time. Even Gecko-based browsers like Camino and SeaMonkey coexist peacefully with TenFourFox. (We recommend OmniWeb over Safari if you want your WebKit fix, btw.) + +Again, the exception is Firefox itself. Firefox 3.6 cannot be run simultaneously with TenFourFox, because as we mentioned above, to the Mac TenFourFox _is_ Firefox. Also, do again remember that older versions of Firefox may cease to work after upgrading to TenFourFox due to incompatible profiles. You may wish to use specific profiles for these older Firefox or even old TenFourFox versions if you must run them (but it is strongly advised you do not, as these versions of Firefox likely have security issues). **We do not support alternating between Firefox 3.6 and TenFourFox, as Firefox 3.6 may not be able to handle the changes in TenFourFox profiles.** + +## Does 10.4Fx support Firefox add-ons? ## + +Yes, if they are compatible with the same version of Firefox and do not require an Intel Macintosh. For example, **addons such as Adblock Plus, NoScript, Flashblock and OverbiteFF are all compatible.** You can get them by going to Tools, Add-ons. + +Remember: **add-ons and plugins are not the same. Add-ons _are_ supported in 10.4Fx.** See PluginsNoLongerSupported for an explanation. + +Tiger users should note that even if an extension works with PowerPC, some may require Leopard. + +## 1Password does not work with 10.4Fx. ## + +Users have asked Agile to support TenFourFox in 1Password and Agile has refused to support _any_ non-Intel build of Firefox after 3.6, including TenFourFox. If you are unhappy about this policy, please tell them so (especially if you are a paid user). In the meantime, if you absolutely require 1Password support, you are stuck with Firefox 3.6. There is no way, unfortunately, to force 1Password to work with TenFourFox from our end. + +User Art McGee has suggested that you may be able to use [1Password Anywhere](http://help.agile.ws/1Password3/1passwordanywhere.html) to get around this problem, although this will probably only work for Leopard users. We haven't tested this. Please report your results. + +## Gopher sites no longer work in 10.4Fx. ## + +You can enable the Gopher protocol with the [OverbiteFF addon](https://addons.mozilla.org/en-US/firefox/addon/overbiteff/). + +## Does 10.4Fx support plugins or Flash? ## + +**No. Plugins no longer operate in TenFourFox.** 10.4Fx uses older compositing code to remain compatible with OS X Tiger, and the modified graphics stack in Firefox 4 is tuned for CoreAnimation, which Tiger does not support. More to the point, few if any PowerPC-compatible plugins remain updated, and Adobe no longer supports Flash on Power Macintosh. + +When you visit a site with plugin content, an informational box may appear on the page where the plugin would normally appear. Sites may also tell you that you have no plugins installed. This is intentional, so that the site can try to present alternate content that does not require a plugin. + +Between 6.0 and 17.0.11 an undocumented, unsupported plugin enable setting existed. This option is now completely gone because Mozilla completely removed the older compatibility code. If you turned it on in a previous version of TenFourFox, it will not work in version 19.0 and higher. + +See PluginsNoLongerSupported for more information on this policy and ways you can access content without plugins. + +## How can I play H.264 video? ## + +If a site offers HTML5 H.264 video as an option, you can play many such videos outside of the browser using the optional QuickTimeEnabler. (Please read that wiki page carefully as some sites cannot be supported yet. You may be able to use one of the Firefox video downloader add-ons for those sites; again, see PluginsNoLongerSupported.) + +If you are looking for something to play YouTube video specifically, look at the MacTubesEnabler. + +## WebM video playback is too slow on my Mac. ## + +10.4Fx supports WebM video, which is generally slower than H.264 video because no Power Mac has hardware acceleration for WebM. 10.4Fx does have AltiVec acceleration for WebM, however, which improves performance on G4 and G5 systems. For this reason, most G5 Power Macs can play standard definition WebM without issue but practically no G3 Macs can, due to the CPU power needed to decode, scale and composite the video in the browser. + +As for G4 systems in the middle, many will play video with acceptable stuttering, but Macs slower than 1.25GHz are likely to perform badly. If you are in the upper G4 range, video plays back better if you **play the video after it is done downloading** and **reduce the number of tabs open.** Also, because decoded frames can be cached depending on available memory, playing the video a second time often performs considerably better than the first time. Finally, make sure the playback controls are not showing (move your mouse into and back out of the player window if they do not go away on their own), as compositing the controls against the video image uses additional CPU power. + +Although 10.4Fx still supports Theora (VP3) video, much less content is available in this format than in WebM, and for this reason its playback is not as well optimized. + +Please note that no Power Mac, not even the quad G5, plays high definition WebM fluidly in the browser, nor full-screen WebM. There just isn't enough CPU bandwidth. Similarly, even though recent versions of 10.4Fx support VP9 video, even partial playback is unwatchable on all but the Quad because of the data rate required. + +Improving video performance is an active area of development in TenFourFox. + +## Does 10.4Fx support Java? ## + +**No. Java is specifically disabled by default, and is no longer supported.** Java on 10.4 requires the Java Embedding Plugin, and as mentioned, plugins are no longer supported either. More to the point, neither 10.4 nor 10.5 receive security updates to the JVM any more, and trojans such as Flashback have been able to escalate their privileges even on Power Macs using flaws in these older Java environments. For these reasons Java is no longer supported by TenFourFox, and we strongly recommend you only run signed Java applets from trusted sources on Power Macintoshes. + +## 10.4Fx does not display some fonts (Tamil, Arabic, ...) correctly. ## + +10.4Fx does not support CoreText, which is needed to use the typographic information in the AAT-encoded fonts that come with OS X. Without this information, certain ligatures and glyph reordering rules cannot be utilized, and the font will appear but not quite correctly. The font renderer in 10.4Fx does support Arabic and other international scripts, but requires OpenType fonts for the special language-specific features. See [issue 5](https://code.google.com/p/tenfourfox/issues/detail?id=5) and TechnicalDifferences. + +## On some sites, I keep getting "Unresponsive script" errors. ## + +As sites become larger and use more complex JavaScript, even with the special acceleration in 10.4Fx, execution will be slow particularly on G3 and early G4 systems. When script runtime exceeds a certain threshold, this error appears. The error is otherwise harmless and you can continue to wait if you know the operation will complete. + +If you get this window frequently, there are a few ways you can improve the browser's script performance. Try some or all: + + * Remove unnecessary browser add-ons. These sometimes will interfere with some sites. + * Use the [NoScript](https://addons.mozilla.org/en-US/firefox/addon/noscript) add-on and allow JavaScript only to run on certain necessary sites. + * Disable the unresponsive script warning entirely. Instructions are on [this support ticket](http://tenfourfox.tenderapp.com/discussions/problems/174-unresponsive-script-warning). + +## Will 10.4Fx receive updates? ## + +Yes. We will update the browser with regular security updates, which your browser will automatically prompt you to download when they become available. + +New feature versions of 10.4Fx will also be released until it is no longer possible to compile Mozilla's source code (see SupportLevels). However, even when it is no longer possible, security updates will still occur. + +## The browser keeps saying I'm out of date! ## + +You will get automatic prompts to update if the browser detects your version is not in sync with the version available. Sometimes this may occur even if you appear to be using the same version (we do not bump the version number between official releases to avoid getting out of sync with Mozilla, but the browser has a different build ID). If you are ever in doubt about the version you have, visit the [TenFourFox Start Page](http://www.tenfourfox.com/start), which will tell you if you are up-to-date. + +## Does 10.4Fx support WebM video? ## + +Yes. However, video playback generally requires a G5 for best results. See above for suggestions on improving native video playback on G4 systems. + +## Does 10.4Fx support WebGL? ## + +No. WebGL requires OpenGL 2, which is not supported on Tiger, and Mozilla does not support WebGL on 10.5 either. + +## Does 10.4Fx support IonMonkey or BaselineCompiler JavaScript JIT acceleration? ## + +TenFourFox uses PPCBC, a specialized PowerPC-specific version of Mozilla BaselineCompiler. BaselineCompiler is a low-latency compiler emphasizing quick code generation. + +IonMonkey support is being worked on for a future version of TenFourFox, and will complement PPCBC. + +## Does 10.4Fx support language packs? ## + +Yes (see the [main page](http://www.tenfourfox.com/) for a list of languages). More are coming soon! + +Looking for your own language? 10.4Fx has slightly different strings than Firefox, so regular language packs need modification. Some enterprising users are already working on it. See [issue 42](https://code.google.com/p/tenfourfox/issues/detail?id=42). + +## Why do you make me test my bug reports against the current Firefox? I can't run it on my Mac! ## + +After Firefox 3.6, Mozilla introduced many large layout and interface changes (most of them in Firefox 4, but many incrementally after that); moreover, the current rapid release strategy Mozilla is using is certain to introduce more bugs and more compatibility changes more and more quickly. Fixing Mozilla bugs is out of our purview and most of this app is still Mozilla's code. To keep us focused on our mission of keeping Firefox compatible with the Power Mac, we need you to make sure your bug does not also occur in regular Firefox. If it does, it's not our bug. + +We realize that the whole point of TenFourFox is to run Firefox on systems that Mozilla no longer supports, so comparisons to any Tier 1 platform are accepted, including Windows, Linux and Mac OS X 10.6+. However, unless your bug report is clearly specific to 10.4Fx (and the template will guide you), **if your bug report does not compare behaviour with stock Firefox, it will be marked invalid.** We don't mean to be jerks, but we need to keep our heads above water and not spin our wheels -- or there won't be a TenFourFox in the future. + +## This document didn't answer my question. ## + +Please open a support ticket on our [TenFourFox Tenderapp](http://tenfourfox.tenderapp.com/) and one of our friendly support volunteers will try to help you. + +If you wish to talk directly to the developers, feel free to drop by and comment on our [TenFourFox Development](http://tenfourfox.blogspot.com/) blog. \ No newline at end of file diff --git a/Hashes.md b/Hashes.md new file mode 100644 index 000000000..ca29332ee --- /dev/null +++ b/Hashes.md @@ -0,0 +1,65 @@ +**This hashes file will be moving to [Github](https://github.com/classilla/tenfourfox). No further updates will occur on this copy.** + +### **If there is not a padlock icon in the address bar or the address is not `https://code.google.com`, then this document could have been tampered with in-transit. Please verify that your browser securely accessed this document before using the hashes below.** ### + +If you are downloading TenFourFox on a hostile or insecure network where data could be tampered with, or just want to make sure it downloaded correctly before filing a trouble ticket, you can certify your download with the hashes below. + +To check the hash for your file, download it from SourceForge, _but do not decompress it_. Start `Terminal`. At the prompt, type (but **_do not press RETURN yet_**): + +``` +openssl dgst -ripemd160 +``` + +Drag the `.zip` file you downloaded into the `Terminal` window. Its path will be added to the command. Now press RETURN in the `Terminal` window. You should see a result like this: + +``` +RIPEMD160(TenFourFox7450-31.2.0.app.zip)= e6637dff473f68d2b4a4b6b920c70183d8658dea +``` + +Verify it in the table below (make sure you are looking at the right version and filename). If this matches, you can be very confident that your browser was downloaded correctly and was not tampered with during transit. You can continue with decompressing and installing it at this point. + +Only the last two versions are displayed. You should always use the most current version if you are in a security-sensitive situation. + +## Stable releases ## + +**TenFourFox 38.2.0** + +``` +RIPEMD160(TenFourFoxG3-38.2.0.app.zip)= d2871dd97494c66a719091aca1994a21b3d5dbd8 +RIPEMD160(TenFourFox7400-38.2.0.app.zip)= 6d47917ea26d21ea58ecc8d39622ba25aed6a1ef +RIPEMD160(TenFourFox7450-38.2.0.app.zip)= 506bbad403666fc8760f501e93993267ed6d93a5 +RIPEMD160(TenFourFoxG5-38.2.0.app.zip)= 3e52f6007a014d5ab2b4adf063982f62469c8e0e +RIPEMD160(TenFourFox38E-changesets-20150805.zip)= 7569e39fb233a569257bcb177dc6f4893f14a0a9 +``` + +**TenFourFox 31.8.0** + +``` +RIPEMD160(TenFourFoxG3-31.8.0.app.zip)= 123600c99b11172161a4bd0e422de61f951fdf05 +RIPEMD160(TenFourFox7400-31.8.0.app.zip)= 7d70ff0848bcff3e1b2db0f88560c615d1dd5817 +RIPEMD160(TenFourFox7450-31.8.0.app.zip)= 7d627d3aacb9dd16d03e2d2ce7021d203648fe54 +RIPEMD160(TenFourFoxG5-31.8.0.app.zip)= 9f1d9110066b626360c7c7ae0e937e206bd48554 +RIPEMD160(TenFourFox31E-changesets-20150507.zip)= aca414cdbc98b36cc79b8b5baa97c5ba19f83f79 +``` + +## Unstable releases ## + +**TenFourFox 38.1.1b2** + +``` +RIPEMD160(TenFourFoxG3-38.1.1b2.app.zip)= 5d20facb6708ddab95bc9a299dc65e351e0c7d49 +RIPEMD160(TenFourFox7400-38.1.1b2.app.zip)= dee11ae0872ebc4e84ee4de0d735e41ea9061d15 +RIPEMD160(TenFourFox7450-38.1.1b2.app.zip)= ac5bf13c2c114d4213b0107794b88d4cc51d07ae +RIPEMD160(TenFourFoxG5-38.1.1b2.app.zip)= 36c9b567d55e314e912ccc970fc66f98842a5e8f +RIPEMD160(TenFourFox38E-changesets-20150730.zip)= 4e4b0e46f4a9287fc41bd5b8509f361f69508897 +``` + +**TenFourFox 38.0.1b1** + +``` +RIPEMD160(TenFourFoxG3-38.0.1b1.app.zip)= 144b5971cd29b02303a127ac2b766a620c23f0ed +RIPEMD160(TenFourFox7400-38.0.1b1.app.zip)= e33dc90abd80b402666aaf72904de1bde0e0da87 +RIPEMD160(TenFourFox7450-38.0.1b1.app.zip)= 99f57326692a1f005ea3db8a2e5bfabbba2af47d +RIPEMD160(TenFourFoxG5-38.0.1b1.app.zip)= 19fa1236709134d558b4b6b9973ec2edb8cbdce3 +RIPEMD160(TenFourFox38E-changesets-20150627.zip)= 923b65ca261f4638102b202521dd2789024203fb +``` \ No newline at end of file diff --git a/HowToBuild.md b/HowToBuild.md new file mode 100644 index 000000000..8d2d34c3d --- /dev/null +++ b/HowToBuild.md @@ -0,0 +1,56 @@ +**This document only covers the `mozilla-2.0` branch, from which 10.4Fx 4.0.x is built. Therefore, it is mostly obsolete. For 5.0 and higher, see HowToBuildNow.** + +## Warning ## + +These build instructions are always subject to change. You should be familiar with [how Mozilla offers its source code and how to build Mozilla applications](https://developer.mozilla.org/en/Developer_Guide) before you attempt these steps. + +## Prequisites ## + +10.4Fx is currently built from Mozilla's Mercurial repository with our own changesets applied on top. This is not a task for the faint of heart, but here's how we do it. + + 1. At minimum you will need a G4 or G5 (G5 recommended), 10.4.11, 1GB of RAM and 10GB disk space. The build should work on a G3 or 10.5.8, but is not tested in either configuration. You also need Xcode 2.5 or higher. Just for your interest, TenFourFox is built on a quad G5 with 8GB of RAM, because compilers like RAM. In this configuration, with Energy Saver set to Highest Performance, it takes approximately 90 minutes to kick out a single architecture build. + 1. Install [MacPorts](http://www.macports.org/install.php), using the Tiger dmg. We need to install not only Mercurial, but 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. + 1. `sudo port -v selfupdate` + 1. `sudo port install mercurial libidl autoconf213 gmake python py25-zlib py25-hashlib freetype` + +## Building from the stable `mozilla-2.0` ## + +Once that's done, your system is ready to build some code. Currently, 10.4Fx 4.0 is considered "stable" (ha ha ha), and is built from the "stable" (har har har) `mozilla-2.0` branch. Right now these steps are entirely manual. At some point we will (at least partially) automate this. + + 1. In your nice fat source drive, `hg clone http://hg.mozilla.org/releases/mozilla-2.0` (or the desired revision). + 1. Grab the most current changesets from the Downloads tab and unzip them somewhere. + 1. Serially, in numerical order, `hg import` each changeset. This is the most difficult step because some source files may require manually merging individually and then resolving them with `hg resolve -m` afterwards. + 1. Select your desired configuration (any of the `*.mozcfg` files) and copy it to `~/.mozconfig`. 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. + * **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. + 1. (Optional but recommended) Edit `netwerk/protocols/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. + 1. (Optional) If you want to change the reported version numbers (say, to get rid of that `pre` tag), alter `browser/config/version.txt` for the reported browser version, and `config/milestone.txt` for the reported Gecko version. _You should revert these changes before pulling source again or you will have to merge them!_ + 1. If you are cleaning out an old build, fresh the tree first with: + * `gmake -f client.mk clean` + * `rm -f obj-*/config.* configure` + 1. `autoconf213` + 1. `gmake -f client.mk build` + +## Running and debugging ## + +If the build worked, try out your binary in `gdb`: + + * `cd obj-ff-dbg/dist/TenFourFox.app/Contents/MacOS` (or, if in Debug mode, `TenFourFoxDebug.app`) + * `gdb firefox-bin` + * At the `(gdb)` prompt, `run` + +## Alternative: Build with Fink _(experimental)_ ## + +If you prefer Fink to MacPorts, David Fang is maintaining a Fink package. You should consider this package **experimental.** Install Fink and the unstable tree, and do `fink install tenfourfox`. This will install all prerequisites and build the browser, and a `.deb` will be generated. You can start the executable from `/Applications/Fink/TenFourFox.app`. + +## Building old betas with older changesets ## + +This is not recommended for a variety of reasons, but you can use old beta changesets as long as you match them to the appropriate revision (to avoid confusion over which changeset is in use, we tag these by date). + +## Keeping up ## + +Your repo is now a fully functional clone of the Firefox source repo with the patches for 10.4Fx. If you want to use this as your basis to do additional pulls against Mozilla's repo, you can (after committing your local changes, of course), but you should `hg rebase` after each pull so that the local TenFourFox changesets float to the top. + +Inevitably there will be merge conflicts, which you will need to manually resolve, mark with `hg resolve -m` and then continue the rebase with `hg rebase --continue`. **NEVER `hg merge`!** + +Once the rebase is complete, you will be able to continue building and working with the repo in a sane state. Like any sane SCM, merge changes you made will be reflected in your changesets. \ No newline at end of file diff --git a/HowToBuildNow.md b/HowToBuildNow.md new file mode 100644 index 000000000..d6a558b06 --- /dev/null +++ b/HowToBuildNow.md @@ -0,0 +1,80 @@ +**This document only covers the `mozilla-esr10` and `mozilla-esr17` branches, from which 10.4Fx 10.0.x and 17.0.x were built. Therefore, it is mostly obsolete. For 24.0 and higher, see HowToBuildRightNow.** + +## Warning ## + +These build instructions are always subject to change. You should be familiar with [how Mozilla offers its source code and how to build Mozilla applications](https://developer.mozilla.org/en/Developer_Guide) before you attempt these steps. + +These instructions do not apply to the legacy `mozilla-2.0` branch, from which TenFourFox 4.0.x is built. For that, see HowToBuild. + +## Prerequisites for both unstable and stable branch builders ## + +10.4Fx is currently built from Mozilla's Mercurial repository with our own changesets applied on top. This is not a task for the faint of heart, but here's how we do it. The stable branch requires the steps below; the unstable branch requires these steps and a few more. + + 1. At minimum you will need a G4 or G5 (G5 recommended), 10.4.11, Xcode 2.5, 1GB of RAM and 10GB disk space. The build should work on a G3, but has not been tested on it. Just for your interest, TenFourFox is built on a quad G5 with 8GB of RAM, because compilers like RAM. In this configuration, with Energy Saver set to Highest Performance, it takes approximately 90 minutes to kick out a single architecture build. + * The only currently supported compiler for ESR10 and ESR17 is `gcc` 4.0.1, which comes with Xcode 2.5, although Leopard's Xcode 3 compiler is known to work. Although some later `gcc` versions can be used on Tiger, and will build these versions of TenFourFox, you should read the notes in [issue 52](https://code.google.com/p/tenfourfox/issues/detail?id=52) first. The stable branch release binaries are built with `gcc` 4.0.1 and we will assume you are using it here. + * Building on 10.5.8 (and/or with Xcode 3) should still be possible, but has not been well tested since version 17. Please file issues _with patches_ if this isn't working. + * It _should_ be possible to cross-build 10.4Fx on 10.6 using Xcode 3.x. We've never tried this; please try it and let us know. It is definitely _not_ possible to build it on 10.7 and later (thanks a lot, Apple). + 1. Install [MacPorts](http://www.macports.org/install.php), using the Tiger `dmg` for 10.4 or the Leopard `dmg` for 10.5 (Fink users, see below). Note that MacPorts has stopped offering the Tiger package openly, but you can still get it from https://distfiles.macports.org/MacPorts/ (2.0.4 is the last official version, which you can then immediately `selfupdate`). + 1. We need to install not only Mercurial, but 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. + 1. `sudo port -v selfupdate` + 1. `sudo port install mercurial libidl autoconf213 gmake python25 py25-zlib freetype` + 1. For Tiger builders _building the stable branch only_, install the [Xcode 3 linker](http://tenfourfox.googlecode.com/files/ldx3.zip), ported to 10.4 by Tobias Netzel. You **do not need** this to build the _unstable_ branch (see HowToBuildRightNow). This can be done in one of two ways: + 1. _Riskier:_ Download it and replace your old linker at `/usr/bin/ld` with this one (renaming it). Save your old linker first. All of your software will now be linked with it, which does generate binaries and `dylib`s that are still compatible with 10.4. + 1. _Safer:_ Download it and save it as `/usr/bin/ldx3`. Rename `/usr/bin/ld` to `/usr/bin/ld32` and move on to grabbing source (we'll give you the next step there). + +## Building the stable release from the Mozilla ESR ## + +Mozilla's most current stable ESR is the basis for our **stable** branch These instructions assume it is ESR 17, although by the time you read this 17 will be exiting support. These instructions will also work if you use ESR 10, assuming you are using ESR 10 changesets. **Neither TenFourFox 10 nor 17 are supported anymore. Do not submit bug reports for these versions.** + + 1. In your nice fat source drive, `hg clone http://hg.mozilla.org/releases/mozilla-esr17` (or the desired revision). + 1. Grab the most current **_stable_** (not _unstable_) changesets from the Downloads tab and unzip them somewhere. + 1. Serially, in numerical order, `hg import` each changeset. This is the most difficult step because some source files may require manually merging individually and then resolving them with `hg resolve -m` afterwards. + 1. **If you chose the _Safer_ approach above:** now, copy `SHIM.ld` (this is added by the changesets to the repo's root directory) to `/usr/bin/ld` and make it executable with `chmod +x /usr/bin/ld`. Make sure you moved your old `ld` to `ld32` first! Your linker is now dynamically switchable. If the `LD64` environment variable is set to `1`, the Xcode 3 linker will be used; otherwise, the Tiger 32-bit linker will be used like usual. The Mozilla build system knows how to toggle this variable. It will have no effect if you went for _Riskier_. **You do not need this step if you are only building the unstable release.** + 1. Select your desired configuration (any of the `*.mozcfg` files) and copy it to `.mozconfig` in the root of the repo. _Prior to Mozilla 9, this could be in `~/.mozconfig` too; as of Fx9 and later, Mozilla **requires** that this file only exist in the repo root._ 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. In particular do not use the old `mozconfig`s from 10.4Fx 4.0.x with 5 and up; they will 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. Also, if you are not using Xcode 2.5's `gcc-4.0`, you may need to add `-faltivec` to the compiler command lines in your chosen `mozconfig`. + * **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. You don't need this, but the browser will not run as well if you don't. + * **Intel owners _ONLY_:** There is currently no supported debug configuration. The provided `intel.mozcfg` is an opt build only. + 1. (Optional but recommended) Edit `netwerk/protocols/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. + 1. (Optional) If you want to change the reported version numbers (say, to get rid of that `pre` tag), alter `browser/config/version.txt` for the reported browser version, and `config/milestone.txt` for the reported Gecko version. If you change `config/milestone.txt`, you should also make sure `js/src/config/milestone.txt` matches it, if it exists. _You should revert these changes before pulling source again or you will have to merge them!_ + 1. If you are cleaning out an old build, fresh the tree first with: + * `gmake -f client.mk clean` + * `find obj-ff-dbg/ -name 'config.*' -print | xargs rm` + * `rm configure` + 1. `autoconf213` + 1. `gmake -f client.mk build` + +## Building from a tarball ## + +Depending on the space you have, or your general antipathy towards Mercurial, or your need for an old version of Firefox, you may prefer to build from one of the source archives. The easiest way to do this is to download the archive and expand it, then turn it into a repo with the following (done at the root of the unpacked archive): + + * `hg init` + * `hg add` + * `hg commit` + +This will create a new blank repo, add everything to it, and then commit. Note that the commit does not restore history; there _is_ no history. Instead, it is as if you started from whole cloth. On the other hand, the resulting repo is considerably smaller and probably easier and faster to work with (but you should _not_ do this if you plan to do development, since you will probably want that history if you screw up). + +Once you've done that, resume from step 2 above, since this will now act as your "cloned repo." For old versions of Firefox, you should probably use the 10.4Fx patches that correspond to that rather than the most current changesets, obviously. + +## Running and debugging ## + +If the build worked, try out your binary in `gdb`: + + * `cd obj-ff-dbg/dist/TenFourFox.app/Contents/MacOS` (or, if in Debug mode, `TenFourFoxDebug.app`) + * `gdb firefox` (older releases used `firefox-bin`) + * At the `(gdb)` prompt, `run` + +If the build didn't work and you got lots of linker errors, make sure that you properly installed the Xcode 3 linker; the Xcode 2.5 linker will not work. + +If the build appeared to work, but the browser crashes in an unusual `objc` symbol when you try to run it, you may have encountered [issue 169](https://code.google.com/p/tenfourfox/issues/detail?id=169) which is due to incorrect linker code generation. This is mostly a problem for 18.0 and later; although the underlying cause is also present in versions 15.x through 17.x, they are not materially affected by it. + +## Alternative: Build with Fink _(experimental)_ ## + +If you prefer Fink to MacPorts, David Fang is maintaining a Fink package. You should consider this package **experimental.** Install Fink and the unstable tree, and do `fink install tenfourfox`. This will install all prerequisites and build the browser, and a `.deb` will be generated. You can start the executable from `/Applications/Fink/TenFourFox.app`. This may not yet be available for the most current version. + +## Keeping up ## + +Your repo is now a fully functional clone of the Firefox source repo with the patches for 10.4Fx. If you want to use this as your basis to do additional pulls against Mozilla's repo, you can (after committing your local changes, of course), but you should `hg rebase` after each pull so that the local TenFourFox changesets float to the top. + +Inevitably there will be merge conflicts, which you will need to manually resolve, mark with `hg resolve -m` and then continue the rebase with `hg rebase --continue`. **NEVER `hg merge`!** + +Once the rebase is complete, you will be able to continue building and working with the repo in a sane state. Like any sane SCM, merge changes you made will be reflected in your changesets. \ No newline at end of file diff --git a/HowToBuildRightNow.md b/HowToBuildRightNow.md new file mode 100644 index 000000000..ddab3566b --- /dev/null +++ b/HowToBuildRightNow.md @@ -0,0 +1,100 @@ +**This document only covers the `mozilla-esr24` and `mozilla-esr31` branches, from which 10.4Fx 24.0.x and 31.0.x were built. Therefore, it is mostly obsolete. For 24.0 and higher, see HowToBuildRightNow38.** + +## Warning ## + +These build instructions are always subject to change. You should be familiar with [how Mozilla offers its source code and how to build Mozilla applications](https://developer.mozilla.org/en/Developer_Guide) before you attempt these steps. + +Although these instructions for `mozilla-esr31` (from which TenFourFox 31 was built) will also still work for the legacy `mozilla-esr24` branch (from which TenFourFox 24 was built), they do _not_ apply to the legacy `mozilla-esr17` or `mozilla-esr10` branches, from which TenFourFox 17 and 10 were built. For those, see HowToBuildNow. + +These instructions have been rewritten to explain how to make an unstable and stable branch build from the release and ESR trees, respectively. Starting with 10.4Fx 24, the steps are mostly the same. + +## Prerequisites for both unstable and stable branch builders ## + +10.4Fx is currently built from Mozilla's Mercurial repository with our own changesets applied on top. This is not a task for the faint of heart, but here's how we do it. + + 1. At minimum you will need a G4 or G5 (G5 recommended), 10.4.11, Xcode 2.5, 1GB of RAM and 10GB disk space. The build should work on a G3, but has not been tested on it. Just for your interest, TenFourFox is built on a quad G5 with 8GB of RAM, because compilers like RAM. In this configuration, with Energy Saver set to Highest Performance, it takes approximately 200 minutes to kick out a single architecture build, and approximately 215 minutes for a debugging build. Plan accordingly. + * The only currently supported compiler is now `gcc` 4.6.x (specifically 4.6.3 or 4.6.4), from MacPorts (see below). However, although `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. (4.8 is available from MacPorts also, and does work on PowerPC.) + * 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. + * If your compiler is compiled for 10.5, the browser will use the 10.4 SDK, but link against your 10.5-only `libgcc` and `stdc++`. 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**. It is also possible, though involved, to make a cross-building `gcc`; see [issue 52](https://code.google.com/p/tenfourfox/issues/detail?id=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. It is _not_ possible to build 10.4Fx on 10.7 or any later version of OS X. + 1. Install [MacPorts](http://www.macports.org/install.php), using the Tiger `dmg` for 10.4 or the Leopard `dmg` for 10.5 (Fink users, see below). 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 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). + 1. We need to install not only Mercurial, 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. + 1. `sudo port -v selfupdate` + 1. `sudo port install mercurial libidl autoconf213 gmake python27 gcc46 freetype` + * MacPorts' `gcc46` package also includes updated bintools, including its own copy of the Xcode 3 linker, but with a bug fix to enable TenFourFox's `XUL` to link correctly. If your `gcc46` port was built on or prior to December 2012, you probably have [a version with the bug in it](https://trac.macports.org/ticket/37300). At minimum update `ld64`, or just update the whole compiler toolchain entirely. See [issue 52](https://code.google.com/p/tenfourfox/issues/detail?id=52). + * The old ported Xcode 3 `ld` used to build TenFourFox 17 and earlier is no longer needed. + 1. Finally, you must install the TenFourFox debugger, because the `gdb` available with any PowerPC Xcode does not properly grok debugging symbols generated by later `gcc` versions. You can get that from the [Downloads tab](http://code.google.com/p/tenfourfox/downloads/list) here at Google Code for the time being. At least patchlevel 2 is required for the current version of 10.4Fx. Decompress and copy the binary to `/usr/local/bin/gdb7` or wherever it is convenient. Although you can use it to replace your current `gdb`, it's probably safer that you do not. + +## Building the stable release from the Mozilla ESR ## + +Mozilla's most current stable ESR is the basis for our **stable** branch (as opposed to the **unstable**, described below). As of this writing, it is ESR 31; these instructions also work for ESR 24, although we no longer support it. These instructions were different for ESR 10 and 17, which we don't support anymore either; if you have a need to build these, see HowToBuildNow (do not submit bug reports for these versions). + + 1. In your nice fat source drive, `hg clone http://hg.mozilla.org/releases/mozilla-esr31` (or the desired revision). + * Did the Mozilla tree change after you cloned it? If your changesets are against tip, **STOP.** Do an `hg pull` and `hg up` right now to make sure your tree is current. + 1. Grab the most current **_stable_** (not _unstable_) changesets from [the TenFourFox SourceForge download repository](https://sourceforge.net/projects/tenfourfox/files/) and unzip them somewhere. + 1. Serially, in numerical order, `hg import` each changeset. This is the most difficult step because some source files may require manually merging individually and then resolving them with `hg resolve -m` afterwards. + 1. Select your desired configuration (any of the `*.mozcfg` files) and copy it to `.mozconfig` in the root of the repo. _Prior to Mozilla 9, this could be in `~/.mozconfig` too; as of Fx9 and later, Mozilla **requires** that this file only exist in the repo root._ 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. In particular do not use the old `mozconfig`s from 10.4Fx 4.0.x with 5 and up; they will 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. You don't need this, but the browser will not run as well if you don't. + * **Intel owners _ONLY_:** **Intel builds for TenFourFox 24 and 31 are not yet working.** Good luck; submit patches if you get it operational. + 1. (Optional but recommended) Edit `netwerk/protocols/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. + 1. (Optional) If you want to change the reported version numbers (say, to get rid of that `pre` tag), alter `browser/config/version.txt` for the reported browser version, and `config/milestone.txt` for the reported Gecko version. If you change `config/milestone.txt`, you should also make sure `js/src/config/milestone.txt` matches it. _You should revert these changes before pulling source again or you will have to merge them!_ + 1. If you are cleaning out an old build, be sure to `rm -rf configure obj-ff-dbg/` first. Then, + 1. `autoconf213` + 1. `gmake -f client.mk build` + +## Known build issues ## + + * Until [issue 202](https://code.google.com/p/tenfourfox/issues/detail?id=202) is fixed, you will get spurious errors setting up the Python environment. You can ignore these for now. + +## Building from a tarball ## + +Depending on the space you have, or your general antipathy towards Mercurial, or your need for an old version of Firefox, you may prefer to build from one of the source archives. The easiest way to do this is to download the archive and expand it, then turn it into a repo with the following (done at the root of the unpacked archive): + + * `hg init` + * `hg add` + * `hg commit` + +This will create a new blank repo, add everything to it, and then commit. Note that the commit does not restore history; there _is_ no history. Instead, it is as if you started from whole cloth. On the other hand, the resulting repo is considerably smaller and probably easier and faster to work with (but you should _not_ do this if you plan to do development, since you will probably want that history if you screw up). + +Once you've done that, resume from step 2 above, since this will now act as your "cloned repo." For old versions of Firefox, you should probably use the 10.4Fx patches that correspond to that rather than the most current changesets, obviously. + +## Building the unstable release from `mozilla-release` ## + +The unstable version is built from the bleeding edge Mozilla release, which is always `mozilla-release`, whether it still works with TenFourFox or not. The steps are the same as above, so you should make sure you can build a functional stable release binary before you attempt to build an unstable one. + +## Running and debugging ## + +If the build worked, try out your binary in the TenFourFox debugger. We will assume you installed it to `/usr/local/bin/gdb7`: + + * `cd obj-ff-dbg/dist/TenFourFox.app/Contents/MacOS` (or, if in Debug mode, `TenFourFoxDebug.app`) + * `gdb7 firefox` + * At the `(gdb)` prompt, `run` + +If the build appeared to work, but the browser crashes in an unusual `objc` symbol when you try to run it or quit, you may have encountered [issue 169](https://code.google.com/p/tenfourfox/issues/detail?id=169) which is due to incorrect linker code generation. Make sure you are using the fixed `ld` (see the prerequisites section). + +If you receive strange `Die` errors in the debugger and backtraces don't work properly, you need to upgrade your debugger (or you're using the one that Apple provided, which won't work anymore). + +### Distributing the executable ### + +Because the new compiler links against its own `libgcc` and `libstdc++`, if you intend to make a build to generally distribute or use on another computer, you will need to include these libraries and update the linkage to point to the included copies. The tool `104fx_copy.sh` (in the root) will help you with this. Make it executable with `chmod +x` if necessary, then simply type `./104fx_copy.sh [destination name.app]` and the built binary will be copied to the destination name (which should be the new app bundle filename) and its linkages updated to be internal. This should be the **last** step you do before release since the binary it generates is completely standalone and disconnected from the build system. + +If your `libgcc_s.1.dylib` (and others) are in `/opt/local/lib/libgcc` instead of `/opt/local/lib/gcc46`, and you are using changesets prior to 24.2.0, **this script will not generate a properly relinked executable.** Beginning with 24.2.0, the distributor script will check for linkage against both locations and adjust accordingly. + +**If you built on 10.5 with a compiler that was also built on 10.5, your built browser will only work on 10.5** (despite using the 10.4 SDK) because the `gcc` 4.6.x `libgcc` and `libstdc++` are linked against the 10.5 SDK, not 10.4. The easiest way to solve this problem is to replace `libgcc_s.1.dylib` and `libstdc++.6.dylib` in your browser package with the ones from a real TenFourFox binary and then your build will "just work" on both operating systems. It _is_ possible, though involved, to build a cross-compiling 10.5 `gcc` that will create 10.4-compatible binaries; see [issue 52](https://code.google.com/p/tenfourfox/issues/detail?id=52). + +## Alternative: Build with Fink _(experimental)_ ## + +If you prefer Fink to MacPorts, David Fang is maintaining a Fink package. You should consider this package **experimental.** Install Fink and the unstable tree, and do `fink install tenfourfox`. This will install all prerequisites and build the browser, and a `.deb` will be generated. You can start the executable from `/Applications/Fink/TenFourFox.app`. This may not yet be available for the most current version. + +## Building from `mozilla-beta` or `mozilla-aurora` ## + +To build whatever the upcoming release(s) are, use these trees instead (substitute the desired tree for `mozilla-release`). In general, we don't support building from `mozilla-central`, and we usually do not offer Aurora changesets, so you're on your own. The beta branch may work, but will require manual merging of the changesets. Try to use as recent a revision as possible. + +## Keeping up ## + +Your repo is now a fully functional clone of the Firefox source repo with the patches for 10.4Fx. If you want to use this as your basis to do additional pulls against Mozilla's repo, you can (after committing your local changes, of course), but you should `hg rebase` after each pull so that the local TenFourFox changesets float to the top. + +Inevitably there will be merge conflicts, which you will need to manually resolve, mark with `hg resolve -m` and then continue the rebase with `hg rebase --continue`. **NEVER `hg merge`!** + +Once the rebase is complete, you will be able to continue building and working with the repo in a sane state. Like any sane SCM, merge changes you made will be reflected in your changesets. \ No newline at end of file diff --git a/HowToBuildRightNow38.md b/HowToBuildRightNow38.md new file mode 100644 index 000000000..582062375 --- /dev/null +++ b/HowToBuildRightNow38.md @@ -0,0 +1,96 @@ +**This document only covers the `mozilla-esr38` branch, from which TenFourFox 38 is built. It does not cover earlier versions (see HowToBuildNow) or subsequent ones, and it does not cover unstable releases based on Mozilla 39.0+.** + +## Warning ## + +These build instructions are always subject to change. You should be familiar with [how Mozilla offers its source code and how to build Mozilla applications](https://developer.mozilla.org/en/Developer_Guide) before you attempt these steps. + +## Prerequisites ## + +10.4Fx is currently built from Mozilla's Mercurial repository with our own changesets applied on top. This is not a task for the faint of heart, but here's how we do it. + + 1. At minimum you will need a G4 or G5 (G5 recommended), 10.4.11, Xcode 2.5, 1.5GB of RAM and 10GB disk space. The build should work on a G3, but has not been tested on it. Just for your interest, TenFourFox is built on a quad G5 with 16GB of RAM, because compilers like RAM. In this configuration, with Energy Saver set to Highest Performance, it takes approximately two hours to kick out a single architecture build, and a few minutes longer for a debugging build. Plan accordingly. + * Although Mozilla 38 requires `gcc` 4.7 or higher, TenFourFox is actually still built with `gcc` 4.6.x (specifically 4.6.3 or 4.6.4), from MacPorts (see below), using a compatibility shim. However, although `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 -- if you use one of these, remove the compatibility shim from the changesets first before applying them; see below. (4.8 is available from MacPorts also, and does work on PowerPC.) + * 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. + * If your compiler is compiled for 10.5, the browser will use the 10.4 SDK, but link against your 10.5-only `libgcc` and `stdc++`. 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**. It is also possible, though involved, to make a cross-building `gcc`; see [issue 52](https://code.google.com/p/tenfourfox/issues/detail?id=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. It is _not_ possible to build 10.4Fx on 10.7 or any later version of OS X. + 1. Install [MacPorts](http://www.macports.org/install.php), using the Tiger `dmg` for 10.4 or the Leopard `dmg` for 10.5 (Fink users, see below). 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 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). + 1. We need to install not only Mercurial, 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. + 1. `sudo port -v selfupdate` + 1. `sudo port install mercurial libidl autoconf213 gmake python27 gcc46 freetype` + * MacPorts' `gcc46` package also includes updated bintools, including its own copy of the Xcode 3 linker, but with a bug fix to enable TenFourFox's `XUL` to link correctly. If your `gcc46` port was built on or prior to December 2012, you probably have [a version with the bug in it](https://trac.macports.org/ticket/37300). At minimum update `ld64`, or just update the whole compiler toolchain entirely. See [issue 52](https://code.google.com/p/tenfourfox/issues/detail?id=52). + * The old ported Xcode 3 `ld` used to build TenFourFox 17 and earlier is no longer needed. + 1. Somewhere in the 31-37 timeframe, stripping builds created with `gcc` 4.6 started to fail due to what appears to be a compiler bug. To fix this requires a modified `strip` binary (renamed `strip7` so it does not conflict with the regular `strip`) that ignores the variant `N_SECT`s this compiler can generate. You should not use this strip tool for other purposes, as it is intentionally loose with the specification, and you do not need to install it if you are only building a debug or non-stripped build for your own use. Decompress the binary and put it in `/opt/local/bin/strip7` (the configure script is hardcoded to this location). You can get it from [SourceForge](http://sourceforge.net/projects/tenfourfox/files/tools/strip7-104fx.tar.gz/download). + 1. Finally, you must install the TenFourFox debugger, because the `gdb` available with any PowerPC Xcode does not properly grok debugging symbols generated by later `gcc` versions. At least patchlevel 2 is required for the current version of 10.4Fx. Decompress and copy the binary to `/usr/local/bin/gdb7` or wherever it is convenient. Although you can use it to replace your current `gdb`, it's probably safer that you do not. You can get it from [SourceForge](http://sourceforge.net/projects/tenfourfox/files/tools/gdb768-104fx-2.tar.gz/download). + +## Building the stable release from the Mozilla ESR ## + +Mozilla's most current stable ESR is the basis for our **stable** branch (as opposed to the **unstable**, described below). As of this writing, it is ESR 38. These instructions were slightly different for ESR 24 and 31, which we don't support anymore; if you have a need to build these, see HowToBuildRightNow (do not submit bug reports for these versions). + + 1. In your nice fat source drive, `hg clone http://hg.mozilla.org/releases/mozilla-esr38` (or the desired revision). + * Did the Mozilla tree change after you cloned it? If your changesets are against tip, **STOP.** Do an `hg pull` and `hg up` right now to make sure your tree is current. + 1. Grab the most current **_stable_** (not _unstable_) changesets from [the TenFourFox SourceForge download repository](https://sourceforge.net/projects/tenfourfox/files/) and unzip them somewhere. + 1. Serially, in numerical order, `hg import` each changeset. This is the most difficult step because some source files may require manually merging individually and then resolving them with `hg resolve -m` afterwards. + 1. Select your desired configuration (any of the `*.mozcfg` files) and copy it to `.mozconfig` in the root of the repo. _Prior to Mozilla 9, this could be in `~/.mozconfig` too; as of Fx9 and later, Mozilla **requires** that this file only exist in the repo root._ 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. In particular do not use the old `mozconfig`s from 10.4Fx 4.0.x with 5 and up; they will 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. You don't need this, but the browser will not run as well if you don't. + * **Intel owners _ONLY_:** **Intel builds for TenFourFox 38 do not work.** You can fix this! Good luck; submit patches if you get it operational. + 1. (Optional but recommended) Edit `netwerk/protocols/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. + 1. (Optional) If you want to change the reported version numbers (say, to get rid of that `pre` tag), alter `browser/config/version.txt` for the reported browser version, and `config/milestone.txt` for the reported Gecko version. _You should revert these changes before pulling source again or you will have to merge them!_ + 1. If you are cleaning out an old build, be sure to `rm -rf configure obj-ff-dbg/` first. Then, + 1. `autoconf213` + 1. `gmake -f client.mk build` + +## Known build issues ## + + * Until [issue 202](https://code.google.com/p/tenfourfox/issues/detail?id=202) is fixed, you will get spurious errors setting up the Python environment. You can ignore these for now. + * You will receive warnings about `N_SECT` while linking XUL. These are harmless. If you actually get an error and it doesn't build, then somehow you are using the original `strip`. Check your binaries carefully. + +## Building from a tarball ## + +Depending on the space you have, or your general antipathy towards Mercurial, or your need for an old version of Firefox, you may prefer to build from one of the source archives. The easiest way to do this is to download the archive and expand it, then turn it into a repo with the following (done at the root of the unpacked archive): + + * `hg init` + * `hg add` + * `hg commit` + +This will create a new blank repo, add everything to it, and then commit. Note that the commit does not restore history; there _is_ no history. Instead, it is as if you started from whole cloth. On the other hand, the resulting repo is considerably smaller and probably easier and faster to work with (but you should _not_ do this if you plan to do development, since you will probably want that history if you screw up). + +Once you've done that, resume from step 2 above, since this will now act as your "cloned repo." For old versions of Firefox, you should probably use the 10.4Fx patches that correspond to that rather than the most current changesets, obviously. + +## Building the unstable release from `mozilla-release` ## + +**The unstable release is not supported with `gcc` 4.6.** That said, you can still try to build it with the existing 4.6 compatibility shim if you're that blessed with spare time. The unstable version is built from the bleeding edge Mozilla release, which is always `mozilla-release`, whether it still works with TenFourFox or not. The steps are the same as above, so you should make sure you can build a functional stable release binary before you attempt to build an unstable one. + +## Running and debugging ## + +If the build worked, try out your binary in the TenFourFox debugger. We will assume you installed it to `/usr/local/bin/gdb7`: + + * `cd obj-ff-dbg/dist/TenFourFox.app/Contents/MacOS` (or, if in Debug mode, `TenFourFoxDebug.app`) + * `gdb7 firefox` + * At the `(gdb)` prompt, `run` + +If the build appeared to work, but the browser crashes in an unusual `objc` symbol when you try to run it or quit, you may have encountered [issue 169](https://code.google.com/p/tenfourfox/issues/detail?id=169) which is due to incorrect linker code generation. Make sure you are using the fixed `ld` (see the prerequisites section). + +If you receive strange `Die` errors in the debugger and backtraces don't work properly, you need to upgrade your debugger (or you're using the one that Apple provided, which won't work anymore). + +### Distributing the executable ### + +Because the new compiler links against its own `libgcc` and `libstdc++`, if you intend to make a build to generally distribute or use on another computer, you will need to include these libraries and update the linkage to point to the included copies. The tool `104fx_copy.sh` (in the root) will help you with this. Make it executable with `chmod +x` if necessary, then simply type `./104fx_copy.sh [destination name.app]` and the built binary will be copied to the destination name (which should be the new app bundle filename) and its linkages updated to be internal. This should be the **last** step you do before release since the binary it generates is completely standalone and disconnected from the build system. + +**If you built on 10.5 with a compiler that was also built on 10.5, your built browser will only work on 10.5** (despite using the 10.4 SDK) because the `gcc` 4.6.x `libgcc` and `libstdc++` are linked against the 10.5 SDK, not 10.4. The easiest way to solve this problem is to replace `libgcc_s.1.dylib` and `libstdc++.6.dylib` in your browser package with the ones from a real TenFourFox binary and then your build will "just work" on both operating systems. It _is_ possible, though involved, to build a cross-compiling 10.5 `gcc` that will create 10.4-compatible binaries; see [issue 52](https://code.google.com/p/tenfourfox/issues/detail?id=52). + +## Alternative: Build with Fink _(experimental)_ ## + +If you prefer Fink to MacPorts, David Fang is maintaining a Fink package. You should consider this package **experimental.** Install Fink and the unstable tree, and do `fink install tenfourfox`. This will install all prerequisites and build the browser, and a `.deb` will be generated. You can start the executable from `/Applications/Fink/TenFourFox.app`. This may not yet be available for the most current version. + +## Building from `mozilla-beta` or `mozilla-aurora` ## + +**Neither branch is supported with `gcc` 4.6.** That said, you can still try to build with the existing 4.6 compatibility shim if you're that blessed with spare time. To build whatever the upcoming release(s) are, use these trees instead (substitute the desired tree for `mozilla-release`). In general, we don't support building from `mozilla-central`, and we usually do not offer Aurora changesets, so you're on your own. The beta branch may work, but will require manual merging of the changesets. Try to use as recent a revision as possible. + +## Keeping up ## + +Your repo is now a fully functional clone of the Firefox source repo with the patches for 10.4Fx. If you want to use this as your basis to do additional pulls against Mozilla's repo, you can (after committing your local changes, of course), but you should `hg rebase` after each pull so that the local TenFourFox changesets float to the top. + +Inevitably there will be merge conflicts, which you will need to manually resolve, mark with `hg resolve -m` and then continue the rebase with `hg rebase --continue`. **NEVER `hg merge`!** + +Once the rebase is complete, you will be able to continue building and working with the repo in a sane state. Like any sane SCM, merge changes you made will be reflected in your changesets. \ No newline at end of file diff --git a/IntelBuild.md b/IntelBuild.md new file mode 100644 index 000000000..ec4112676 --- /dev/null +++ b/IntelBuild.md @@ -0,0 +1,39 @@ +_This document is always under revision_ + +**Please: do not directly link to downloads. Link to this page instead so that users are properly steered to the current release, and so that they understand the support level of this software.** + +## The Intel build is currently badly out of date ## + +The Intel version is badly out of date. The previous maintainer is currently unable to issue new releases due to hardware failure. There is no guarantee there will be a future Intel release past 17.0.2, so the Intel build is officially _**deprecated**_. + +## Power Macintosh users should _not_ use this version ## + +If you are unable to determine what type of computer you have, please read the article on WhichVersion. **PowerPC users should use the regular TenFourFox available from our [main page](http://www.tenfourfox.com/).** + +## Whaaat, an Intel Mac version?? ## + +Although TenFourFox is intended for Power Macs, there are a number of Intel Macs that for a variety of reasons remain on 10.4 and 10.5. Although our recommendation is, as always, to upgrade them to 10.6 if at all possible and run the real Firefox (which all Intel Macs, even 32-bit ones, are capable of), this at least gives those users an alternative: a browser built using the 10.4 compatibility layer in 10.4Fx, but using Intel code for the JavaScript JIT and SSE acceleration for graphics. + +## This version is _not supported_ ## + +10.4Fx's primary focus of development remains Power Macs. As a consequence, the Intel version is maintained on a **best effort basis** and, unlike the PowerPC stable branch, **is not release quality**. That means builds and updates are not guaranteed to be timely, bugs may not be fixed on an expedited basis (even serious ones) or even at all, and no bug reports will be accepted for the Intel version on Tenderapp. Furthermore, it is unlikely the Intel version will ever become fully supported and you should not expect this lack of support to change. + +**The Intel version may be withdrawn or decommissioned at any time, without warning.** You use it _at your own risk_. + +Because **this version is not supported**, it is not offered on the main page and is only offered here. + +## System requirements ## + +Intel TenFourFox requires any Intel Mac and Mac OS X 10.4.11, 10.5.8 or 10.6.8, with at least 512MB of physical memory and 100MB of hard disk space. A Core 2 Duo or better is recommended. Although the browser will probably run on OS X 10.7+, because of its use of older unsupported APIs it is not supported on Lion or any subsequent version of Mac OS X. + +## Known issues specific to the Intel release ## + +You should also read the most current release notes (right now ReleaseNotes1702), as most issues specific to TenFourFox for Power Macs also apply to this version. + +## Download and installation ## + +Current release: http://tenfourfox.googlecode.com/files/TenFourFoxIntel-17.0.2.app.zip + +Unzip the application (using the built-in ZIP, not a utility such as Zipeg) and copy it to your Applications folder. Double-click to start. + +Again, do not report bugs or questions on the Intel release to Tenderapp. \ No newline at end of file diff --git a/Localization.md b/Localization.md new file mode 100644 index 000000000..066937ca1 --- /dev/null +++ b/Localization.md @@ -0,0 +1,181 @@ +**How to localize TenFourFox and make a Langpack Installer** + +**Summary of changes for 38:** + +- All localization files have been moved from Mac OS to Resources in the application package. + +- space constraints/truncated strings in the Prefs window are gone because of UI change (prefs moved to tab) + +- Check for Updates… has bee moved to the Help menu; localization string remains in baseMenuOverlay.dtd. + +- Addon Manager: Plugin section with warning about Plugin support is obsolete + +- plugins.dtd> Firefox Intel 24.0. Please use the ESR version availabe here: http://www.mozilla.org/en-US/firefox/organizations/all.html + + +# 2. The installer application # + +The installer application (incl. the installer script) has already been developed to a stable point. + +Rename your installer application to e.g. "TFF-24-langpack-(your language).app" or the like so that people can see which exact version of TFF it is for, and which language the browser is changed to. Strings between sub-versions of the browser (24.0.0->24.0.1) are usually frozen, so the same installer app can be used. An installer for 17 cannot be used for 24 etc. + +**The installer app's Package Contents folder contains:** + +- the tarball file for the supported versions of TFF that can be localized with this installer. (see Tarball section). + +- osx\_install.applescript (see applescript section) + +- /Resources/TFFlang.icns: You can change that to your country's flag in Photoshop or just use the generic TFF icon or whatever. + +- Info.plist: Change strings inside to the TFF version that is supported. + +- TenFourFox de/fr (change name to your language). This is the executable that starts bash and the applescript. + + +# 3. The tarball file # + +tarball.tar.bz2 has a compressed Contents folder. Don't confuse it with the installer application's Contents folder. Use OSX unzip (built-in) or GUItar.app to decompress. Note that it's double compressed in tar and bz2. This Contents folder contains the files that will replace the en-US locale originals in TenFourFox.app, or will be added to the originals: + +Contents/Resources + +/browser ->1) + +/chrome ->2) + +/chrome.manifest + +/dictionaries ->3) + + +1) + +chrome ->4) + +chrome.manifest + +defaults/preferences/firefox-l10n.js + + +2) + +(your language)/locale/… + +(your language).manifest + + +3) + +(your language).aff + +(your language).dic + + +4) + +(your language)/locale/… + +(your language).manifest + + + +For creating the tar.bz2 archive: Compress your "Contents" folder in tar, then compress your Contents.tar archive in bz2. You can use GUItar.app to do this. Rename it to "tarball.tar.bz2". + + +# 4. The manifests # + +There are two chrome manifests: in Resources/browser and in Resources. +In chrome.manifest one line must be changed: +manifest chrome/en-US.manifest -> (your language). For your language, use fr (French), ru (Russian) and so on. Use a double name (en-US, en-GB etc.) only when there are different country versions for the same language. Keep the language abbreviation consistent throughout the localization process, e.g. ru.manifest, "ru" folder in your folder tree etc. + +There are two (your language) manifests: in Resources/browser/chrome an in Resources/chrome. Copy the two respective en-US.manifest files from TFF and rename (your language).manifest. Inside change all strings accordingly. + +Always use the original (!) manifest files from the TFF version you want to translate. Never copy them from the Intel version or any other version of the installer app, otherwise you will run into trouble. + + + +# 5. The dictionaries # + +Most languages in recent Firefox versions don't package the traditional dictionary files anymore (but TFF does). You will have to extract those from old FF 3.6.x in your language or download them from https://addons.mozilla.org/En-us/firefox/language-tools/. Note that both the .dic file and the .aff files are necessary. + + +# 6. l10n.js # + +browser/defaults/preferences/firefox-l10n.js must be changed to your language. This is necessary so that browser extensions will speak your language if the programmer included them, otherwise they will stay English. + +pref("general.useragent.locale", "(your language)"); + + +# 7. Localization Strings taken from Intel-Firefox # + +The localization strings are located within two folder trees within the TFF application package: Contents/Resources/Chrome/(language) and Contents/Resources/browser/chrome/(language). Have a look at the en-US folders in TFF first. You will need some of the files and strings inside later. The installer script copies your language folder tree from the installer app to TFF, so that the browser will have the folders for en-US (inactive) and (your language) (active) in the end. + +1) Download the corresponding Intel version of FF and get the two omni.ja files from its application contents folder (Firefox uses a compressed jar format, while TFF doesn't). Rename to "omni.zip". Omni has a special zip format that Mac OS X itself might be unable to decompress. You can use the application GUItar for that. + +2) Recreate the en-US folder tree within TFF in your language. Copy/replace all of them to your contents folder except the custom strings (if you're unsure, download an existing TFF 24+ installer app and look inside). + +To edit the files, you can use Apple's TextEdit. Set Open and Save to UFT-8 in the preferences. + +Note: The folder trees is the hardest thing to make. Be prepared to spend some time. If your tree doesn't work at first, try copying only some new string files/folders at a time to see at which point it's messed up. Always check if the edited files in the FF Intel version of your language, the TFF version of your language and the TFF en-US version are consistent. + + +# 8. TFF custom strings # + +Some strings differ from the Intel Firefox version because we have our own update system and we don't support plugins. + +browser/chrome/(language)/locale/browser/baseMenuOverlay.dtd (add Check for updates… string in your language to the Intel file) + +browser/chrome/(language)/locale/branding/brand.dtd, brand.properties: Tenfourfox instead of Firefox; look at the original TFF file as an example and edit the Intel files accordingly, minus trademarkInfo in brand.dtd () +Leave homePageSingleStartMain as is. + +chrome/(language)/locale/(language)/mozapps/update/updates.dtd (manual update strings; edit the Intel file and translate&add these strings from the original TFF file) +(manualupdate2/3) + +chrome/(language)/locale/(language)/mozapps/plugins/plugins.dtd + + +chrome/(language)/locale/(language)/global/videocontrols.dtd: +instead of +use in your language. + +browser/chrome(language)locale/browser/aboutDialog.dtd (TFF's own dialog, use that instead of the Intel FF's which is incompatible. Translate the strings (it's sufficient to translate the strings that are actually shown in TFF. We don't use the update mechanism in the dialog.) ((in Aurora/Alpha versions, the About dialog will show different strings, check that you translated all of them, or just leave them English since this version won't go public anyway.)) + + +# 9. The applescript # + +The script does the automatic replacing and re-writing in the TFF.app and FF user profile. This script was originally taken and modified from the Open(Libre)Office langpack installer. + +Translate the UI strings to your language. Also change the stated TFF version(s) to the correct one(s) in: + +- set intro to + +- set TFFVersions to + +The script does the following things: + +- Quits TFF if it's running + +- Looks for TFF.app(s) and lets the user choose one if applicable + +- Checks if TFF version is correct (i.e. is one of the version(s) supported by this installer app) + +- Adds localization files to TFF app plus both (your language).manifest plus dictionaries + +- Replaces both chrome.manifest + +- Looks for user profile(s) in ~/Application Support/Firefox and writes general.useragent.locale (your language) in prefs.js \ No newline at end of file diff --git a/MacTubesEnabler.md b/MacTubesEnabler.md new file mode 100644 index 000000000..b80cc60f9 --- /dev/null +++ b/MacTubesEnabler.md @@ -0,0 +1,51 @@ +## The MacTubes Enabler is no longer receiving updates because of the end of support for the older YouTube API used by MacTubes. When/if this changes, the Enabler will be updated. Until then, we suggest the QuickTimeEnabler, which does work with many YouTube videos as well. ## + +_This wiki page is updated for releases of the MacTubes Enabler. Please check back on this page for the most up-to-date information._ + +# Using the TenFourFox MacTubes Enabler # + +The TenFourFox MacTubes Enabler (hereafter the **MTE**) allows you to play selected YouTube videos in MacTubes, outside of the browser. This gives you a safer alternative to Flash for many videos and for those YouTube videos that do not perform well with the QuickTimeEnabler (hereafter the **QTE**). + +The MTE does not replace the QTE. The QuickTimeEnabler is needed for HTML5 files and other kinds of media content that are outside of YouTube, and the QTE allows you to play certain YouTube videos in QuickTime Player instead of MacTubes if you prefer. **You can have both the QTE and MTE installed at the same time. You do not need the QTE to use the MTE.** + +For security considerations with QuickTime 7, see [this blog post](http://tenfourfox.blogspot.com/2012/05/security-blanket-blues.html). + +**The MTE is currently a beta release. It works for many YouTube videos, but you may experience minor bugs.** + +## Installing the MTE ## + +The MTE is an **optional add-on** for 10.4Fx. It is not part of the browser by default; you must download it separately. The most recent version is always available from this page. **The MTE requires at least TenFourFox 24.1.0 and MacTubes 3.1.6. The MTE is not supported on any previous release of 10.4Fx.** + +First, install MacTubes from its home page: http://macapps.sakura.ne.jp/mactubes/index_en.html + +Make sure MacTubes is able to find and play your typical YouTube videos. If it cannot, the MTE will not help you. + +Once you've confirmed MacTubes can play your desired content, download the MTE using the links below. Once downloaded, drop it on the TenFourFox window, approve the installation and follow the prompts. You do not need to restart the browser; the add-on takes effect immediately. + +### Additional codecs required ### + +The video formats you can play are significantly increased by installing [Perian](http://www.perian.org/) for QuickTime and it is strongly recommended. Follow the installation directions. + +For Tiger users, some H.264 videos may require additional H.264 profile codec support, which the [avc1Decoder package](http://www003.upp.so-net.ne.jp/mycometg3/) offers. Install the component in `/Library/QuickTime` and, optionally, install the preference pane. + +Restart QuickTime Player after installing any new components. However, you should not need to restart your Macintosh. + +## Using the MTE to play YouTube videos ## + +**If you are on a page at `youtube.com`,** simply right-click anywhere on the page. A context menu will appear with an option to `Open YouTube Video in MacTubes`. Select that option. The video will automatically open in MacTubes (if MacTubes is not already running, it will automatically start). + +**If you are trying to play an embedded YouTube video,** you may be able to right-click on the video itself to play it, but this may not work if the site has only embedded the Flash video stream. If the site has a link to the actual YouTube video page, this will be more reliable. + +For optimal playback, especially of unusual codecs or high-definition content, we recommend setting MacTubes to the QuickTime Player option under Preferences, Player. You may need to enable FLV videos under Preferences, Format for some movies to play at all. (FLV support needs Perian for playback.) + +If you are using a G5 or dual-processor G4 at or above 1.25GHz, you can probably play most 720p high definition videos. Only G5s at or above 2.5GHz can play 1080p video satisfactorily, and for best results you should set Performance to Fastest in System Preferences. Slower dual-processor G4, single-processor G4 and G3 systems should use standard 480p definition only. + +If you are using HTML5 WebM video, you may need to stop the video from playing in the browser before opening it in the MTE. You can also try selecting `Open YouTube Video in MacTubes, Close Tab` which will open the video and automatically close the YouTube tab it came from so that no further downloading, decoding or playback occurs. + +## Download the MTE ## + +[The most current version is v.1, downloadable here.](http://tenfourfox.googlecode.com/files/mactubes-enabler-beta1.xpi) + +## Changelog ## + +v.1. Initial release. \ No newline at end of file diff --git a/PluginsNoLongerSupported.md b/PluginsNoLongerSupported.md new file mode 100644 index 000000000..ebc01f07b --- /dev/null +++ b/PluginsNoLongerSupported.md @@ -0,0 +1,45 @@ +**To keep this page useful and non-cluttered, comments that are not related to plugin alternatives may be deleted for space. Please do not modify this document unless you are authorized to do so.** + +# Why aren't plugins supported in TenFourFox? Why can't I use Flash? # + +One of the controversial decisions made in TenFourFox (henceforth _10.4Fx_) 6.0 was to disable plugin support, which includes Flash, QuickTime, PDF plugins and other specific kinds of functionality. This page is to explain why and to give you safer options. + +## Plugins (unsupported) versus add-ons (mostly supported) ## + +A _plugin_ is a system module of native code, which the browser runs when trying to handle a specific type of content it doesn't handle usually, such as QuickTime movies, PDF documents or Flash video or Flash applets. Plugins are generally system-wide: the same plugin you used previously in 10.4Fx is the same plugin you use in Safari or Camino. Plugins do not alter the browser itself, although they can affect the browser, and they run within a specific window or tab instance only when called for. TenFourFox no longer supports plugins. + +An _add-on_ is a browser module, usually written in JavaScript and XUL. It only works in Firefox and 10.4Fx, and can be used for a wide variety of browser features such as adding protocol support, blocking content (such as scripts and advertisements) or adding new functionality. Some features are only possible with add-ons, and add-ons can significantly modify the browser as a whole rather than being limited to a specific window or tab. Because of their privileged nature, Mozilla curates add-ons that appear on [their official site](http://addons.mozilla.org/) and many authors offer regular updates to fix bugs and security issues. + +TenFourFox _does_ support _most_ add-ons. The add-ons it does not support are those that contain native Intel code, or, on Tiger Macs, add-ons that contain native code that requires Leopard. **You can continue to use add-ons compatible with the same version of Firefox in TenFourFox in most cases.** + +## PowerPC plugins are unmaintained and insecure, and Mozilla is changing the plugin environment ## + +No major plugin is being maintained for Power Macs any more: Flash stopped updates with Flash 10.1.102.64 in November 2010, and QuickTime 7 for the PowerPC was decommissioned with the release of QuickTime 7.7 and OS X Lion in August 2011. (Tiger users have not had an update since QT 7.6.4 in September 2009.) + +Plugins have special access to the system. When they are instantiated by the browser, they run as if you were running any regular application, which is true even for out-of-process plugins (which were never available for 10.4Fx due to Tiger SDK limitations). Like any buggy or insecure application, they can be exploited or made to crash, and because the plugin runs within the browser, such methods can also be used to attack, spy upon or destabilize the browser as well. They have also been used to [attack the network the computer is running on](http://www.pcworld.com/article/141399/flash_attack_could_take_over_your_router.html), and a well-crafted attack vector such as that example can run anywhere Flash does, including Power Macs. Because plugins load automatically by default when the page calls for them, your system could be exploited before you even notice. + +Many of these attacks can be mitigated, though not entirely prevented, by the use of add-ons that can block plugins from loading. However, there is still another problem apart from security: Mozilla is changing the environment and the technical requirements for how plugins interact with the system. These technical requirements are difficult to achieve with Mac OS X 10.4, and there are known graphical and compatibility bugs already. It is entirely possible that in the near future, extant PPC-compatible plugins will not function properly or at all. + +The final nail in the coffin, however, is that even when working properly many sites now require Flash 11 or higher, which will never be available for Power Macs. Even if these two issues didn't apply, it still isn't possible to view some kinds of content, it never will be, and this problem will only get worse. + +## Towards a plugin-free future ## + +TenFourFox survives on the volunteer work of its maintainers. It is already a large workload to maintain the browser's compatibility with Mac OS X 10.4, 10.5 and PowerPC in general, and in the not-too-distant future Mozilla will not support 10.6 either which will add to the burden. + +It doesn't make good use of our resources, then, to try to get legacy code that is not under our control to operate within the moving target that is Mozilla plugin support, especially now that Mozilla has dramatically increased the speed at which they release new versions. And even if we did get them to work, because we don't control the code behind them we continue to risk exposing ourselves and our users to insecure software that will become less and less compatible and more and more vulnerable with time. + +With TenFourFox, we're concentrating on optimizing open alternatives that can run within the browser, such as faster JavaScript, faster browser-generated graphics and faster WebM HTML5 video. As Mozilla adds more interactive HTML5 features to Firefox, many of these features will appear in 10.4Fx, superseding the need for plugins. + +## What can I use to replace Flash and QuickTime right now? ## + +There will still be some content you can't view without a Flash plugin in the browser. Some of it can be worked around. + + * TenFourFox can open some videos in QuickTime Player directly using the QuickTimeEnabler. This is compatible with many HTML5 video and audio files, and YouTube. + + * For YouTube videos in particular, the free [MacTubes](http://macapps.sakura.ne.jp/mactubes/index_en.html) application allows you to view YouTube video in multiple resolutions and full-screen. It is also more efficient at playback on older Macs. Please support this excellent application. + * If you have a fast-enough G4 or G5, you can also view many YouTube videos using TenFourFox's built-in HTML5 WebM video support, which _is_ supported. To do so, visit http://www.youtube.com/html5 and "opt in" to the HTML5 trial. This will set a temporary cookie so that available embedded videos and videos on YouTube will be presented to you in native HTML5 video, if available. While you do not need a YouTube account to use HTML5 video, the cookie may periodically expire and require renewal, and not all videos are available in WebM. + * For other video files, you can use any of the available Firefox YouTube or Flash video download extensions, and view the media files off-line with [Perian](http://www.perian.org/) for QuickTime (or QuickTime itself for codecs QT supports). + * For other audio files, download the audio file and play it in QuickTime Player. + * For PDF documents, download and view them in Preview or Adobe Reader. Mozilla support for in-browser PDF is under development. + +We welcome other plugin-free suggestions in the comments. Thanks for your understanding and helping us work towards preserving the long-term longevity of the Power Mac platform. The more functional code we have under the control of the community, the longer our Macs will be serviceable and useful. This means eliminating proprietary software in favour of open solutions is a must for future maintainability, and dropping plugin support, while painful now, will pay off handsomely later. \ No newline at end of file diff --git a/ProjectHome.md b/ProjectHome.md new file mode 100644 index 000000000..1b35fb4ca --- /dev/null +++ b/ProjectHome.md @@ -0,0 +1,23 @@ +## The TenFourFox project site will be moving to Github because Google are meaniepants and shutting down Google Code, because they're poopieheads. See you there in a few weeks. We'll post a link when it's ready. ## + +A port of modern Firefox to the Power Mac, supporting Mac OS X 10.4 and 10.5, with special features and optimizations for PowerPC processors and AltiVec. _This project is not affiliated with nor supported by Mozilla in any way, and is not an official build._ **PowerPC forever!** + +This project is specifically for Mac OS X 10.4+. If you're looking for a browser for Mac OS 8.6-10.3, look at our sister project, [Classilla](http://www.classilla.org/). + +**Because of Google Code's new download restrictions, all releases from 24.1.0 inclusive on will be released through [our SourceForge repository](https://sourceforge.net/projects/tenfourfox/files/),** including binaries and changesets. Historical downloads will remain here while they last, as well as the worklist and wiki. _If you want to verify the authenticity of a build you downloaded from SourceForge, see [Hashes](Hashes.md)._ + +Want to build your own browser or help develop? See HowToBuildRightNow. For a schedule of expected future releases, see [Roadmap](Roadmap.md). + +**Please do not report bugs unless you have tested them against the current version of Firefox. Bug reports that do not include comparison against standard Firefox will be marked invalid.** Firefox 3.6 does not count. Only bugs that are different in TenFourFox relative to Firefox will be accepted. For layout bugs, please use a system that is _not_ hardware accelerated. Because we realize that the point of TenFourFox is to facilitate access on Macs that can't run current versions of Firefox ordinarily, comparisons will be accepted to any [Tier 1 platform](https://developer.mozilla.org/en/Supported_build_configurations), including Windows and Linux. Please follow the template; it will help guide you. This is being enforced to keep the worklist sane. Thanks for helping your _unpaid volunteer_ maintainer(s) keep TenFourFox current. + +**Plugins, including Flash, do not operate in TenFourFox.** Please do not file bugs on this; this policy will not change. See PluginsNoLongerSupported for explanations and workarounds. **You can now access many videos with the QuickTimeEnabler** (in beta). + +**Get quick answers to common questions from the [TenFourFox Official FAQ](AAATheFAQ.md), or see the rest of the [TenFourFox Wiki](http://code.google.com/p/tenfourfox/w/list)** + +**For end-user support, please post problems or questions to the [TenFourFox Tenderapp](http://tenfourfox.tenderapp.com/) page.** + +**Visit our main page at [www.tenfourfox.com](http://www.tenfourfox.com/)** + +**Read our blog at [tenfourfox.blogspot.com](http://tenfourfox.blogspot.com/)** + +_TenFourKit is an unaffiliated project and is not maintained by TenFourFox. AuroraFox and Tenfourbird are based on TenFourFox code, but are not maintained by TenFourFox either. Please consult those projects specifically for support._ \ No newline at end of file diff --git a/QuickTimeEnabler.md b/QuickTimeEnabler.md new file mode 100644 index 000000000..780d81749 --- /dev/null +++ b/QuickTimeEnabler.md @@ -0,0 +1,103 @@ +_This wiki page is updated for releases of the QuickTime Enabler. Please check back on this page for the most up-to-date information._ + +**Please do not post URLs that don't work unless requested. In general, doing so doesn't help us, as the offending URL usually falls under one of the categories that the QTE cannot assist. These comments may be deleted for space.** + +# Using the TenFourFox QuickTime Enabler # + +The TenFourFox QuickTime Enabler (hereafter the **QTE**) allows you to play selected HTML5 video and audio files and YouTube videos in QuickTime, outside of the browser. You can even play H.264 content with the QTE. This gives you a safer alternative to Flash for many videos. + +If you especially need YouTube support, you may also benefit from installing the MacTubesEnabler. + +For security considerations with QuickTime 7, see [this blog post](http://tenfourfox.blogspot.com/2012/05/security-blanket-blues.html). + +The QTE _does not_ play Flash applets, and is not a substitute for Flash. Sites that only allow video playback through Flash are not compatible with the QTE. + +**The QTE is currently a beta release. It works for many media files, but you may experience minor bugs.** + +## Installing the QTE ## + +The QTE is an **optional add-on** for 10.4Fx. It is not part of the browser by default; you must download it separately. The most recent version is always available from this page. **The QTE requires at least TenFourFox 10.0.0 and QuickTime 7. You cannot use the QTE with any previous version of TenFourFox, and the QTE may not work properly with QuickTime X if you are using an Intel system.** + +Once downloaded, drop it on the TenFourFox window, approve the installation and follow the prompts. You do not need to restart the browser; the add-on takes effect immediately. + +### Additional codecs required ### + +The video formats you can play are significantly increased by installing [Perian](http://www.perian.org/) for QuickTime and it is strongly recommended. Follow the installation directions. + +For Tiger users, some H.264 videos may require additional H.264 profile codec support, which the [avc1Decoder package](http://www003.upp.so-net.ne.jp/mycometg3/) offers. Install the component in `/Library/QuickTime` and, optionally, install the preference pane. + +Restart QuickTime Player after installing any new components. However, you should not need to restart your Macintosh. + +## Using the QTE ## + +When you open a video with the QTE, QuickTime Player will automatically start and the video will open _outside_ of the browser. You can have as many videos open as you like. For best results, make sure _Automatically play movies when opened_ is checked in Preferences in the QuickTime Player. Once the video has sufficiently buffered, it will automatically begin to play. + +### To play YouTube videos ### + +**If you are on a page at `youtube.com`,** simply right-click anywhere on the page. A context menu will appear with a list of resolutions. Click on the desired resolution; if it is available, it will be loaded, and if it is not the QTE will select a fallback resolution. Even if the video states it is "unavailable," you may still be able to access the video with the QTE. + +The QTE will tell you the source URL, and then the video will load in QuickTime Player. + +If you are using a G5 or dual-processor G4 at or above 1.25GHz, you can probably play most 720p high definition videos. Only G5s at or above 2.5GHz can play 1080p video satisfactorily, and for best results you should set Performance to Fastest in System Preferences. Slower dual-processor G4, single-processor G4 and G3 systems should use standard 480p definition only. + +If you are using HTML5 WebM video, you may need to stop the video from playing in the browser or close the video tab entirely before opening it in the QTE. + +**If you are trying to play an embedded YouTube video,** you may be able to SHIFT-right-click (hold down SHIFT and right-click) on the video to play it, but this will not work if the site has only embedded the Flash video stream. If the site has a link to the actual YouTube video page, this will be more reliable. + +**For particularly problematic YouTube videos, the MacTubesEnabler may help.** + +If you have QuickTime Pro, you can then save the video to disk to play later. + +### To play generic HTML5 video and audio ### + +Sites that use the `