Under construction!!
Build Prerequisites
Configuration
Problems and Solutions
The very first problem I encountered after I started to build took me merely a couple minutes to solve thanks to the great old Google. The command prompt spurted out this error message:
checking for makensis... no configure: error: To build the installer makensis is required in your path. To build without the installer reconfigure using --disable-installer.
I found my solution on a forum. Basically I just added "ac_add_options --disable-installer" to my .mozconfig file.
The next problem I encountered was a little trickier. The error code was:
../coreconf/rules.mk:365: target `c' doesn't match the target pattern ../coreconf/rules.mk:406: target `c' doesn't match the target pattern ../coreconf/rules.mk:407: warning: overriding commands for target `c' ../coreconf/rules.mk:366: warning: ignoring old commands for target `c' ../coreconf/rules.mk:437: target `c' doesn't match the target pattern ../coreconf/rules.mk:438: warning: overriding commands for target `c' ../coreconf/rules.mk:407: warning: ignoring old commands for target `c' ../coreconf/rules.mk:445: target `c' doesn't match the target pattern ../coreconf/rules.mk:446: warning: overriding commands for target `c ../coreconf/rules.mk:438: warning: ignoring old commands for target `c' ../coreconf/rules.mk:449: target `c' doesn't match the target pattern ../coreconf/rules.mk:450: warning: overriding commands for target `c' ../coreconf/rules.mk:446: warning: ignoring old commands for target `c' ../coreconf/rules.mk:464: target `c' doesn't match the target pattern ../coreconf/rules.mk:465: warning: overriding commands for target `c' ../coreconf/rules.mk:450: warning: ignoring old commands for target `c' ../coreconf/rules.mk:468: target `c' doesn't match the target pattern ../coreconf/rules.mk:469: warning: overriding commands for target `c' ../coreconf/rules.mk:465: warning: ignoring old commands for target `c' ../coreconf/rules.mk:966: *** multiple target patterns. Stop.
My typical solution to any problems is "consulting" my old friend Google. It seemed like quite a few people encountered the same problem. I found out from a forum that the problem was that I didn't have the right version of Make. I had Make 3.81 which should have been Make 3.80.
I pulled up the GNU Tools for Microsoft Windows (Cygwin) installation guide again, and realized that I have missed out the part where it mentioned make 3.80 (not 3.81!) -- dependency analyzer for software builds (Devel category) as one of the required packages. However, when I reinstalled Cygwin again, it didn't give me an option to choose Make 3.80!! (I think this is a serious issue and should be outlined in the Windows Build Documentation)
I tried various solutions but my build still failed. After several unsuccessful attempts, I consulted Andrei Hajdukewycz for a solution, and the miracle happened, Firefox was then successfully built!!
Solution to "target `c' doesn't match the target pattern" error
- Install Cywgin from here
- Download Make 3.80
- Extract it and install it
- As it is a binary package, you could just grab the Make executable file (make.exe) and drop it in Cywgin -> bin (this will overwrite the existing Make executable)
- Double check if you have the right Make package by typing this command:
$ make -v GNU Make 3.80