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

62 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 6684d3c1ee Bug 1259382 - Make mozbuild.shellutil.quote more useful for e.g. creating printable command lines. r=ted 2016-04-13 17:11:36 +09:00
Mike Hommey 2c621f97c8 Bug 1264129 - Add verbosity for the shell and autoconf checks in moz.configure. r=gps
Also get an absolute path for the shell.
2016-04-13 10:06:52 +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
Mike Hommey e6d52431b6 Bug 1261531 - Remove most obvious cases of useless AC_DEFINEs. r=chmanchester
- HW_THREADS doesn't appear to be doing anything.

- USE_ARM_KUSER is not used since bug 675078. This also removes the configure
  flag that sets it.

- HAVE_SETBUF and HAVE_SNPRINTF are leftover from bug 944935.

- MOZ_MEMORY_GONK is leftover from bug 804303.
2016-04-05 07:16:44 +09: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 03275f034b Bug 1261285 - Properly remove the config.log logging handler before running old-configure. r=ted
Because closing the handler is not enough (it eventually reopens
itself), the dumping of config.log overwrites the file, and confuses
the process of reading it to dump it in the first place, showing
incomplete logs. The intent from the start was that nothing would be
logged in the FileHandler, so on top of closing it, actively remove it.
2016-04-05 07:16:44 +09:00
Mike Hommey 8155d8f286 Bug 1261235 - Handle non-ascii in configure logging. r=ted
When reading config.log, with old-configure output, we may get non-ascii
strings, but that currently fails because we're using plain open() to
read it. So use encoded_open() instead (which does the same job for
other files in the same script).

Because the build system can be encapsulated in mach, python configure
can have a pipe as stdout/stderr, and in that case, sys.stdout/stderr
have an ascii encoding, failing to print out anything that doesn't
fit in ascii, consequently failing to print the things we've read from
config.log. So reopen stdout and stderr with the right encoding in
the configure output handler.
2016-04-05 07:16:44 +09:00
Hector Zhao a408fabf31 Bug 1260427 - Additional nspr/nss related old_configure_options. r=glandium
MozReview-Commit-ID: Bre9H6hPlz5

--HG--
extra : transplant_source : %A7PE%AFh%A1%AA%7B%F8%B4%A0%08XA%1C%B6%AC1%CD%D9
2016-03-29 21:57:03 +08: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 08b4bd78d9 Bug 1260639 - Log more information before starting old-configure. r=ted 2016-04-01 09:43:26 +09:00
Mike Hommey f1ed025e8b Bug 1260066 - Don't allow to use sandbox primitives from anywhere but global scope and templates. r=nalexander
The initial goal of templates was to provide a way to write shorter
constructs for some generic tasks during configure. But the limitations
of the sandbox and the properties of templates made them used for more
general functions.

Consequently, this led to templates having to be available from
anywhere, which, in turn, led to difficult to introspect constructs.
With bug 1257823, we've made almost everything use set_config and
similar functions from the global scope, but we don't enforce that
those primitives are only used at the global scope.

This change does that: it enforces that primitives are only used at
the global scope. Or in templates.

Now, since templates were used for other purposes than generic uses
of other primitives, we now allow non-template functions to be declared.
Those can be used everywhere, but don't have access to the sandbox
primitives.
2016-03-30 07:08:00 +09:00
Mike Hommey 9bf72e6993 Bug 1256573 - Switch moz.configure to use @imports instead of @advanced. r=nalexander 2016-03-30 07:07:53 +09: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
Mike Hommey ba80937ba0 Bug 1257516 - Send the debug output from our logger to config.log. r=ted
And since the file is also used for old-configure, close our handle on
the file before spawning old-configure, and make old-configure append
there instead of truncating the file.
2016-03-30 07:00:07 +09:00
Mike Hommey 47d916d8f0 Bug 1257516 - Expose a sandboxed logger to moz.configure and use it. r=ted
This removes the warn() function and makes the die() function use the logger
instead of print.
2016-03-30 07:00:03 +09:00
Mike Hommey 96b6664c24 Bug 1257516 - Rename error() to die() and make it take arguments like the logging module. r=ted 2016-03-30 06:59:44 +09:00
Mike Hommey e5cde501da Bug 1257823 - Move set_define() to the global scope. r=nalexander
For the same reasons as set_config is being moved to the global scope,
we're moving set_define to the global scope here. An additional change
is that set_define is now part of the sandbox itself instead of being
defined within the sandbox, which makes it share the implementation
details with set_config.
2016-03-24 09:04:28 +09:00
Mike Hommey 7cd6c430c1 Bug 1257823 - Move set_config() to the global scope. r=nalexander
The way set_config is set currently makes it difficult to introspect
moz.configure files to know what configuration items are being set,
because they're hidden in the control flow of functions.

