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

75 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd e6da99d7d3 Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D28671

--HG--
extra : moz-landing-system : lando
2019-04-24 16:15:10 +00:00
Cosmin Sabou 428af65705 Backed out changeset 445a4ea25bb1 (bug 1546491) for build bustages on test/configure/lint.py. CLOSED TREE 2019-04-24 18:44:08 +03:00
Nathan Froyd c7748ae96f Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D28671

--HG--
extra : moz-landing-system : lando
2019-04-24 15:09:05 +00:00
Ciure Andrei 2a9eb52a31 Backed out changeset 40832d187454 (bug 1537669) for causing ActivationContext.cpp asertion failures CLOSED TREE 2019-03-22 10:47:36 +02:00
Mike Hommey 5581aa598a Bug 1537669 - Use llvm-mt.exe instead of mt.exe when available. r=dmajor
MT is part of the Windows SDK, not MSVC, but an alternative exists for
it: llvm-mt. The official LLVM distribution for Windows doesn't include
it[1], though, so we can't just switch to it.

1. https://bugs.llvm.org/show_bug.cgi?id=40152

While here, remove the .exe suffix from the check, to future-proof for
cross-windows builds.

Differential Revision: https://phabricator.services.mozilla.com/D24326

--HG--
extra : moz-landing-system : lando
2019-03-21 23:34:07 +00:00
Mike Hommey ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

Differential Revision: https://phabricator.services.mozilla.com/D19615

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Mike Hommey 015ffd1905 Bug 1526062 - Add missing imports for Exception. r=nalexander
Depends on D19109

Differential Revision: https://phabricator.services.mozilla.com/D19110

--HG--
extra : moz-landing-system : lando
2019-02-08 16:56:40 +00:00
Mike Hommey ef876da54d Bug 1526062 - Fix miscellaneous NameErrors lingering in the python configure code. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D19109

--HG--
extra : moz-landing-system : lando
2019-02-08 16:56:13 +00:00
Mike Hommey bf0e86a9dc Bug 1523540 - Remove WIN64_LIB and WIN64_LINK. r=ted
Now that everything is lined up nicely, we don't need those anymore.

We can fill cargo-linker.bat with HOST_LINKER and HOST_LINKER_LIBPATHS,
which, unfortunately, can't be used as is, so we add a variant for
substitution in .bat files.

Differential Revision: https://phabricator.services.mozilla.com/D18034

--HG--
extra : moz-landing-system : lando
2019-01-30 21:46:39 +00:00
Mike Hommey 327319fd40 Bug 1523537 - Remove WIN_DIA_SDK_BIN_DIR as a thing that can be set manually. r=dmajor
Now that it's automatically derived and that in-tree mozconfigs are
setting DIA_SDK_PATH, we don't need to set WIN_DIA_SDK_BIN_DIR on
automation, or elsewhere, for that matter.

Differential Revision: https://phabricator.services.mozilla.com/D17915

--HG--
extra : moz-landing-system : lando
2019-01-29 14:22:26 +00:00
Mike Hommey 4913b1c2d2 Bug 1523204 - Streamline the DIA SDK setup. r=chmanchester
We currently rely on WIN_DIA_SDK_BIN_DIR being passed, but we can
actually derive it from the DIA SDK directory. So we now do that, except
when it's given explicitly.

While in the vicinity, move the dia2.h check to python configure.

With WIN_DIA_SDK_BIN_DIR being derived and not set when dia2.h is not
found, we don't really need MSVC_HAS_DIA_SDK anymore, so we just check
for WIN_DIA_SDK_BIN_DIR to determine whether to build dump_syms or not.

One exception to the above is when WIN_DIA_SDK_BIN_DIR is passed in,
which we only keep for the in-tree mozconfigs for now. We'll remove that
possibility after bug 1523201.

Depends on D17892

Differential Revision: https://phabricator.services.mozilla.com/D17893

--HG--
extra : moz-landing-system : lando
2019-01-29 07:38:14 +00:00
Mike Hommey bf7c4521f8 Bug 1519010 - Make LINKER and HOST_LINKER js_options. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D17793

--HG--
extra : moz-landing-system : lando
2019-01-29 01:22:19 +00:00
Mike Hommey 12e0f305f3 Bug 1523198 - Make VC_PATH a normal configure input. r=froydnj
And use it as an alternative to vswhere, instead of the current late
check. This allows to use VC_PATH when using a MSVC archive that is not
installed through the VS installer, and not have to care about PATH.

Depends on D17786

Differential Revision: https://phabricator.services.mozilla.com/D17787

