Commit Graph

168 Commits

Author SHA1 Message Date
Mike Hommey
7ec1d13300 Bug 1224450 - Ignore COMPILE_PDB_FLAG for the CompileDB. r=gps 2016-02-12 07:16:17 +09:00
Mike Hommey
ecad3301ab 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
Mike Hommey
e27f35029e Bug 1235743 - Move compiler flags used for dependency generation to a separate variable. r=gps
This might seem like going in the opposite direction of what we tend to do
to move to moz.build land, but those flags are irrelevant in many situations
and are better separated out.
2015-12-31 07:35:04 +09:00
Mike Hommey
0f35f34571 Bug 1227892 - Emit a specialized object for chrome.manifest entries. r=gps
This new ChromeManifestEntry object type is generic and can hold any kind of
chrome manifest entry, but we currently only emit them for binary components.

References to sub-directory manifests is left to the backend, for now, until
all manifest entries are emitted by the frontend.
2015-12-01 08:25:22 +09:00
Mike Shal
84e3dace27 Bug 1223593 - Make depsdir optional in xpidl-process.py; r=glandium 2015-11-10 18:30:46 -05:00
Mike Hommey
302d6ecb6c Bug 1211765 - Remove remnants from --with-libxul-sdk. r=bsmedberg
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
2015-10-14 08:02:34 +09:00
Nick Alexander
ec3a0bb18c Bug 1108782 - Part 1: straighten out Java classpaths. r=glandium
This commit is us getting out of our own way.  We were specifying
-classpath twice, once in $(JAVAC) and once in java-build.mk.  Only
the latter of these is active.  This a problem for ANDROID_EXTRA_JARS
-- those JARs should be on the classpath and input to $(DX) -- and
JARs that should be on the classpath but *not* input to $(DX).  This
commit removes the global flags to $(JAVAC) and adds
JAVA_{BOOT}CLASSPATH_JARS.  This required some hijinkery moving
wildcards to moz.build files, but everything seems to work.

As well as clarifying some parts of the build, part 2 uses this work
to modify the classpath.
2015-08-31 13:35:05 -07:00
Mike Hommey
1d0357d014 Bug 1204719 - Don't create interfaces.manifest files from the build backend. r=gps 2015-09-16 17:21:27 +09:00
Nick Alexander
eeabccdb7e Bug 1195388 - Part 2: Add ANDROID_EXTRA_{PACKAGES,RES_DIRS} moz.build variables. r=gps
This moves a little bit more of mobile/android/base/Makefile.in into
moz.build, and gets closer to moving that aapt invocation into
java-build.mk.

There are no other extra package consumers in the tree.  (There should
be a new one shortly: b2gdroid.)
2015-08-14 18:13:11 -07:00
Nick Alexander
8f3534dd41 Bug 1195388 - Part 1: Make ANDROID_APK_{NAME,PACKAGE} moz.build variables. r=gps
This paves the way for defining additional Android packages in
moz.build, which is a step toward moving the special
mobile/android/base/Makefile.in aapt invocations into the generic
java-build.mk framework.

The new variables are both passthru variables for now: in the future,
we'll roll them into some aggregate Android APK definition.

It's worth noting that references to the variables in Makefile.in
files are only defined after including rules.mk (and thereby
backend.mk).  This only required a few changes in the tree but it
confused me for some time.
2015-08-19 12:34:58 -07:00
Nick Alexander
2cb62bed1d Bug 1160563 - Part 2: Make ANDROID_ASSETS_DIRS a moz.build variable. r=gps
We have had singular ANDROID_ASSETS_DIR in Makefile.in for a while.
Fennec itself does not use the existing Makefile.in Android code, for
complicated historical reasons.

This makes the existing variable moz.build-only; generalizes the
existing variable to an ordered list; and adds the equivalent use of
the new list to the Fennec build, with a simple example asset.

