summaryrefslogtreecommitdiffstats
path: root/vndk
diff options
context:
space:
mode:
authorJaewoong Jung <jungjw@google.com>2019-01-17 19:26:38 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-01-17 19:26:38 -0800
commit10c965e313fe8d190001232298f04b57f9921b3f (patch)
tree363664430ed3c1e98ae75d3058a7300339afc291 /vndk
parentbdcb5373e42ff094e4eb94205d2d7c1c218a091d (diff)
parent78abe677891cf7fce0c6f70327104845eb6d0b18 (diff)
downloadandroid_development-10c965e313fe8d190001232298f04b57f9921b3f.tar.gz
android_development-10c965e313fe8d190001232298f04b57f9921b3f.tar.bz2
android_development-10c965e313fe8d190001232298f04b57f9921b3f.zip
Merge "Use Soong to build to etc modules." am: 91a331e07f am: 640eb216ca
am: 78abe67789 Change-Id: I6a11933023b4a3ed467b98cc998fa858a7b89fa2
Diffstat (limited to 'vndk')
-rw-r--r--vndk/snapshot/gen_buildfiles.py57
-rw-r--r--vndk/snapshot/update.py4
-rw-r--r--vndk/snapshot/utils.py2
3 files changed, 32 insertions, 31 deletions
diff --git a/vndk/snapshot/gen_buildfiles.py b/vndk/snapshot/gen_buildfiles.py
index 35697aa45..9a8d4de1b 100644
--- a/vndk/snapshot/gen_buildfiles.py
+++ b/vndk/snapshot/gen_buildfiles.py
@@ -25,9 +25,10 @@ import utils
class GenBuildFile(object):
- """Generates Android.mk and Android.bp for VNDK snapshot.
+ """Generates Android.bp for VNDK snapshot.
VNDK snapshot directory structure under prebuilts/vndk/v{version}:
+ Android.bp
{SNAPSHOT_ARCH}/
Android.bp
arch-{TARGET_ARCH}-{TARGET_ARCH_VARIANT}/
@@ -52,7 +53,6 @@ class GenBuildFile(object):
(various *.txt configuration files, e.g. ld.config.*.txt)
... (other {SNAPSHOT_ARCH}/ directories)
common/
- Android.mk
Android.bp
NOTICE_FILES/
(license files, e.g. libfoo.so.txt)
@@ -77,7 +77,7 @@ class GenBuildFile(object):
self._vndk_version = vndk_version
self._etc_paths = self._get_etc_paths()
self._snapshot_archs = utils.get_snapshot_archs(install_dir)
- self._mkfile = os.path.join(install_dir, utils.ANDROID_MK_PATH)
+ self._root_bpfile = os.path.join(install_dir, utils.ROOT_BP_PATH)
self._common_bpfile = os.path.join(install_dir, utils.COMMON_BP_PATH)
self._vndk_core = self._parse_lib_list('vndkcore.libraries.txt')
self._vndk_sp = self._parse_lib_list(
@@ -122,10 +122,10 @@ class GenBuildFile(object):
'*.txt'))
return [os.path.splitext(os.path.basename(p))[0] for p in notice_paths]
- def generate_android_mk(self):
- """Autogenerates Android.mk."""
+ def generate_root_android_bp(self):
+ """Autogenerates Android.bp."""
- logging.info('Generating Android.mk for snapshot v{}'.format(
+ logging.info('Generating Android.bp for snapshot v{}'.format(
self._vndk_version))
etc_buildrules = []
for prebuilt in self.ETC_MODULES:
@@ -137,15 +137,13 @@ class GenBuildFile(object):
continue
etc_buildrules.append(self._gen_etc_prebuilt(prebuilt))
- with open(self._mkfile, 'w') as mkfile:
- mkfile.write(self._gen_autogen_msg('#'))
- mkfile.write('\n')
- mkfile.write('LOCAL_PATH := $(call my-dir)\n')
- mkfile.write('\n')
- mkfile.write('\n\n'.join(etc_buildrules))
- mkfile.write('\n')
+ with open(self._root_bpfile, 'w') as bpfile:
+ bpfile.write(self._gen_autogen_msg('/'))
+ bpfile.write('\n')
+ bpfile.write('\n'.join(etc_buildrules))
+ bpfile.write('\n')
- logging.info('Successfully generated {}'.format(self._mkfile))
+ logging.info('Successfully generated {}'.format(self._root_bpfile))
def generate_common_android_bp(self):
"""Autogenerates common/Android.bp."""
@@ -266,19 +264,22 @@ class GenBuildFile(object):
etc_path = self._etc_paths[prebuilt]
etc_sub_path = etc_path[etc_path.index('/') + 1:]
- return ('#######################################\n'
- '# {prebuilt}\n'
- 'include $(CLEAR_VARS)\n'
- 'LOCAL_MODULE := {versioned_name}\n'
- 'LOCAL_SRC_FILES := ../$(TARGET_ARCH)/{etc_sub_path}\n'
- 'LOCAL_MODULE_CLASS := ETC\n'
- 'LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)\n'
- 'LOCAL_MODULE_STEM := $(LOCAL_MODULE)\n'
- 'include $(BUILD_PREBUILT)\n'.format(
- prebuilt=prebuilt,
- versioned_name=self._get_versioned_name(
- prebuilt, None, is_etc=True),
- etc_sub_path=etc_sub_path))
+ prebuilt_etc = ('prebuilt_etc {{\n'
+ '{ind}name: "{versioned_name}",\n'
+ '{ind}target: {{\n'.format(
+ ind=self.INDENT,
+ versioned_name=self._get_versioned_name(
+ prebuilt, None, is_etc=True)))
+ for arch in self._snapshot_archs:
+ prebuilt_etc += ('{ind}{ind}android_{arch}: {{\n'
+ '{ind}{ind}{ind}src: "{arch}/{etc_sub_path}",\n'
+ '{ind}{ind}}},\n'.format(
+ ind=self.INDENT,
+ arch=arch,
+ etc_sub_path=etc_sub_path))
+ prebuilt_etc += ('{ind}}},\n'
+ '}}\n'.format(ind=self.INDENT))
+ return prebuilt_etc
def _gen_notice_filegroup(self, module):
"""Generates a notice filegroup build rule for a given module.
@@ -524,7 +525,7 @@ def main():
utils.set_logging_config(args.verbose)
buildfile_generator = GenBuildFile(install_dir, vndk_version)
- buildfile_generator.generate_android_mk()
+ buildfile_generator.generate_root_android_bp()
buildfile_generator.generate_common_android_bp()
buildfile_generator.generate_android_bp()
diff --git a/vndk/snapshot/update.py b/vndk/snapshot/update.py
index 9f05a3306..051aac0c1 100644
--- a/vndk/snapshot/update.py
+++ b/vndk/snapshot/update.py
@@ -138,8 +138,8 @@ def revise_ld_config_txt_if_needed(vndk_version):
def update_buildfiles(buildfile_generator):
- logging.info('Generating Android.mk file...')
- buildfile_generator.generate_android_mk()
+ logging.info('Generating root Android.bp file...')
+ buildfile_generator.generate_root_android_bp()
logging.info('Generating common/Android.bp file...')
buildfile_generator.generate_common_android_bp()
diff --git a/vndk/snapshot/utils.py b/vndk/snapshot/utils.py
index eae7b885a..7fed12819 100644
--- a/vndk/snapshot/utils.py
+++ b/vndk/snapshot/utils.py
@@ -25,9 +25,9 @@ import sys
# Global Keys
# All paths are relative to install_dir: prebuilts/vndk/v{version}
+ROOT_BP_PATH = 'Android.bp'
COMMON_DIR_NAME = 'common'
COMMON_DIR_PATH = COMMON_DIR_NAME
-ANDROID_MK_PATH = os.path.join(COMMON_DIR_PATH, 'Android.mk')
COMMON_BP_PATH = os.path.join(COMMON_DIR_PATH, 'Android.bp')
CONFIG_DIR_PATH_PATTERN = '*/configs'
MANIFEST_FILE_NAME = 'manifest.xml'