summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2017-08-29 15:01:05 -0700
committerColin Cross <ccross@android.com>2017-09-11 12:08:55 -0700
commitae545c35af04cc4097ae78b65084ac57a28a597f (patch)
treef31abf47b85f13172d7945f9ceddbd9737d954ca
parentccd767136ee1ec81f4784fce09f6f6885684815a (diff)
Convert libcore native code to Android.bp
See build/soong/README.md for more information. Test: m -j checkbuild Test: libjavacore-unit-tests Change-Id: Ibf27f08e22f544582271bbe04af17cff278bd996
-rw-r--r--Android.bp3
-rw-r--r--Android.mk5
-rw-r--r--NativeCode.bp205
-rw-r--r--NativeCode.mk293
-rw-r--r--dalvik/src/main/native/sub.mk17
-rw-r--r--luni/src/main/native/Android.bp28
-rw-r--r--luni/src/main/native/sub.mk37
-rw-r--r--ojluni/src/main/native/Android.bp65
-rw-r--r--ojluni/src/main/native/openjdksub.mk73
9 files changed, 301 insertions, 425 deletions
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000000..2230ac7a0c
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,3 @@
+build = [
+ "NativeCode.bp",
+]
diff --git a/Android.mk b/Android.mk
index 3c255835b2..1427f4bde1 100644
--- a/Android.mk
+++ b/Android.mk
@@ -29,11 +29,6 @@ subdir_makefiles := $(call all-named-subdir-makefiles,$(subdirs))
include $(LOCAL_PATH)/JavaLibrary.mk
#
-# Include the definitions to build the native code.
-#
-
-include $(LOCAL_PATH)/NativeCode.mk
-
# Disable test modules if LIBCORE_SKIP_TESTS environment variable is set.
#
diff --git a/NativeCode.bp b/NativeCode.bp
new file mode 100644
index 0000000000..3b63072824
--- /dev/null
+++ b/NativeCode.bp
@@ -0,0 +1,205 @@
+// Copyright (C) 2007 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+//
+// Definitions for building the native code needed for the core library.
+//
+
+// Defaults that apply to all of the modules
+cc_defaults {
+ name: "core_native_defaults",
+ host_supported: true,
+ local_include_dirs: ["include"],
+ cflags: [
+ "-Wall",
+ "-Wextra",
+ "-Werror",
+ ],
+ cppflags = ["-DU_USING_ICU_NAMESPACE=0"],
+
+ static_libs: [
+ "libbase",
+ "libfdlibm",
+ ],
+
+ shared_libs: [
+ "liblog",
+ "libnativehelper",
+ ],
+
+ host_ldlibs: [
+ "-ldl",
+ "-lpthread",
+ ],
+
+ target: {
+ linux: {
+ host_ldlibs: ["-lrt"],
+ },
+ darwin: {
+ enabled: false,
+ },
+ },
+}
+
+cc_library_shared {
+ name: "libjavacore",
+ defaults: ["core_native_defaults"],
+ srcs: [
+ ":luni_native_srcs",
+ "dalvik/src/main/native/org_apache_harmony_dalvik_NativeTestTarget.cpp"
+ ],
+
+ shared_libs: [
+ "libcrypto",
+ "libexpat",
+ "libicuuc",
+ "libicui18n",
+ "libnativehelper",
+ ],
+ static_libs: [
+ "libziparchive",
+ "libbase",
+ ],
+ target: {
+ android: {
+ shared_libs: [
+ "libutils",
+ "libz",
+ ],
+ },
+ host: {
+ shared_libs: [
+ "libz-host",
+ ],
+ },
+ },
+}
+
+cc_defaults {
+ name: "libopenjdk_native_defaults",
+ defaults: ["core_native_defaults"],
+ srcs: [":libopenjdk_native_srcs"],
+ cflags: [
+ // TODO(narayan): Prune down this list of exclusions once the underlying
+ // issues have been fixed. Most of these are small changes except for
+ // -Wunused-parameter.
+ "-Wno-unused-parameter",
+ "-Wno-unused-variable",
+ "-Wno-parentheses-equality",
+ "-Wno-constant-logical-operand",
+ "-Wno-sometimes-uninitialized",
+
+ // TODO(http://b/64362645): remove when upstream replaces readdir_r with readdir.
+ "-Wno-deprecated-declarations",
+ ],
+
+ shared_libs: [
+ "libcrypto",
+ "libicuuc",
+ "libssl",
+
+ "libnativehelper",
+ ],
+ static_libs: ["libfdlibm"],
+
+ target: {
+ linux: {
+ cflags: [ // Sigh.
+ "-D_LARGEFILE64_SOURCE",
+ "-D_GNU_SOURCE",
+ "-DLINUX",
+ "-D__GLIBC__",
+ ],
+ },
+ android: {
+ shared_libs: ["libz"],
+ },
+ host: {
+ shared_libs: ["libz-host"],
+ },
+ },
+
+ notice: "ojluni/NOTICE",
+}
+
+cc_library_shared {
+ name: "libopenjdk",
+ defaults: ["libopenjdk_native_defaults"],
+ shared_libs: [
+ "libopenjdkjvm",
+ ],
+}
+
+// Debug version of libopenjdk. Depends on libopenjdkjvmd.
+cc_library_shared {
+ name: "libopenjdkd",
+ defaults: ["libopenjdk_native_defaults"],
+ shared_libs: [
+ "libopenjdkjvmd",
+ ],
+}
+
+// Test JNI library.
+cc_library_shared {
+ name: "libjavacoretests",
+ defaults: ["core_native_defaults"],
+ host_supported:true,
+
+ srcs: [
+ "luni/src/test/native/dalvik_system_JniTest.cpp",
+ "luni/src/test/native/libcore_java_io_FileTest.cpp",
+ "luni/src/test/native/libcore_java_lang_ThreadTest.cpp",
+ "luni/src/test/native/libcore_java_nio_BufferTest.cpp",
+ "luni/src/test/native/libcore_util_NativeAllocationRegistryTest.cpp",
+ ],
+ target: {
+ android: {
+ shared_libs: ["libnativehelper_compat_libc++"],
+ },
+ },
+
+ strip: {
+ keep_symbols: true,
+ },
+}
+
+// Set of gtest unit tests.
+cc_test {
+ name: "libjavacore-unit-tests",
+ defaults: ["core_native_defaults"],
+
+ // Add -fno-builtin so that the compiler doesn't attempt to inline
+ // memcpy calls that are not really aligned.
+ cflags: ["-fno-builtin"],
+ srcs: ["luni/src/test/native/libcore_io_Memory_test.cpp"],
+
+ shared_libs: ["libnativehelper"],
+}
+
+// Set of benchmarks for libjavacore functions.
+cc_benchmark {
+ name: "libjavacore-benchmarks",
+ defaults: ["core_native_defaults"],
+
+ srcs: ["luni/src/benchmark/native/libcore_io_Memory_bench.cpp"],
+ test_suites: ["device-tests"],
+
+ shared_libs: ["libnativehelper"],
+}
+
+subdirs = [
+ "luni/src/main/native",
+ "ojluni/src/main/native",
+]
diff --git a/NativeCode.mk b/NativeCode.mk
deleted file mode 100644
index cedc69b62c..0000000000
--- a/NativeCode.mk
+++ /dev/null
@@ -1,293 +0,0 @@
-# -*- mode: makefile -*-
-# Copyright (C) 2007 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#
-# Definitions for building the native code needed for the core library.
-#
-
-#
-# Common definitions for host and target.
-#
-
-# These two definitions are used to help sanity check what's put in
-# sub.mk. See, the "error" directives immediately below.
-core_magic_local_target := ...//::default:://...
-core_local_path := $(LOCAL_PATH)
-
-# Include a submakefile, resolve its source file locations,
-# and stick them on core_src_files. The submakefiles are
-# free to append to LOCAL_SRC_FILES, LOCAL_C_INCLUDES,
-# LOCAL_SHARED_LIBRARIES, or LOCAL_STATIC_LIBRARIES, but nothing
-# else. All other LOCAL_* variables will be ignored.
-#
-# $(1): directory containing the makefile to include
-define include-core-native-dir
- LOCAL_SRC_FILES :=
- include $(LOCAL_PATH)/$(1)/sub.mk
- ifneq ($$(LOCAL_MODULE),$(core_magic_local_target))
- $$(error $(LOCAL_PATH)/$(1)/sub.mk should not include CLEAR_VARS \
- or define LOCAL_MODULE)
- endif
- ifneq ($$(LOCAL_PATH),$(core_local_path))
- $$(error $(LOCAL_PATH)/$(1)/sub.mk should not define LOCAL_PATH)
- endif
- core_src_files += $$(addprefix $(1)/,$$(LOCAL_SRC_FILES))
- LOCAL_SRC_FILES :=
-endef
-
-define include-openjdk-native-dir
- LOCAL_SRC_FILES :=
- include $(LOCAL_PATH)/$(1)/openjdksub.mk
- openjdk_core_src_files += $$(addprefix $(1)/,$$(LOCAL_SRC_FILES))
- LOCAL_SRC_FILES :=
-endef
-
-# Set up the default state. Note: We use CLEAR_VARS here, even though
-# we aren't quite defining a new rule yet, to make sure that the
-# sub.mk files don't see anything stray from the last rule that was
-# set up.
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := $(core_magic_local_target)
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/NativeCode.mk
-core_src_files :=
-openjdk_core_src_files :=
-
-#Include the sub.mk for openjdk.
-$(foreach dir, \
- ojluni/src/main/native, \
- $(eval $(call include-openjdk-native-dir,$(dir))))
-
-# Include the sub.mk files.
-$(foreach dir, \
- dalvik/src/main/native luni/src/main/native, \
- $(eval $(call include-core-native-dir,$(dir))))
-
-# Extract out the allowed LOCAL_* variables.
-core_c_includes := libcore/include $(LOCAL_C_INCLUDES)
-core_shared_libraries := $(LOCAL_SHARED_LIBRARIES)
-core_static_libraries := $(LOCAL_STATIC_LIBRARIES)
-libart_cflags := $(LOCAL_CFLAGS) -Wall -Wextra -Werror
-core_cppflags += -DU_USING_ICU_NAMESPACE=0
-# TODO(narayan): Prune down this list of exclusions once the underlying
-# issues have been fixed. Most of these are small changes except for
-# -Wunused-parameter.
-openjdk_cflags := $(libart_cflags) \
- -Wno-unused-parameter \
- -Wno-unused-variable \
- -Wno-parentheses-equality \
- -Wno-constant-logical-operand \
- -Wno-sometimes-uninitialized
-
-# TODO(http://b/64362645): remove when upstream replaces readdir_r with readdir.
-openjdk_cflags += -Wno-deprecated-declarations
-
-core_test_files := \
- luni/src/test/native/dalvik_system_JniTest.cpp \
- luni/src/test/native/libcore_java_io_FileTest.cpp \
- luni/src/test/native/libcore_java_lang_ThreadTest.cpp \
- luni/src/test/native/libcore_java_nio_BufferTest.cpp \
- luni/src/test/native/libcore_util_NativeAllocationRegistryTest.cpp \
-
-#
-# Build for the target (device).
-#
-
-include $(CLEAR_VARS)
-LOCAL_CFLAGS += $(libart_cflags)
-LOCAL_CPPFLAGS += $(core_cppflags)
-LOCAL_SRC_FILES += $(core_src_files)
-LOCAL_C_INCLUDES += $(core_c_includes)
-LOCAL_SHARED_LIBRARIES += $(core_shared_libraries) libcrypto libdl libexpat libicuuc libicui18n libnativehelper libz libutils
-LOCAL_STATIC_LIBRARIES += $(core_static_libraries) libziparchive libbase
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := libjavacore
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/NativeCode.mk
-LOCAL_CXX_STL := libc++
-include $(BUILD_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-
-LOCAL_CFLAGS += $(libart_cflags)
-LOCAL_CPPFLAGS += $(core_cppflags)
-ifeq ($(TARGET_ARCH),arm)
-# Ignore "note: the mangling of 'va_list' has changed in GCC 4.4"
-LOCAL_CFLAGS += -Wno-psabi
-endif
-
-# Define the rules.
-LOCAL_CFLAGS += $(openjdk_cflags)
-LOCAL_SRC_FILES := $(openjdk_core_src_files)
-LOCAL_C_INCLUDES := $(core_c_includes)
-LOCAL_SHARED_LIBRARIES := $(core_shared_libraries) libcrypto libicuuc libssl libz
-LOCAL_SHARED_LIBRARIES += libopenjdkjvm libnativehelper libdl
-LOCAL_STATIC_LIBRARIES := $(core_static_libraries) libfdlibm
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := libopenjdk
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
-LOCAL_CXX_STL := libc++
-include $(BUILD_SHARED_LIBRARY)
-
-# Debug version of libopenjdk. Depends on libopenjdkjvmd.
-include $(CLEAR_VARS)
-
-LOCAL_CFLAGS += $(libart_cflags)
-LOCAL_CPPFLAGS += $(core_cppflags)
-ifeq ($(TARGET_ARCH),arm)
-# Ignore "note: the mangling of 'va_list' has changed in GCC 4.4"
-LOCAL_CFLAGS += -Wno-psabi
-endif
-
-LOCAL_CFLAGS += $(openjdk_cflags)
-LOCAL_SRC_FILES := $(openjdk_core_src_files)
-LOCAL_C_INCLUDES := $(core_c_includes)
-LOCAL_SHARED_LIBRARIES := $(core_shared_libraries) libcrypto libicuuc libssl libz
-LOCAL_SHARED_LIBRARIES += libopenjdkjvmd libnativehelper libdl
-LOCAL_STATIC_LIBRARIES := $(core_static_libraries) libfdlibm
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := libopenjdkd
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
-LOCAL_CXX_STL := libc++
-include $(BUILD_SHARED_LIBRARY)
-
-# Test JNI library.
-ifeq ($(LIBCORE_SKIP_TESTS),)
-
-include $(CLEAR_VARS)
-LOCAL_CFLAGS += $(libart_cflags)
-LOCAL_CPPFLAGS += $(core_cppflags)
-LOCAL_SRC_FILES += $(core_test_files)
-LOCAL_C_INCLUDES += libcore/include
-LOCAL_SHARED_LIBRARIES += libnativehelper_compat_libc++
-LOCAL_MODULE_TAGS := optional
-LOCAL_STRIP_MODULE := keep_symbols
-LOCAL_MODULE := libjavacoretests
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/NativeCode.mk
-LOCAL_CXX_STL := libc++
-include $(BUILD_SHARED_LIBRARY)
-
-endif # LIBCORE_SKIP_TESTS
-
-# Set of gtest unit tests.
-include $(CLEAR_VARS)
-# Add -fno-builtin so that the compiler doesn't attempt to inline
-# memcpy calls that are not really aligned.
-LOCAL_CFLAGS += $(libart_cflags) -fno-builtin
-LOCAL_CPPFLAGS += $(core_cppflags)
-LOCAL_SRC_FILES += \
- luni/src/test/native/libcore_io_Memory_test.cpp \
-
-LOCAL_C_INCLUDES += libcore/include
-LOCAL_MODULE_TAGS := debug
-LOCAL_MODULE := libjavacore-unit-tests
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/NativeCode.mk
-LOCAL_SHARED_LIBRARIES := libnativehelper
-LOCAL_CXX_STL := libc++
-include $(BUILD_NATIVE_TEST)
-
-# Set of benchmarks for libjavacore functions.
-include $(CLEAR_VARS)
-LOCAL_CFLAGS += $(libart_cflags)
-LOCAL_CPPFLAGS += $(core_cppflags)
-LOCAL_SRC_FILES += \
- luni/src/benchmark/native/libcore_io_Memory_bench.cpp \
-
-LOCAL_C_INCLUDES += libcore/include
-LOCAL_MODULE_TAGS := debug
-LOCAL_MODULE := libjavacore-benchmarks
-LOCAL_COMPATIBILITY_SUITE := device-tests
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/NativeCode.mk
-LOCAL_SHARED_LIBRARIES := libnativehelper
-LOCAL_CXX_STL := libc++
-LOCAL_MULTILIB := both
-LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
-LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
-include $(BUILD_NATIVE_BENCHMARK)
-
-
-#
-# Build for the host.
-#
-
-ifeq ($(HOST_OS),linux)
-
-include $(CLEAR_VARS)
-LOCAL_CLANG := true
-LOCAL_SRC_FILES += $(core_src_files)
-LOCAL_CFLAGS += $(libart_cflags)
-LOCAL_C_INCLUDES += $(core_c_includes)
-LOCAL_CPPFLAGS += $(core_cppflags)
-LOCAL_LDLIBS += -ldl -lpthread
-ifeq ($(HOST_OS),linux)
-LOCAL_LDLIBS += -lrt
-endif
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE := libjavacore
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/NativeCode.mk
-LOCAL_SHARED_LIBRARIES += $(core_shared_libraries) libexpat libicuuc libicui18n libcrypto libz-host libziparchive
-LOCAL_STATIC_LIBRARIES += $(core_static_libraries)
-LOCAL_MULTILIB := both
-LOCAL_CXX_STL := libc++
-include $(BUILD_HOST_SHARED_LIBRARY)
-
-# Debug version of libopenjdk (host). Depends on libopenjdkjvmd.
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(openjdk_core_src_files)
-LOCAL_C_INCLUDES := $(core_c_includes)
-LOCAL_CFLAGS := -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DLINUX -D__GLIBC__ # Sigh.
-LOCAL_CFLAGS += $(openjdk_cflags)
-LOCAL_SHARED_LIBRARIES := $(core_shared_libraries) libicuuc libcrypto libz-host
-LOCAL_SHARED_LIBRARIES += libopenjdkjvmd libnativehelper
-LOCAL_STATIC_LIBRARIES := $(core_static_libraries) libfdlibm
-LOCAL_MODULE_TAGS := optional
-LOCAL_LDLIBS += -ldl -lpthread -lrt
-LOCAL_MODULE := libopenjdkd
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
-LOCAL_MULTILIB := both
-include $(BUILD_HOST_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(openjdk_core_src_files)
-LOCAL_C_INCLUDES := $(core_c_includes)
-LOCAL_CFLAGS := -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -DLINUX -D__GLIBC__ # Sigh.
-LOCAL_CFLAGS += $(openjdk_cflags)
-LOCAL_SHARED_LIBRARIES := $(core_shared_libraries) libicuuc libcrypto libz-host
-LOCAL_SHARED_LIBRARIES += libopenjdkjvm libnativehelper
-LOCAL_STATIC_LIBRARIES := $(core_static_libraries) libfdlibm
-LOCAL_MODULE_TAGS := optional
-LOCAL_LDLIBS += -ldl -lpthread -lrt
-LOCAL_MODULE := libopenjdk
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/ojluni/NOTICE
-LOCAL_MULTILIB := both
-include $(BUILD_HOST_SHARED_LIBRARY)
-
-ifeq ($(LIBCORE_SKIP_TESTS),)
- include $(CLEAR_VARS)
- LOCAL_CLANG := true
- LOCAL_SRC_FILES += $(core_test_files)
- LOCAL_CFLAGS += $(libart_cflags)
- LOCAL_C_INCLUDES += libcore/include
- LOCAL_CPPFLAGS += $(core_cppflags)
- LOCAL_LDLIBS += -ldl -lpthread
- LOCAL_MODULE_TAGS := optional
- LOCAL_MODULE := libjavacoretests
- LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/NativeCode.mk
- LOCAL_SHARED_LIBRARIES := libnativehelper
- LOCAL_MULTILIB := both
- LOCAL_CXX_STL := libc++
- include $(BUILD_HOST_SHARED_LIBRARY)
-endif # LIBCORE_SKIP_TESTS
-
-endif # HOST_OS == linux
diff --git a/dalvik/src/main/native/sub.mk b/dalvik/src/main/native/sub.mk
deleted file mode 100644
index 4adc8a109c..0000000000
--- a/dalvik/src/main/native/sub.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- mode: makefile -*-
-# This file is included by the top-level libcore Android.mk.
-# It's not a normal makefile, so we don't include CLEAR_VARS
-# or BUILD_*_LIBRARY.
-
-LOCAL_SRC_FILES := \
- org_apache_harmony_dalvik_NativeTestTarget.cpp
-
-#LOCAL_C_INCLUDES +=
-
-# Any shared/static libs that are listed here must also
-# be listed in libs/nativehelper/Android.mk.
-# TODO: fix this requirement
-
-#LOCAL_SHARED_LIBRARIES +=
-
-#LOCAL_STATIC_LIBRARIES +=
diff --git a/luni/src/main/native/Android.bp b/luni/src/main/native/Android.bp
new file mode 100644
index 0000000000..a8e7ee7a25
--- /dev/null
+++ b/luni/src/main/native/Android.bp
@@ -0,0 +1,28 @@
+filegroup {
+ name: "luni_native_srcs",
+ srcs: [
+ "ExecStrings.cpp",
+ "IcuUtilities.cpp",
+ "JniException.cpp",
+ "NetworkUtilities.cpp",
+ "Register.cpp",
+ "ZipUtilities.cpp",
+ "android_system_OsConstants.cpp",
+ "cbigint.cpp",
+ "java_lang_StringToReal.cpp",
+ "java_lang_invoke_MethodHandle.cpp",
+ "java_math_NativeBN.cpp",
+ "java_util_regex_Matcher.cpp",
+ "java_util_regex_Pattern.cpp",
+ "libcore_icu_ICU.cpp",
+ "libcore_icu_NativeConverter.cpp",
+ "libcore_icu_TimeZoneNames.cpp",
+ "libcore_io_AsynchronousCloseMonitor.cpp",
+ "libcore_io_Linux.cpp",
+ "libcore_io_Memory.cpp",
+ "libcore_util_NativeAllocationRegistry.cpp",
+ "org_apache_harmony_xml_ExpatParser.cpp",
+ "sun_misc_Unsafe.cpp",
+ "valueOf.cpp",
+ ],
+}
diff --git a/luni/src/main/native/sub.mk b/luni/src/main/native/sub.mk
deleted file mode 100644
index 0706ce8706..0000000000
--- a/luni/src/main/native/sub.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- mode: makefile -*-
-# This file is included by the top-level libcore Android.mk.
-# It's not a normal makefile, so we don't include CLEAR_VARS
-# or BUILD_*_LIBRARY.
-
-LOCAL_SRC_FILES := \
- ExecStrings.cpp \
- IcuUtilities.cpp \
- JniException.cpp \
- NetworkUtilities.cpp \
- Register.cpp \
- ZipUtilities.cpp \
- android_system_OsConstants.cpp \
- cbigint.cpp \
- java_lang_StringToReal.cpp \
- java_lang_invoke_MethodHandle.cpp \
- java_math_NativeBN.cpp \
- java_util_regex_Matcher.cpp \
- java_util_regex_Pattern.cpp \
- libcore_icu_ICU.cpp \
- libcore_icu_NativeConverter.cpp \
- libcore_icu_TimeZoneNames.cpp \
- libcore_io_AsynchronousCloseMonitor.cpp \
- libcore_io_Linux.cpp \
- libcore_io_Memory.cpp \
- libcore_util_NativeAllocationRegistry.cpp \
- org_apache_harmony_xml_ExpatParser.cpp \
- sun_misc_Unsafe.cpp \
- valueOf.cpp \
-
-LOCAL_STATIC_LIBRARIES += \
- libbase \
- libfdlibm \
-
-LOCAL_SHARED_LIBRARIES += \
- liblog \
- libnativehelper \
diff --git a/ojluni/src/main/native/Android.bp b/ojluni/src/main/native/Android.bp
new file mode 100644
index 0000000000..71546ca5ea
--- /dev/null
+++ b/ojluni/src/main/native/Android.bp
@@ -0,0 +1,65 @@
+filegroup {
+ name: "libopenjdk_native_srcs",
+ srcs: [
+ "java_util_zip_ZipFile.c",
+ "java_util_zip_Inflater.c",
+ "java_util_zip_Deflater.c",
+ "java_util_zip_CRC32.c",
+ "Adler32.c",
+ "zip_util.c",
+ "jni_util.c",
+ "jni_util_md.c",
+ "io_util.c",
+ "canonicalize_md.c",
+ "FileDescriptor_md.c",
+ "DatagramChannelImpl.c",
+ "DatagramDispatcher.c",
+ "Console_md.c",
+ "IOUtil.c",
+ "PollArrayWrapper.c",
+ "SocketChannelImpl.c",
+ "FileChannelImpl.c",
+ "FileDispatcherImpl.c",
+ "FileOutputStream_md.c",
+ "FileInputStream.c",
+ "FileSystemPreferences.c",
+ "EPoll.c",
+ "EPollPort.c",
+ "UnixAsynchronousServerSocketChannelImpl.c",
+ "UnixAsynchronousSocketChannelImpl.c",
+ "io_util_md.c",
+ "NativeThread.c",
+ "FileKey.c",
+ "UnixFileSystem_md.c",
+ "ObjectStreamClass.c",
+ "ObjectOutputStream.c",
+ "ObjectInputStream.c",
+ "LinuxNativeDispatcher.c",
+ "LinuxWatchService.c",
+ "UnixCopyFile.c",
+ "UnixNativeDispatcher.c",
+ "InetAddress.c",
+ "net_util.c",
+ "net_util_md.c",
+ "Net.c",
+ "MappedByteBuffer.c",
+ "Inet6Address.c",
+ "Inet4Address.c",
+ "linux_close.cpp",
+ "ServerSocketChannelImpl.c",
+ "SocketInputStream.c",
+ "SocketOutputStream.c",
+ "Float.c",
+ "Double.c",
+ "StrictMath.c",
+ "Math.c",
+ "ProcessEnvironment_md.c",
+ "System.c",
+ "Runtime.c",
+ "UNIXProcess_md.c",
+ "Bits.c",
+ "Character.cpp",
+ "Register.cpp",
+ "socket_tagger_util.cpp",
+ ],
+}
diff --git a/ojluni/src/main/native/openjdksub.mk b/ojluni/src/main/native/openjdksub.mk
deleted file mode 100644
index d60bc09889..0000000000
--- a/ojluni/src/main/native/openjdksub.mk
+++ /dev/null
@@ -1,73 +0,0 @@
-# -*- mode: makefile -*-
-# This file is included by the top-level libcore Android.mk.
-# It's not a normal makefile, so we don't include CLEAR_VARS
-# or BUILD_*_LIBRARY.
-
-srcdir := ojluni/src/main/native
-LOCAL_SRC_FILES := \
- java_util_zip_ZipFile.c \
- java_util_zip_Inflater.c \
- java_util_zip_Deflater.c \
- java_util_zip_CRC32.c \
- Adler32.c \
- zip_util.c \
- jni_util.c \
- jni_util_md.c \
- io_util.c \
- canonicalize_md.c \
- FileDescriptor_md.c \
- DatagramChannelImpl.c \
- DatagramDispatcher.c \
- Console_md.c \
- IOUtil.c \
- PollArrayWrapper.c \
- SocketChannelImpl.c \
- FileChannelImpl.c \
- FileDispatcherImpl.c \
- FileOutputStream_md.c \
- FileInputStream.c \
- FileSystemPreferences.c \
- EPoll.c \
- EPollPort.c \
- UnixAsynchronousServerSocketChannelImpl.c \
- UnixAsynchronousSocketChannelImpl.c \
- io_util_md.c \
- NativeThread.c \
- FileKey.c \
- UnixFileSystem_md.c \
- ObjectStreamClass.c \
- ObjectOutputStream.c \
- ObjectInputStream.c \
- LinuxNativeDispatcher.c \
- LinuxWatchService.c \
- UnixCopyFile.c \
- UnixNativeDispatcher.c \
- InetAddress.c \
- net_util.c \
- net_util_md.c \
- Net.c \
- MappedByteBuffer.c \
- Inet6Address.c \
- Inet4Address.c \
- linux_close.cpp \
- ServerSocketChannelImpl.c \
- SocketInputStream.c \
- SocketOutputStream.c \
- Float.c \
- Double.c \
- StrictMath.c \
- Math.c \
- ProcessEnvironment_md.c \
- System.c \
- Runtime.c \
- UNIXProcess_md.c \
- Bits.c \
- Character.cpp \
- Register.cpp \
- socket_tagger_util.cpp \
-
-LOCAL_C_INCLUDES += \
- libcore/$(srcdir) \
- external/fdlibm \
- external/zlib \
- external/icu/icu4c/source/common \