This makes some of the moz.configure more convoluted, but this is why
there are templates, and we can improve the recurring cases afterwards.
2016-03-24 09:04:28 +09:00
Wes Kocher 1922ce7aa8 Merge m-c to inbound, a=merge CLOSED TREE
MozReview-Commit-ID: KCev5FqbsuD
2016-03-22 16:57:35 -07:00
Nick Alexander 40132bc444 Bug 1256995 - Move --with-gradle to mobile/android/moz.configure. r=glandium
This also adds a GRADLE_FLAGS environment variable for use in
automation.

Manually tested.

MozReview-Commit-ID: 8nDkqz2VnJn

--HG--
extra : rebase_source : 32626a7dc0c0a6a440e300d92c31670f14319325
extra : amend_source : fe134e25f079851b4c648b53a7a485ee20c15c18
2016-03-17 11:04:08 -07:00
Mike Hommey 03219400f6 Bug 1257434 - Move --enable-vtune and --enable-profiling to moz.configure. r=ted
old-configure and js/src/old-configure interestingly didn't handle both
the same way. But vtune support is only actually implemented in js/src,
so only the rules from js/src/old-configure matter (nothing was
enforcing the decistion from old-configure to js/src/old-configure), and
this is what is implemented here.
2016-03-18 09:05:53 +09:00
Mike Hommey f701be5ac8 Bug 1257434 - Move --enable-dmd to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 8e033edefa Bug 1257434 - Move --enable-callgrind to moz.configure. r=ted
Remove the unused DEFINES set in js/xpconnect/shell/moz.build,
subsequently making the MOZ_CALLGRIND subst unused, so don't add a
set_config for it.
2016-03-18 09:05:53 +09:00
Mike Hommey 89cb71ad55 Bug 1257434 - Move --enable-instruments to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 58397bd671 Bug 1257434 - Move --enable-jprof to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 9589ff306f Bug 1257434 - Move --enable-systrace to moz.configure. r=ted 2016-03-18 09:05:53 +09:00
Mike Hommey 50e9df2a3d Bug 1257415 - Move --with-l10n-base to moz.configure. r=gps 2016-03-18 09:05:53 +09:00
Carsten "Tomcat" Book 0153b4e56c Backed out changeset 818165fa787b (bug 1257415) for breaking l10n nightly's 2016-03-17 16:03:55 +01:00
Mike Hommey 48107a932f Bug 1257415 - Move --with-l10n-base to moz.configure. r=gps 2016-03-17 14:08:04 +09:00
Mike Hommey c82492a724 Bug 1257414 - Remove --with-libxul-sdk. r=gps
Bug 1038639 removed the option, but since autoconf doesn't barf for
unknown options, the option MOZ_ARG_WITH_STRING was kept to emit a
AC_MSG_ERROR. This is not necessary anymore.
2016-03-17 14:07:39 +09:00
Mike Hommey 3d0e3c4c8e Bug 1257104 - Move --enable-eme to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey d5fe73840f Bug 1257104 - Move --disable-fmp4 to moz.configure. r=ted
Note the imply_option from --enable-ffmpeg replaces the explicit check from
old-configure.in and triggers an error in the same circumstances.
2016-03-17 07:21:37 +09:00
Mike Hommey 294a1dd5b6 Bug 1257104 - Move --disable-ffmpeg to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey 0a286dbf9a Bug 1257104 - Move --disable-wmf to moz.configure. r=ted 2016-03-17 07:21:37 +09:00
Mike Hommey 44442bc4fe Bug 1256988 - Move --with-gl-provider to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 2743bd43bd Bug 1256988 - Move X11 and MOZ_WIDGET_TOOLKIT-related things to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey b6f701b9e1 Bug 1256988 - Move MOZ_WIDGET_TOOLKIT to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 0366070f0d Bug 1256988 - Move --with-gonk to moz.configure. r=chmanchester 2016-03-17 06:49:44 +09:00
Mike Hommey 8c8c40342a Bug 1256622 - Allow to build spidermonkey from the top-level configure. r=gps 2016-03-16 08:26:47 +09:00
Mike Hommey a3db813ef1 Bug 1256528 - Pass AUTOCONF down to old-configure. r=gps 2016-03-16 08:26:47 +09:00
Mike Hommey 68c5ab1790 Bug 1258615 - Remove the "magic" that sets a result from set_config() in @depends functions. r=chmanchester
Currently, if a @depends function doesn't have a return statement or
return None, a result is automatically set from all the set_config()
called from the function.

