Commit Graph

92 Commits

Author SHA1 Message Date
Gregory Szorc
3eae4bab54 Bug 1384396 - Detect Watchman Mercurial integration in configure; r=nalexander
Configure now detects VCS info. Configure now detects Watchman.
We can combine the two so configure can detect if Mercurial
is configured with Watchman enabled.

This commit does two things:

1) collects the Mercurial config so it is available to downstream checks
2) examines the config for presence and state of the fsmonitor
   extension

We don't yet do anything with the fsmonitor state. But it should be
useful soon. Also, the return value is kinda wonky. This will almost
certainly be improved as soon as there is an actual consumer.

MozReview-Commit-ID: HyHZ2X8VI0h

--HG--
extra : rebase_source : e53928127470340275f0c0f07db72b536bba885b
extra : source : a8373914cbfd9b8595fc24f36c876cab0a26c02a
2017-07-27 14:12:35 -07:00
Gregory Szorc
df019d6a91 Bug 1384396 - Detect Watchman in configure; r=nalexander
It is an optional build dependency. While we detect the version, we
don't do any minimum version checking because nothing uses it... yet.

MozReview-Commit-ID: 1tPo9AnD4fV

--HG--
extra : rebase_source : ab72057bdbcf2475902ee6b024dfa220666273f8
extra : source : 2a1b1485ffc702fb546d4c73686b5fba3e2e56dc
2017-07-25 22:04:53 -07:00
Sebastian Hengst
72d39fa25b Backed out changeset 2a1b1485ffc7 (bug 1384396)
MozReview-Commit-ID: 8pvtaY2B1ib
2017-07-27 14:53:46 +02:00
Sebastian Hengst
359a334524 Backed out changeset a8373914cbfd (bug 1384396)
MozReview-Commit-ID: I8IOrpGH89l
2017-07-27 14:53:41 +02:00
Gregory Szorc
4d26cc09b2 Bug 1384396 - Detect Watchman Mercurial integration in configure; r=nalexander
Configure now detects VCS info. Configure now detects Watchman.
We can combine the two so configure can detect if Mercurial
is configured with Watchman enabled.

This commit does two things:

1) collects the Mercurial config so it is available to downstream checks
2) examines the config for presence and state of the fsmonitor
   extension

We don't yet do anything with the fsmonitor state. But it should be
useful soon. Also, the return value is kinda wonky. This will almost
certainly be improved as soon as there is an actual consumer.

MozReview-Commit-ID: HyHZ2X8VI0h

--HG--
extra : rebase_source : d245d316cc8a27b2827b7824204549b91465bd34
2017-07-25 22:05:23 -07:00
Gregory Szorc
876dadde77 Bug 1384396 - Detect Watchman in configure; r=nalexander
It is an optional build dependency. While we detect the version, we
don't do any minimum version checking because nothing uses it... yet.

MozReview-Commit-ID: 1tPo9AnD4fV

--HG--
extra : rebase_source : 7f547422902858671028ccd54b94dbda49b239db
2017-07-25 22:04:53 -07:00
Andrew Osmond
491f63197d Bug 1370209 - Allow setting --disable-rust-debug when --enable-debug is used. r=froydnj 2017-07-10 10:46:31 -04:00
Carsten "Tomcat" Book
fe3f254925 Backed out changeset 018e683b25cd (bug 1370007) for breaking tier 2 nightly builds on windows 2017-07-07 15:23:54 +02:00
Tom Ritter
b1341f974a Bug 1370007 Generate Shaders on a MinGW Cross Compile on Linux r=dvander,ted
Bug 1365859 introduced a dependency on the Visual Studio binary 'fxc'
to generate Shader bytecode. This was unavailable when compiling for
Windows on Linux as part of a MinGW build.