This patch also updates the packager to include assets packed into the
gecko.ap_.  Without the packager change, the assets/ directory in the
ap_ gets left out of the final apk.  This whole approach is totally
non-standard but is more or less required to support our single-locale
repack scheme.
2015-08-12 11:04:03 -07:00
Nick Alexander
bfcbca98fe Bug 1160563 - Pre: Allow ANDROID_RES_DIRS that are not relative to srcdir. r=gps 2015-08-10 13:18:32 -07:00
Mike Hommey
eafb97d688 Bug 1191209 - Rebuild XPT files when the list of corresponding IDL files changed. r=gps 2015-08-07 06:46:33 +09:00
Brian O'Keefe
f21be4ff50 Bug 924187 - Deal with interfaces.manifest from the backend. r=mshal 2015-02-13 08:11:57 -05:00
Mike Hommey
f137b4d006 Bug 1138824 - Don't install import libraries in $(DIST)/lib. r=gps
However, still keep copying nss there, because its build system needs it to link
programs such as certutil.
2015-03-27 09:42:11 +09:00
Mike Hommey
f4def18bb1 Bug 1138824 - Simplify installation of import libraries to $(DIST)/lib. r=gps
The recursivemake backend sets IMPORT_LIBRARY to the same value as
SHARED_LIBRARY on non-Windows platforms, so we can simply use
IMPORT_LIBRARY everywhere.
2015-03-27 09:42:07 +09:00
Mike Hommey
75f4f8947d Bug 1138824 - Remove NO_INSTALL_IMPORT_LIBRARY. r=gps
NO_INSTALL_IMPORT_LIBRARY is only used in one place, and since we don't even
use $(DIST)/lib for gecko, it actually doesn't make a difference presently.
2015-03-27 09:42:00 +09:00
Mike Hommey
ae164d1c6a Fixup for bug 1114669 on a CLOSED TREE. r=gps
xpt files don't have a dependency on backend files to avoid rebuilding all
of them when adding or removing new files. On incremental builds, some kind
of dependencies are required to ensure the xpt files are refreshed when
adding or removing new idls.
2015-02-13 11:15:15 +09:00
Mike Hommey
f495499598 Bug 1114669 - Use a generated list of idl deps for xpt generation. r=gps
Generating the list of idl deps to generate an xpt from its dependency list
makes us give all _previous_ dependencies, inherited from the .deps makefiles.
This leads to removed files being listed on xpidl-process.py command line, and
the command subsequently failing.

Instead, use generated lists of idl dependencies. At the same time, lighten the
generated Makefile further by not emitting xpt dependencies on their containing
directory, and instead generating it from the $xpt_files list.

This brings down the Makefile size from 100k to 38k.
2015-02-13 10:29:19 +09:00
Brian O'Keefe
95c6931766 Bug 923080 - Generate xpt files into final location. r=glandium
Now that the mozbuild backend knows about FINAL_TARGET, we are able to
install generated xpt files into their final location. This saves us
from copying xpt files into their final location on every build.

Original patch by gps, rebased and comments addressed by Ms2ger

--HG--
extra : transplant_source : %E2%DC%0F%E0%AD%C2%25%A1%B8%A9%FE%B0%8C%60%FF%CB%02G%25%E5
2014-05-21 08:25:57 -04:00
Joshua Cranmer
ea98d7eb48 Bug 1099430, mozilla-central parts: Eliminate the duplication of the build system in comm-central, r=glandium.
See the revisions a few steps prior for more fine-grained information. This just
needs to be relanded because our automation doesn't like non-ASCII commit
messages.

--HG--
extra : amend_source : 0ee4e0da1ea9ada815abfe989c51030db24aac56
2014-11-29 19:45:31 -06:00
Phil Ringnalda
372f1d5141 Backed out 3 changesets (bug 1099430) because 256 characters should be enough for anybody's commit message
CLOSED TREE

