Commit Graph

837 Commits

Author SHA1 Message Date
James Willcox
4f49c48da4 Bug 1309594 - Fix typo in Android build-tools detection r=sebastian
Patch from volker.mische@gmail.com
2016-10-31 13:15:00 +01:00
David Major
81eeceed59 Bug 1313394 - Update build system to support 64-bit ASan DLLs. r=ted 2016-10-28 16:52:36 -05:00
Makoto Kato
48d2b365a6 Bug 1253809 - Add Android/aarch64 build config. r=glandium
MozReview-Commit-ID: 2WN6GOWb572

--HG--
extra : rebase_source : 956280be205109d1d28f8e33a3348811caa7d215
2016-10-07 19:46:57 +09:00
Carsten "Tomcat" Book
7c8e81673d merge mozilla-inbound to mozilla-central a=merge 2016-10-06 11:59:54 +02:00
David Major
b95c840429 Bug 1307547: Don't pass sanitize flags to the linker on Windows. r=glandium 2016-10-05 14:53:10 -05:00
Chris Manchester
333ac383e2 Bug 1304869 - Unset CFLAGS when invoking jemalloc's configure to accomodate setting CFLAGS in mozconfig. r=glandium
A side effect of ffi.m4 was that it would un-set CFLAGS when compiling with MSC.
This incidentally worked around the fact that if CFLAGS are set in jemalloc's
configure, it will not set certain variables that are necessary to configure
jemalloc, but are unlikely to be set manually by someone building Firefox.

MozReview-Commit-ID: 2l54YhSAUaL
2016-09-22 22:28:06 -07:00
Tom Schuster
3cc61134b1 Bug 1302163 - Show an error for [v]snprintf with literals using the clang plugin. r=ehsan 2016-10-04 17:57:50 +02:00
Kris Maglione
31d4562067 Bug 1307626: Correctly define DEBUG substitution in debug artifact builds. r=glandium
MozReview-Commit-ID: Io2eq64Bx7L

--HG--
extra : rebase_source : 42324ea9ef9b775a6399b3f43df5dee349780f13
2016-07-27 15:14:52 -07:00
Andrzej Hunt
e04f1b07d7 Bug 1267884 - Upgrade support libraries to 23.4 r=sebastian
MozReview-Commit-ID: C7LWrLfYlQU

--HG--
extra : rebase_source : 78648f60d13d662fd804cf004204389f5b2fc5a2
extra : source : 25e1ca9427995e770e8821b148e83bdab95521bd
2016-09-30 09:16:23 -07:00
Gregory Szorc
d0e135f5d1 Backed out changesets cc4bdd6afea0, abc52d4c5f87, and 25e1ca942799 (bug 1267884) for Android bustage
CLOSED TREE

--HG--
extra : amend_source : 1f0c7bbb5aa8a3dab38f0785e13e32f59e8f8c79
extra : histedit_source : ca99420cac7019a4b6fd6aab781b93151092a8bc%2C0ef091317a27688c734f20417875406726e35de7
2016-09-30 15:01:13 -07:00
Andrzej Hunt
04780a2df0 Bug 1267884 - Upgrade support libraries to 23.4 r=sebastian
MozReview-Commit-ID: C7LWrLfYlQU

--HG--
extra : rebase_source : 164b33c147fd57c63e00c82738eaa9d3b21c6800
2016-09-30 09:16:23 -07:00
Chris Manchester
aa2131cd40 Bug 1302909 - Set STDC_HEADERS everywhere instead of relying on AC_HEADER_STDC. r=glandium
MozReview-Commit-ID: DXvcX1i9vuo
2016-09-15 12:11:11 -07:00
Chris Manchester
6736329d5e Bug 1262155 - Use moz.build instead of libffi's build system. r=ted,glandium
MozReview-Commit-ID: 3wobNk0HDU5
2016-08-08 16:58:54 -07:00
Nathan Froyd
ed9a70c138 Bug 1301076 - remove stlport support from the build system and stlport code; r=glandium
We can no longer build with STLport now that we require a
C++11-compliant standard library, so we might as well get rid of all the
support for it.
2016-09-21 19:21:40 -04:00
Andrew Halberstadt
5b7356ae02 Bug 1292674 - Also allow android build-tools v23.0.1 in configure, r=gps
I recently discovered that build-tools 23.0.3 doesn't seem to exist on Fedora. Although
I fixed mozboot to download 23.0.1 instead, the builds were still failing because of
configure required 23.0.3.

This seems like an artificial limitation, as building with 23.0.1 seems to work just fine.
This patch will allow either 23.0.1 or 23.0.3.

Note: It would probably better to check for some "minimum" version of build-tools I think
GNU sort has a -V option we could use, but I don't know how cross-platform this is.

MozReview-Commit-ID: 8W0P3yyAHu1

--HG--
extra : rebase_source : 166c1b66962cac6af92c4ce6d3cc1780d9049800
2016-08-26 17:03:02 -04:00
Makoto Kato
376abb5214 Bug 1298569 - Part 1. Add NEON_FLAGS for arm32. r=glandium
aarch64 doesn't require compiler flag when using NEON.  To use NEON on aarch64 with BUILD_ARM_NEON, we should move NEON's flags to NEON_FLAGS like SSE2_FLAGS.

MozReview-Commit-ID: PGDjcHdTfH

--HG--
extra : rebase_source : d21bd6f743f363fdd183bda9b9f308fcf100186b
2016-08-27 14:23:22 +09:00
Mike Hommey
935ad653b8 Bug 1299919 - Set CPP/CXXCPP from python configure. r=chmanchester 2016-09-13 13:25:18 +09:00
Michael Layzell
71cd730292 Bug 1301171 - Remove unused rust.m4 file, r=froydnj
MozReview-Commit-ID: ABaZzfTAbrQ
2016-09-08 10:34:50 -04:00
Sebastian Kaspari
9b9a3bee93 Bug 1300569 - Add palette-v7 support library to build. r=ahunt
MozReview-Commit-ID: F29cOyHsd8B

--HG--
extra : rebase_source : 0c568158a20ae34687b135ce414ccfb5f710d228
2016-09-06 08:39:16 +02:00
Chris Manchester
8577fd7039 Bug 1298536 - Move --with-linux-headers to Python configure. r=glandium
MozReview-Commit-ID: FWovXD9rjed

--HG--
extra : rebase_source : 4a9693b512c51b37abd5cdafcedc21cff8b4434c
2016-08-31 14:29:29 -07:00
Andrew Halberstadt
b8794fb825 Backed out changeset 0d714827d06c for causing local build failures on Android (bug 1292674)
MozReview-Commit-ID: LPos2cJMyRR
2016-09-01 13:34:01 -04:00
Andrew Halberstadt
9d41cac3c3 Bug 1292674 - Also allow android build-tools v23.0.1 in configure, r=gps
I recently discovered that build-tools 23.0.3 doesn't seem to exist on Fedora. Although
I fixed mozboot to download 23.0.1 instead, the builds were still failing because of
configure required 23.0.3.

This seems like an artificial limitation, as building with 23.0.1 seems to work just fine.
This patch will allow either 23.0.1 or 23.0.3.

Note: It would probably better to check for some "minimum" version of build-tools I think
GNU sort has a -V option we could use, but I don't know how cross-platform this is.

MozReview-Commit-ID: 8W0P3yyAHu1

--HG--
extra : rebase_source : 8e2809327eabd49f681ef42eec9c2f0eb43f1eb8
2016-08-26 17:03:02 -04:00
Chris Manchester
942b77d16c Bug 1294803 - Move MOZ_SYSTEM_FFI to moz.configure in preparation for moving libffi to our build system. r=glandium
This patch introduces a small change in behavior: we now unconditionally
require libffi > 3.0.9 when using system ffi, rather than accepting 3.0.9
when using GCC, as 3.0.10 was released 5 years ago, and should be widely
available.


MozReview-Commit-ID: DtSDPoZSPcx
2016-08-22 15:07:07 -07:00
Chris Manchester
76d8f148d9 Backed out changeset c0e6aae0b93d (bug 1294803) for breaking artifact builds.
MozReview-Commit-ID: BTrQMCJSCRn
2016-08-19 11:12:07 -07:00
Chris Manchester
269e8590e8 Bug 1294803 - Move MOZ_SYSTEM_FFI to moz.configure in preparation for moving libffi to our build system. r=glandium
This patch introduces a small change in behavior: we now unconditionally
require libffi > 3.0.9 when using system ffi, rather than accepting 3.0.9
when using GCC, as 3.0.10 was released 5 years ago, and should be widely
available.