This commit adds a configure check for fxc, and also searches for
fxc2, which was written (https://github.com/tomrittervg/fxc2) to be
a tiny application that wraps D3DCompileFromFile and can produce
similar (but not exactly the same) output as fxc.

fxc2 is compiled using MinGW for Windows, and runs under wine, so
we need to check for wine also.

Finally, fxc outputs some include information fxc2 doesn't, so
we will just change that assert to not take effect.

MozReview-Commit-ID: 8LVxuODi6cV

--HG--
extra : rebase_source : 39acca112f4cd9e6c39f7e47e7c55b13e7606824
2017-07-06 15:35:49 -05:00
Mike Hommey
0bc3c0dfde Bug 1375798 - Figure out host library/object prefix/suffixes and use them for libclang. r=mshal
The libclang test wants to find a libclang library for use for rust bindgen.
But that's a host process, that needs a host libclang. However, we
currently only have the target library/object prefix/suffixes. This
works fine... except when cross-compiling.

So we need to figure out the proper ones for the host, and use those
instead. For that, we templatize library_name_info in order to get a
separate set of library/object prefix/suffixes for the host and the
target.

And we use the host set for the libclang check.

Ideally, the build system would also use the host set for host tools
builds, but we'll leave that to a followup.

--HG--
extra : rebase_source : 1970791d6d5f9b3f79fbe34b7e3d05dd4b5c3f7b
2017-06-23 15:12:04 +09:00
Mike Hommey
a5b9313db8 Bug 1375798 - Avoid using target_is_windows and target_is_darwin in library_name_info. r=mshal
We eventually want to templatize the library_name_info function, in
order to have one for host and one for target. So we don't want 3
different dependencies for the target.

--HG--
extra : rebase_source : cc980a5da9a35e71856ef970a58b2edcd05615c6
2017-06-23 15:07:54 +09:00
Mike Hommey
2b86683647 Bug 1375798 - Reorganize the library_name_info function. r=mshal
The function as it currently is matches how things were done in
old-configure.in. However, that's just confusing and hard to follow. In
fact, the unit test failing numerous times while writing this patch
pretty much highlights the problem.

So instead of a confusing set of overrides to the prefixes and suffixes,
spell out the whole set for each set of platforms. This also happens to
make the function shorter. Win/win.

At the same time, we normalize the function output as a nested
namespace, where we get, for each of dll, lib, import_lib, etc. a
prefix/suffix pair. Further down the road, we can imagine changing those
to class instances with a method allowing to format file names based on
those prefix/suffixes.

--HG--
extra : rebase_source : c18520d4df54feeea0a7f9588bc3cf8346793aaf
2017-06-23 15:05:06 +09:00
Mike Hommey
393d819a1c Bug 1375798 - Limit the SO_VERSION option to openbsd builds. r=mshal
SO_VERSION has only an impact on those builds. Also set the default at
the option level, instead of doing that in the library_name_info
function.

--HG--
extra : rebase_source : 29aa61beeaede7d43daec599866094b91f2e7a82
2017-06-23 14:58:05 +09:00
Mike Hommey
dc8c929ed9 Bug 1375798 - Add a unit test for library/object prefix/suffixes. r=mshal
This happen to uncover the fact that mingw clang was not handled
properly after bug 1372987. This will allow us to substantially modify
the function that handles them and avoid regressions.

--HG--
extra : rebase_source : 007257caecf7917480ef6b0a834c304768f77591
2017-06-23 14:41:45 +09:00
Mike Hommey
cc62c377cd Bug 1354581 - Move MOZILLA_OFFICIAL to python configure. r=cmanchester+432261
--HG--
extra : rebase_source : 085f29d9a3d46e9cff77444da594f6149c10f63d
2017-06-21 10:20:31 +09:00
Nathan Froyd
2fc0cc265c Bug 1372987 - move library/object prefix/suffix configuration to moz.configure; r=mshal
For parts of configuring Stylo, we need information about the library
extensions on all of our platforms, and this change is a reasonable way
to get at that information without duplicating it in two places.  Plus
moving more things to moz.configure is more better.
2017-06-19 14:20:29 -04:00
Tom Ritter
64833e8aa1 Bug 1367847 Support makensis on MinGW Linux for Windows builds r=glandium
This involves a few changes:
- Remove the .exe from the makensis binaries. which.which will
  auto-add it so Windows will keep working - and with it
  present we were finding makensis.exe on Linux and trying to
  run it, which isn't going to work
- Doesn't bother checking if nsis is 32bit if we're running on
  Linux
- Add the -nocd option to nsis (on Linux) because it takes the
  current working directory from the target of a symlink rather
  than the symlink itself. See
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=704828

MozReview-Commit-ID: CVT8LwS1t8w

--HG--
extra : rebase_source : 2a62327326ba80dfd728048d19f0ff1c90100838
2017-06-07 20:56:21 -05:00
Mike Hommey
f10295dbae Bug 1363811 - Replace all uses of delayed_getattr(a, 'b') with a.b. r=cmanchester+432261
And remove delayed_getattr.
2017-05-19 07:03:40 +09:00
Tom Ritter
abdd83c00f Bug 1355584 Make NSIS an optional requirement for MINGW builds r=glandium
MozReview-Commit-ID: JCrLbEeApxy

--HG--
extra : rebase_source : 47a75c2323900854e962ca6baaa25bc0a5a3e62d
2017-04-12 11:21:13 -05:00
Nathan Froyd
2989feb7d7 Bug 1353810 - add a --enable-rust-debug option; r=chmanchester
For people working on Rust code, compiling in debug mode (Cargo's "dev"
profile) is convenient: debug assertions are turned on, optimization is
turned off, and parallel compilation inside of rustc itself can be
used.  These things make the build faster and the debugging experience
more pleasant.

To obtain that currently, one needs to --enable-debug at the Gecko
toplevel, which turns on debug assertions for the entire browser, which
makes things run unreasonably slowly.  So it would be desirable to be
able to turn *off* debug mode for the entirety of the browser, but turn
on debug mode for the Rust code only.

Hence this added switch, --enable-rust-debug, which does what it
suggests and defaults to the value of --enable-debug.  For our own
sanity and because we judge it a non-existent use case, we do not
support --enable-debug --disable-rust-debug.
2017-04-12 21:49:25 -04:00
Ryan VanderMeulen
374ef3dd48 Bug 1347191 - Add support for NSIS 3.01 to moz.configure. r=mhowell
--HG--
extra : rebase_source : 97cc913ab2486be63cafc2c54230363f232526d8
2017-03-28 10:53:17 -04:00
Chris Manchester
e2e1a84cae Bug 1339673 - Add an option to disable building the gtest xul and set it for valgrind builds in automation. r=ted
MozReview-Commit-ID: 1doicRjGhfY

--HG--
extra : rebase_source : 9f9cbf5c7a9f4e29e806a02c27106fbc1519fc86
2017-02-16 10:47:55 -08:00
Justin Wood
6d726fa81c Bug 1197325 - Remove now unused genisoimage. r=ted
MozReview-Commit-ID: AO3RgE4SdsH

--HG--
extra : rebase_source : 5afb3583c4426d3903b00e879a248a19cb02bd31
2017-02-02 10:10:27 -05:00
Justin Wood
9feb80031e Bug 1197325 -- Set volume icon for DMG in Linux->Mac cross compiles. r=ted
MozReview-Commit-ID: C4LFZB6msmL

--HG--
extra : rebase_source : 18d4e2fa3af4a387bf5e08f987d44a0a658ac1d3
2017-01-30 17:32:32 -05:00
Chris Manchester
b3946b997e Bug 1200311 - Build the gtest libxul during the compile tier instead of package-tests. r=ted
MozReview-Commit-ID: HX2ORY8cUV9

--HG--
extra : rebase_source : a5510ea1709313206bd620815f7283832fe3efee
2017-02-06 14:34:07 -08:00
Phil Ringnalda
0bf37ead29 Backed out 3 changesets (bug 1197325) for adding a burning Cc(hfsplus) job
CLOSED TREE

Backed out changeset 158233bce738 (bug 1197325)
Backed out changeset b5ac3fa0bbe7 (bug 1197325)
Backed out changeset 55a8ad127517 (bug 1197325)
2017-02-06 20:04:55 -08:00
Justin Wood
a39754cb97 Bug 1197325 - Remove now unused genisoimage. r=ted
MozReview-Commit-ID: AO3RgE4SdsH

--HG--
extra : rebase_source : 2a49430e1eb0809b191435c6986e076f9cac7b96
2017-02-02 10:10:27 -05:00
Justin Wood
214e9da5c5 Bug 1197325 -- Set volume icon for DMG in Linux->Mac cross compiles. r=ted
MozReview-Commit-ID: C4LFZB6msmL

--HG--
extra : rebase_source : a302c9d12537ca59d3233504abede89bdace15d0
2017-01-30 17:32:32 -05:00
Chris Manchester
eb8660f21f Bug 1317778 - Emit a depfile with python configure dependencies so Make will know when to re-run configure. r=glandium
MozReview-Commit-ID: AuTHadY7KqO
2016-12-02 10:05:57 -08: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
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
Mike Hommey
2a9930daf9 Bug 1311871 - Fix NSIS version check for NSIS version 3.0. r=chmanchester
--HG--
extra : rebase_source : 5e99dc999e2c54813ec447134bc4b008f7af826a
2016-10-21 09:15:34 +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
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
Chris Manchester
0c70afc0a3 Bug 1305502 - Add an option to download symbols for an artifact build. r=glandium
MozReview-Commit-ID: HJxJeMkLiz9
2016-09-26 14:54:24 -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
Mike Shal
9f2ce6ecc0 Bug 1293448 - Build XPIDL files in the tup backend; r=glandium,gps
MozReview-Commit-ID: zyojbOFLLn

--HG--
extra : rebase_source : 17ebd8701bf1dc1a45559a3620a3f6703f950070
2016-07-29 13:43:29 -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
470a2afbb6 Bug 1294803 - Move BUILD_CTYPES to Python configure. r=glandium
MozReview-Commit-ID: 3TlgdpNDLZW
2016-08-22 12:17:19 -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
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
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
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
Gregory Szorc
3dffde2be1 Bug 1291944 - Search for nsis in msys environment; r=glandium
Previously, configure found nsis on PATH, likely from MozillaBuild.
In our msys2 environment, nsis is installed under /mingw32. We
supplement moz.configure to look for nsis in this location.

MozReview-Commit-ID: 34mjoCrI7B6

--HG--
extra : rebase_source : fb50bb8870a7c3646424e69633cf83147c0f9fa7
2016-08-15 17:34:42 -07: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
4585ac7815 Bug 1292463 - Move --enable-warnings-as-errors to python configure. r=chmanchester 2016-08-10 10:49:54 +09:00
Mike Hommey
1cd034b955 Bug 1292066 - Move GNU make detection to python configure. r=chmanchester
Nothing is using MAKE in old-configure, and it was not AC_SUBST'ed, so
we don't need to set it when it's not set in the environment already.

--HG--
extra : rebase_source : 9a525517808db87add72989ab9f43a135c0cc776
2016-08-04 17:27:05 +09:00