Commit Graph

169 Commits

Author SHA1 Message Date
Mike Shal
7b58ab8671 Bug 1253431 part 3 - Move SDK_BINARY files in xpcom/idl-parser/xpidl to moz.build; r=gps
We can just generate xpidllex.py/xpidlyacc.py in the current directory
rather than one directory higher, and specify this directory as an
include path to xpidl-process.py

MozReview-Commit-ID: KLoGjudc4Y8

--HG--
extra : rebase_source : 8dda268c6490cdfb8b896de9da5b789208584193
2016-03-03 13:49:42 -05:00
Mike Hommey
93c78646c2 Bug 1224450 - Ignore COMPILE_PDB_FLAG for the CompileDB. r=gps 2016-02-12 07:16:17 +09: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
Mike Hommey
969f681cbc 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
3900e2c115 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
8d58360198 Bug 1223593 - Make depsdir optional in xpidl-process.py; r=glandium 2015-11-10 18:30:46 -05:00
Mike Hommey
9af046b5b4 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
c8ee8a09cf 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.

--HG--
extra : commitid : 25Ft0BFs88O
extra : rebase_source : 05e3d1da8d42fa89d06ef48baee17bb77df5bd59
extra : histedit_source : 95b82309aca15c5a3c5f5a0eafbdcf75c5e8dfc0
2015-08-31 13:35:05 -07:00
Mike Hommey
624c5580a9 Bug 1204719 - Don't create interfaces.manifest files from the build backend. r=gps 2015-09-16 17:21:27 +09:00
Nick Alexander
ad27580b77 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.)

--HG--
extra : commitid : AaYqXYReOSX
extra : rebase_source : d41368ff0bd0736221fdc04ed8299b70c2488c8b
extra : histedit_source : 845efd5ba9f99f4e186c3a5c66affe69eac7fec7
2015-08-14 18:13:11 -07:00
Nick Alexander
543a450286 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.

--HG--
extra : commitid : G5mEvm8Ng4F
extra : rebase_source : 7ba05f2e53554549ffb5cefe270925e3e2025b6a
extra : histedit_source : eacd22f4b7edddab67147c413fea45a3ba292c0c
2015-08-19 12:34:58 -07:00
Nick Alexander
61a6ae674e 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.

--HG--
extra : commitid : 4EAh1UNGNWT
extra : rebase_source : 5e5b4c4a120c3b4cc776c9f9380ddd2f9b63587e
extra : source : 0ddce3eb833e6d6180a19928a9b45d5d12f1d7fa
2015-08-12 11:04:03 -07:00
Nick Alexander
5a2d80488e Bug 1160563 - Pre: Allow ANDROID_RES_DIRS that are not relative to srcdir. r=gps
--HG--
extra : commitid : Eh08GqyKjaO
extra : rebase_source : e571bcddbeae7a9fa4b7100acc1b785ec231212a
2015-08-10 13:18:32 -07:00
Mike Hommey
cde9ca20c6 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
c6ba641724 Bug 924187 - Deal with interfaces.manifest from the backend. r=mshal
--HG--
extra : rebase_source : 2d2cbc1ebc97496c54aef63de73b00af8126e750
2015-02-13 08:11:57 -05:00
Mike Hommey
c0f36f2bf0 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
ed1a815b54 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
49e6069fdf 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
bdc97c1dad 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
2dc29d7492 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
a7beaba91a 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
6bc7254918 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
23f2a4bc21 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
80b5548b99 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
26049ee2f7 Bug 1062221 - Replace add_tier_dir with DIRS. r=gps 2014-10-02 09:14:07 +09:00
Mike Hommey
c978a88653 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
99fdc4c1d6 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
c48f53e37a Bug 1043865 - Remove the remainder of compilation bits from the libs tier. r=gps 2014-07-29 08:59:27 +09:00
Mike Hommey
179299ea01 Bug 1043862 - Make the binaries target use the compile tier. r=gps 2014-07-29 08:58:28 +09:00
Mike Hommey
2bab6202af Bug 1043820 - Remove PARALLEL_DIRS. r=gps 2014-07-29 08:57:59 +09:00
Mike Hommey
5f6ba110e6 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Mike Hommey
a62cdc4fa7 Bug 1043344 - Move libraries and programs build to the compile tier. r=gps 2014-07-25 07:14:40 +09:00
Neil Rashbrook
bf47b7faa5 Bug 1037981 Make 'derecursed' builds support --enable-xterm-updates r=glandium 2014-07-16 08:36:30 +01:00
Mike Hommey
70a5917917 Bug 1036864 - Remove EXPORT_LIBRARY. r=mshal 2014-07-11 19:06:55 +09:00
Mike Hommey
c52d31562a Bug 1035543 - Remove the MOZ_PSEUDO_DERECURSE variable. r=gps 2014-07-10 14:11:52 +09:00
Mike Hommey
b161fa67a5 Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Wes Kocher
ed2f101c5e Merge m-c to fx-team 2014-03-12 21:23:37 -07:00
Nick Alexander
73597cec4f 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
34da80ea4f Bug 980015 - Remove MOCHITEST_FILES et. al. r=gps 2014-03-05 15:51:39 -05:00
Ryan VanderMeulen
70fda5091d Backed out changeset 88780b5a201e (bug 980015) for test_property_database.html failures.
CLOSED TREE
2014-03-10 15:31:23 -04:00
Ted Mielczarek
16414a3269 Bug 980015 - Remove MOCHITEST_FILES et. al. r=gps
--HG--
extra : rebase_source : 3825abc63eb0901bc1422aa00aed3680dbe3e44c
2014-03-05 15:51:39 -05:00
Nick Alexander
014159ff40 Bug 978587 - Pre: Let Java JARs contain either sources or generated sources. r=blassey 2014-03-05 08:57:09 -08:00
Nick Alexander
c77f1718b5 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
b75843c7b2 Bug 903528 - Pre: Make classes.dex depend on ANDROID_EXTRA_JARS. r=glandium 2014-02-24 18:24:45 -08:00
Nick Alexander
a84954b70a 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
285a3a25dd 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
3453483072 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
4bdd98ac0e 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
d91d200572 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
acb3eb4dc5 Bug 777378 - Remove SUPPRESS_DEFAULT_RULES. r=gps 2014-01-23 09:38:29 -05:00