Граф коммитов

424 Коммитов

Автор SHA1 Сообщение Дата
Ted Mielczarek fa343243d0 bug 1286934 - Switch to using sccache2. r=gps
This patch does a few things:
1) Change all the in-tree tooltool manifests to contain sccache2 instead of the existing Python sccache
2) Change mozconfig.cache to point at sccache.
3) Lightly tweak the --with-cccache configure option to support sccache, and detect whether we're using ccache or sccache and set an option appropriately.
4) Add a MOZ_SCCACHE_VERBOSE_STATS option, and add a target in the top-level Makefile to make sccache spit out its stats at the end of the build. This is useful to see the cache hits/errors until we get something better.
5) Add MOZ_USING_SCCACHE to the build telemetry. Not that I think it will be immediately useful, but for future use.

MozReview-Commit-ID: 9lrdLwNj5Bm

--HG--
extra : rebase_source : d323457df10d0ee0ac5811940e518d9422a7e070
2016-08-25 18:39:57 -04:00
Ted Mielczarek 26ebd20ebf bug 1295937 - Improvements to gyp_reader to handle NSS gyp files. r=glandium
This patch contains a number of changes to the gyp_reader code:
* Add three new flags to GYP_DIRS:
** no_chromium, to skip forcing the includes/etc needed for chromium gyp files
** no_unified, to force building all sources without unification
** action_overrides, to pass scripts used when mapping gyp actions to moz.build GENERATED_FILES
* Handle the flags mentioned above in read_from_gyp
* Handle actions in gyp targets by mapping them to GENERATED_FILES, using scripts specified in the action_overrides flag. We don't try to handle the generic action case, we require special-casing for each action.
* Handle a subset of copies in gyp targets by mapping them to EXPORTS, just enough to handle the use of them for NSS exports.
* Handle shared_library and executable gyp targets
* Handle gyp target dependencies/libraries as USE_LIBS/OS_LIBS
* Handle generated source files
* Handle .def files in sources by mapping them to SYMBOLS_FILE
* Special-case some include_dirs:
** Map `<(PRODUCT_DIR)/dist/` to $DIST/include (to handle include paths for NSS exports)
** Map include_dirs starting with topobjdir to objdir-relative paths, to handle passing the NSPR include path to NSS
* split /build/gyp.mozbuild into two parts, with gyp_base.mozbuild containing generic bits, and gyp.mozbuild containing chromium-specific bits


MozReview-Commit-ID: FbDmlqDjRp4

--HG--
extra : rebase_source : d3fb470c589f92d8c956b9ecd550fb8df79ff5bc
2016-11-15 12:37:09 -05:00
Mike Hommey 9b452a533f Bug 1317359 - Propagate MOZ_ADJUST_SDK_KEY to old-configure. r=chmanchester
--HG--
extra : rebase_source : 207defc410cd9fe01689b136c79e84046b7d3ae9
2016-11-15 07:43:39 +09:00
Mike Hommey 5fd2ce5f30 Bug 1317359 - Move add_old_configure_* functions to util.configure. r=chmanchester
--HG--
extra : rebase_source : 240fd42920ed4a17592c368ab764672cac01ca31
2016-11-15 14:35:22 +09:00
Gregory Szorc 4732e7cb34 Bug 1171610 - Automatically enable color in compiler output; r=glandium
GCC and Clang will colorize compiler output automatically if stdout is a
TTY. Unfortunately, when the build backend is invoked via `mach`,
stdout is not a TTY.

6e9a4c0b9cd8 (bug 1315785) changed mach so it exports an environment
variable indicating whether mach's original stdout is a TTY. This was
later used to add color flags to `cargo` invocations.

Building on that work, this patch adds color flags to compiler
invocations if the compiler supports color and a mach TTY is
detected. The result is that compiler output from `mach build`
will be colorized automatically if Clang or a modern version of
GCC is used.

The only issue I see with this is that Clang doesn't "unset" its color
sequences when printing a newline. As a result, mach's time line
prefixing can sometimes inherit "bold" or other stylings. AFAICT this is
only a minor cosmetic concern. GCC does not exhibit this issue.

MozReview-Commit-ID: 5Icu6aXGZBL