As we're going to move set_config to the global namespace, and as this
feature is only used once, and it's only used for something that was
written before ReadOnlyNamespace was exposed to the sandbox, we can
"safely" get rid of it.
2016-03-23 06:51:10 +09:00
Mike Hommey dedfa183e2 Bug 1256568 - Inject some variables set in mozconfig into moz.configure. r=gps
Because some of the existing mozconfigs may be setting some variables,
we need to inject those that are handled by moz.configure now. It likely
doesn't matter for the variables currently in moz.configure, but it will
soon become important when more things are moved to moz.configure.

In fact, it is necessary for GENISOIMAGE and DSYMUTIL that we're going
to move in this bug, set in automation mozconfigs.

The implementation is cumbersome and quite horrible. We could do better
by changing the execution model in mozbuild.configure, which is probably
necessary for other reasons as well, but that requires more work and
testing.
2016-03-15 16:40:15 +09:00
Mike Hommey 84027af8da Bug 1256507 - Remove --enable-xterm-updates. r=gps
It's an opt-in flag that allows to display where the build is in
terminal window titles. The fact that it's opt-in and likely unknown
makes it very low-value, and the fact that it was added in an era where
builds were not very well parallelized made it have a meaning, but now
that builds are parallelized, its meaningfulness is diminished.

Let's just remove it.
2016-03-15 16:40:15 +09:00
Mike Hommey d33300555c Bug 1255305 - Move --host and --target to moz.configure. r=chmanchester
With all the things that still depend on all the variables derived from
--host and --target in both old-configure and moz.build, we still need
to keep variables such as OS_ARCH, OS_TARGET, CPU_ARCH, OS_TEST, etc.

Eventually, we'd settle on the output of split_triplet.

This /tries/ to preserve the current values for all these variables,
while also trying to make things a little more consistent. It also
effectively rejects OSes such as HPUX or AIX, because it is unclear
the decades old accumulated scripts related to them still do anything
useful, and we might as well have them start again from scratch, which,
in the coming weeks, will be even easier.
2016-03-15 07:34:50 +09:00
Mike Hommey 43c7636a88 Bug 1255305 - Move the function finding a shell from old.configure to init.configure. r=chmanchester 2016-03-15 07:34:50 +09:00
Blake Winton 36e4a6bd80 Bug 1256355 - Look for homebrew's autoconf213, and fix a typo. r=gps.
MozReview-Commit-ID: yt9fKDzZ9g

--HG--
extra : rebase_source : f5693c673a929267dc10394c9f3a42b3d074639b
2016-03-14 11:06:53 -04:00
Nicolas B. Pierron cf925792db Bug 1245860 - Add --with-nspr-prefix to the list of old configure options. r=ted 2016-03-14 14:41:08 +00:00
Mike Hommey ad56d4e463 Bug 1255433 - Store old-configure.vars as utf-8 or mbcs. r=gps
The data we get out of mozconfig can be unicode, and needs to be in a
form the shell used to run old-configure will be able to recognize,
which is likely utf-8 on UNIX (that's what we settled on), and mbcs on
Windows.
2016-03-12 09:16:56 +09:00
Mike Hommey 80f68ac7a4 Bug 1255312 - Limit the options we pass down to old-configure. r=chmanchester
So far, we've been passing down all configure_args from mozconfig as
well as every flag appearing on sys.argv. This is overly broad and
causes problems for some options, like --enable-application.

However, we don't need all these options to be passed.

For the top-level old-configure, we need to pass the flags it can
handle, as well as the flags that we want passed down to
js/src/configure.

For js/src/old-configure, we only need to pass the flags it can handle.

The flags an old-configure can handle is defined by the list of flags
in @old_configure_options. The list of flags to pass down to
js/src/configure is defined by extra_old_configure_args.

And since the mozconfig configure_args are being injected into python
configure processing, the list of values we get in old_configure includes
the mozconfig configure_args.
2016-03-12 09:16:48 +09:00