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 += [
'MozillaRuntimeMainAndroid.cpp',
]
FINAL_TARGET = 'dist/bin/lib'
else:
SOURCES += [
'MozillaRuntimeMain.cpp',

View File

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

View File

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

View File

@ -75,10 +75,13 @@
@BINPATH@/@DLL_PREFIX@mozsqlite3@DLL_SUFFIX@
#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]
@BINPATH@/dependentlibs.list
@BINPATH@/@DLL_PREFIX@mozglue@DLL_SUFFIX@
@BINPATH@/@MOZ_CHILD_PROCESS_NAME@
@BINPATH@/AndroidManifest.xml
@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 || \
(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) && \
mkdir -p lib/$(ANDROID_CPU_ARCH) && \
mv libmozglue.so $(MOZ_CHILD_PROCESS_NAME) lib/$(ANDROID_CPU_ARCH) && \
unzip -o $(_ABS_DIST)/gecko.ap_ && \
rm $(_ABS_DIST)/gecko.ap_ && \
$(ZIP) $(if $(MOZ_ENABLE_SZIP),-0 )$(_ABS_DIST)/gecko.ap_ $(ASSET_SO_LIBRARIES) && \
@ -493,9 +491,6 @@ INNER_UNMAKE_PACKAGE = \
mkdir $(MOZ_PKG_DIR) && \
( cd $(MOZ_PKG_DIR) && \
$(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 \
$(if $(filter-out ./,$(OMNIJAR_DIR)), \
&& mv $(OMNIJAR_DIR)$(OMNIJAR_NAME) $(OMNIJAR_NAME)) )