--HG--
extra : rebase_source : 5b2bf5a287fdf8075b3d7dde36b91f3c65b60728
2016-11-09 14:01:24 -08:00
Phil Ringnalda 21a7a3eb46 Backed out changeset 6d6366a2842e (bug 1317359) for test_checks_configure.py bustage
CLOSED TREE
2016-11-14 21:36:44 -08:00
Mike Hommey e8b62f1ea5 Bug 1317359 - Propagate MOZ_ADJUST_SDK_KEY to old-configure. r=chmanchester
--HG--
extra : rebase_source : ad7b1089d99b9c3477ef882a5664341fe648b41f
2016-11-15 07:43:39 +09:00
Wes Kocher c71ee484aa Backed out changeset c403ebdab6b8 (bug 1317359) for build bustage a=backout CLOSED TREE
--HG--
extra : amend_source : 578c7a50c7d04c6578448d780ee06076069ee783
2016-11-14 16:48:00 -08:00
Mike Hommey 36d47d7464 Bug 1317359 - Propagate MOZ_ADJUST_SDK_KEY to old-configure. r=chmanchester
--HG--
extra : rebase_source : fb3ba7a9f158a6d0e95b748b82f1b193903a75f0
2016-11-15 07:43:39 +09:00
Mike Hommey 6fa3828b4e Bug 1316844 - Remove unused dependencies. r=chmanchester
--HG--
extra : rebase_source : f9c4f39b198fbb83aa02b2eee65863695e7b75ca
2016-11-11 12:52:37 +09:00
Wes Kocher f6f88173df Backed out changeset 2b174353e76a (bug 1316957) at glandium's request a=backout 2016-11-11 18:58:24 -08:00
Mike Hommey fb3661afd7 Bug 1316957 - Include windows.configure conditionally instead of using @depends_win. r=chmanchester
--HG--
extra : rebase_source : ae9d0b364d11e351735d731c33757fb6f30f1bfa
2016-11-12 06:05:07 +09:00
Mike Hommey 17153e5c27 Bug 1314894 - Avoid path changes from b6be0e9e3e1e. r=chmanchester
Importing 'os' in python configure functions, on Windows, changes the
separate the various os.path functions use, and that can have
unexpected, badly handled, consequences. While on the long term, it is
desirable to make @imports('os') modify os.path to use the same base
functions as if there were no @imports, let's go with the simpler
workaround of restoring the non-{isfile,isdir,exists} os.path functions
from b6be0e9e3e1e.

--HG--
extra : rebase_source : a1857b5dce2aa818c72a77d0d9727ac6ce16cb8f
2016-11-04 06:50:43 +09:00
Ralph Giles efaa5037bb Bug 1266792 - Target armv7 android. r=kinetik,snorp
We actually target armv7, so we need this distinct triple
with the rust toolchain, while it's implicit with the
android ndk.

MozReview-Commit-ID: LUwdpOaWB6M

--HG--
extra : rebase_source : 820de90d0844e1519f9e02a583c8cc3abf1dfdc0
2016-10-27 12:19:59 -07:00
Mike Hommey 900e53b021 Bug 1293675 - Error out when GetShortPathName returns a long path name. r=gps
--HG--
extra : rebase_source : fa95f8a1356009c44b33701b76d878e75fba7324
2016-11-01 08:06:40 +09:00
Mike Hommey be15eb6990 Bug 1313306 - Remove --help dependencies from @dependable and delayed_getattr. r=chmanchester
This sadly requires to replace a few @dependendable to pass the lint
check.

--HG--
extra : rebase_source : e0fd1c6f104076ea9f2c3474aadb7bebdf9a7fd8
2016-10-27 15:00:51 +09:00
Mike Hommey b89b671cc8 Bug 1313306 - Don't expose os.path.{exists,isdir,isfile} to python configure without an @imports. r=chmanchester
We want functions without an @imports to not have any side effects, and
to not use external resources. So remove the few functions we expose from
os.path without @imports('os') that do.

--HG--
extra : rebase_source : a9485ec269d4de5785d66d7772eda4fae5a84b4a
2016-10-26 11:49:58 +09:00
Phil Ringnalda 4880541dd8 Backed out changeset 6c105cd2bf71 (bug 1293675) for Windows failures in test_checks_configure.py 2016-10-31 18:46:00 -07:00
Mike Hommey bd70f6640e Bug 1293675 - Error out when GetShortPathName returns a long path name. r=gps
--HG--
extra : rebase_source : b871d4527cdba54ec1764fe99cef1261bf09d868
2016-11-01 08:06:40 +09:00
Phil Ringnalda 435a27119b Merge m-c to m-i
MozReview-Commit-ID: 8nqgw9Q3gSY
2016-10-25 22:07:07 -07:00
Chris Manchester f63cec632c Bug 1305145 - Move --enable-tree-freetype to Python configure. r=glandium
This commit also removes the option, as it's only known to work
on Android, where it is the default.

MozReview-Commit-ID: JqdC5Q5dwQH
2016-10-14 11:06:31 -07:00
Chris Manchester 95f73bebb9 Bug 1305145 - Make libs and flags set by pkg_check_modules available to the caller. r=glandium
MozReview-Commit-ID: 7uZheAOXKwE
2016-10-14 11:06:30 -07:00
Chris Manchester b09b78a7c5 Bug 1298740 - Populate Python environment with variables from mozconfig. r=glandium
MozReview-Commit-ID: KDCoxxh37Um
2016-10-14 11:06:30 -07:00
Mike Hommey 8ddc508e1d Bug 1263876 - Improve python configure handling of toolchain prefix. r=chmanchester
The toolchain checks are now such that we can stop special casing x86-64
<-> x86 cross compiling. OTOH, depending on the target, the toolchain
prefix can be of the form `cpu-os` or `cpu-machine-os`. We were only
using the former, and we change this to allow to try both.
Finally, the toolchain prefix being a gcc thing, it applies on all
target platforms where we try to use gcc.

However, the status quo is kept for the value of TOOLCHAIN_PREFIX
exposed to old-configure and the build system, until the various tools
paths (such as ar, readelf, etc.) are handled in python configure.

