Bug 1254355 - Follow-up: Use VPATH relative paths to match GENERATED_FILES targets. r=mshal draft
authorNick Alexander <nalexander@mozilla.com>
Tue, 25 Apr 2017 13:42:19 -0700
changeset 568295 d01f8fe7b8fc8e72b784164aba404b64b5a02095
parent 568294 eb4474e88d480c520efa058adb62eaab7d8b50e1
child 625874 b211989c15ac4842e18ae07ab46b7c085f41494c
push id55815
push usernalexander@mozilla.com
push dateTue, 25 Apr 2017 22:33:12 +0000
reviewersmshal
bugs1254355
milestone55.0a1
Bug 1254355 - Follow-up: Use VPATH relative paths to match GENERATED_FILES targets. r=mshal This was just an error that's not obvious on try builds. We were using local paths ($(DEPTH) expands to ../../../ in mobile/android/base) and GENERATED_FILES produces targets with VPATH relative paths. MozReview-Commit-ID: IN4Vs1F5XGE
mobile/android/base/Makefile.in
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -282,17 +282,17 @@ classycle_jar := $(topsrcdir)/mobile/and
 		-Xmx512m -Xms128m \
 		-jar $(ANDROID_SDK_ROOT)/tools/proguard/lib/proguard.jar \
 		@$(proguard_config_dir)/proguard.cfg \
 		-optimizationpasses $(PROGUARD_PASSES) \
 		-injars $(subst ::,:,$(all_jars_classpath)):bundled-jars-nodebug \
 		-outjars jars-proguarded \
 		-libraryjars $(library_jars)
 
-ANNOTATION_PROCESSOR_JAR_FILES := $(DEPTH)/build/annotationProcessors/annotationProcessors.jar
+ANNOTATION_PROCESSOR_JAR_FILES := $(abspath $(DEPTH)/build/annotationProcessors/annotationProcessors.jar)
 
 # This annotation processing step also generates
 # GeneratedJNIWrappers.h and GeneratedJNINatives.h
 GeneratedJNIWrappers.cpp: $(ANNOTATION_PROCESSOR_JAR_FILES) $(GECKOVIEW_JARS)
 	$(JAVA) -classpath $(geckoview_jars_classpath):$(JAVA_BOOTCLASSPATH):$(JAVA_CLASSPATH):$(ANNOTATION_PROCESSOR_JAR_FILES) \
 		org.mozilla.gecko.annotationProcessors.AnnotationProcessor \
 		Generated $(GECKOVIEW_JARS)
 
@@ -348,17 +348,17 @@ android_res_files := $(filter-out $(not_
 # suggestedsites.json. The trailing semi-colon defines an empty
 # recipe: defining no recipe at all causes Make to treat the target
 # differently, in a way that defeats our dependencies.
 res/values/strings.xml: .locales.deps ;
 res/raw/browsersearch.json: .locales.deps ;
 res/raw/suggestedsites.json: .locales.deps ;
 
 all_resources = \
-  $(DEPTH)/mobile/android/base/AndroidManifest.xml \
+  AndroidManifest.xml \
   $(android_res_files) \
   $(ANDROID_GENERATED_RESFILES) \
   $(NULL)
 
 # All of generated/org/mozilla/gecko/R.java, gecko.ap_, and R.txt are
 # produced by aapt; this saves aapt invocations.  The trailing
 # semi-colon defines an empty recipe; defining no recipe at all causes
 # Make to treat the target differently, in a way that defeats our
@@ -452,18 +452,18 @@ endef
 
 # .aapt.deps: $(all_resources)
 $(eval $(call aapt_command,.aapt.deps,$(all_resources),gecko.ap_,generated/,./))
 
 ifdef MOZ_BUILD_MOBILE_ANDROID_WITH_GRADLE
 .aapt.nodeps: FORCE
 	cp $(gradle_dir)/app/intermediates/res/resources-automation-debug.ap_ gecko-nodeps.ap_
 else
-# .aapt.nodeps: $(DEPTH)/mobile/android/base/AndroidManifest.xml FORCE
-$(eval $(call aapt_command,.aapt.nodeps,$(DEPTH)/mobile/android/base/AndroidManifest.xml FORCE,gecko-nodeps.ap_,gecko-nodeps/,gecko-nodeps/))
+# .aapt.nodeps: AndroidManifest.xml FORCE
+$(eval $(call aapt_command,.aapt.nodeps,AndroidManifest.xml FORCE,gecko-nodeps.ap_,gecko-nodeps/,gecko-nodeps/))
 endif
 
 # Override the Java settings with some specific android settings
 include $(topsrcdir)/config/android-common.mk
 
 update-generated-wrappers:
 	@cp $(CURDIR)/GeneratedJNIWrappers.cpp \
 	    $(CURDIR)/GeneratedJNIWrappers.h \
@@ -488,17 +488,17 @@ update-fennec-wrappers:
 	$(MAKE) -C ../../../faster
 	$(MAKE) -C ../installer stage-package
 	$(MKDIR) -p $(@D)
 	rsync --update $(DIST)/fennec/$(notdir $(OMNIJAR_NAME)) $@
 	$(RM) $(DIST)/fennec/$(notdir $(OMNIJAR_NAME))
 
 # Targets built very early during a Gradle build.
 gradle-targets: $(foreach f,$(constants_PP_JAVAFILES),$(f))
-gradle-targets: $(DEPTH)/mobile/android/base/AndroidManifest.xml
+gradle-targets: AndroidManifest.xml
 gradle-targets: $(ANDROID_GENERATED_RESFILES)
 
 ifndef MOZILLA_OFFICIAL
 # Local developers update omni.ja during their builds.  There's a
 # chicken-and-egg problem here.
 gradle-omnijar: $(abspath $(DIST)/fennec/$(OMNIJAR_NAME))
 else
 # In automation, omni.ja is built only during packaging.