Backed out changeset 28abb8af2d62 (bug 1099430)
Backed out changeset 358aa39360d5 (bug 1099430)
Backed out changeset 3313e545f4f6 (bug 1099430)
2014-11-29 17:17:58 -08:00
Joshua Cranmer
f56be8e505 Bug 1099430, part 三: Use MOZILLA_DIR instead of topsrcdir in shared makefiles, r=glandium.
With these substitutions, it is possible to have comm-central's versions of
these files merely include the mozilla-central versions and avoid having to port
small changes to these files.
2014-11-29 18:44:19 -06:00
Mike Hommey
5f3bfd0ece Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey
931d4e1ddc Bug 1049281 - Remove static dirs handling, now that there aren't any. r=gps
Also do some overdue cleanup from the removal of parallel and tools dirs
2014-08-07 02:58:53 +09:00
Mike Hommey
cd12f78667 Bug 1043869 - Derive build dependencies for programs and libraries from make backend data instead of getting them from expandlibs. r=mshal 2014-07-29 08:59:56 +09:00
Mike Hommey
b8cc89acde Bug 1043865 - Remove the remainder of compilation bits from the libs tier. r=gps 2014-07-29 08:59:27 +09:00
Mike Hommey
9e0f16a8c2 Bug 1043862 - Make the binaries target use the compile tier. r=gps 2014-07-29 08:58:28 +09:00
Mike Hommey
010c0a5eb7 Bug 1043820 - Remove PARALLEL_DIRS. r=gps 2014-07-29 08:57:59 +09:00
Mike Hommey
42f57b6138 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Mike Hommey
2a08f131e0 Bug 1043344 - Move libraries and programs build to the compile tier. r=gps 2014-07-25 07:14:40 +09:00
Neil Rashbrook
c44b17d9c5 Bug 1037981 Make 'derecursed' builds support --enable-xterm-updates r=glandium 2014-07-16 08:36:30 +01:00
Mike Hommey
34799e0459 Bug 1036864 - Remove EXPORT_LIBRARY. r=mshal 2014-07-11 19:06:55 +09:00
Mike Hommey
f059293f00 Bug 1035543 - Remove the MOZ_PSEUDO_DERECURSE variable. r=gps 2014-07-10 14:11:52 +09:00
Mike Hommey
0fa0eb08c7 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Wes Kocher
029a6912b6 Merge m-c to fx-team 2014-03-12 21:23:37 -07:00
Nick Alexander
947f8f4ee9 Bug 979388 - Make aapt invocation rebuild R.java. r=glandium
This commit adds an empty recipe to dependencies of .aapt.deps, which
forces the appropriate gecko-R.jar rebuild.  This is because Make treats
targets with no recipe at all differently than targets with an empty
recipe, in a way that defeats our dependencies.

What appeared to be happening is the following:

Touch a resource.  On the next build, .aapt.deps is stale, so aapt is
invoked, which generates R.java, and we touch .aapt.deps.

Now R.java depends on .aapt.deps, but this does not appear to force Make
to consider targets that depend on R.java to be stale.  A target that
depends on R.java (such as gecko-R.jar) itself compares timestamps and
finds that gecko-R.jar is newer than R.java (from the previous build),
and this comparison appears to happen before aapt is invoked.  So even
though .aapt.deps is seen to be stale, and by transitivity R.java is
stale, this does not mark gecko-R.jar as stale.  The timestamp check
between R.java and gecko-R.jar appears to happen *before* aapt is
invoked.

On the second build following the update, the R.java generated in the
previous build is newer than gecko-R.jar, triggering the observed
rebuild of gecko-R.jar.
2014-03-12 17:22:27 -07:00
Ted Mielczarek
b491b5d0d8 Bug 980015 - Remove MOCHITEST_FILES et. al. r=gps 2014-03-05 15:51:39 -05:00
Ryan VanderMeulen
9ced6c9188 Backed out changeset 88780b5a201e (bug 980015) for test_property_database.html failures.
CLOSED TREE
2014-03-10 15:31:23 -04:00
Ted Mielczarek
c0e5c0cfe5 Bug 980015 - Remove MOCHITEST_FILES et. al. r=gps
--HG--
extra : rebase_source : 3825abc63eb0901bc1422aa00aed3680dbe3e44c
2014-03-05 15:51:39 -05:00
Nick Alexander
aea81467c8 Bug 978587 - Pre: Let Java JARs contain either sources or generated sources. r=blassey 2014-03-05 08:57:09 -08:00
Nick Alexander
b5a10ff343 Bug 903528 - Follow-up: Fix build dependencies. a=bustage
The issue is that the preprocessed files need to be referenced as
$(CURDIR)/file to have Make handle the dependencies correctly.  To
allow this, this patch adds ANDROID_MANIFEST_FILE (defaulting to
AndroidManifest.xml) and uses it in the appropriate places.
2014-02-24 23:18:47 -08:00
Nick Alexander
3fa2a0ba88 Bug 903528 - Pre: Make classes.dex depend on ANDROID_EXTRA_JARS. r=glandium 2014-02-24 18:24:45 -08:00
Nick Alexander
e5066e3a09 Bug 946083 - Part 1: Delete .class files when (re-)building a Java JAR. r=glandium
This cleans up stale .class files, so they don't get packaged into the
.jar files that Proguard consumes.

