Closed
Bug 570342
Opened 15 years ago
Closed 10 years ago
Metabug for mingw-w64 compilation
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jacek, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [tor])
Attachments
(2 files, 2 obsolete files)
9.12 KB,
patch
|
Details | Diff | Splinter Review | |
662 bytes,
text/plain
|
Details |
I've been able to successfully crosscompile win64 Firefox on Linux. All patches have been submitted to bugzilla. This bug is meant to keep track of them as well as document the process of compilation.
Setting up compile environment:
* Getting sources
$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.bz2
$ tar -jxf binutils-2.20.tar.bz2
$ wget http://gcc.fyxm.net/releases/gcc-4.5.0/gcc-4.5.0.tar.bz2
$ tar -jxf gcc-4.5.0.tar.bz2
$ svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64 mingw-w64-svn
SVN version of mingw-w64 is required as well as a patch:
$ cd mingw-w64-svn
$ wget http://sourceforge.net/tracker/download.php?group_id=202880&atid=983356&file_id=375345&aid=3007914
$ patch -p0 <patch.diff
* binutils
$ mkdir binutils-2.20-mingw64 && cd binutils-2.20-mingw64
$ ../binutils-2.20/configure --prefix=/usr/local/ --target=x86_64-w64-mingw32 --disable-multilib
$ make
$ make install
* mingw-w64 headers
$ mkdir mingw-w64-headers64 && cd mingw-w64-headers64
$ ../mingw-w64-svn/mingw-w64-headers/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/ --enable-sdk=all
$ make install
* GCC compiler
$ mkdir gcc-4.5.0-mingw64 && cd gcc-4.5.0-mingw64
$ ../gcc-4.5.0/configure --target=x86_64-w64-mingw32 --disable-multilib --prefix=/usr/local/ --enable-languages=c,c++ --with-gnu-ld --with-gnu-as
$ make all-gcc
$ make install-gcc
* mingw-w64 crt
$ mkdir mingw-w64-lib64 && cd mingw-w64-lib64
$ ../mingw-w64-svn/mingw-w64-crt/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/
$ make
$ make install
* Finishing GCC
$ cd gcc-4.5.0-mingw64
$ make
$ make install
* Mozilla compilation
There are currently quite a few (mostly small) patches needed for successful compilation. Apply patches from all dependencies of this bug to mozilla-central current source and use the attached mozconfig to compile 64-bit Firefox.
Reporter | ||
Updated•15 years ago
|
Reporter | ||
Comment 1•15 years ago
|
||
I've attached my current diff required for mingw-w64 compilation. Most of patches are in the tree now. Remaining are two patches waiting for NSS merge, two NSS patches waiting for wtc's review and one patch waiting for hunspell merge. Also mingw-w64 patch is no longer needed. It compiles fine with mingw-w64 SVN version.
Reporter | ||
Comment 2•13 years ago
|
||
I'm attaching recent diff against m-c that is required for successful compilation with mingw-w64. Below are updated instruction for building (it should work with GCC up to 4.6.*, 4.7 requires a bit more fixes that are on their way).
* Getting sources
$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2
$ tar -jxf binutils-2.22.tar.bz2
$ wget http://gcc.fyxm.net/releases/gcc-4.6.3/gcc-4.6.3.tar.bz2
$ tar -jxf gcc-4.6.3.tar.bz2
SVN version of mingw-w64 is required:
$ svn co https://mingw-w64.svn.sourceforge.net/svnroot/mingw-w64/trunk mingw-w64-svn
* binutils
$ mkdir binutils-2.22-mingw64 && cd binutils-2.22-mingw64
$ ../binutils-2.22/configure --prefix=/usr/local/ --target=x86_64-w64-mingw32 --disable-multilib
$ make
# make install
* mingw-w64 headers
$ mkdir mingw-w64-headers64 && cd mingw-w64-headers64
$ ../mingw-w64-svn/mingw-w64-headers/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/ --enable-sdk=all --enable-secure-api
# make install
* GCC compiler
$ mkdir gcc-4.6.3-mingw64 && cd gcc-4.6.3-mingw64
$ ../gcc-4.6.3/configure --target=x86_64-w64-mingw32 --disable-multilib --prefix=/usr/local/ --enable-languages=c,c++ --with-gnu-ld --with-gnu-as
$ make all-gcc
# make install-gcc
* mingw-w64 crt
$ mkdir mingw-w64-lib64 && cd mingw-w64-lib64
$ ../mingw-w64-svn/mingw-w64-crt/configure --host=x86_64-w64-mingw32 --prefix=/usr/local/
$ make
# make install
* Finishing GCC
$ cd gcc-4.6.3-mingw64
$ make
# make install
Attachment #456850 -
Attachment is obsolete: true
Reporter | ||
Comment 3•13 years ago
|
||
Attachment #449470 -
Attachment is obsolete: true
Updated•12 years ago
|
Whiteboard: [tor]
Comment 4•10 years ago
|
||
This is on the Tor spreadsheet and it appears that all of the bugs have been fixed. The related Tor Trac 10715 is closed. Can I close this and marked it fixed?
Flags: needinfo?(mikepery)
Flags: needinfo?(arthuredelstein)
Comment 5•10 years ago
|
||
I don't see much value in keeping this bug open. And the dependent bugs all being closed tell me this is FIXED instead of WORKSFORME or INCOMPLETE.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(mikepery)
Flags: needinfo?(arthuredelstein)
Resolution: --- → FIXED
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•