--HG--
extra : rebase_source : 1fe2e0708e317f061a03e2b4f058bbd08b5525f1
2016-10-21 07:50:40 +09:00
Mike Hommey 513e313d64 Bug 1311761 - Fixup after bug 1311069. r=chmanchester
--HG--
extra : rebase_source : 3ec168fd8d6cd67583718d3c2c7849e053428f08
2016-10-21 06:15:38 +09:00
Mike Hommey e5ba3fd67a Bug 1296530 - Replace include_when with include, and remove include_when. r=chmanchester
--HG--
extra : rebase_source : e2efd38b3875dde3dae996405838e9ca20475c32
2016-10-13 17:15:24 +09:00
Mike Hommey caeb1547de Bug 1296530 - Move more things in the new DependsFunction and add a repr() for it. r=chmanchester
--HG--
extra : rebase_source : 739ff145c9f50438d9b7997ab12a7270d4c1b4e5
2016-10-13 13:28:06 +09:00
Mike Hommey 359529b830 Bug 1296530 - Store DependsFunction information for the sandbox as class instances instead of tuples. r=chmanchester
--HG--
extra : rebase_source : 5b05df452074180669bc9cc16501acfe7be7be50
2016-10-13 13:04:18 +09:00
Mike Hommey 16f5c51446 Bug 1296530 - Rename DependsFunction to SandboxDependsFunction. r=chmanchester
--HG--
extra : rebase_source : 60d2ef6f9d8eda36a9f9e3fb82c017958eab18a3
2016-10-13 12:45:24 +09: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
Sebastian Hengst cdcc9e20da Bug 1304829 - rename RELEASE_BUILD to RELEASE_OR_BETA: main part. r=ted,Mossop
MozReview-Commit-ID: 1lCt0xTMV5O
2016-10-08 11:14:49 +02:00
Carsten "Tomcat" Book 3522f1d38a merge mozilla-inbound to mozilla-central a=merge 2016-10-05 15:42:48 +02:00
Wes Kocher b4e6b8fba5 Merge m-c to autoland, a=merge 2016-10-04 17:42:48 -07:00
Nathan Froyd d05eb39d9d Bug 1296737 - make clang-cl compile in c++14 mode; r=glandium
MSVC headers have C++14 features without appropriate guards, so clang-cl
needs to be instructed to default to a C++14-compatible mode by default.
2016-10-04 20:34:04 +00:00
Chris Manchester 90dd38f890 Bug 1300164 - Move VISIBILITY_FLAGS to Python configure. r=glandium
MozReview-Commit-ID: Ku1oUGVdtdm
2016-10-04 11:48:21 -07:00
Mike Hommey 09e520c674 Bug 1307355 - Add an implicit dependency on --enable-compile-environment to pkg_check_modules. r=chmanchester
--HG--
extra : rebase_source : bd16320895f54d42c8207722a4a4c366d1332170
2016-10-04 15:33:37 +09:00
Mike Hommey a12afd68fa Bug 1297471 - Move --enable-ctypes to js/moz.configure. r=chmanchester
--HG--
rename : build/moz.configure/ffi.configure => js/ffi.configure
extra : rebase_source : 99a3956456fb4c39c1f1ad9b7d0f7aaf2c7529ca
2016-10-04 14:57:00 +09:00
Mike Hommey bdf0719848 Bug 1306138 - Include project-specific moz.configure at a later time. r=chmanchester
It is unfortunately not possible to include it last (or close to last,
before old.configure), but at least putting it after toolchain related
includes will be helpful.

--HG--
extra : rebase_source : bd027a87bc350c60dc1ba3308e2cc3b10782b506
2016-09-28 15:26:23 +09:00
Makoto Kato d78efa6ffb Bug 1305677 - Remove requirement of libffi on aarch64 as default. r=chmanchester
To support android/aarch64, I want to remove the requirement of system's libffi.

MozReview-Commit-ID: Lc3POx09Cks

--HG--
extra : rebase_source : 384852e7b9e61d0d7a950159535e3ddc8457e889
2016-09-27 19:16:03 +09:00
Chris Manchester 732cc6b973 Bug 1304522 - Fix the "when" argument to check_header to actually make checks conditional. r=glandium
MozReview-Commit-ID: JlYUFsPRGAV

--HG--
extra : rebase_source : 8cd667969fefb043f9769f35ba1fd12fe209a2b4
2016-09-21 22:02:43 -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
Chris Manchester 07b0b7c518 Bug 1262155 - Add some generic compiler-based conditions to moz.configure. r=ted
MozReview-Commit-ID: FHlbDPp7Hni
2016-09-21 12:04:08 -07:00
Nathan Froyd 05b3912397 Bug 1193452 - don't use -fallback with clang-cl; r=glandium
We no longer need this.
2016-12-21 06:56:48 -05:00
Carsten "Tomcat" Book c737c8cee6 Merge mozilla-central to autoland 2016-09-13 13:09:21 +02:00
Mike Hommey 935ad653b8 Bug 1299919 - Set CPP/CXXCPP from python configure. r=chmanchester 2016-09-13 13:25:18 +09:00
Akihiko Odaki 3ac9332f73 Bug 1298565 - Do not decode preprocessor output as ASCII r=glandium
MozReview-Commit-ID: BmXVO4KHRR2