MozReview-Commit-ID: DtSDPoZSPcx
2016-08-17 15:02:31 -07:00
Mike Hommey
77ee4f3ce4 Bug 1292463 - Move MOZ_C{,XX}_SUPPORTS_WARNING to python configure. r=chmanchester 2016-08-10 10:50:01 +09:00
Mike Hommey
afa6c4d5f3 Bug 1292046 - Add a check that the compiler works with -c out of the box. r=chmanchester
The base compiler check in python configure does some preprocessing,
which ensures the compiler works to some extent. Autoconf used to have
a more complete test, doing a compile/link. We do have plenty of tests
afterwards that do that anyways, but it's better if we fail early if
the toolchain fails somehow.

This refactors try_compile such that the *_compiler variable themselves
can be used to trigger compiler tests. Eventually, we'll want something
similar for preprocessing and possibly other invocations.

This also removes similar tests from build/autoconf/toolchain.m4.

--HG--
extra : rebase_source : c60d1d6e39b6bd2a377516687affd9b8932ebc12
2016-08-04 15:51:47 +09:00
Michael Layzell
89cf71b092 Bug 1278135 - Link against less of Clang and LLVM statically when building the clang plugin, r=glandium 2016-08-05 13:54:08 -04:00
Wes Kocher
e2fcb18843 Backed out 2 changesets (bug 1292046) for android build failures a=backout
Backed out changeset 3263785341f2 (bug 1292046)
Backed out changeset a1b9e1631661 (bug 1292046)
2016-08-04 14:22:54 -07:00
Mike Hommey
811693f3aa Bug 1292069 - Remove the cleansrcdir target. r=gps
It has not been useful since we removed the possibility to build in the
source directory.

--HG--
extra : rebase_source : 479100785c8253ea3e255ebbda4b3538e8ed33ff
2016-08-04 17:34:05 +09:00
Mike Hommey
6df9c96b3e Bug 1292059 - Remove now useless compiler checks in compiler-opts.m4. r=chmanchester
Since bug 1259382, CC and CXX are always set, so we can stop
falling back to cl on Windows, and clang on OSX in compiler-opts.m4.

Also, we were actively rejecting GCC on OSX because it was based on
GCC 4.2 and known to be broken, but that test predates our requirement
for more recent versions of GCC, which would fail configure anyways.
So just remove that GCC test. Building with a modern GCC from macports
or wherever might actually work anyways.

Finally, remove target bit-width mismatch with the compiler as it's
handled in python configure since bug 1288313.

--HG--
extra : rebase_source : 9968028cc4e9c197b72136037a7298be10cc139a
2016-08-04 17:11:52 +09:00
Mike Hommey
94fe17e0c2 Bug 1292046 - Add a check that the compiler works with -c out of the box. r=chmanchester
The base compiler check in python configure does some preprocessing,
which ensures the compiler works to some extent. Autoconf used to have
a more complete test, doing a compile/link. We do have plenty of tests
afterwards that do that anyways, but it's better if we fail early if
the toolchain fails somehow.

This refactors try_compile such that the *_compiler variable themselves
can be used to trigger compiler tests. Eventually, we'll want something
similar for preprocessing and possibly other invocations.

This also removes similar tests from build/autoconf/toolchain.m4 and
old-configure.in.

--HG--
extra : rebase_source : 4f6f84e5ad220386e9edf82d19cc2cd6c1f4c43e
2016-08-04 15:51:47 +09:00
Steve Fink
986c3892e5 Bug 1288596 - Better error message when compiler is incompatible with sanitizer, r=glandium
--HG--
extra : rebase_source : eb0582ee2ff4b576fd34b91bc4caf66493b84b96
2016-07-29 11:28:33 -07:00
Mike Hommey
51236564fa Bug 1290040 - Find link.exe from python configure. r=gps
This ensures we have a full path to link.exe from MSVC in LD, avoiding
to use /usr/bin/link on msys2.
2016-08-02 13:20:53 +09:00
Makoto Kato
26d9758f22 Bug 1262102 - Don't use MOZ_ICU_DATA_ARCHIVE=1 on Android. r=ted
The files into APK isn't extracted on our Android build, so it isn' good to use data file on Android build.

MozReview-Commit-ID: 4AQb2b7ScAH

--HG--
extra : rebase_source : 02d493f9b0f6dad5c5106ea45863f2f7c9c0b97e
2016-07-29 12:03:29 +09:00
Carsten "Tomcat" Book
7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Mike Hommey
8398056155 Bug 1289291 - Move Windows SDK detection to python configure. r=chmanchester
At the same time, autodetect the SDK if WINDOWSSDKDIR is not given.

--HG--
extra : rebase_source : 4ee98e2105b607bab5050127f23354e9b291a246
2016-07-22 19:10:04 +09:00
Mike Hommey
581b147a75 Bug 1289239 - Remove autoconf-based C++ compiler validation check. r=chmanchester
Python configure is already checking that the C++ compiler is indeed a C++
compiler, no need to double check in old-configure.

--HG--
extra : rebase_source : fcb6fc7ac88dcf3ef172cd30e23454b654e08c03
2016-07-22 19:13:56 +09:00
Nicholas Nethercote
1853761692 Bug 1262731 - Don't use a separate ICU data file on Windows. r=ted.
Because sometimes the file goes missing which prevents Firefox from starting.

--HG--
extra : rebase_source : f5e125a56104d8c5aaa1776c9223c7b0d96b8031
2016-07-21 08:13:17 +10:00
Steve Fink
fe8f6aaf6d Bug 1287541 - Eliminate unnecessary asan flags, r=glandium
MozReview-Commit-ID: Dca06yR9PjC

--HG--
extra : rebase_source : ed4703e3c5c9eca791ee1f6b68aeef2b1d52e696
2016-07-15 12:57:51 -07:00
Xidorn Quan
76db18facb Bug 1284406 part 3 - Export ICU headers in include/unicode. r=glandium
MozReview-Commit-ID: FuwAgEGjhxm

--HG--
extra : source : c07ceab42b47b18a1e8d436e7c888bdd113575fa
2016-07-20 15:00:13 +10:00
Chris Manchester
84564f1ce1 Bug 1269517 - Move various header checks to Python configure. r=glandium
MozReview-Commit-ID: CLn3PQUh4gG
2016-07-26 15:27:19 -07:00
Chris Manchester
35d8261b9c Bug 1269517 - Remove header checks from old-configure that are no longer needed. r=glandium
This patch removes the checks for compat.h, sys/bittypes.h, gnu/libc-version.h,
X11/XKBlib.h, sys/sysmacros.h, and sys/cdefs.h from old-configure, because they
are not checked meaningfully in the tree.

The check for memory.h is removed, because while there are checks for
HAVE_MEMORY_H in the tree, they are in places this is set by a third party
build system.

The check for io.h is also removed, because while there are checks for
HAVE_IO_H, they're only relevant on windows, where this is set manually in
old-configure.

MozReview-Commit-ID: MOI50CP00k
2016-07-26 15:27:19 -07:00
Chris Manchester
55afa58b7a Bug 1269517 - Move android_platform to python configure. r=glandium
MozReview-Commit-ID: 30bVQUc8hGb
2016-07-26 15:27:19 -07:00
Steve Fink
3765bea320 Bug 1280637 - Make --enable-thread-sanitizer & friends do more work, r=glandium
MozReview-Commit-ID: KinAe8zLivJ

--HG--
extra : rebase_source : 8ce1b58222a034f2d6ec45f28aabb3a543bc84c7
2016-07-12 17:30:23 -07:00
Thomas Zimmermann
7065b7cb62 Bug 1280600: Cleanup Android linker flags and libraries, r=glandium
Android and b2g have duplicated linker flags and libraries. This patch
removes the duplicates from b2g scripts. The library 'log' is now listed
in the correct variable 'LIBS'.

MozReview-Commit-ID: EtVzZpoXkdK
2016-07-11 15:16:56 +02:00
Thomas Zimmermann
5f90520d21 Bug 1280600: Cleanup Android-version variables in configure scripts, r=glandium
Not all Android releases come with their own platform release. This patch adds
a switch statement to MOZ_ANDROID_NDK to use the previous platform release in
this case.

For several tests, the autoconf script 'old-configure.in' uses an internal
variable 'ANDROID_VERSION'. The stored value comes from the environment
variable 'PLATFORM_SDK_VERSION'. This patch replaces 'ANDROID_VERSION' by
'android_version', which is defined by MOZ_ANDROID_NDK from a command-line
parameter.

