Commit Graph

4993 Commits

Author SHA1 Message Date
Mike Hommey
54f6141287 Bug 1671424 - Move configure execution from client.mk to mach configure. r=firefox-build-system-reviewers,rstewart
`mach configure` currently runs the equivalent to `make -f client.mk`.
This is history, and essentially does the following:
- Create `configure` and `js/src/configure` from `configure.in` and
`js/src/configure.in` respectively.
- Create the objdir.
- Run `configure` from the objdir.

The `configure` script is, nowadays, only really used as a means to set
OLD_CONFIGURE (and also for people who want to run `configure`,
literally, as in the `configure; make` workflow). `mach configure`
actually doesn't need it. Neither does recursing into `js/src` require
`js/src/configure`, since bug 1520340 (and now as of bug 1669633, we
don't even recurse).

Because configure.py can actually derive OLD_CONFIGURE on its own
(except for `js/src/configure`, but `mach configure` doesn't run that),
we don't really need `configure` for `mach configure`.

So all in all, we're at a point in history where it's straightforward to
just initiate configure.py from mach configure, so we just do that.

And in the hypothetical case where the `mach configure` code is somehow
running in python2, we get the mach virtualenv python3 and use it to
execute `configure.py`.

Differential Revision: https://phabricator.services.mozilla.com/D93741
2020-10-20 20:41:52 +00:00
Narcis Beleuzu
9252175982 Backed out changeset e34634758f51 (bug 1671424) for bustages on configure.py . CLOSED TREE 2020-10-20 00:16:22 +03:00
Mike Hommey
fcd16177c6 Bug 1671424 - Move configure execution from client.mk to mach configure. r=firefox-build-system-reviewers,rstewart
`mach configure` currently runs the equivalent to `make -f client.mk`.
This is history, and essentially does the following:
- Create `configure` and `js/src/configure` from `configure.in` and
`js/src/configure.in` respectively.
- Create the objdir.
- Run `configure` from the objdir.

The `configure` script is, nowadays, only really used as a means to set
OLD_CONFIGURE (and also for people who want to run `configure`,
literally, as in the `configure; make` workflow). `mach configure`
actually doesn't need it. Neither does recursing into `js/src` require
`js/src/configure`, since bug 1520340 (and now as of bug 1669633, we
don't even recurse).

Because configure.py can actually derive OLD_CONFIGURE on its own
(except for `js/src/configure`, but `mach configure` doesn't run that),
we don't really need `configure` for `mach configure`.

So all in all, we're at a point in history where it's straightforward to
just initiate configure.py from mach configure, so we just do that.

And in the hypothetical case where the `mach configure` code is somehow
running in python2, we get the mach virtualenv python3 and use it to
execute `configure.py`.

Differential Revision: https://phabricator.services.mozilla.com/D93741
2020-10-19 16:24:34 +00:00
Ricky Stewart
a44e98af68 Bug 1644887 - configure calls into $PYTHON3 rather than python3 directly r=glandium
Especially after bug 1622963 landed, the system `python3` executable as reported by `which` may not be compatible with the build system (because it might be Python 3.5, for one). You can configure a custom `python3` executable by setting the `PYTHON3` environment variable, but `configure` just calls directly into `python3` regardless of whatever you might have configured `$PYTHON3` to be, so we fix that here.

Also remove an explanatory comment that may have made sense 5 years ago but is no longer relevant.

Differential Revision: https://phabricator.services.mozilla.com/D79187
2020-06-10 21:29:27 +00:00
Mike Hommey
f805480ab5 Bug 1627163 - Switch python configure to python 3. r=firefox-build-system-reviewers,rstewart
This also does a few remaining python 2 incompatible changes to
.configure files.

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

--HG--
extra : moz-landing-system : lando
2020-04-07 18:31:56 +00:00
Mike Hommey
0a56fe18d4 Bug 1295751 - Make it possible to copy configure.in to configure. r=gps
MozReview-Commit-ID: 4Sjr7mWcMIN

--HG--
extra : rebase_source : 4c46a4853eaba6216751d71d3c507a431fd24d7e
2016-08-16 19:35:00 -07:00
Mike Hommey
7df9087b2b Bug 1250294 - Make configure a Python script that invokes the old configure.sh. r=ted
--HG--
rename : js/src/configure.in => js/src/old-configure.in
rename : configure.in => old-configure.in
2016-02-25 07:22:33 +09:00
Carsten "Tomcat" Book
04e913704c Merge mozilla-central to mozilla-inbound 2016-02-23 16:56:04 +01:00
Carsten "Tomcat" Book
839ce412a8 merge fx-team to mozilla-central a=merge 2016-02-23 16:54:50 +01:00
Nick Alexander
7f77b8f945 Bug 1248160 - Part 3: Move MOZ_ANDROID_SHARED_ID to branding; remove mobile/android/defs.mk. r=ted.mielczarek
MozReview-Commit-ID: KAxIYsHvAC4

--HG--
extra : rebase_source : 9ae25879d3afe70cf5513ddf3434d04c4e9c424f
extra : histedit_source : 35f7521d1504635fa31ced58e1b8cb2ae8600cd5
2016-02-13 10:19:25 -08:00
Kai Engert
4d171a3129 Bug 1244062, Upgrade Firefox 47 to NSPR 4.12, final version numbers, no code changes, r=me 2016-02-22 16:48:20 +01:00
Sebastian Kaspari
dde5596709 Bug 1249354 - configure.in: Remove --disable-android-include-fonts configuration option. r=nalexander
This resembles what we are doing with MOZ_EXCLUDE_HYPHENATION_DICTIONARIES: We just have
a flag without any --disable-* configuration option.

MozReview-Commit-ID: ATxb5XAzp9k

--HG--
extra : rebase_source : bbbbe3505410394fb4ae7c84062f4238066830f2
2016-02-19 10:40:01 +00:00
Mike Hommey
44a0b5f2d9 Bug 1249441 - Remove topsrcdir!=objdir exemption for l10n builds. r=mshal 2016-02-20 12:12:43 +09:00
Nathan Froyd
d75a7f55af Bug 1249103 - remove support for MOZ_POST_DSO_LIB_COMMAND; r=mshal
Nothing uses this variable.  blame suggests that it was used for HP-UX
once upon a time.  The companion variable, MOZ_POST_PROGRAM_COMMAND, is
only used by HP-UX, but as we're not wholesale removing HP-UX
support (yet), we should leave MOZ_POST_PROGRAM_COMMAND alone.
2016-02-17 15:17:21 -05:00
Carsten "Tomcat" Book
c2a42c6ad4 merge fx-team to mozilla-central a=merge 2016-02-17 12:07:39 +01:00
Chris Peterson
fb67cdc658 Bug 1233297 - Part 1: Consolidate MOZ_C*_SUPPORTS_WARNING configure checks in compiler-opts.m4. r=glandium 2016-02-02 00:04:26 -08:00
Axel Hecht
90d026a1c2 Bug 1245836 - nsinstall.py is in MOZILLA_DIR, r=glandium
changeset: 319212:a11309a6feb4
bookmark: bug-1245836-disable-compile-env
tag: tip
user: Axel Hecht <axel@pike.org>
summary: bug 1245836, nsinstall.py is in MOZILLA_DIR, r?glandium

--HG--
extra : rebase_source : ab89c67553d222c9c215e872564d392353a215f5
extra : amend_source : 9d47dc3cd21f124c68f599656ec3328bf1753683
2016-02-15 06:28:00 +01:00
Jonathan Kew
e1294401b2 Bug 1243073 - Require at least fontconfig 2.7.0 (for the FcConfigReference function). r=karlt 2016-02-15 13:23:37 +00:00
Nick Alexander
bc112329f3 Bug 1119520 - Add opt-in Gradle build mode for mobile/android. r=gps
Opt-in by adding --enable-gradle-mobile-android-builds.

Gradle dependencies (including the Android-Gradle plugin) are assumed
to be present.  Local developers will fetch them from the jcentral
repository.

Android-specific Maven dependencies are shipped as "extras" with the
Android SDK, and should be found automatically by the Android-Gradle
plugin.

MozReview-Commit-ID: 966XgddWgEu

--HG--
extra : rebase_source : 8e8c6156e1d06813c250662e104fd14c621d91ab
extra : source : 306cf0271d3e3a344fcbfd2baf75e0450c288cf1
extra : histedit_source : d17446714236c408699a0953882e84ac3a192380%2Cc21b166af79ef1e00215748820bc2670405ac1dc
2016-02-12 10:06:40 -08:00
Nick Alexander
9d87131d31 Bug 1247375 - Part 2: Add build system Gradle defines for Fennec. r=glandium
Enable building with Gradle using --with-gradle.  Configure the
location of Gradle with --with-gradle=/path/to/gradle.  For local
developers, this is always the in tree Gradle wrapper, which downloads
and installs the correct Gradle version automatically.  In automation,
this will be a version of Gradle fetched from tooltool.

Configure the location to use to download Gradle Maven dependencies
(including the Android-Gradle plugin) by setting
GRADLE_MAVEN_REPOSITORY in your mozconfig. For local developers, this
defaults to the jcenter repository.  In automation, this will be an
archived directory fetched from tooltool.

Android-specific Maven dependencies are shipped as "extras" with the
Android SDK, and should be found automatically by the Android-Gradle
plugin.

MozReview-Commit-ID: Hrkn88Vig5H

--HG--
extra : rebase_source : c5e83590c9b28ad5a10f91ec0a3663e6d64b3b40
extra : amend_source : c3e162673238d6c6191838cc98f8301e325e01a2
2016-02-10 19:29:27 -08:00
Mike Hommey
1d537257e2 Bug 1247162 - Generate a header defining MOZ_SOURCE_*. r=mshal
The behavior is not entirely idempotent (most notably for
buildconfig.html), but this can be improved later if necessary.
It is idempotent where it matters.

This allows to get rid of config/makefiles/rcs.mk and its uses.
2016-02-12 07:16:14 +09:00
Carsten "Tomcat" Book
b8f6140f54 merge mozilla-inbound to mozilla-central a=merge 2016-02-10 11:47:34 +01:00
Michael Comella
c48a870a5f Bug 1233238 - Compile with play-services-{ads,analytics,appindexing} to support Adjust SDK. r=nalexander
On a CLOSED TREE because this is Android only.

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

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

--HG--
extra : commitid : I4rTyC8lxLd
extra : rebase_source : 96f30d735e898cb9853d53f236ac8e2337186814
extra : amend_source : 3e4d68789b3ef980e4e1d7f743e332bdbb6be176
2016-02-04 16:10:29 -08:00
Mike Hommey
ce597b1316 Bug 1246894 - Remove msys-perl-wrapper. r=mshal
msys-perl-wrapper was used to transform windows paths after the -I flag,
which was a preprocessor flag, which a) doesn't exist anymore and b) the
preprocessor has not even be in perl for years.
2016-02-10 10:12:22 +09:00
Nick Alexander
d466d2939f Bug 1234629 - Part 1: Create bouncer APK for OTA distribution installs. r=margaret,gps
This commit produces an "install bouncer" APK which is a "hollow
shell" that looks like the main Fennec APK.  In particular, both APKs have:

* the same Android package name (application id); and
* the same set of <permission>, <uses-permission>, and <uses-feature>
  blocks in their manifests.

The bouncer APK must always have an android:versionCode smaller than
the main Fennec APK; for now, we will just bump that manually
mobile/android/bouncer/moz.build.

--HG--
rename : mobile/android/javaaddons/Makefile.in => mobile/android/bouncer/Makefile.in
rename : mobile/android/app/assets/example_asset.txt => mobile/android/bouncer/assets/example_asset.txt
rename : mobile/android/javaaddons/moz.build => mobile/android/bouncer/moz.build
rename : mobile/android/base/resources/drawable-v21/logo.xml => mobile/android/bouncer/res/drawable-v21/logo.xml
rename : mobile/android/base/resources/drawable/logo.xml => mobile/android/bouncer/res/drawable/logo.xml
extra : commitid : 1XkuX1F0pMb
extra : rebase_source : c49ac53697927b0f3d1ee47bc1e7035c1b465e99
extra : source : aaa420ed66d754ecc17b19f5a12297d24371f1ca
extra : histedit_source : 0e3e2fa225c48ba48df72ff116fd62a7b1ef5ed2
2016-01-27 15:28:31 -08:00
Ehsan Akhgari
dc33df38a2 Bug 1246333 - Re-enable structured exception handling with clang-cl; r=glandium
clang-cl has been taught SEH now.
2016-02-09 15:35:03 -05:00
Nigel Babu
ede1aa8b36 Backed out 10 changesets (bug 1234629, bug 1233882) for bustage on Android rc tests
Backed out changeset 9aa32d9a25df (bug 1234629)
Backed out changeset d73d36c9619b (bug 1234629)
Backed out changeset a7f63b3721cd (bug 1233882)
Backed out changeset c79f4a8c3e86 (bug 1234629)
Backed out changeset 400c030d3c01 (bug 1234629)
Backed out changeset 54a3d0851bc6 (bug 1234629)
Backed out changeset f80912ecfa87 (bug 1234629)
Backed out changeset 50bcadca2131 (bug 1234629)
Backed out changeset aaa420ed66d7 (bug 1234629)
Backed out changeset 7a62e97f07c2 (bug 1234629)

--HG--
rename : mobile/android/app/lint.xml => mobile/android/app/base/lint.xml
rename : mobile/android/app/src/main/resources/robolectric.properties => mobile/android/tests/background/junit4/resources/robolectric.properties
extra : commitid : KJVIqyGBEZg
2016-02-05 15:42:28 +05:30
Nick Alexander
3814ebb59b Bug 1234629 - Part 1: Create bouncer APK for OTA distribution installs. r=margaret,gps
This commit produces an "install bouncer" APK which is a "hollow
shell" that looks like the main Fennec APK.  In particular, both APKs have:

* the same Android package name (application id); and
* the same set of <permission>, <uses-permission>, and <uses-feature>
  blocks in their manifests.

The bouncer APK must always have an android:versionCode smaller than
the main Fennec APK; for now, we will just bump that manually
mobile/android/bouncer/moz.build.

--HG--
rename : mobile/android/javaaddons/Makefile.in => mobile/android/bouncer/Makefile.in
rename : mobile/android/app/assets/example_asset.txt => mobile/android/bouncer/assets/example_asset.txt
rename : mobile/android/javaaddons/moz.build => mobile/android/bouncer/moz.build
rename : mobile/android/base/resources/drawable-v21/logo.xml => mobile/android/bouncer/res/drawable-v21/logo.xml
rename : mobile/android/base/resources/drawable/logo.xml => mobile/android/bouncer/res/drawable/logo.xml
extra : commitid : 1XkuX1F0pMb
extra : rebase_source : 3154b4569efd4cccb4d5f72ff9bbff60d2744d3b
extra : histedit_source : 5e10ab9825bcf653a5a109c8e502658d52aedd79
2016-01-27 15:28:31 -08:00
Nick Alexander
3884e76c7e Bug 1163082 - Part 1: Add --with-android-distribution-directory. r=gps
This simply packs the assets/ subdirectory of the distribution
directory into the assets/ directory of the Android APK using existing
mechanisms.  It also removes the older method of manually pushing
files into dist/bin/distribution, from where they would be packaged
into the APK under distribution/.

--HG--
extra : commitid : BLgM6ZCm9AY
extra : rebase_source : a0896616f79f5a961476e4d2df9745516c58b44a
extra : source : e228040a044b7ff7363a178da2cb0b8b42724048
extra : histedit_source : 0b8f087bc6d70fa42401f4a2476898139bdf606c
2016-01-27 12:25:04 -08:00
Mike Hommey
ba138b2936 Bug 1245422 - Remove the -FR C*FLAGS on Windows builds. r=mshal
The flag is used to create .sbr files, which bscmake subsequently uses to
create .bsc files. These files and related tools are, aiui, the ancestors
of Intellisense.

The -FR C*FLAGS are added to the build if MOZ_BROWSE_INFO or MOZ_BSCFILE
are set in the recursive make backend. While the former has an AC_SUBST,
the latter does not, so in practice, only the former can be set by
supported methods, and would need to be set in a mozconfig. At that
rate, people who do want those flags can add them in the C*FLAGS on
their own.

Developers are probably better served by the VisualStudio backend
anyways.
2016-02-04 12:49:57 +09:00
Nathan Froyd
4f05a4f840 Bug 1177599 - always pass --target to rustc; r=mshal
rustc, unlike our typical C++ compilers, can target multiple platforms
with ease through its use of the --target flag.  To support
cross-compiling, we just need to pass the appropriate --target option.

rustc uses specific names for its accepted --target option, however, and
they are slightly different from the values we get out of autoconf.  So
in addition to checking whether rustc can accept --target for our chosen
platform, we also need to munge autoconf's idea of the target into
something rustc understands.
2016-01-25 16:25:59 -05:00
Mike Hommey
5abcde418d Bug 1245013 - Move CMFLAGS/CMMFLAGS from config.mk to configure. r=mshal
We don't really care to set those in js/src/configure because the JS
engine doesn't use ObjC. We also don't care to preserve the += behavior
because there were no AC_SUBST in the first place, so it's unlikely
anyone has an override in their mozconfig and expects it to work.
2016-02-03 08:41:19 +09:00
Birunthan Mohanathas
b316c91752 Bug 1204202 - Package Universal CRT DLLs for VS2015. r=glandium,ehsan 2016-02-02 17:42:04 +02:00
Birunthan Mohanathas
88ce1ce184 Bug 1204202 - Remove packaging for now obsolete appcrt140.dll/desktopcrt140.dll on VS2015. r=ehsan 2016-02-02 17:42:04 +02:00
Birunthan Mohanathas
e55517e885 Bug 1236330 - Get rid of configure warning spew on VS2015 from unnecessary crtdll.obj check. r=khuey 2016-02-02 17:42:04 +02:00
Jeff Muizelaar
bd24af4439 Bug 1243861 - Specify SSE_FLAGS and SSE2_FLAGS when compiling with MSVC; r=glandium 2016-02-02 10:25:19 -05:00
Carsten "Tomcat" Book
ddbbd78a0d merge mozilla-inbound to mozilla-central a=merge 2016-02-02 11:50:53 +01:00
Xidorn Quan
de325f0e34 Bug 1244092 - Require Update 1 to build if using Visual C++ 2015. r=gps
--HG--
extra : source : 68ec9f57ff3e71075e6a6cd73dca9ce513642c93
2016-02-02 11:05:43 +11:00
Georg Fritzsche
0c09c6a166 Bug 1244688 - Allow overriding SOURCE_REV_URL with external repository information. r=ted 2016-02-01 18:22:19 +01:00
Phil Ringnalda
9f2e22e0ac Back out e8d8faa25955 (bug 1241111) for breaking platform.ini, a=bustage 2016-01-31 10:01:22 -08:00
Wes Kocher
86864105dc Merge m-c to fx-team, a=merge
--HG--
extra : commitid : 7MLK0J5XhL0
2016-01-29 13:44:12 -08:00
Georg Fritzsche
9b6edebf87 Bug 1242667 - Remove unused MOZ_TELEMETRY_DISPLAY_REV define. r=froydnj 2016-01-25 20:46:22 +01:00
Georg Fritzsche
23fb0b9b97 Bug 1241111 - Allow overriding SOURCE_REV_URL, SOURCE_REPO, SOURCE_CHANGESET. r=ted 2016-01-29 18:42:51 +01:00
Ted Mielczarek
26f7b04705 bug 1243349 - fix NSPR link paths for NSS. r=mshal
--HG--
extra : commitid : 4eavO61nNKX
extra : rebase_source : f5ddf4c1df5105f6f46b7780b0c49d89970fc47e
extra : amend_source : e5d3d5b809c27608c3d897373c0ea888ebfceaa1
2016-01-27 09:28:40 -05:00
Ralph Giles
a8b6d455de Bug 1243037 - part 2 - export RUSTC from configure; r=mshal
Because of how subshells and exporting variables works with msys bash,
we need to explicitly re-export everything interesting for things
executed downstream from configure.
2015-12-16 12:54:18 -08:00
Carsten "Tomcat" Book
2899251f1a Merge mozilla-central to fx-team 2016-01-26 12:46:28 +01:00
Ehsan Akhgari
c4a79a467d Bug 1242722 - Remove clang-cl command-line argument workarounds; r=glandium
In https://llvm.org/bugs/show_bug.cgi?id=26090, we changed the default
behavior of clang-cl to accept unknown command line arguments.  This
patch removes the Firefox workaround for this issue.
2016-01-25 21:34:57 -05:00
Alessio Placitelli
b1d0b9f9dc Bug 1234518 - Clean MOZ_SERVICES_HEALTHREPORT and and MOZ_SERVICES_METRICS. r=gfritzsche 2016-01-21 07:59:00 +01:00
Nicholas Nethercote
160743c7c2 Bug 1144842 (part 2) - Make --enable-dmd imply --enable-profiling. r=glandium.
This requires moving the --enable-dmd code earlier, before MOZ_PROFILING starts
being used.

--HG--
extra : rebase_source : acfdc6c4c82436c0a1834e11ddc567e37318da60
2016-01-21 16:58:50 -08:00
Nicholas Nethercote
90f1bc4ecd Bug 1144842 (part 1) - Don't use MOZ_PROFILING before all the places it can be set. r=glandium.
--HG--
extra : rebase_source : 089edfe2a7303b245febec30c8ee8a5063ebb92d
2016-01-19 16:03:06 -08:00