--HG--
extra : rebase_source : b39f1289bb45d5b318e370ea54d48450f6cd37d2
2016-08-30 18:47:28 +09:00
Mike Hommey 6070365bf2 Bug 1289946 - Work around preprocessor default defines in get_compiler_info(). r=gps
Some compilers on some platforms by default #define some of the values
we're using in the source we use in get_compiler_info(). Namely,
mingw-gcc #defines WINNT by default, and the WINNT in the source is then
replaced by 1, breaking the check.

The C preprocessor, fortunately, doesn't expand macros inside C strings.
So instead of `%KERNEL WINNT`, we output `%KERNEL "WINNT"`, and strip
out the double quotes. For good measure, we do this for all values in
the source used in get_compiler_info().

--HG--
extra : rebase_source : dd4cc2b8c3bf0cb508b09598706b74ccc12162be
2016-09-08 07:27:56 +09:00
Ralph Giles ca13da128b Bug 1299864 - Target i585 linux when building rust code. r=glandium
Update linux32 tooltool manifest to use a gecko build of rustc and cargo
for x86_64-unknown-linux-gnu host targeting both x86_64 and i586.

    rustc built with --enable-llvm-static-stdcpp --disable-docs
    --enable-debuginfo --release-channel=stable from 'stable' branch
    rust 1.11.0 (commit 9b21dcd6a89f38e8ceccb2ede8c9027cb409f6e3)

Pass --target i585-unknown-linux-gnu when building for 32-bit linux.
We mostly want this for official builds, but Debian needs it too,
in both cases to support old machines without SSE2 instruction set
support, so while it means developers will have to `rustup target add
i585-unknown-linux-gnu` when building for this architecture that is
not a common task (most linux devs will be on 64-bit) and it reduces
variance and surprise if binaries are distributed.

MozReview-Commit-ID: 3mAjWxYGpwZ
2016-09-07 10:40:29 -07: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
Chris Manchester 70af134705 Bug 1298536 - Allow flags passed to try_compile to be a depends function. r=glandium
MozReview-Commit-ID: BH9oJPHei3r

--HG--
extra : rebase_source : bfbb5402401d8602fe54a8869a813ab85422def2
2016-08-31 14:23:20 -07:00
Nathan Froyd 61228089c3 Bug 1299145 - use the proper debuginfo option for clang-cl; r=mshal
clang-cl, oddly, does not accept -g and wants the MSVC-esque -Zi
option instead.

MozReview-Commit-ID: JHecFCdfjbz

--HG--
extra : rebase_source : 1c191e9c17437b2ef97b67960104f7da5427ea25
2016-08-30 10:17:21 -04:00
Mike Hommey 4b2aff3235 Bug 1291356 - Ensure building with --with-servo keeps building with mozjemalloc, whatever the default jemalloc is. r=chmanchester
--HG--
extra : rebase_source : 0eddfe8262dd1f015a38de8e10a2889ef9f3d342
2016-08-26 10:28:04 +09:00
Mike Hommey 9aa5c1b0b4 Bug 1137305 - Move --enable-skia{,-gpu} to python configure and enable skia by default on little-endian platforms. r=chmanchester
--HG--
extra : rebase_source : 4038081460a8c071510a326df8127e9e6d1ae653
2016-08-26 07:55:16 +09: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 470a2afbb6 Bug 1294803 - Move BUILD_CTYPES to Python configure. r=glandium
MozReview-Commit-ID: 3TlgdpNDLZW
2016-08-22 12:17:19 -07:00
Mike Hommey b65bccd9ce Bug 1276003 - Move --enable-necko-protocols to python configure. r=chmanchester
--HG--
extra : rebase_source : 6187c1a382b240e2fa01f38f4c739000d5f177ce
2016-08-18 09:57:06 +09: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 65ba8ff0f6 Backed out changeset 7f6047b2bc09 (bug 1294803) for breaking artifact builds.
MozReview-Commit-ID: FdzqUJnaSQT
2016-08-19 11:12:07 -07:00
Chris Manchester 49a7faf599 Bug 1294864 - Move MOZ_PERMISSIONS to Python configure. r=glandium
MozReview-Commit-ID: AyaWOvm5cq
2016-08-18 13:39:40 -07:00
Chris Manchester 4cdee259e5 Bug 1295784 - Use the argument name for `when` when passing it to Python configure's pkg_check_modules. r=glandium
MozReview-Commit-ID: GcVEzS3nLql
2016-08-17 15:02:31 -07:00
Chris Manchester 7d9c80e4aa Bug 1295784 - Use `when` instead of `condition` as an argument name in Python configure's pkg_check_modules for consistency. r=glandium
MozReview-Commit-ID: 61XglTI0BII
2016-08-17 15:02:31 -07:00
Chris Manchester 872c57fe84 Bug 1294803 - Move BUILD_CTYPES to Python configure. r=glandium
MozReview-Commit-ID: 3TlgdpNDLZW
2016-08-17 15:02:31 -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
Wes Kocher c84ec3b3f3 Merge m-c to inbound, a=merge 2016-08-16 22:06:58 -07:00
Wes Kocher 48b8d407c8 Merge inbound to central, a=merge
a=release to get around the webidl hook for a comment-only change