MozReview-Commit-ID: EbDgZX2aJgJ
2016-07-11 15:16:56 +02:00
Nathan Froyd
da61f509c2 Bug 1283678 - pass variables to libffi's subconfigure directly rather than exporting them; r=glandium
MozReview-Commit-ID: C0m0rURELqf
2016-07-04 22:26:05 -07:00
Nathan Froyd
08d7f5aaec Bug 1195477 - part 2 - pass -no-integrated-as to libffi when building with clang; r=glandium
The ARM assembly sources in libffi don't work well with clang's
integrated assembler, so disable the integrated assembler for libffi.
2016-06-28 23:48:49 -04:00
Nathan Froyd
4288fc808d Bug 1281786 - make Fennec compile with NDK r12; r=glandium
NDK r12 shuffled a few things around and changed how we need to link to libc++.
2016-06-28 22:00:47 -04:00
Phil Ringnalda
0c749ef583 Back out 2 changesets (bug 1195477) on suspicion of breaking Mac clobbers in libffi
CLOSED TREE

Backed out changeset 45a6a74c46ea (bug 1195477)
Backed out changeset 4f607b7635fd (bug 1195477)
2016-06-23 19:29:22 -07:00
Nathan Froyd
449fff0af3 Bug 1195477 - part 2 - pass -no-integrated-as to libffi when building with clang; r=glandium
The ARM assembly sources in libffi don't work well with clang's
integrated assembler, so disable the integrated assembler for libffi.
2016-06-23 17:46:59 -04:00
Chris Manchester
93ef406a76 Bug 1279369 - Move --enable-debug, MOZ_DEBUG_FLAGS, and --enable-debug-symbols to Python configure. r=glandium
Setting MOZ_DEBUG_SYMBOLS as a define was not moved, as this value is not
checked, and exporting MOZ_DEBUG_SYMBOLS was not moved, as this would only
impact nspr, and we're no longer using the nspr build system.

MozReview-Commit-ID: EvBTunhxcsr
2016-06-20 16:02:01 -07:00
Thomas Zimmermann
5d152949dc Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-16 08:43:51 +01:00
Sebastian Hengst
d41fba2a76 Backed out changeset f6f4144c4dbc (bug 1276927) 2016-06-15 12:23:48 +02:00
Thomas Zimmermann
c63293b2ca Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-15 10:59:49 +01:00
Sebastian Kaspari
38f5ea7b19 Bug 1276696 - Add custom tabs support library. r=mcomella
MozReview-Commit-ID: LXie1GiV4gV

--HG--
extra : rebase_source : 7316ebbe6512db64364c0a4f450e0758f79fcc5c
2016-06-10 11:01:11 +02:00
Chris Peterson
b1d13cd1ed Bug 1277428 - Enable clang's -Wstring-conversion warnings. r=glandium
--HG--
extra : rebase_source : 4a69f9825383d0da734f7982e974922257b71f63
2016-06-02 21:19:55 -07:00
Makoto Kato
daf9534a3e Bug 1262052 - Remove unnecessary -mandroid parameter. r=glandium
When target is Android, -mandroid is default parameter from gcc 4.6  So we don't need add this options.

Also clang doesn't support this argument.

MozReview-Commit-ID: AuA3Y9vlgWE

--HG--
extra : rebase_source : c1866f56f131e666cc321d21fda1317532d46101
2016-06-07 16:07:39 +09:00
Chris Manchester
e62326427f Bug 1276043 - Move ANDROID_SUPPORT_LIBRARY_VERSION and ADNROID_GOOGLE_PLAY_SERVICES_VERSION to Python configure. r=glandium
MozReview-Commit-ID: 2UctER22IGt
2016-05-31 10:14:35 -07:00
Sebastian Kaspari
65248e9ba7 Bug 1247047 - Remove play-services-{analytics,appindexing}, no longer required by play-services-ads 8.4.0. r=ahunt
MozReview-Commit-ID: KowZ2gjzs8a

--HG--
extra : rebase_source : f639ad1107a7723cf3d7a4dcbeb7b3b64fda9504
2016-05-23 17:56:05 +02:00
Sebastian Kaspari
586f1b35ad Bug 1247047 - Add play-services-measurement, required by play-services-gcm 8.4.0. r=ahunt
MozReview-Commit-ID: 4T65x2u3LmZ

--HG--
extra : rebase_source : f0f78a031da64a8ec638e08c8f50f611930190e9
2016-05-23 17:51:27 +02:00
Sebastian Kaspari
8a40b11133 Bug 1247047 - Update build tools to 23.0.3 and Google Play Services to 8.4.0. r=ahunt
MozReview-Commit-ID: 3KZfrc4SL2D

--HG--
extra : rebase_source : bb9844047b01909ac5e9972db844732042389635
2016-05-23 17:46:06 +02:00
Sebastian Hengst
5bb937e6f4 Backed out changeset 0183f1bb4655 (bug 1247047) for Android build bustage. r=backout on a CLOSED TREE 2016-05-25 18:32:42 +02:00
Sebastian Hengst
5a4685ed2f Backed out changeset a38fb5ad3684 (bug 1247047) 2016-05-25 18:31:55 +02:00
Sebastian Hengst
b83d99d00b Backed out changeset fac238070399 (bug 1247047) 2016-05-25 18:31:48 +02:00
Sebastian Kaspari
abdc8c2da2 Bug 1247047 - Remove play-services-{analytics,appindexing}, no longer required by play-services-ads 8.4.0. r=ahunt
MozReview-Commit-ID: KowZ2gjzs8a

--HG--
extra : rebase_source : 40a9a4309891063b3ca9b4b2e89133d051d6563e
2016-05-23 17:56:05 +02:00
Sebastian Kaspari
164ed8d6be Bug 1247047 - Add play-services-measurement, required by play-services-gcm 8.4.0. r=ahunt
MozReview-Commit-ID: 4T65x2u3LmZ

--HG--
extra : rebase_source : 76665608e6d884538977e4ca1261e36a9fc5540e
2016-05-23 17:51:27 +02:00
Sebastian Kaspari
05ce52d892 Bug 1247047 - Update build tools to 23.0.3 and Google Play Services to 8.4.0. r=ahunt
MozReview-Commit-ID: 3KZfrc4SL2D

--HG--
extra : rebase_source : b0c119842b1713de963e5662b53a92f0884935a7
2016-05-23 17:46:06 +02:00
Sebastian Kaspari
aaab192fc8 Bug 1274955 - Extract Android dependency versions. r=glandium
MozReview-Commit-ID: FXwWjWIXke4

--HG--
extra : rebase_source : 8532dd6049bc411990547888600d1a394d8fbc14
2016-05-23 13:20:43 +02:00
Ralph Giles
846d05d7d9 Bug 1273625 - rust: target i686-pc-windows-msvc. r=mshal
We no longer need to support systems without SSE2, so we
can move to the standard i686 target.

Bump CLOBBER since we're having trouble with cached
`--target i586-pc-windows-msvc` in RUSTC settings in configure.

MozReview-Commit-ID: 6eaPwnYSzrR
2016-05-19 10:45:46 -07:00
Ryan VanderMeulen
4cffb5461e Merge inbound to m-c. a=merge 2016-05-19 12:46:54 -04:00
Andrzej Hunt
1aec36f857 Bug 1271428 - Pre: add cardview support library r=sebastian
MozReview-Commit-ID: 3rOJRnv1ujO

--HG--
extra : rebase_source : ddd199820174110bafdcf625a6bf9a359290e0ea
2016-05-09 14:05:21 -07:00
Sebastian Hengst
f324ab4b75 Backed out changeset bb7ad21e70e5 (bug 1273625) for Windows XP build bustage. r=backout 2016-05-18 20:23:48 +02:00
Chris Manchester
3eb90d9dd1 Bug 1269513 - Implement PKG_CHECK_MODULES equivalent in Python configure. r=glandium
MozReview-Commit-ID: mhFMEG0UXz
2016-05-17 14:40:03 -07:00
Nathan Froyd
f8a1b9718d Bug 1273934 - switch android builds to default to libc++; r=snorp
This change is only significant for local developer builds; automation
has been building with libc++ for a week or so now.
2016-05-18 22:01:53 -04:00
Ralph Giles
e1abdad2a8 Bug 1273625 - rust: target i686-pc-windows-msvc. r=mshal
We no longer need to support systems without SSE2, so we
can move to the standard i686 target.

MozReview-Commit-ID: 6eaPwnYSzrR
2016-05-18 10:59:01 -07:00
Chris Manchester
303634f7fa Bug 1257958 - Move MOZ_ANDROID_GCM to Python configure. r=nalexander
MozReview-Commit-ID: 90vbYKB8rHJ
2016-04-22 13:01:21 -07:00
Ted Mielczarek
38f0f05268 bug 1266046 - remove NSPR_CONFIGURE_ARGS. r=glandium
MozReview-Commit-ID: 4lwouR4LVit