--HG--
extra : moz-landing-system : lando
2019-01-28 20:44:26 +00:00
Mike Hommey d04b0b4a1b Bug 1523198 - Make DIA_SDK_PATH a normal configure input. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D17785

--HG--
extra : moz-landing-system : lando
2019-01-28 20:37:04 +00:00
Mike Hommey 63d64c8a5d Bug 1523223 - Die with a useful error message when MSVC cannot be found on clang-cl builds. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D17794

--HG--
extra : moz-landing-system : lando
2019-01-28 22:33:04 +00:00
Mike Hommey 38189d89a7 Bug 1523146 - Remove checks for MSVC < 2017. r=dmajor
We reject MSVC compilers < 2017 already, there's no point checking for
smaller versions after that.

Differential Revision: https://phabricator.services.mozilla.com/D17770

--HG--
extra : moz-landing-system : lando
2019-01-28 03:30:03 +00:00
Mike Hommey 94ff361bf4 Bug 1519325 - Move D3D compiler DLL detection to python configure. r=froydnj
MOZ_D3D_CPU_SUFFIX and MOZ_HAS_WINSDK_WITH_D3D are not used in the
build, and nothing includes d3d10.h except some angle code in a
preprocessed branch that is only taken for a macro we never define,
so we don't move the code corresponding to those. We also simplify the
detection code, which is convoluted now that it doesn't search for
multiple different DLLs.

Differential Revision: https://phabricator.services.mozilla.com/D16295

--HG--
extra : moz-landing-system : lando
2019-01-11 22:21:24 +00:00
Mike Hommey 9936784a53 Bug 1515528 - Detect MSVC paths separately for host and target. r=chmanchester
Because MSVC compilers only support one architecture, we need to search
"cl" in different toolchain search paths for each of the host and
target, especially when they are different.

Likewise for the library paths for the linker. Ideally we'd pass
-LIBPATH both for host and target, but that has implications for rust
that I don't want to have to figure just now.

Depends on D15263

Differential Revision: https://phabricator.services.mozilla.com/D15264

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:31 +00:00
Mike Hommey f4de6ab03a Bug 1515528 - Prefer link to lld-link when building with msvc rather than clang-cl. r=froydnj
While it was preferable to use lld-link with msvc for performance
reasons when we defaulted to compile with msvc, now that we build with
clang-cl by default, it's now better to use msvc's linker when using
msvc's compiler, especially for aarch64, which is the last place where
we actually need msvc.

Differential Revision: https://phabricator.services.mozilla.com/D15262

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:26 +00:00
Mike Hommey 9a0967dc5d Bug 1515579 - Use absolute paths for compilers, etc. r=ted
In bug 1259382, some workarounds were added to make the build system
alter PATH and not use absolute paths for toolchain programs, because
autoconf and the build system doesn't deal with spaces in those very
well. But later in bug 1290040, we made find_program return Windows
short paths (without spaces), which alleviates the need for those
workarounds.

We still, however, and unfortunately, need to alter PATH to account for
the fact that MSVC DLLs are not necessarily alongside the compiler
executables...

Depends on D15181

Differential Revision: https://phabricator.services.mozilla.com/D15182

--HG--
extra : moz-landing-system : lando
2019-01-10 23:37:46 +00:00
Razvan Maries 196ea35cdf Backed out 2 changesets (bug 1515579) for causing bugs: 1516228, 1516090, 1516253. a=backout
Backed out changeset fcf2cca505d4 (bug 1515579)
Backed out changeset 1d645417b082 (bug 1515579)
2018-12-25 00:48:43 +02:00
Mike Hommey cc04049ca0 Bug 1515579 - Use absolute paths for compilers, etc. r=ted
In bug 1259382, some workarounds were added to make the build system
alter PATH and not use absolute paths for toolchain programs, because
autoconf and the build system doesn't deal with spaces in those very
well. But later in bug 1290040, we made find_program return Windows
short paths (without spaces), which alleviates the need for those
workarounds.

We still, however, and unfortunately, need to alter PATH to account for
the fact that MSVC DLLs are not necessarily alongside the compiler
executables...

Depends on D15181

Differential Revision: https://phabricator.services.mozilla.com/D15182