--HG--
extra : amend_source : f7e57101e1a25d3cf3536a256898ec2a21c54b38
2016-08-16 17:05:30 -07:00
Wes Kocher 073e095b66 Merge fx-team to central, a=merge CLOSED TREE 2016-08-16 16:37:28 -07:00
Ian Stakenvicius 1f75b211c2 Bug 1282843 - Add ability to specify system paths to @old_configure_options. r=glandium 2016-08-16 09:42:00 -04:00
Gregory Szorc 2562138ede Bug 1291944 - Verify makensis binary is 32-bits; r=glandium
This required implementing a utility function to resolve the binary
type. I used GetBinaryTypeW via ctypes because this seems the fastest.
I arbitrarily limited the function to testing 32-bit and 64-bit Windows
executables because hopefully those are the only executables we'll
ever encounter. We can expand the binary detection later, if needed.
This includes support for running on non-Windows platforms.

MozReview-Commit-ID: CYwyDWQrePc

--HG--
extra : rebase_source : 8fd7ca7f253d9e9e18d64784652a5ff934ad2272
2016-08-15 18:11:48 -07:00
Mike Hommey ebd899b9d6 Another fixup for bug 1294639 on a CLOSED TREE. a=Kwierso 2016-08-16 08:53:33 +09:00
Mike Hommey 3f3d75fb1f Bug 1294632 - Remove unused old_configure_options. r=chmanchester
--enable-approximate-location and --enable-gps-debug were removed in bug
1278410.
--enable-media-navigator was removed in bug 1259581.
--enable-webapp-runtime was removed in bug 1238079.
2016-08-16 08:32:53 +09:00
Mike Hommey c6d1e73834 Bug 1294585 - Move --with-*-keyfile options to python configure. r=chmanchester 2016-08-16 08:32:51 +09:00
Mike Hommey 02d1dcdac0 Bug 1294585 - Remove the --with-google-oauth-api-keyfile configure flag. r=mikedeboer 2016-08-16 08:32:49 +09:00
Wes Kocher e9097643d5 Merge inbound to central, a=merge 2016-08-12 13:44:29 -07:00
Ms2ger 78f1853c94 Bug 1293981 - Move --enable-more-deterministic to moz.configure. r=chmanchester 2016-08-10 13:06:55 +02:00
Ms2ger dc662f1b94 Bug 1293981 - Move --enable-perf to moz.configure. r=chmanchester 2016-08-10 13:06:49 +02:00
Ms2ger a7c2d8106c Bug 1293981 - Move --enable-gc-trace to moz.configure. r=chmanchester 2016-08-10 13:06:40 +02:00
Mike Hommey c504a71a5b Bug 1295480 - Move --enable-webspeechtestbackend to python configure. r=chmanchester 2016-08-17 11:01:56 +09:00
Mike Hommey ff6286a8e2 Bug 1295480 - Move --disable-webspeech to python configure. r=chmanchester 2016-08-17 11:01:52 +09:00
Mike Hommey 86c8b781d4 Bug 1295480 - Move --enable-dbm to python configure. r=chmanchester 2016-08-17 11:01:44 +09:00
Mike Hommey 195a0eb8e7 Bug 1295480 - Move --enable-ipdl-tests to python configure. r=chmanchester 2016-08-17 11:01:40 +09:00
Mike Hommey 9cbe9243c6 Bug 1295480 - Move --enable-websms-backend to python configure. r=chmanchester 2016-08-17 11:01:35 +09:00
Mike Hommey 6f35afadf9 Bug 1295480 - Move --enable-synth-speechd to python configure. r=chmanchester 2016-08-17 11:01:30 +09:00
Mike Hommey 29f57f3e58 Bug 1295480 - Move --disable-printing to python configure. r=chmanchester 2016-08-17 11:01:24 +09:00
Mike Hommey 05f10c47d3 Bug 1294630 - Move --enable-ipc-fuzzer to python configure. r=chmanchester 2016-08-17 11:01:05 +09: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 7a80b4e7ee Bug 1292463 - Rename compilechecks.configure and test_header_checks.py. r=chmanchester
to, respectively, compile-checks.configure and test_compile_checks.py.