--HG--
extra : rebase_source : 6103e3ab1ff077efc3109b412e4f3bbcb53c8f5f
2016-04-20 08:37:39 -04:00
Mike Hommey
4cad8671dc Bug 1265627 - Force clang-cl MSVC emulation from moz.configure. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey
b80757a0cb Bug 1265627 - Remove now useless version-related assignments from old-configure. r=ted
Also simplify things around some remaining compiler version checks.
2016-04-20 07:51:55 +09:00
Mike Hommey
5192eab0d6 Bug 1265627 - Move compiler version checks to moz.configure. r=ted 2016-04-20 07:51:55 +09:00
Mike Hommey
8990bb15dd Bug 1264482 - Move adding -std=gnu99 and -std=gnu++11 to moz.configure. r=ted
We were unconditionally adding them, now actually check what the
compilers default to and add the flags if they are necessary.
This will, in the future, allow finer grained policy changes, where
we can decide that C++11 and C++14 are fine, downgrading compilers
that do C++17, etc.
2016-04-19 15:09:37 +09:00
Mike Hommey
341ebd8679 Bug 1259382 - Move CC/CXX/HOST_CC/HOST_CXX to moz.configure. r=ted
At the same time, we improve things slightly by deriving HOST_CC from CC
in a smarter way, as well as CXX from CC, which we weren't doing
previously.

Many related things are not moved at the same time to keep the patch
somehow "small".
2016-04-14 13:21:29 +09:00
Mike Hommey
19f78b2dd2 Bug 1259382 - Remove support for Intel C/C++ compiler. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey
4c7112f60f Followup for bug 1262781: change ASTMatcher check name to force override config.cache on a CLOSED TREE. r=me 2016-04-13 07:17:06 +09:00
Mike Hommey
101f79b100 Bug 1262781 - Use the host compiler for the ASTMatcher check. r=froydnj
The check is for the clang plugin, which is a host library. It is especially
important to use the host compiler for this check on OSX-on-Linux cross builds.
2016-04-13 06:54:22 +09:00
Mike Hommey
6886f13b7d Bug 1262020 - Move --with-android-ndk, --with-android-toolchain and --with-android-gnu-compiler-version to moz.configure. r=nalexander 2016-04-06 07:25:13 +09:00
Chris Manchester
b5ce5e9f35 Bug 1262231 - Fix handling of ICU for artifact builds. r=nalexander
The data file is required as of bug 1239083.

MozReview-Commit-ID: XhETIoUYH8

--HG--
extra : rebase_source : 2d1200a72dadb3e0e8211fa58d3f07bc2453061f
2016-04-05 13:00:21 -07:00
Ted Mielczarek
58e2e722d0 bug 1239083 - use moz.build files to build ICU. r=glandium,waldo
Also fixes bug 926980 - load ICU data from an archive file.

Stop invoking ICU's autoconf build system. Instead, have hand-authored
moz.build files under config/external/icu to build what we need. In addition,
we'll commit a pre-built copy of the ICU data file (currently icudt56l.dat)
under config/external/icu/data to avoid having to build ICU host tools to
generate it. config/external/icu/data also contains some assembly files
which can generate an object file containing the ICU data file contents
so that the JS shell (or standalone JS builds) can be linked directly to
the data without having to deal with the external data file. This requires
yasm or GNU as.

Various bits of packaging have been updated to account for the ICU data file.
XPCOM initialization now sets the ICU data directory so ICU can locate its
data file.

The update-icu.sh script has been modified to read the list of C/C++ source
files out of the ICU Makefiles and update `sources.mozbuild` files under
config/external/icu, as well as build a local copy of ICU using its
autoconf build system to generate the ICU data file to be committed in-tree.


MozReview-Commit-ID: 8Pfkzqt6S1W

--HG--
extra : rebase_source : 31426cddddb5543e0191059ba2f2eb069abe7727
2016-04-05 10:09:12 -04:00
Ted Mielczarek
94fa8fd73a bug 1247396 - drop support for MOZ_SHARED_ICU. r=glandium
MozReview-Commit-ID: 54AQdzJqvvA

--HG--
extra : rebase_source : 41c2516bf65ca4594a68084a61d9a737680cfc9f
extra : source : e40580ed0fe6fab50f1d8d23747c2cf423d93016
2016-02-11 08:21:16 -05:00
Mike Hommey
c25921b32d Bug 1261531 - Remove most obvious cases of useless AC_SUBSTs. r=chmanchester
- DEVELOPER_OPTIONS, INTEL_CC, INTEL_CXX, MOZ_ENABLE_QTMOBILITY,
  GTK_CONFIG are or even were never used outside configure.

- MOZ_PROFILELOCKING which gradually became a no-op over the years. This
  also removes the configure flag that sets it.

- XULRUNNER_STUB_NAME is xulrunner-only, and xulrunner is gone. This
  also removes the configure flag that sets it.

- The only use of MOZ_CAN_RUN_PROGRAMS was removed in bug 780561.

- AR_LIST and AR_DELETE have not been used since bug 584474.

- MOZ_COMPONENT_NSPR_LIBS is leftover from bug 1036894.

- MOZ_PNG_ARM_NEON_CHECK is not used since bug 980488.

- MOZ_WEBRTC_LEAKING_TESTS has been no-oped by bug 825510.

- VPX_NEED_OBJ_INT_EXTRACT and NO_INTEGRATED_AS_CFLAGS are not used since
  bug 1151175.

- WCHAR_CFLAGS is not used since bug 904985.
2016-04-05 07:16:44 +09:00
Mike Hommey
989453a94b Bug 1261263 - Switch from -std=gnu++0x to -std=gnu++11. r=froydnj
All the GCC and clang versions we support support the latter, so let's
use it.
2016-04-05 07:16:44 +09:00
Mike Hommey
99fc89b5e2 Bug 1261263 - Remove test for libstdc++ headers conflict with clang 3.3. r=froydnj
Also remove the hack around it.
2016-04-05 07:16:44 +09:00
Mike Hommey
9599eeb33d Bug 1261263 - Unsupport clang < 3.4. r=froydnj
In bug 1254861, we unsupported clang < 3.3, picking 3.3 essentially
because that's the smallest version we had on automation. Bug 1254854
changed that, and the smallest version on automation is now 3.5.

Now, the motivation to unsupport an old version of clang again is that
recent versions don't have the problem with __float128 used in libstdc++
headers (bug 654493). In fact, starting with clang 3.4, the hack we have
in place is not necessary.

So let's just drop support for clang 3.3 instead of keeping that hack
around longer.

As mentioned in bug 1254854, Ubuntu 12.04 LTS has clang 3.4 packages.
2016-04-05 07:16:44 +09:00
Ralph Giles
40394ef9d9 Bug 1261503 - Update win32 rustc to support i586-pc-windows-msvc. r=mshal
Update win32 builds to use a Repack of today's (2016 April 1)
rustc nightly for i686-pc-windows-msvc host and
i586-pc-windows-msvc target.