--HG--
extra : moz-landing-system : lando
2018-12-21 23:05:40 +00:00
Ted Mielczarek 201bd292e7 Bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache; r=glandium
Currently mozconfig.cache overrides a few build options for sccache.
This patch moves them into toolchain.configure so that the build system
will set them properly when sccache is in use.  Additionally,
{CC,CXX}_WRAPPER are set in config.mk, so just avoid setting them when
sccache is in use.
2018-09-14 12:12:34 -04:00
Masatoshi Kimura 6e443c9a86 Bug 1414060 - move NONASCII to moz.configure; r=mshal 2018-09-10 18:57:40 -04:00
Nathan Froyd 684e72b2ab Bug 1486905 - add a HOST_LINKER variable for cross windows builds; r=dmajor
This setup seems to work well enough to enable me to link
HOST_SIMPLE_PROGRAMS with an AArch64-cross setup.  Necessary library
paths are passed to the linker via -LIBPATH and HOST_LDFLAGS rather than
letting MSVC fish them out of the environment.  The change to
HOST_SIMPLE_PROGRAMS to pass HOST_LDFLAGS was necessary for this to
work, in addition to the HOST_LINKER changes.
2018-08-30 10:28:15 -04:00
David Major e57877cd63 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium 2018-08-21 11:30:16 -04:00
Margareta Eliza Balazs 751b15f741 Backed out changeset 1b533762e9cb (bug 1483835) for causing build bustage in /python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py on a CLOSED TREE 2018-08-21 17:03:40 +03:00
David Major e14b59ea94 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium
--HG--
extra : rebase_source : 4abacd94c31ca33d8388f5e0da22010320c561a8
2018-08-21 09:34:33 -04:00
Nathan Froyd 879bf0a2bd Bug 1480553 - part 3 - add mappings for aarch64 in Windows configure paths; r=glandium
We need to add mappings for target.cpu to MSVC's arm64 name for
determining various paths, and we need to add an extra case to
get_vc_paths so the compiler can find all the necessary DLLs.
2018-08-02 21:40:40 -04:00
Masatoshi Kimura b3f94f70ab Bug 1462616 - Unblock Windows 10 April 2018 Update SDK with clang-cl. r=ted
MozReview-Commit-ID: 9KGu1KTmyRM

--HG--
extra : rebase_source : d70c5dbabd15f10d865db7f5a9c7a4e76dd94fe8
2018-05-18 21:20:23 +09:00
Carl Corcoran 69b43c9d12 Bug 1448380: Allow overriding DIA SDK and VC paths with VC_PATH and DIA_SDK_PATH environment variables; r=froydnj
MozReview-Commit-ID: MKUaRYCTmP

--HG--
extra : rebase_source : 2140683c7e8112dc50f51bf31d1f4fda6206235e
extra : source : 05e46cd4a2faaad1a8f84ed5abeb3fd54dc88df4
2018-03-27 14:37:49 +02:00
Ryan VanderMeulen 0bd3547b12 Bug 1424281 - Require Visual Studio 2017 15.6.0 and Win SDK 10.0.15063.0 to build on Windows. r=froydnj
--HG--
extra : rebase_source : 0de2c47bb978ae92128fc00390649a327612890f
2018-03-12 19:24:44 -04:00
David Major 146476c2c3 Bug 1439762 - Make configure fail when using clang-cl with a broken SDK. r=froydnj
--HG--
extra : rebase_source : 876e1d1c760a7c3de4f2bcaba9692df5e1bacb8d
2018-02-21 12:34:13 -05:00
David Major 8d81fe677d Bug 1402915: In clang-cl builds, use MSVC paths for INCLUDE/LIB/etc. r=froydnj
--HG--
extra : rebase_source : c63a662edd2e341e8c69ea2ace54e92f5bbd8711
2018-02-15 11:50:14 -05:00
David Major cf15c01efb Bug 1436255: Allow check_prog('LINKER') to fall back to $PATH. r=glandium
--HG--
extra : rebase_source : 8c670636d56dacb51d4d646f8f518992578b9f5c
2018-02-08 12:01:51 +13:00
Andrew Halberstadt f354075c7a Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood
This is a new issue that gets linted with flake8 3.5.0. Basically you should
never use a blank except: statement.

This will catch all exceptions, including KeyboardInterrupt and SystemExit
(which is likely not intended). If a catch all is needed, use
`except: Exception`.  If you *really* mean to also catch KeyboardInterrupt et
al, use `except: BaseException`.

Of course, being specific is often better than a catch all.

MozReview-Commit-ID: FKx80MLO4RN