--HG--
rename : build/moz.configure/compilechecks.configure => build/moz.configure/compile-checks.configure
2016-08-10 10:49:59 +09:00
Mike Hommey cc883a2e7a Bug 1292463 - Set MOZ_PGO subst/config from python configure. r=chmanchester 2016-08-10 10:49:58 +09:00
Mike Hommey 306558f1eb Bug 1292463 - Always set --enable-warnings-as-errors for MOZ_AUTOMATION builds. r=chmanchester
And remove it from mozconfigs.
2016-08-10 10:49:56 +09:00
Mike Hommey 4585ac7815 Bug 1292463 - Move --enable-warnings-as-errors to python configure. r=chmanchester 2016-08-10 10:49:54 +09:00
Mike Hommey 74733c57c1 Bug 1292463 - Add MOZ_AUTOMATION to python configure. r=chmanchester 2016-08-10 10:49:52 +09:00
Nathan Froyd 81545d0022 Bug 1290957 - ensure MOZ_AUTOMATION builds require a cargo with --frozen support; r=chmanchester
We want to ensure that our automation builds don't pull in libraries
from crates.io, and we need --frozen support in cargo to do that.  If we
don't have that support, we shouldn't build.
2016-08-09 18:10:19 -04:00
Nathan Froyd d4a5791899 Bug 1268727 - part 1 - update Rust requirement to 1.10; r=chmanchester
We need Rust 1.10 to support the -C panic=abort flag and the
corresponding bits in cargo.
2016-08-09 18:10:20 -04: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
Mike Hommey 6bdf5756ec Bug 1292046 - Add language to the compiler namespace. r=chmanchester
--HG--
extra : rebase_source : c258416a1cec59627e27d4f59e40f1425464f9c5
2016-08-04 16:24:29 +09:00
Nathan Froyd f7fb6722a6 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-06 00:49:26 -04:00
Nathan Froyd 8e363d817c Bug 1231764 - part 1 - search for cargo when --enable-rust; r=chmanchester
We've going to use it, the location of it should be configurable.
2016-08-06 00:49:26 -04:00
Mike Hommey 202b56d2fe Bug 1293840 - Determine HAVE_64BIT_BUILD from --target. r=chmanchester
Until now, HAVE_64BIT_BUILD was entirely determined by a compiler check.
But we didn't run the check on e.g. artifact builds, while relying on
its result for some non-compilation related things, leading to subtle
discrepancies.

This changes the configure check to derive HAVE_64BIT_BUILD from bitness
determined by the target CPU, and double checked with a compiler check.

--HG--
extra : rebase_source : 5dc0cf2369ed4457bdd9a15736a70265a771d919
2016-08-10 11:39:16 +09:00
Mike Hommey a918e97bfa Bug 1293837 - Move HAVE_64BIT_BUILD test to python configure. r=chmanchester
Also, now that we're using modern C++11 compilers, we can just rely on
static_assert, instead of the pile of macros used in the autoconf test.

--HG--
extra : rebase_source : 85d507da653d07e6527a971082277486e3502ea2
2016-08-10 09:00:23 +09:00
Mike Hommey 93ac00658e Bug 1293837 - Change try_compile() to return True when the test passes. r=chmanchester
Currently, it returns either None or the contents of the compiler's stdout,
which is always expected to be an empty string, and is not very useful. So
instead, return True in the latter case.

--HG--
extra : rebase_source : ee69cdeab38d27178ce759591fb394da65e694ac
2016-08-10 10:00:43 +09:00
Mike Hommey 4eba7db364 Bug 1293579 - Use the new `dependable` function in a few places. r=chmanchester
--HG--
extra : rebase_source : 7062361fdb8e61b43a4044a3a7b1bf04f6ef3143
2016-08-09 15:55:10 +09:00
Mike Hommey 3e4c324c93 Bug 1293579 - Add a `dependable` function/decorator to avoid some of the depends('--help') weirdness in python configure. r=chmanchester
--HG--
extra : rebase_source : 957ae782df951e899d1142bd583423e6afdb605a
2016-08-09 15:54:20 +09:00
Wes Kocher 9605851be0 Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage
Backed out changeset 4b71272c92cf (bug 1231764)
Backed out changeset 234d8a930afa (bug 1231764)
Backed out changeset f9b204c2f5a7 (bug 1231764)
Backed out changeset f933119e57e4 (bug 1231764)
Backed out changeset e3af0b1d3473 (bug 1231764)
Backed out changeset 643b03aae1dd (bug 1231764)
Backed out changeset a945dbf63410 (bug 1231764)

--HG--
extra : rebase_source : e71360fa4b5e3e74859c82e74e183e13e6211c4c
2016-08-03 16:27:06 -07:00
Nathan Froyd 6b2618fb44 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-03 19:40:41 -04:00
Nathan Froyd 8aab949aa8 Bug 1231764 - part 1 - search for cargo when --enable-rust; r=chmanchester
We've going to use it, the location of it should be configurable.
2016-08-03 19:40:41 -04:00
Carsten "Tomcat" Book 423bdfd2fd Merge mozilla-central to mozilla-inbound
--HG--
rename : dom/media/platforms/apple/ReorderQueue.h => dom/media/platforms/ReorderQueue.h
2016-08-03 17:08:41 +02:00
Mike Hommey 8fa1cdc6fb Bug 1291140 - Deduce Universal CRT SDK path from INCLUDE and LIB when it's not in WINDOWSSDKDIR. r=chmanchester
--HG--
extra : rebase_source : 9913f5ada944d09269605e0eb6b667005465d906
2016-08-02 15:45:08 +09:00
Jan Beich be3a9d9f97 Bug 1285503 - Fix DragonFly target spelling after bug 1266368. r=glandium
MozReview-Commit-ID: 48qNqNa8CdP

--HG--
extra : transplant_source : %15%F6%E6z%E3%8F%AD%15%9C%0F%2B%AB%AE%BC%F5%EA%18%FE%86%F7
2016-07-08 06:36:11 +00: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
Mike Hommey 3ec6a69c49 Bug 1290040 - Use full path for mt.exe. r=gps
Now that check_prog, through find_program, returns paths that the build
system can handle, we don't need MT to just be "mt.exe".