This should properly support machines without sse2 instructions.
2016-04-04 10:09:46 -07:00
Jan Beich
e04f53ad31 Bug 1248391 - Don't force rust --target on unknown platforms. r=ted
--HG--
extra : transplant_source : %A1%9A%10%DD%60%3C%05%C3%E36%16V%E1%E8%82%28%5B%E2%B2%02
2016-03-24 13:43:38 +00:00
Jan Beich
f5acfcbdc7 Bug 1248391 - Unbreak --enable-rust on BSDs after bug 1177599. r=ted
--HG--
extra : transplant_source : o%1Ei%5D%B1%1C%A5%F4%7BTquGS0%07-t/%B6
2016-03-24 15:10:44 +00:00
Mike Hommey
81010d54a2 Bug 1260996 - Don't set HOST_{C,CXX,LD}FLAGS from {C,CXX,LD}FLAGS on cross compiles. r=nalexander
The only cross compiles we actively support were pre-setting those
values to avoid it anyways, so it wasn't doing anything useful.
2016-04-01 09:43:26 +09:00
Mike Hommey
0bf3308f26 Bug 1260605 - Remove hack from bug 967556. r=nalexander
The hack was supposed to avoid clobbers when landing bug 967556, which
might have worked somehow back then, but doesn't do anything useful
anymore. In fact, it now breaks the display of some results in
old-configure.
2016-04-01 09:43:26 +09:00
Mike Hommey
c12b02c70d Bug 1260647 - Unify cross-compilation setup, while moving some of it to moz.configure. r=ted
Gonk, Android, and the generic cross-compilation setup all were using a
different yet similar way to prefix the toolchain. The latter was even
wrong, since the target and target alias usually don't match actual
toolchain prefixes (which don't include the machine part of the target).
2016-04-01 09:43:26 +09:00
Mike Hommey
1f729885a7 Bug 1260624 - Move CROSS_COMPILE to moz.configure. r=ted
Note that this removes force-setting cross_compiling to yes in
old-configure, which wasn't working because every AC_TRY_COMPILE
resets it with $ac_cv_prog_cc_cross or $ac_cv_prog_cxx_cross.
2016-04-01 09:43:26 +09:00
Mike Hommey
a3b5d6520b Bug 1260622 - Refresh config.guess and config.sub from upstream. r=ted
Recent config.sub better handles all the broken android triplets (which
would have worked around bug 1257793), and added the -ios variant that
we've been relying on since bug 1257051, but that bug 1257648 broke by
using config.sub, which didn't support it)

The new config.guess interestingly now returns pc instead of unknown as
maching type on linux, which will, unfortunately, make objdir names
change when they are not manually set.
2016-04-01 09:43:26 +09:00
Eric Rahm
f23e86d3d6 Bug 1181142 - Part 2: Make the minimum jemalloc4 allocation size 16 bytes on Windows 64. r=glandium 2016-03-24 16:26:29 -07:00
Mike Hommey
edcd74a9d7 Bug 1259381 - Move --with-ccache and --with-compiler-wrapper to moz.configure. r=chmanchester 2016-03-30 07:07:45 +09:00
Mike Hommey
2baf0d3dc1 Bug 1257516 - Handle outputting the tail of config.log for old-configure failures from moz.configure. r=ted 2016-03-30 07:07:30 +09:00
Wes Kocher
a7fbcdcca6 Backed out changeset e40580ed0fe6 (bug 1247396) for Windows builds failing to find sicudt.lib
MozReview-Commit-ID: GxVMNWcjdBY
2016-03-25 10:38:54 -07:00
Ted Mielczarek
4aa24eba02 bug 1247396 - drop support for MOZ_SHARED_ICU. r=glandium
MozReview-Commit-ID: 54AQdzJqvvA

--HG--
extra : rebase_source : 55a702b7f134a7c760397f83b1fd1e6044404d7e
extra : amend_source : 1654150e6ebc2bd3a3ff162d486685871640c635
extra : histedit_source : a59866a9ccc244c415ffeb7c7fe685d00b25753d
2016-02-11 08:21:16 -05:00
Chris Peterson
b22c76c625 Bug 1258175 - Remove broken -Wunreachable-code-return and -Wunreachable-code-aggressive checks. r=glandium
compiler-opts.m4's check for `MOZ_CXX_SUPPORTS_WARNING(-W, unreachable-code-return, ac_cxx_has_wunreachable_code_return)` is broken. The C/C++ code that configure emits for MOZ_CXX_SUPPORTS_WARNING() actually contains a -Wunreachable-code-return warning and, thus, doesn't actually detect that clang supports the -Wunreachable-code-return flag.

This configure code in MOZ_CXX_SUPPORTS_WARNING():

  AC_TRY_COMPILE([],
                 [return(0);],
                 $3="yes",
                 $3="no")

generates something like:

  int main() {
  return(0);
  ; return 0; }

where the second return, automatically emitted by configure, is unreachable and causes a -Wunreachable-code-return warning.

The fix is to remove the redundant return(0) from MOZ_CXX_SUPPORTS_WARNING(). This allows clang's -Wunreachable-code-return flag to be detected, but then -Wunreachable-code-return breaks other configure checks, including third-party libraries' configure checks (in particular jemalloc) that also have redundant `return(0)`. So all the third-party libraries' configure checks would need to be fixed upstream, which seems like more hassle than the value of the -Wunreachable-code-return warnings.
2016-03-19 00:10:37 -07:00
Mike Hommey
cec6eb6fbb Bug 1257468 - Replace tests on BUILDING_JS with tests on MOZ_BUILD_APP==js. r=nalexander
Now that MOZ_BUILD_APP is set to js when building js/src, we can
distinguish those builds with MOZ_BUILD_APP==js instead of BUILDING_JS.
Consequently, remove BUILDING_JS.
2016-03-22 11:09:42 +09:00
Mike Hommey
0ea268dc18 Backout changesets f5090987b7c6, 48a94777837d and a63437a74f7a (bug 1257468) for SM bustage on a CLOSED TREE 2016-03-22 08:27:28 +09:00
Mike Hommey
37d7b30422 Bug 1257468 - Replace tests on BUILDING_JS with tests on MOZ_BUILD_APP==js. r=nalexander
Now that MOZ_BUILD_APP is set to js when building js/src, we can
distinguish those builds with MOZ_BUILD_APP==js instead of BUILDING_JS.
Consequently, remove BUILDING_JS.
2016-03-22 08:05:00 +09:00
Mike Hommey
d464f29e5f Bug 1255813 - Remove build system support for Solaris, HPUX and AIX. r=ted 2016-03-15 07:34:50 +09:00
Mike Hommey
a768dba8e1 Bug 1255305 - Uniformize CPU_ARCH between old-configure.in and js/src/old-configure.in. r=chmanchester 2016-03-15 07:34:50 +09:00
Ted Mielczarek
68bd5e8c4d bug 1244743 - Replace MOZ_NATIVE_X with MOZ_SYSTEM_X. r=gps
MozReview-Commit-ID: 9ip3qeAXFEe

--HG--
extra : commitid : H6aEkHprVyX
extra : rebase_source : e20d5f4b297caf66711c72cd55dd76f7f9ef9d9c
extra : histedit_source : 47545e0ea61eb66f16545f70e6d3792a389bedb1
2016-02-01 10:49:34 -05:00
Mike Hommey
3fe18eae3b Bug 1175546 - Update GCC to 4.8.5 and bump minimum GCC version required to build. r=froydnj 2016-03-12 09:03:37 +09:00
Mike Hommey
094af54a8f Bug 1254861 - Unsupport building with clang < 3.3. r=froydnj 2016-03-11 09:38:28 +09:00
Ehsan Akhgari
8d56a4a75f Bug 1255211 - Add profiledata to the list of LLVM libraries used by the clang plugin; r=jrmuizel
This library is needed for linking the clang plugin on Windows with the
trunk clang.
2016-03-10 10:06:51 -05:00
Joshua Cranmer
60e0b245fe Bug 1254987 - Get the subconfigure working properly for mail/configure.in. r=glandium
--HG--
extra : amend_source : b6672cca44a5d18d141d3458a64ebb09e98903ed
2016-03-09 23:19:00 +01:00
Chris Peterson
ff383edaf7 Bug 1253170 - Enable clang's -Wimplicit-fallthrough warning to catch unintentional switch fallthroughs. r=glandium 2016-02-10 23:31:04 -08:00
Mike Hommey
849ac02d19 Bug 1253553 - Move --enable-artifact-builds, --disable-compile-environment and --enable-build-backend to moz.configure. r=nalexander,r=chmanchester
Note I'm using raw primitives until patterns emerge and we decide on
some helpers.
2016-03-08 15:41:32 +09:00
Mike Hommey
9ac013d5cf Bug 1253502 - Move python virtualenv initialization to moz.configure. r=gps 2016-03-08 15:41:32 +09:00
Mike Hommey
74b4506047 Bug 1253203 - Move parts of configure.py into sandboxed moz.configure. r=nalexander,r=chmanchester
This moves all the reading mozconfig, finding autoconf, refreshing the
old configure, and running the old configure into sandboxed
moz.configure. This effectively bootstraps the sandboxed python configure.
2016-03-08 15:41:32 +09:00
Mike Hommey
70fc00898e Bug 1253203 - Remove everything COMM_BUILD. r=nalexander,r=chmanchester
comm-central doesn't set it since bug 1040009.
2016-03-08 15:41:32 +09:00
Mike Hommey
29758f5f42 Bug 1250297 - Make python configure output config.status instead of old-configure doing it. r=gps
The nice side effect is that now we can have actual dicts for defines
and substs from the start, which simplifies so things, although it
requires adjustments to some unit tests.
2016-03-08 15:41:32 +09:00
Ehsan Akhgari
b7dad904d3 Bug 1246334 - Add support for building the clang plugin using clang-cl; r=glandium 2016-02-26 07:29:48 -05:00
Chris Peterson
dcaae98769 Bug 1233297 - Part 2b: Remove some unnecessary warning flags. r=glandium
-Wno-psabi has not been necessary since we updated the build machines to Android NDK r8c three years ago in bug 826133.

-Wsometimes-initialized is not necessary because it is implicitly enabled by clang's -Wuninitialized, which is enable by -Wall.

-Wcast-align is very noisy and we apparently only enable it for gcc on 32-bit x86 builds?

-Wno-unused-local-typedef is no longer necessary. This is the clang flag; gcc's flag is -Wno-unused-local-typedefs, with an 's'. Suppressing gcc's warning was recently deemed unnecessary and WONTFIX'd in bug 1243604. Unsurprisingly, we no longer need it on clang either.

-Wrange-loop-analysis is no longer necessary because it is implicitly enabled by -Wloop-analysis, which is enabled by the previous commit.
2016-02-24 22:51:21 -08:00
Chris Peterson
8f65e4251e Bug 1233297 - Part 2a: Enable some more warnings. r=glandium
-Wsign-compare is enabled by gcc's -Wall (for C++ only), but not by clang's -Wall. -Wsign-compare is enabled for C and C++ by gcc's -Wextra and clang's -Wextra, which we don't use.
2016-02-02 00:04:26 -08:00
Chris Peterson
fb67cdc658 Bug 1233297 - Part 1: Consolidate MOZ_C*_SUPPORTS_WARNING configure checks in compiler-opts.m4. r=glandium 2016-02-02 00:04:26 -08:00
Michael Comella
c48a870a5f Bug 1233238 - Compile with play-services-{ads,analytics,appindexing} to support Adjust SDK. r=nalexander
On a CLOSED TREE because this is Android only.

When we switched to fine-grained Google Play Services bundling (Bug
1115004), we stopped shipping com.google.android.gms.analytics.  That
silently breaks Adjust, which queries the Google Ad ID using
reflection: now the package isn't present!  This patch restores the
Play Services libraries that Adjust relies on.  (Sadly, this bloats
our APK tremendously.)

There is some hijinkery, however: the Play Services libraries
reference a library (org.apache.http) that is deprecated in Android
23!  However, the library is still present on Android 23 devices,
which buys Google time to replace the offending code.  This compiles
just fine, breaks the Proguard global optimization pass.  To give
Proguard the information, we add the library as a Proguard "library
JAR".  This is equivalent to the Google-provided Gradle `useLibrary`
directive.

--HG--
extra : commitid : I4rTyC8lxLd
extra : rebase_source : 96f30d735e898cb9853d53f236ac8e2337186814
extra : amend_source : 3e4d68789b3ef980e4e1d7f743e332bdbb6be176
2016-02-04 16:10:29 -08:00
Ehsan Akhgari
ef18719332 Bug 1245269 - Part 2: Add a configure check for the existence of the new AST Matcher API names; r=glandium 2016-02-05 10:29:39 -05:00
Nathan Froyd
4f05a4f840 Bug 1177599 - always pass --target to rustc; r=mshal
rustc, unlike our typical C++ compilers, can target multiple platforms
with ease through its use of the --target flag.  To support
cross-compiling, we just need to pass the appropriate --target option.

rustc uses specific names for its accepted --target option, however, and
they are slightly different from the values we get out of autoconf.  So
in addition to checking whether rustc can accept --target for our chosen
platform, we also need to munge autoconf's idea of the target into
something rustc understands.
2016-01-25 16:25:59 -05:00
Ted Mielczarek
26f7b04705 bug 1243349 - fix NSPR link paths for NSS. r=mshal
--HG--
extra : commitid : 4eavO61nNKX
extra : rebase_source : f5ddf4c1df5105f6f46b7780b0c49d89970fc47e
extra : amend_source : e5d3d5b809c27608c3d897373c0ea888ebfceaa1
2016-01-27 09:28:40 -05:00
Carsten "Tomcat" Book
10d60e258b Backed out changeset b538734b6a17 (bug 1243349) for bustage on a CLOSED TREE 2016-01-27 16:13:12 +01:00
Ted Mielczarek
c2b6bb1e3b bug 1243349 - fix NSPR link paths for NSS. r=glandium
--HG--
extra : commitid : 7MNlvrCCE6W
extra : rebase_source : a2919eef6b02edc31682ba1a9a12f66b19b66814
extra : amend_source : 394e2b0a5f7e3fb89ffc88f12a186628745b202b
2016-01-27 09:28:40 -05:00
Ted Mielczarek
76f0fb5769 bug 1230117 - Stop using NSPR's configure. r=glandium
--HG--
extra : commitid : 3xfupwYWRJC
extra : rebase_source : 157a22a7d50b0ea61c0ba24c0c9163f1c0f5a806
2016-01-21 06:04:11 -05:00
Mike Hommey
648c73cb1d Fixup for bug 1239217 fixing a shell construct that does not work in autoconf. r=me 2016-01-22 16:16:06 +09:00
Mike Hommey
6acbd96f93 Bug 1239217 - Enable the hybrid FasterMake+RecursiveMake backend for artifact builds. r=gps 2016-01-22 15:43:27 +09:00
Mike Hommey
bdc9ed0d4a Bug 1240990 - Define all backends in one place. r=gps
When adding a backend, we currently have to add them in three different
places so that they appear in the right places.

Instead, keep the list in a single place.
2016-01-21 13:54:03 +09:00
Chris Manchester
a01c2483da Bug 1214885 - Add a "ChromeUrl" build backend to write out information useful for resolving chrome urls. r=glandium
The result of running this backend is a json file containing an array with 3 elements:
a map from resource:// and chrome:// url prefixes to corresponding objdir directories,
a map of overrides, and a map from objdir files to srcdir files (with a flag for whether
the file was preprocessed) for js file in FinalTargetFiles. A subsequent commit implements
the procedure to find an replace based on the url mapping, subsistute based on overrides,
and find sourcedir files based on objdir files.

--HG--
extra : commitid : Di6Ro5c9sTK
2015-10-01 18:56:53 -05:00
Benoit Girard
27e9f3eef5 Bug 1239498 - Don't ask for FPO on win64. r=ehsan
--HG--
extra : commitid : 8sl7tz7vAhY
2016-01-13 18:35:23 -05:00
Ralph Giles
019f175b5f Bug 1239366 - Remove leading 'v' from detected versions. r=mshal
The leading 'v' was intended to distinguish the detected from
the literal version string, but this is non-obvious, and could
be confused with the git tag convention.

Instead, make the strings match, but put the detected version
first since it's what configure is likely to act on.
2016-01-13 11:20:00 -08:00
Mike Hommey
8143237ec5 Bug 1235738 - Simplify MOZ_DEBUG_DEFINES. r=gps
Now that it's not directly used in command lines, it can just become a list
of symbols that ought to be defined. This simplifies all the uses of it.
2015-12-31 07:28:05 +09:00
Landry Breuil
cb1fa398ed Bug 1225753: move $prefix default initialization before it gets used r=glandium
--HG--
extra : commitid : 2xboEEUEFU6
2015-12-26 13:40:54 -05:00
Sotaro Ikeda
85b62c4bb8 Bug 1214249 - Set MOZ_FLOAT_ABI in armv6 case r=glandium 2015-12-21 22:48:39 -08:00
Nathan Froyd
2792f8ec0b Bug 1208566 - require Rust 1.5 for --enable-rust builds; r=mshal
Rust 1.5 features fine-grained dependency tracking that we need for
proper incremental builds.  As a side effect, it also features choosing
between the builtin-to-Rust jemalloc and the system allocator, which
Gecko needs for interoperation.  (Gecko needs to make Rust use the
system allocator, which then gets redirected into Gecko's copy of
jemalloc if necessary.)  It's not great to require an unstable Rust
target here, but we need to upgrade at some point anyway, so we might as
well make people aware of the upgrade requirement sooner rather than
later.
2015-12-17 12:14:19 -08:00
Wes Kocher
5f38bdeff2 Backed out 2 changesets (bug 1208566) for breaking mulet builds
Backed out changeset a5618a5cbc7f (bug 1208566)
Backed out changeset f3fd530324ee (bug 1208566)

--HG--
extra : commitid : DaxmN4TLzwv
2015-12-17 09:34:33 -08:00
Nathan Froyd
b5bdd4fc50 Bug 1208566 - require Rust 1.5 for --enable-rust builds; r=mshal
Rust 1.5 features fine-grained dependency tracking that we need for
proper incremental builds.  As a side effect, it also features choosing
between the builtin-to-Rust jemalloc and the system allocator, which
Gecko needs for interoperation.  (Gecko needs to make Rust use the
system allocator, which then gets redirected into Gecko's copy of
jemalloc if necessary.)  It's not great to require an unstable Rust
target here, but we need to upgrade at some point anyway, so we might as
well make people aware of the upgrade requirement sooner rather than
later.
2015-12-17 08:25:03 -08:00
Jan Beich
814acd7ab8 Bug 1228208 - Make sure ICU flags are prepended before system flags. r=glandium 2015-12-02 09:40:50 +00:00
Mike Hommey
826f769939 Bug 1229541 - Turn NSPR_CFLAGS, NSS_CFLAGS, MOZ_JPEG_CFLAGS, MOZ_PNG_CFLAGS and MOZ_ZLIB_CFLAGS into AC_SUBST_LISTs. r=mshal 2015-12-02 11:24:34 +09:00
Mike Hommey
572059374e Bug 1178266 - Link against libatomic when necessary. r=froydnj 2015-12-02 11:04:37 +09:00
Mike Hommey
2fdf01e9df Bug 1228068 - Always set MOZ_USING_COMPILER_WRAPPER when a compiler wrapper is involved. r=gps on a CLOSED TREE 2015-11-26 08:08:29 +09:00
Mike Hommey
8c97828a10 Bug 1224460 - Avoid make variable references in TK_CFLAGS, TK_LIBS, MOZ_CAIRO_CFLAGS, MOZ_ICU_CFLAGS and CAIRO_FT_CFLAGS. r=gps 2015-11-19 08:05:51 +09:00
Mike Hommey
5ab167c3b0 Bug 1224490 - Kill LIBXUL_DIST. r=mshal 2015-11-17 10:00:19 +09:00
Ralph Giles
9d9e7996be Bug 1223093 - Bump required rustc version to 1.4. r=mshal
Bug 1220754 added code which requires feaures in the rust 1.4
standard library. Update our configure version check so we
catch this up front.
2015-11-09 10:53:00 -08:00
Nick Alexander
7fd985b3bb Bug 1220476 - Make --disable-compile-environment work for Android builds without an Android NDK. r=glandium
--HG--
extra : commitid : 9vtzh7HRAB0
extra : rebase_source : d60c6614bf109ba8c0427941b335984d661e85c5
extra : histedit_source : 72ee79eb44ae20ae283768538e747ec2fe355f34
2015-11-02 16:46:42 -08:00
Mike Hommey
c3385563ef Backout changeset 3ced6f84960c (bug 1178266) because it was not reviewed by a peer and isn't a complete fix. 2015-10-31 07:36:49 +09:00
Mike Hommey
beffa7ff42 Bug 1178266 - Link against libatomic when necessary r=huangwenjun06
---
 build/autoconf/toolchain.m4 | 26 ++++++++++++++++++++++++++
 mfbt/moz.build              |  3 +++
 2 files changed, 29 insertions(+)
2015-10-29 22:19:35 +08:00
Simon Montagu
b24d492d72 Bug 479520: Implement IDNA2008 standard for International Domain Names, patch 1: build system changes, r=ted; code changes, r=jfkthame 2015-10-28 07:05:15 -07:00
Carsten "Tomcat" Book
b4bb8871b5 Backed out changeset 533f3277cdbb (bug 479520) for bustage on a CLOSED TREE 2015-10-28 12:29:27 +01:00
Simon Montagu
89109c7aa9 Bug 479520: Implement IDNA2008 standard for International Domain Names, patch 1: build system changes, r=ted; code changes, r=jfkthame 2015-10-28 03:46:44 -07:00
Nick Alexander
3323ad2cde Bug 1207708 - Part 2: Build against play-services-{basement,base,gcm} if MOZ_ANDROID_GCM. r=sebastian
Since MOZ_NATIVE_DEVICES builds against play-services-{basement,base,cast},
some ad-hoc de-duplication is necessary.

--HG--
extra : commitid : 2jNIgZpLUq2
extra : source : 0957d3435ac22765d7868cb3c7db1e0787836bc3
2015-10-27 17:41:49 -07:00
Sebastian Kaspari
579c312daa Bug 1189306 - Add Android Design Support library to gradle and mach builds. r=nalexander
--HG--
extra : commitid : J3JxjMlJdcC
extra : rebase_source : 8f4624bcf432201e345f75c834e08755c53766ad
2015-10-15 13:01:32 +02:00
Fabrice Desré
4a509b8e36 Bug 864843 - Part 3. Add build config of ICU for Android r=glandium 2015-10-19 22:25:44 -07:00
Nathan Froyd
798533b7f5 Bug 1164921 - part 2 - remove now-obsolete --enable-android-libstdcxx; r=glandium 2015-10-15 16:32:25 +09:00
Nathan Froyd
b5c94ae442 Bug 1164921 - part 1 - add --with-android-cxx-stl to select the C++ STL to use; r=glandium 2015-10-15 16:32:25 +09:00
Mike Hommey
9af046b5b4 Bug 1211765 - Remove remnants from --with-libxul-sdk. r=bsmedberg
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
2015-10-14 08:02:34 +09:00
Sebastian Kaspari
a595f4ee85 Bug 1193206 - Build with Android support library 23.0.1. r=nalexander
--HG--
extra : commitid : 6lU66oAQuFC
extra : rebase_source : fe145d252cb484596c2abce793a6cbb6eadc3968
2015-10-07 09:13:34 +02:00
Carsten "Tomcat" Book
71e22d0c44 merge mozilla-inbound to mozilla-central a=merge 2015-10-06 12:01:35 +02:00
Terrence Cole
b16e5ef7d1 Bug 1205012 - Allow rust source code in SpiderMonkey; r=mshal
--HG--
extra : rebase_source : b837db972abeb5b2a955c4b52b7ceb6f31c74660
2015-09-18 13:55:29 -07:00
Sebastian Kaspari
faf41dd8da Bug 1197147 - Mach build: Use version 8.1 of Google Play Services. r=nalexander
This patch also adds the new base (sic) library play-services-basement.

Note that the package names have changed too:
* play-services-base: com.google.gms -> com.google.gms.base
* play-services-basement: * -> com.google.gms

--HG--
extra : commitid : EcmxZA10rzV
extra : rebase_source : f39b361807a0b8227f3fb9a6d73e066241c8e36c
2015-10-05 14:59:53 +02:00
Mike Hommey
9f2c4e94ba Bug 1209875 - Get rid of XULPPFLAGS. r=gps
The flags added in toolkit/locales/Makefile.in turn out not to be actually
used, so just remove that.

The remaining uses of XULPPFLAGS are to set debug flags depending on whether
MOZ_DEBUG is set or not. Just set a dedicated variable with the right value
from configure.
2015-10-01 07:30:48 +09:00
Mike Hommey
d0d3300abc Bug 1209398 - Enable the FasterMake backend by default for desktop Firefox builds. r=gps
The order in which backends appear is important, and dealing with deduplication
in configure.in is not really nice, so for all simplification purposes, this relies
on using AC_SUBST_SET, which does the deduplication and keeps the original order
in which items appear (despite its name).
2015-09-30 11:51:47 +09:00
Mike Hommey
8171e1469d Bug 1209398 - Make AC_SUBST_SET emit a list of unique items instead of an actual set. r=gps
While the name AC_SUBST_SET suggests the underlying type would be a set, it does
not actually matter that much in moz.build, and is not used that much anyways.
2015-09-30 11:51:47 +09:00
Carsten "Tomcat" Book
191ce6efd0 Merge mozilla-central to fx-team 2015-09-29 12:41:12 +02:00
Sebastian Kaspari
03b4af6028 Bug 1208576 - Build with appcompat-v7 regardless of MOZ_NATIVE_DEVICES flag. r=nalexander
--HG--
extra : commitid : 5PmivDcq7NB
extra : rebase_source : 01f72d51d670e1cce51b96f2258300df42251485
2015-09-28 12:10:42 +02:00
Ehsan Akhgari
3dffc9c59e Bug 1204763 - Enable cross compiling the clang plugin for OS X on Linux; r=glandium 2015-09-28 22:14:53 -04:00
Ehsan Akhgari
b73f093357 Bug 904572 - Add support for generating clang compilation database; r=glandium,r=gps 2015-09-29 09:23:50 +09:00
Mike Hommey
86a76ef43b Bug 1207897 - Add a configure option to build multiple build backends. r=gps
Also record what backends were requested at configure time so that running
`mach build-backend` or `config.status` uses the same set.
2015-09-29 09:23:50 +09:00
Nick Alexander
8a89dfb148 Bug 1204260 - Pin Android package versions to android-22 and build-tools-22.0.1. r=glandium
Right now, --with-android-sdk expects a path to a specific Android SDK
version, like /path/to/platforms/android-22.  That path is exposed as
ANDROID_SDK; the Android SDK root is exposed as ANDROID_SDK_ROOT.

Right now, the provided platform's version number is extracted into
ANDROID_TARGET_SDK.  The extracted ANDROID_TARGET_SDK is checked
against a minimum version number (supplied as a parameter to
MOZ_ANDROID_SDK).

After this patch, --with-android-sdk expects what is now
ANDROID_SDK_ROOT, and then derives ANDROID_SDK from that path and a
pinned SDK platform version number.  The exact version number which we
search for is now a parameter given to MOZ_ANDROID_SDK.  We accept and
fail, with a helpful message, if we recognize an old-style ANDROID_SDK
path.

The existing MOZ_ANDROID_{MIN,MAX}_SDK_VERSION variables remain as
they are.

Right now, the Android build tools are searched in a deterministic but
non-obvious manner.  After this patch, the exact build tools version
number is now a parameter given to MOZ_ANDROID_SDK.

--HG--
extra : commitid : 7z4T3EYH8fg
extra : rebase_source : 118a2a163d0deb1896e4959f12e9fbb132732bd8
extra : histedit_source : f18feda343e3c8e9f0dbb65eb7127262690e3cad
2015-09-12 15:04:19 -04:00
Nick Alexander
960eeeb471 Bug 1204260 - Pre: Don't expose ANDROID_{BUILD,PLATFORM}_TOOLS. r=glandium,gbrown
This stops exposing ANDROID_BUILD_TOOLS and ANDROID_PLATFORM_TOOLS via
AC_SUBST.  We expose most tools already, and this adds EMULATOR, and
consumes it (and ADB) where appropriate.

--HG--
extra : commitid : 9u0pibgE00
extra : rebase_source : 04e420c53d1d75ab8f055436d7dd69e148168c67
extra : histedit_source : a930a34f4dda44ee91b52caf68e02877b0502f01
2015-09-12 14:59:31 -04:00
Nick Alexander
7fe859f12c Bug 1204260 - Pre: Move AAR searches later. r=me
This merely groups the AAR searches in the configure output, which
reads a little easier.

--HG--
extra : commitid : 8yoM0J2NNOq
extra : rebase_source : 989bf064ca0f2d4e0126726dad7529a218e11e62
extra : histedit_source : f8c211e64741b4558b185bfbf5523b67cc428232
2015-09-11 19:13:45 -07:00
Nick Alexander
416f8c64aa Bug 1108782 - Part 2: Explode AAR files at configure time. r=glandium
This gets us a limited version of AAR support: we can consume static
AAR libraries, where here static does not refer to linking, but to
static assets that are fixed at build-backend time and not modified
(or produced) during the build.  This lets us pin our dependencies
(and move to Google's versioned Maven repository packages, away from
Google's unversioned ad-hoc packages).

By restricting to static AAR libraries, we avoid having to handle
truly complicated dependency trees, as changing parts of generated AAR
files require delicate rebuilding of the APKs (and internal libraries)
that depend on the AAR files.

It is possible that we will generate AARs in the tree at some time.
Right now, we don't do that, even for GeckoView: the AARs produced are
assembled as artifacts at package time and are intended for external
consumption.  We might want this for GeckoView and Fennec at some
time; we should consider using Gradle everywhere at that point.

The patch itself does the simplest possible thing (which has precedent
from Gradle and other build systems): it simply "explodes" the AAR
into the object directory and uses existing mechanisms to refer to the
exploded pieces.

AARs have both required and optional components.  Each component is
defined with an expected and required flag. If a component is expected
and not present, or not expected and is present, an error is raised.
If the component is expected and present, autoconf's ifelse() macro is
used to define the relevant AAR_* component variables.  If the
component is not expected and not present, no action is taken.  A
consuming build backend therefore can guard all AAR_* component
variables with just the top-level AAR variable.

Many AAR files have empty assets/ directories.  This patch doesn't
explode empty assets/ directories, protecting against trivial changes
to AAR files that don't impact the build.

There's a lot not to like in this approach, including:

* We need to manually reference internal AAR libs;
* I haven't separated the pinned version numbers out of configure.in.

However, it's closer to what we want than what we have!

--HG--
extra : commitid : 11kUhDAkCn5
extra : rebase_source : 2454c9842ab3296d53ca5fa394a5a962aa382c8d
extra : histedit_source : e2f97502d215016925e93500b8fd93f8b32fba3a
2015-09-22 10:04:26 -07:00
Mike Hommey
55fe15cdb5 Bug 1203857 - Allow to build standalone js against jemalloc4. r=gps 2015-09-15 10:21:38 +09:00
Samael Wang
256da665f0 Bug 1198237 - Pass $RANLIB in icu.m4. r=ted
--HG--
extra : rebase_source : 9b0e22ef1de0551c12ab5321dc3965b58bd89e2d
2015-08-25 20:50:00 -04:00
Ted Clancy
60b0829fea Bug 1172609 - Part 1: Build B2G using the version of ICU that exists in the tree. r=ted 2015-06-15 00:20:04 -07:00
Nathan Froyd
d5796a148d Bug 1195502 - don't include android toolchain checks for gcc < 4.7; r=nalexander
We don't support gcc < 4.7 when building Gecko, so there's not much
point in potentially checking for those versions.
2015-08-14 17:11:32 -04:00
Nathan Froyd
d903c2ee7e Bug 1192277 - remove check for LLVM PR 8927; r=glandium
The PR was fixed in early 2011.  clang 3.3, the oldest version of clang
that we build with, was released in mid-2013.  It's safe to say that all
versions of clang now have this fix, and we can delete the check.
2015-08-07 19:35:43 -04:00
Nathan Froyd
0a5095ccbf Bug 1191884 - remove now-unnecessary check for GCC PR49911; r=glandium
This PR was fixed in the GCC 4.7 development cycle.  Since we require
GCC 4.7 now, we no longer have to check for this bug.
2015-08-06 20:41:38 -04:00
Jacek Caban
da30b32ccd Bug 856404 - Enable libraries folding on mingw. r=glandium 2015-08-06 13:26:33 +02:00
Nathan Froyd
e3c514cea5 Bug 1188499 - reformat MOZ_SUBCONFIGURE_ICU with proper indentation; r=mshal
Trying to decipher MOZ_SUBCONFIGURE_ICU given its lack of indentation is
difficult at best.  It looks like some lines have tabs, and those tabs
make everything line up right...convert everything to spaces to make
sure things line up correctly.
2015-07-28 13:46:55 -04:00
Mike Hommey
4275fcc9a3 Bug 1187101 - Add -Wl,-Bsymbolic to LDFLAGS for ASan builds. r=mshal 2015-07-28 08:19:12 +09:00
Sebastian Kaspari
caaa022467 Bug 1180132 - android.m4: RecyclerView library should not be dependent on flag $MOZ_NATIVE_DEVICES. r=nalexander
--HG--
extra : commitid : 4ccus9nKM9q
extra : rebase_source : 6716d0e7d9985423533ba94dadf6f9ebdc92b379
extra : amend_source : 3f5febdbe07b0321d15cf8c5f4c8b99828ef54de
2015-07-03 14:46:57 +02:00
Sebastian Kaspari
1e85c546d0 Bug 1171288 - Add ability to build with RecyclerView support library. r=nalexander
--HG--
extra : rebase_source : 781c82348e9ea08183aa8560532ffb63222f8f8d
2015-06-16 19:52:44 +02:00
Ted Mielczarek
f6af9a3909 bug 1163828 - build system changes to support building for iOS. r=glandium
--HG--
extra : commitid : EAxgCmmuwAx
extra : rebase_source : 854a55e62573e59e042a326d62450fa3fbf2db18
2015-06-10 11:10:40 -04:00
Mike Hommey
d2f37fb969 bug 1172632 - Move some allocator related configure checks in a common location for both top-level and js/src to use. r=mshal 2015-06-10 10:49:22 +09:00
James Willcox
1da727fb41 Bug 1165460 - Prefer GCC 4.9 for Fennec builds r=glandium 2015-06-03 10:26:17 -05:00
Juan Gomez
6bb99c65f3 Bug 1164610 - Increase ANDROID_VERSION to 18 in icu.m4 checks because 17 (JB4.2) doesn't compile. r=Waldo 2015-05-17 09:18:00 -04:00
ISHIKAWA, Chiaki
4c6363c62a Bug 1165733 - Avoid evaluating empty $ANDROID_VERSION in condition where integer is expected, r=glandium
CLOSED TREE
2015-05-20 17:13:00 -07:00
Nathan Froyd
81521abb68 Bug 1164657 - delete dead code for MOZ_ANDROID_LIBSTDCXX flags determination; r=nalexander
We require ndk-r8e, so we don't need to support paths for all the other
NDKs prior to that now.  Also took the opportunity to clean the paths up
so things fit on a reasonable screen.
2015-05-13 15:24:32 -04:00