summaryrefslogtreecommitdiff
path: root/Android.bp
diff options
context:
space:
mode:
authorDanny Lin <danny@kdrag0n.dev>2021-03-09 14:38:57 -0800
committeralk3pInjection <webmaster@raspii.tech>2022-05-11 18:07:32 +0800
commitee1748dde8e0275eeddce08bbf8030d4fd1486fa (patch)
treeb5db4ece47b0cb47925ddb52b855818377895438 /Android.bp
parentdb6107dd6d90c6148d68fcd1138b8b521bdbbd45 (diff)
mimalloc: Add Soong blueprint for Android builds
Change-Id: If8ce1402ef086be3e284fbcdac1b261b72fdd94c
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp85
1 files changed, 85 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..e76d70f
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,85 @@
+//
+// Copyright (C) 2021 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.
+//
+
+cc_defaults {
+ name: "mimalloc_defaults",
+ defaults: ["linux_bionic_supported"],
+ cflags: [
+ "-O3",
+ //"-DNDEBUG",
+ "-DMI_DEBUG=3",
+ "-fPIC",
+ "-Wall",
+ "-Wextra",
+ "-fvisibility=hidden",
+ "-ftls-model=initial-exec",
+ "-std=gnu11",
+
+ // From scudo
+ //"-fno-stack-protector",
+ "-fno-emulated-tls",
+ ],
+ include_dirs: [
+ "external/mimalloc/include",
+ ],
+}
+
+lib_srcs = [
+ "src/stats.c",
+ "src/random.c",
+ "src/os.c",
+ "src/bitmap.c",
+ "src/arena.c",
+ "src/segment-cache.c",
+ "src/segment.c",
+ "src/page.c",
+ "src/alloc.c",
+ "src/alloc-aligned.c",
+ "src/alloc-posix.c",
+ "src/heap.c",
+ "src/options.c",
+ "src/init.c",
+]
+
+cc_library {
+ name: "libmimalloc",
+ defaults: ["mimalloc_defaults"],
+ srcs: lib_srcs,
+
+ // Essential library
+ native_coverage: false,
+ ramdisk_available: true,
+ recovery_available: true,
+ host_supported: true,
+ native_bridge_supported: true,
+
+ // Export headers for libc
+ export_include_dirs: ["include"],
+
+ // Remove dependency on libc to break dependency cycle
+ stl: "none",
+ target: {
+ android: {
+ shared: {
+ enabled: false,
+ },
+ system_shared_libs: [],
+ },
+ linux_bionic: {
+ system_shared_libs: [],
+ },
+ },
+}