However, we still need the PATH to be altered for the other tools we're
not checking in python configure yet (e.g. midl). We also still need
PATH altered for the compiler itself, because for e.g. the amd_x86
version, a necessary DLL is in the amd directory, which means PATH
always needs to be altered for cl.exe.
2016-08-02 13:20:48 +09:00
Mike Hommey da40819e21 Bug 1290040 - Make find_program return short paths automatically when paths contain spaces on Windows. r=gps
Also fake enough of ctypes to keep the configure unit tests passing
after these changes.
2016-08-02 13:20:44 +09:00
Mike Hommey c2df8cd611 Bug 1290026 - Automatically set LIB from configure. r=chmanchester 2016-08-02 13:17:19 +09:00
Mike Hommey c6b7fab94b Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester 2016-08-02 13:17:17 +09:00
Carsten "Tomcat" Book 8321d9897b Backed out changeset a4a381f85dc8 (bug 1290026) 2016-08-01 09:12:37 +02:00
Carsten "Tomcat" Book 2b84fbf042 Backed out changeset 90559af62774 (bug 1290026) 2016-08-01 09:12:36 +02:00
Carsten "Tomcat" Book fc8e03f0d8 Merge mozilla-central to autoland 2016-07-30 16:49:41 +02:00
Ralph Giles bb6518c3f2 Bug 1290522 - Parse `rustc --version --verbose` in moz.configure. r=glandium
This is hopefully more reliable than parsing just the summary line,
and makes available other keys like the commit-hash which we'd like
to pass to the debug symbol automation.

Note that the commit-hash field will have the value 'unknown' for
builds not made out of upstream git. So the key is available with
official and gecko rust builds, but not for example the current
Debian-packaged rustc.

MozReview-Commit-ID: A2G5UPs2ka2
2016-07-29 10:39:17 -07:00
Mike Hommey 96c8b2dca4 Bug 1290019 - Remove MT version check. r=chmanchester
Before bug 1289294, the impossibility to find the version of MT was only
issuing a warning. Warnings in configure are essentially useless, so
since we weren't and still aren't doing anything with the result of that
check, and since there are versions of MT that don't print out a version
number, just remove the check.

--HG--
extra : rebase_source : 4887cebf0f56ca1a297cd02ff1988809c5cb6fdf
2016-07-28 18:29:49 +09:00
Mike Hommey a3aa2c0999 Bug 1289679 - Support detecting Windows SDK 10. r=chmanchester, a=me
--HG--
extra : amend_source : 4471fc23f09c297308c044baaf822f2ad4f4cde7
extra : transplant_source : %E6%F3%CE-%94%C5%CA%05%87%02%964%01%05%24J%E7%15%EB%D8
2016-07-27 15:37:54 +09:00
Carsten "Tomcat" Book 7293066753 merge mozilla-inbound to mozilla-central a=merge 2016-07-27 16:35:44 +02:00
Mike Hommey 1f9624559e Bug 1289294 - Move MT detection to python configure. r=chmanchester
--HG--
extra : rebase_source : c84ade9a0db9aca2f2e64b8a3424fe14dd19a924
2016-07-26 15:15:08 +09: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 1b9c70450b Bug 1289289 - Move --with-windows-version to python configure. r=chmanchester
Also, don't set the MOZ_WINSDK_TARGETVER define anymore, as it's unused.

--HG--
extra : rebase_source : a6aa1458985d6c158abdc7cd7926b73990f4df2a
2016-07-22 17:08:53 +09:00
Mike Hommey 71f37655bd Bug 1289286 - Automatically find MSVC from the registry if it's not in $PATH. r=gps
--HG--
extra : rebase_source : 88eb4ef57fb27b40032dff92684663c7f4880940
2016-07-22 15:51:34 +09:00
Fabrice Desré aac808639b Bug 1289691 - Get b2g to build again r=glandium 2016-07-27 01:31:08 -07:00
Mike Hommey cb0e41dd08 Bug 1288313 - Ensure the host and target compilers build for the right endianness. r=chmanchester
--HG--
extra : rebase_source : d47263faac601a0d1b5a89ac6e9d3d373f0b15a1
2016-07-21 08:24:45 +09:00
Mike Hommey 13244904c4 Bug 1288313 - Ensure the host and target compilers build for the right kernel. r=chmanchester
--HG--
extra : rebase_source : 654ec31f94befe4c966570229d15e9e9288ec82f
2016-04-26 15:38:45 +09:00
Mike Hommey ae1ab9803b Bug 1288313 - Ensure the host and target compilers build for the right CPU. r=chmanchester
And for GCC and clang, try to see if adding -m32, -m64 or --target
works if they don't.

--HG--
extra : rebase_source : 874bc2404a5ccc48e938bc7d9b2fe67ba625cb3e
2016-04-22 15:08:55 +09:00
Mike Hommey 2578400d7b Bug 1288313 - Explicitly reject unknown CPU types. r=chmanchester
Since bug 1264482, unknown CPU types end up triggering a ValueError
exception because of the CPU EnumString. Even if somehow the CPU is
valid, the endianness is not and would trigger a ValueError exception
as well.

So, instead of letting the exceptions happen, use a nicer failure mode
with an explicit die().

