Bug 1040945 - Part 1: Install Android native libraries directly into lib/ANDROID_CPU_ARCH. r=glandium

This is a little tricky only because MOZ_CHILD_PROCESS_NAME is
"lib/libplugin-container.so" on Android, which meant special handling
at multiple places in the tree. This patch reduces the number of such
places.
This commit is contained in:
Nick Alexander 2014-09-04 20:11:09 -07:00
parent e9463cd732
commit b6b14f923e
5 changed files with 14 additions and 16 deletions

View File

@ -10,7 +10,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
SOURCES += [ SOURCES += [
'MozillaRuntimeMainAndroid.cpp', 'MozillaRuntimeMainAndroid.cpp',
] ]
FINAL_TARGET = 'dist/bin/lib'
else: else:
SOURCES += [ SOURCES += [
'MozillaRuntimeMain.cpp', 'MozillaRuntimeMain.cpp',

View File

@ -47,8 +47,9 @@ package: local.properties project.properties AndroidManifest.xml FORCE
cp $(DEPTH)/mobile/android/base/*.jar libs/ cp $(DEPTH)/mobile/android/base/*.jar libs/
$(RM) libs/gecko-R.jar $(RM) libs/gecko-R.jar
# Copy the SOs # Copy the SOs. The latter should be $(MOZ_CHILD_PROCESS_NAME), but
cp $(_ABS_DIST)/bin/libmozglue.so $(_ABS_DIST)/bin/lib/libplugin-container.so libs/$(ANDROID_CPU_ARCH)/ # it includes a "lib/" prefix.
cp $(_ABS_DIST)/bin/libmozglue.so $(_ABS_DIST)/bin/libplugin-container.so libs/$(ANDROID_CPU_ARCH)/
# Copy the resources # Copy the resources
$(RM) -rf res $(RM) -rf res

View File

@ -16,12 +16,12 @@ MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in
MOZ_PKG_MANIFEST_P = $(srcdir)/package-manifest.in MOZ_PKG_MANIFEST_P = $(srcdir)/package-manifest.in
DEFINES += \ DEFINES += \
-DMOZ_APP_NAME=$(MOZ_APP_NAME) \ -DMOZ_APP_NAME=$(MOZ_APP_NAME) \
-DPREF_DIR=$(PREF_DIR) \ -DPREF_DIR=$(PREF_DIR) \
$(NULL) -DJAREXT= \
-DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) \
DEFINES += -DJAREXT= -DANDROID_CPU_ARCH=$(ANDROID_CPU_ARCH) \
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) $(NULL)
ifdef MOZ_DEBUG ifdef MOZ_DEBUG
DEFINES += -DMOZ_DEBUG=1 DEFINES += -DMOZ_DEBUG=1

View File

@ -75,10 +75,13 @@
@BINPATH@/@DLL_PREFIX@mozsqlite3@DLL_SUFFIX@ @BINPATH@/@DLL_PREFIX@mozsqlite3@DLL_SUFFIX@
#endif #endif
[lib destdir="lib/@ANDROID_CPU_ARCH@"]
@BINPATH@/@DLL_PREFIX@mozglue@DLL_SUFFIX@
# This should be MOZ_CHILD_PROCESS_NAME, but that has a "lib/" prefix.
@BINPATH@/@DLL_PREFIX@plugin-container@DLL_SUFFIX@
[xpcom] [xpcom]
@BINPATH@/dependentlibs.list @BINPATH@/dependentlibs.list
@BINPATH@/@DLL_PREFIX@mozglue@DLL_SUFFIX@
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@
@BINPATH@/AndroidManifest.xml @BINPATH@/AndroidManifest.xml
@BINPATH@/resources.arsc @BINPATH@/resources.arsc

View File

@ -462,8 +462,6 @@ INNER_MAKE_PACKAGE = \
diff $(GECKO_APP_AP_PATH)/R.txt $(GECKO_APP_AP_PATH)/gecko-nodeps/R.txt >/dev/null || \ diff $(GECKO_APP_AP_PATH)/R.txt $(GECKO_APP_AP_PATH)/gecko-nodeps/R.txt >/dev/null || \
(echo "*** Error: The R.txt that was built and the R.txt that is being packaged are not the same. Rebuild mobile/android/base and re-package." && exit 1)) && \ (echo "*** Error: The R.txt that was built and the R.txt that is being packaged are not the same. Rebuild mobile/android/base and re-package." && exit 1)) && \
( cd $(STAGEPATH)$(MOZ_PKG_DIR)$(_BINPATH) && \ ( cd $(STAGEPATH)$(MOZ_PKG_DIR)$(_BINPATH) && \
mkdir -p lib/$(ANDROID_CPU_ARCH) && \
mv libmozglue.so $(MOZ_CHILD_PROCESS_NAME) lib/$(ANDROID_CPU_ARCH) && \
unzip -o $(_ABS_DIST)/gecko.ap_ && \ unzip -o $(_ABS_DIST)/gecko.ap_ && \
rm $(_ABS_DIST)/gecko.ap_ && \ rm $(_ABS_DIST)/gecko.ap_ && \
$(ZIP) $(if $(MOZ_ENABLE_SZIP),-0 )$(_ABS_DIST)/gecko.ap_ $(ASSET_SO_LIBRARIES) && \ $(ZIP) $(if $(MOZ_ENABLE_SZIP),-0 )$(_ABS_DIST)/gecko.ap_ $(ASSET_SO_LIBRARIES) && \
@ -493,9 +491,6 @@ INNER_UNMAKE_PACKAGE = \
mkdir $(MOZ_PKG_DIR) && \ mkdir $(MOZ_PKG_DIR) && \
( cd $(MOZ_PKG_DIR) && \ ( cd $(MOZ_PKG_DIR) && \
$(UNZIP) $(UNPACKAGE) && \ $(UNZIP) $(UNPACKAGE) && \
mv lib/$(ANDROID_CPU_ARCH)/libmozglue.so . && \
mv lib/$(ANDROID_CPU_ARCH)/*plugin-container* $(MOZ_CHILD_PROCESS_NAME) && \
rm -rf lib/$(ANDROID_CPU_ARCH) && \
rm -rf res \ rm -rf res \
$(if $(filter-out ./,$(OMNIJAR_DIR)), \ $(if $(filter-out ./,$(OMNIJAR_DIR)), \
&& mv $(OMNIJAR_DIR)$(OMNIJAR_NAME) $(OMNIJAR_NAME)) ) && mv $(OMNIJAR_DIR)$(OMNIJAR_NAME) $(OMNIJAR_NAME)) )