--HG--
extra : rebase_source : a090d707579711f85b8f9f174b88bf9302be0b24
2014-02-11 09:55:47 -08:00
Ryan VanderMeulen
38f8bae105 Backed out changesets 6948901b128f and d9a099b06911 (bug 946083) and changeset 1e038f308b8d (bug 961339) for intermittent Android build failures. 2014-02-11 09:35:12 -05:00
Nick Alexander
f5a61798ef Bug 946083 - Part 1: Delete .class files when (re-)building a Java JAR. r=glandium
This cleans up stale .class files, so they don't get packaged into the
.jar files that Proguard consumes.
2014-02-10 21:43:00 -08:00
Nick Alexander
396bcc8ca2 Bug 961339 - Fix generated/ source dependencies. r=glandium
Generated sources are listed like 'generated/FILE.java'.  Generated
sources are produced by PP_TARGETS, which generates the file
'$(CURDIR)/generated/FILE.java'.  Because Make interprets $(CURDIR)/foo
and foo differently, this means we need to depend on $(CURDIR)/* for all
generated sources.  Since R.java is both listed as a generated source,
but produced by aapt, we need any dependencies to be on
$(CURDIR)/.../R.java.

The change to java-build.mk includes $(CURDIR) in the dependencies for
generated sources.  The changes to Makefile.in includes $(CURDIR) in the
produced R.java files for Make.
2014-02-10 21:43:00 -08:00
Ehsan Akhgari
82ebdc883f Bug 969757 - Remove the dead code in our tree which pretends to support OS/2; r=roc,mcmanus,gps,jorendorf,bsmedberg sr=bsmedberg 2014-02-10 17:57:01 -05:00
Sylvestre Ledru
c144ac82cf Bug 777378 - Remove SUPPRESS_DEFAULT_RULES. r=gps 2014-01-23 09:38:29 -05:00
Nick Alexander
42814c41ba Bug 934646 - Part 3: Declare Android resource directories relative to $SRCDIR. r=glandium,gps,mfinkle
--HG--
rename : mobile/android/base/resources/drawable-mdpi/crash_reporter.png => mobile/android/base/crashreporter/res/drawable-mdpi/crash_reporter.png
rename : mobile/android/base/resources/layout/crash_reporter.xml => mobile/android/base/crashreporter/res/layout/crash_reporter.xml
rename : mobile/android/branding/aurora/content/fennec_72x72.png => mobile/android/branding/aurora/res/drawable-hdpi/icon.png
rename : mobile/android/branding/aurora/content/fennec_48x48.png => mobile/android/branding/aurora/res/drawable-mdpi/icon.png
rename : mobile/android/branding/aurora/content/fennec_96x96.png => mobile/android/branding/aurora/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/aurora/content/fennec_144x144.png => mobile/android/branding/aurora/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_72x72.png => mobile/android/branding/beta/res/drawable-hdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_48x48.png => mobile/android/branding/beta/res/drawable-mdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_96x96.png => mobile/android/branding/beta/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/beta/content/fennec_144x144.png => mobile/android/branding/beta/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_72x72.png => mobile/android/branding/nightly/res/drawable-hdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_48x48.png => mobile/android/branding/nightly/res/drawable-mdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_96x96.png => mobile/android/branding/nightly/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/nightly/content/fennec_144x144.png => mobile/android/branding/nightly/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/official/content/fennec_72x72.png => mobile/android/branding/official/res/drawable-hdpi/icon.png
rename : mobile/android/branding/official/content/fennec_48x48.png => mobile/android/branding/official/res/drawable-mdpi/icon.png
rename : mobile/android/branding/official/content/fennec_96x96.png => mobile/android/branding/official/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/official/content/fennec_144x144.png => mobile/android/branding/official/res/drawable-xxhdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_72x72.png => mobile/android/branding/unofficial/res/drawable-hdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_48x48.png => mobile/android/branding/unofficial/res/drawable-mdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_96x96.png => mobile/android/branding/unofficial/res/drawable-xhdpi/icon.png
rename : mobile/android/branding/unofficial/content/fennec_144x144.png => mobile/android/branding/unofficial/res/drawable-xxhdpi/icon.png
extra : rebase_source : f6ec8a38594e70520b10202c735dc019f8c856fd
2013-12-11 21:20:07 -08:00