--HG--
extra : rebase_source : 68432496712075c677de4bf71ea5d420fc70c35c
2016-04-26 16:27:46 +09:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Mike Hommey 7721a052bc Fixup for bug 1286204 - Update error message to reflect the change in clang requirement. r=me 2016-07-20 20:58:49 +09:00
Mike Hommey 7df7b057ce Bug 1286204 - Require at least clang 3.6. r=froydnj
--HG--
extra : rebase_source : e49f87d8c7d47c48a23650fbbbbf0dafbccc209d
2016-07-08 16:38:55 +09:00
Mike Hommey 8eff2bec09 Bug 1290026 - Automatically set LIB from configure. r=chmanchester
--HG--
extra : rebase_source : 4ca572685169fdd2fbb0c9ae6aac5361d2669569
2016-07-27 18:01:04 +09:00
Mike Hommey 9bca5c6d3a Bug 1290026 - Automatically set INCLUDE from configure. r=chmanchester
--HG--
extra : rebase_source : e96decbc05d41e25a80cd3d1d61a7b36ba91f08b
2016-07-27 17:03:09 +09:00
Mike Hommey fa43fb4a81 Bug 1287023 - Allow to use delayed_getattr in more cases. r=chmanchester
Until now, it's not been possible to do something as straightforward as:

option('--foo', default=delayed_getattr(milestone, 'is_nightly'))

The reason is that option's default needs what it's given, if it's a
@depends function, to depend on --help.

But we can't have every delayed_getattr add dependencies on --help,
because that would make unwanted things to depend on --help and run
when displaying the help.

Until we can totally remove --help dependencies, this change makes the
resulting @depends function created by delayed_getattr depend on --help
if the @depends function it's given already depends on --help.
2016-07-16 08:34:31 +09:00
Carsten "Tomcat" Book 5784adf50e Merge mozilla-central to autoland 2016-07-08 12:18:14 +02:00
Benjamin Smedberg bf05496a83 Bug 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug.
MozReview-Commit-ID: EGqHHhCD7vD

--HG--
extra : rebase_source : a4b9593959dd3ba80189db47eabb056ea207490f
extra : amend_source : a744d833693f0fe7adbea961c00bb5fb55a91580
2016-07-07 12:14:25 -04:00
Mike Hommey 9607db6e29 Bug 1283052 - Remove some of the magic around mozconfig detection. r=gps
The mozconfig detection logic has bitten us on many occasions in the
past. The following changes are made to tentatively improve the
situation:

- The API is modified such that autodetection of the mozconfig has
  to be a conscious decision made by the caller, and not triggered
  any time there is no mozconfig given, which could be a conscious
  decision of the opposite.

- mozinfo.json now stores the actual mozconfig (or lack thereof) used
  during configure.

--HG--
extra : rebase_source : c7a632afd414f25daf7bbe7e1a66c3736c26e039
2016-07-08 08:43:17 +09:00
Gregory Szorc f21ec324a6 Merge mozilla-central to mozilla-inbound 2016-07-06 18:30:58 -07:00
Gregory Szorc 5030a743a1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 8f5061080a3d56dd484f9be03649fb65f0145f67
2016-07-06 09:01:38 -07:00
Wes Kocher a425a052c1 Backed out changeset d7f98208809f (bug 1186064) for breaking SM(pkg) jobs a=backout 2016-07-06 10:11:04 -07:00
Gregory Szorc 6e4d0edfbc Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 22ab4f47661ead4995d0c5261104abfb02b82aa2
2016-07-06 09:01:38 -07:00
Nathan Froyd a3b126cdc2 Bug 1277619 - hide libc++ visibility defines on Android when compiling with clang; r=glandium 2016-07-06 15:30:22 -04:00
Carsten "Tomcat" Book 169daf64c7 Backed out changeset 96b590321c21 (bug 1186064) for bustage 2016-07-01 08:41:24 +02:00
Gregory Szorc ecce5714c1 Bug 1186064 - Require Visual Studio 2015 Update 2; r=glandium
Per froydnj in bug 1186064 comment #23, "it makes sense to proceed with removing
MSVC 2013 support." This commit does that.

We also go a step further and require VS2015 Update 2 instead of just
update 1. This temporarily brings us down to just 1 officially supported
Visual Studio version. However, VS2015u3 was just released and is
unofficially supported.

Since MOZ_CRT is no longer set, references to it have been removed.

MozReview-Commit-ID: 8MUR6qLzQA5

--HG--
extra : rebase_source : 94527a0be3f107991998185903f1c6cf6e190f9f
2016-05-31 09:19:00 -07:00
Ted Mielczarek 82d77574ff bug 1266368 - move rust.m4 to configure. r=glandium
MozReview-Commit-ID: 9ol2nMYM0a0

--HG--
extra : rebase_source : 3f3feeac941791d081e09ebb096a3e052540a52c
2016-05-16 15:27:37 -04:00
Ted Mielczarek f04fd21cff bug 1280220 - find_program should append an exe extension to absolute paths on Windows. r=glandium
MozReview-Commit-ID: 2gaLnL5x2zR

--HG--
extra : rebase_source : 9f5941bbfa73b75c903a64a9be257d205236778d
2016-06-16 12:05:12 +01: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