--HG--
extra : rebase_source : 7c74a7d0d81f2c984b47aff3a0ee3448b791177b
2018-01-31 14:32:08 -05:00
David Major 18a5250f02 Bug 1425906: Rename LINK to LINKER throughout the build system. r=glandium
Windows linkers give special meaning to getenv("LINK"), which makes `export LINK=...` in mozconfigs do unexpected things.
2017-12-20 09:07:46 -05:00
Bob Owen 6732c613c1 Bug 1415569: Make version 10.0.14393.0 the minimum Win10 SDK required for building Firefox. r=ted
This is required for the latest chromium sandbox update.
2017-11-21 09:57:21 +00:00
David Major 02c9050df5 Bug 1417958 - Normalize lib paths to appease VS2017's incremental linking. r=nalexander
--HG--
extra : rebase_source : d834aef165b35fec0c880656976267e03d68180d
2017-11-17 09:15:00 -05:00
Masatoshi Kimura fce93f8e97 Bug 1414602 - fix flake8 lint errors. r=bustage-fix
MozReview-Commit-ID: AsJX4PQ1SIf

--HG--
extra : rebase_source : 42fd9620462d5b289cf1beaf463b3ca37453e30a
extra : amend_source : cbecb288db1af3865b36eaf75f0024f296df5dfc
2017-11-07 21:05:07 +09:00
Masatoshi Kimura 383e90a03b Backed out changeset 6555a2a899a0 (bug 1384557) due to causing bug 1414060. r=backout
MozReview-Commit-ID: FV44JQSDXPQ

--HG--
extra : amend_source : 8c05281fad889edd723ab58786d0bf16f7d325b0
2017-11-07 20:39:00 +09:00
Ted Mielczarek cb2b9afefe bug 1384557 - fix flake8 lint errors
MozReview-Commit-ID: 8dgZdOkAZ56

--HG--
extra : rebase_source : 6d4f937190c7312b3482d994ada31fa6ff5d2fac
2017-11-01 10:03:08 -04:00
Ted Mielczarek 54b6236e29 bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache r=glandium
Currently mozconfig.cache overrides a few build options for sccache. This
patch moves them into toolchain.configure so that the build system will
set them properly when sccache is in use. Additionally, {CC,CXX}_WRAPPER
are set in config.mk, so just avoid setting them when sccache is in use.

MozReview-Commit-ID: FYlVKRI8OiN

--HG--
extra : rebase_source : 00715beb5fbd2c11311dec43809bd1febab56a11
extra : intermediate-source : 0f2b1b75b83737378d882a3c3e0d8dfb4efecd1f
extra : source : a8032ae9cb2ad1c4574c6ac6f5c2778863cd71e0
2017-01-10 16:52:27 -05:00
Sylvestre Ledru 816ba0c177 Bug 1406668 - Make build/moz.configure/*.configure compliant to the pep8 format + add to the list of directories to check r=glandium
MozReview-Commit-ID: 89NxxGUVjHV

--HG--
extra : rebase_source : 278ceb2d7d31da086216288bd54688fe25faa03b
2017-10-12 15:22:59 +02:00
Sebastian Hengst 3980c1732a Backed out changeset 4dc78384cb58 (bug 1406668) for flake8 linting failures. r=backout
--HG--
extra : rebase_source : 20f93207038c76e2804f255e4ebfdd5e03a8f7cc
2017-10-12 15:08:35 +02:00
Sylvestre Ledru a102c9f46a Bug 1406668 - Make build/moz.configure/*.configure compliant to the pep8 format + add to the list of directories to check r=glandium
MozReview-Commit-ID: 89NxxGUVjHV

--HG--
extra : rebase_source : 658301cb32e9c042cd1931456e4e7b8f475900bd
2017-10-11 16:28:29 +02:00
Sebastian Hengst 7a40cdf1bb Backed out changeset b526011049ee (bug 1406668) for linting failures. r=backout
--HG--
extra : amend_source : fe8373f9572300c7fd090f529c6957fbf905d9ef
2017-10-12 14:41:28 +02:00
Sylvestre Ledru 4e4de3339f Bug 1406668 - Make build/moz.configure/*.configure compliant to the pep8 format + add to the list of directories to check r=glandium
MozReview-Commit-ID: 89NxxGUVjHV

--HG--
extra : rebase_source : 3d22007ea6793961e7031603efe58cdc66e3c6c9
2017-10-11 16:28:29 +02:00
Bob Owen d64bab3c76 Bug 1380609: Make Windows Universal CRT SDK version 10.0.10586.0 the minimum. r=glandium 2017-09-13 11:19:40 +01:00
Makoto Kato f1c26e1010 Bug 1391547 - DIA SDK is missing when using MSVS2017. r=ted.mielczarek
MSVC path: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.11.25503
DIA SDK path: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\DIA SDK

dia_sdk_dir of windows.configure tries finding invalid path.

MozReview-Commit-ID: KQDNA1tdpW2

--HG--
extra : rebase_source : 5a5cf32202ac55ae773b3c11f65a4cb304bff417
2017-08-22 15:16:07 +09:00