From 2a6089e46aa036245a1bac287e418eb0bedbac2f Mon Sep 17 00:00:00 2001 From: Kiyoung Kim Date: Mon, 11 Mar 2024 13:04:31 +0900 Subject: Remove VNDK definition(s) As of VNDK deprecation, any libraries that defines vndk is no longer valid anymore. This change removes all VNDK definition(s) from modules which was VNDK. Any former VNDK-SP libraries will be marked as double-loadable, so it can keep be able to be referenced by LLNDK libraries. Bug: 328994089 Test: AOSP CF build succeeded Change-Id: Ib034c17e5f5faf811d6464f670db8e9b56633a5a --- Android.bp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Android.bp b/Android.bp index d740cea6b..57fbf9df1 100644 --- a/Android.bp +++ b/Android.bp @@ -152,10 +152,7 @@ cc_library_shared { vendor_available: true, product_available: true, native_bridge_supported: true, - vndk: { - enabled: true, - support_system_process: true, - }, + double_loadable: true, ramdisk_available: true, vendor_ramdisk_available: true, recovery_available: true, -- cgit v1.2.3 From 5e64accfcf8331d9ce51f7a78bc03f46d9d34350 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Fri, 12 Apr 2024 18:48:25 +0000 Subject: Remove NOTICE symlink. The .bp file explicitly points to upstream's LICENSE.TXT file. Also fix up a genrule that referred to NOTICE to refer to LICENSE.TXT directly. Test: treehugger Change-Id: Ifb01ea4444b8e0288fe24ccb0fa63ebd3e8761ec --- Android.bp | 9 ++++----- NOTICE | 1 - 2 files changed, 4 insertions(+), 6 deletions(-) delete mode 120000 NOTICE diff --git a/Android.bp b/Android.bp index d740cea6b..4f9794f12 100644 --- a/Android.bp +++ b/Android.bp @@ -295,7 +295,6 @@ genrule { visibility: ["//external/musl"], srcs: [ "LICENSE.TXT", - "NOTICE", "include/**/*", ":libcxxabi_headers", ], @@ -304,10 +303,10 @@ genrule { "soong_zip", "zip2zip", ], - cmd: "LIBCXX_DIR=$$(dirname $(location NOTICE)) && " + + cmd: "LIBCXX_DIR=$$(dirname $(location LICENSE.TXT)) && " + "$(location soong_zip) -o $(genDir)/sysroot.zip -symlinks=false" + - // NOTICE - " -j -f $(location NOTICE) " + + // LICENSE.TXT + " -j -f $(location LICENSE.TXT) " + // headers " -P include/c++ " + " -C $${LIBCXX_DIR}/include " + @@ -317,5 +316,5 @@ genrule { " -x include/c++/CMakeLists.txt" + " -x include/c++/module.modulemap " + " include/**/*:include " + - " NOTICE:NOTICE.libc++", + " LICENSE.TXT:LICENSE.libc++", } diff --git a/NOTICE b/NOTICE deleted file mode 120000 index 2acbe4513..000000000 --- a/NOTICE +++ /dev/null @@ -1 +0,0 @@ -LICENSE.TXT \ No newline at end of file -- cgit v1.2.3 From 4cef22575b006ef62d8b7fd7212be2c104b00e38 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 16 Apr 2024 18:58:22 +0000 Subject: Replace me as an owner here. rprichard is the one that should be checking changes here so that it doesn't interfere with the migration work he's doing. Bug: None Test: None Change-Id: I5a730fdf999a77cb7da871d7d999aba2d05ba35b --- OWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OWNERS b/OWNERS index 1c0d9b851..6af842872 100644 --- a/OWNERS +++ b/OWNERS @@ -1,2 +1,2 @@ -danalbert@google.com +rprichard@google.com srhines@google.com -- cgit v1.2.3 From aae20594433739a9e84848a84d3cde6b3ce5d27e Mon Sep 17 00:00:00 2001 From: Pirama Arumuga Nainar Date: Wed, 17 Apr 2024 05:47:59 +0000 Subject: Add pirama to OWNERS Change-Id: I58d1f76bfee6115cf59d72e0f743f9a91b21ed47 --- OWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/OWNERS b/OWNERS index 6af842872..63747c39e 100644 --- a/OWNERS +++ b/OWNERS @@ -1,2 +1,3 @@ rprichard@google.com srhines@google.com +pirama@google.com \ No newline at end of file -- cgit v1.2.3 From 3f93ecd0e1a44befadf446e8a850d26598fdc4ce Mon Sep 17 00:00:00 2001 From: Ryan Prichard Date: Tue, 16 Apr 2024 23:22:44 -0700 Subject: Remove external/libcxx in favor of prebuilt libc++ will come from prebuilts/clang/host instead. Bug: http://b/332594828 Test: treehugger Change-Id: I9910fd2970b64b041668e627a15447e46302935a --- Android.bp | 317 ------------------------------------------------------------- 1 file changed, 317 deletions(-) delete mode 100644 Android.bp diff --git a/Android.bp b/Android.bp deleted file mode 100644 index 2a7d4846b..000000000 --- a/Android.bp +++ /dev/null @@ -1,317 +0,0 @@ -// -// Copyright (C) 2014 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. -// - -// NOTE: This project is out of date. See http://b/175635923 for details. Until -// that is resolved it is not possible for us to update or expand access to -// std::filesystem. - -package { - default_applicable_licenses: ["external_libcxx_license"], -} - -// Added automatically by a large-scale-change that took the approach of -// 'apply every license found to every target'. While this makes sure we respect -// every license restriction, it may not be entirely correct. -// -// e.g. GPL in an MIT project might only apply to the contrib/ directory. -// -// Please consider splitting the single license below into multiple licenses, -// taking care not to lose any license_kind information, and overriding the -// default license using the 'licenses: [...]' property on targets as needed. -// -// For unused files, consider creating a 'fileGroup' with "//visibility:private" -// to attach the license to, and including a comment whether the files may be -// used in the current project. -// See: http://go/android-license-faq -license { - name: "external_libcxx_license", - visibility: [":__subpackages__"], - license_kinds: [ - "SPDX-license-identifier-Apache-2.0", - "SPDX-license-identifier-BSD", - "SPDX-license-identifier-MIT", - "SPDX-license-identifier-NCSA", - ], - license_text: [ - "LICENSE.TXT", - ], -} - -cc_defaults { - name: "libc++ defaults", - host_supported: true, - local_include_dirs: ["include"], - export_include_dirs: ["include"], - cflags: ["-Wall", "-Werror", "-Wno-unused-parameter"], - cppflags: [ - "-std=c++14", - "-fexceptions", - "-DLIBCXX_BUILDING_LIBCXXABI", - "-D_LIBCPP_BUILDING_LIBRARY", - ], - rtti: true, - stl: "none", - target: { - linux_bionic: { - enabled: true, - }, - windows: { - enabled: true, - cflags: [ - "-D_LIBCPP_HAS_THREAD_API_WIN32", - "-D_LIBCXXABI_BUILDING_LIBRARY", - "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS", - "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS", - "-UWIN32_LEAN_AND_MEAN", - ], - }, - }, -} - -// host + device static lib -cc_library_static { - name: "libc++_static", - defaults: ["libc++ defaults"], - vendor_available: true, - product_available: true, - ramdisk_available: true, - vendor_ramdisk_available: true, - recovery_available: true, - apex_available: [ - "//apex_available:platform", - "//apex_available:anyapex", - ], - // being part of updatable apexes, this should work on older releases - min_sdk_version: "apex_inherit", - // sdk_version normally isn't needed as only the platform variant - // is used, except on riscv64 which doesn't have an NDK libc++ and - // reuses this module for sdk variants. - sdk_version: "current", - native_bridge_supported: true, - srcs: [ - "src/algorithm.cpp", - "src/any.cpp", - "src/bind.cpp", - "src/charconv.cpp", - "src/chrono.cpp", - "src/condition_variable.cpp", - "src/debug.cpp", - "src/exception.cpp", - "src/future.cpp", - "src/hash.cpp", - "src/ios.cpp", - "src/iostream.cpp", - "src/locale.cpp", - "src/memory.cpp", - "src/mutex.cpp", - "src/new.cpp", - "src/optional.cpp", - "src/random.cpp", - "src/regex.cpp", - "src/shared_mutex.cpp", - "src/stdexcept.cpp", - "src/string.cpp", - "src/strstream.cpp", - "src/system_error.cpp", - "src/thread.cpp", - "src/typeinfo.cpp", - "src/utility.cpp", - "src/valarray.cpp", - "src/variant.cpp", - "src/vector.cpp", - ], - whole_static_libs: [ - "libc++abi", - ], - target: { - windows: { - srcs: [ - "src/support/win32/*.cpp", - ] - }, - }, -} - -// host + device dynamic lib -cc_library_shared { - name: "libc++", - host_supported: true, - vendor_available: true, - product_available: true, - native_bridge_supported: true, - double_loadable: true, - ramdisk_available: true, - vendor_ramdisk_available: true, - recovery_available: true, - apex_available: [ - "//apex_available:platform", - "//apex_available:anyapex", - ], - // being part of updatable apexes, this should work on older releases - min_sdk_version: "apex_inherit", - // sdk_version normally isn't needed as only the platform variant - // is used, except on riscv64 which doesn't have an NDK libc++ and - // reuses this module for sdk variants. - sdk_version: "current", - whole_static_libs: ["libc++_static"], - stl: "none", - - afdo: true, - - target: { - darwin: { - // TODO: LLD does not implement force_symbols_weak_list or - // force_symbols_not_weak_list. Opt out and keep using ld64. - use_clang_lld: false, - unexported_symbols_list: "lib/libc++unexp.exp", - force_symbols_not_weak_list: "lib/notweak.exp", - force_symbols_weak_list: "lib/weak.exp", - ldflags: [ - "-Wl,-undefined,dynamic_lookup", - ], - }, - - linux_bionic: { - enabled: true, - }, - }, -} - -cc_library_static { - name: "libc++experimental", - defaults: ["libc++ defaults"], - srcs: [ - "src/experimental/memory_resource.cpp", - ], -} - -// Not available to vendor modules until libc++ is updated and this library is -// merged into libc++ proper. -// Follow http://b/175635923 for progress. -cc_library_static { - name: "libc++fs", - ramdisk_available: true, - recovery_available: true, - apex_available: [ - "//apex_available:platform", - "com.android.art", - "com.android.art.debug", - "com.android.btservices", - ], - // being part of updatable apexes, this should work on older releases - min_sdk_version: "apex_inherit", - defaults: ["libc++ defaults"], - srcs: [ - "src/filesystem/directory_iterator.cpp", - "src/filesystem/operations.cpp", - ], - multilib: { - lib32: { - // off_t usage is constrained to within the libc++ source (not the - // headers), so we can build the filesystem library with a 64-bit - // off_t on LP32 to get large file support without needing all users - // of the library to match. - cflags: ["-D_FILE_OFFSET_BITS=64"], - }, - }, - target: { - windows: { - enabled: false, - }, - }, -} - -// This target is used to extract the build commands for a test executable. -// See run_tests.py. -cc_binary { - name: "libcxx_test_template", - srcs: [ - "libcxx_test_template.cpp", - ], - cppflags: [ - "-fsized-deallocation", - "-fexceptions", - "-Wno-format-zero-length", - "-Wno-implicit-fallthrough", - "-Wno-non-virtual-dtor", - "-Wno-return-stack-address", - "-Wno-unused-local-typedef", - - "-UNDEBUG", - - // Optimization is causing relocation for nothrow new to be thrown away. - // http://llvm.org/bugs/show_bug.cgi?id=21421 - "-O0", - ], - static_libs: [ - "libc++experimental", - "libc++fs", - ], - rtti: true, - local_include_dirs: [ - "test/support", - ], - multilib: { - lib32: { - suffix: "32", - }, - lib64: { - suffix: "64", - }, - }, - compile_multilib: "both", - host_supported: true, - target: { - linux: { - ldflags: [ - // This makes the tests run a little faster. - "-Wl,--strip-all", - ], - }, - }, - gnu_extensions: false, - cpp_std: "c++17", -} - -// Export libc++ headers for inclusion in the musl sysroot. -genrule { - name: "libc_musl_sysroot_libc++_headers", - visibility: ["//external/musl"], - srcs: [ - "LICENSE.TXT", - "include/**/*", - ":libcxxabi_headers", - ], - out: ["libc_musl_sysroot_libc++_headers.zip"], - tools: [ - "soong_zip", - "zip2zip", - ], - cmd: "LIBCXX_DIR=$$(dirname $(location LICENSE.TXT)) && " + - "$(location soong_zip) -o $(genDir)/sysroot.zip -symlinks=false" + - // LICENSE.TXT - " -j -f $(location LICENSE.TXT) " + - // headers - " -P include/c++ " + - " -C $${LIBCXX_DIR}/include " + - " -D $${LIBCXX_DIR}/include " + - " && " + - "$(location zip2zip) -i $(genDir)/sysroot.zip -o $(out) " + - " -x include/c++/CMakeLists.txt" + - " -x include/c++/module.modulemap " + - " include/**/*:include " + - " LICENSE.TXT:LICENSE.libc++", -} -- cgit v1.2.3 From 45e6c488a5ad73455d2b70c2ef7d9783cf893dfd Mon Sep 17 00:00:00 2001 From: Ryan Prichard Date: Fri, 26 Apr 2024 00:58:58 +0000 Subject: Revert "Remove external/libcxx in favor of prebuilt" Revert submission 2675705-use-prebuilt-libcxx Reason for revert: breaks some Android tests (b/337120479, b/337121737, b/337122511) Reverted changes: /q/submissionid:2675705-use-prebuilt-libcxx Bug: 337120479 Bug: 337121737 Bug: 337122511 Change-Id: Ie06cb6c61a08c5f2119231ac8eaad8f8069e620a --- Android.bp | 317 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 317 insertions(+) create mode 100644 Android.bp diff --git a/Android.bp b/Android.bp new file mode 100644 index 000000000..2a7d4846b --- /dev/null +++ b/Android.bp @@ -0,0 +1,317 @@ +// +// Copyright (C) 2014 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. +// + +// NOTE: This project is out of date. See http://b/175635923 for details. Until +// that is resolved it is not possible for us to update or expand access to +// std::filesystem. + +package { + default_applicable_licenses: ["external_libcxx_license"], +} + +// Added automatically by a large-scale-change that took the approach of +// 'apply every license found to every target'. While this makes sure we respect +// every license restriction, it may not be entirely correct. +// +// e.g. GPL in an MIT project might only apply to the contrib/ directory. +// +// Please consider splitting the single license below into multiple licenses, +// taking care not to lose any license_kind information, and overriding the +// default license using the 'licenses: [...]' property on targets as needed. +// +// For unused files, consider creating a 'fileGroup' with "//visibility:private" +// to attach the license to, and including a comment whether the files may be +// used in the current project. +// See: http://go/android-license-faq +license { + name: "external_libcxx_license", + visibility: [":__subpackages__"], + license_kinds: [ + "SPDX-license-identifier-Apache-2.0", + "SPDX-license-identifier-BSD", + "SPDX-license-identifier-MIT", + "SPDX-license-identifier-NCSA", + ], + license_text: [ + "LICENSE.TXT", + ], +} + +cc_defaults { + name: "libc++ defaults", + host_supported: true, + local_include_dirs: ["include"], + export_include_dirs: ["include"], + cflags: ["-Wall", "-Werror", "-Wno-unused-parameter"], + cppflags: [ + "-std=c++14", + "-fexceptions", + "-DLIBCXX_BUILDING_LIBCXXABI", + "-D_LIBCPP_BUILDING_LIBRARY", + ], + rtti: true, + stl: "none", + target: { + linux_bionic: { + enabled: true, + }, + windows: { + enabled: true, + cflags: [ + "-D_LIBCPP_HAS_THREAD_API_WIN32", + "-D_LIBCXXABI_BUILDING_LIBRARY", + "-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS", + "-D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS", + "-UWIN32_LEAN_AND_MEAN", + ], + }, + }, +} + +// host + device static lib +cc_library_static { + name: "libc++_static", + defaults: ["libc++ defaults"], + vendor_available: true, + product_available: true, + ramdisk_available: true, + vendor_ramdisk_available: true, + recovery_available: true, + apex_available: [ + "//apex_available:platform", + "//apex_available:anyapex", + ], + // being part of updatable apexes, this should work on older releases + min_sdk_version: "apex_inherit", + // sdk_version normally isn't needed as only the platform variant + // is used, except on riscv64 which doesn't have an NDK libc++ and + // reuses this module for sdk variants. + sdk_version: "current", + native_bridge_supported: true, + srcs: [ + "src/algorithm.cpp", + "src/any.cpp", + "src/bind.cpp", + "src/charconv.cpp", + "src/chrono.cpp", + "src/condition_variable.cpp", + "src/debug.cpp", + "src/exception.cpp", + "src/future.cpp", + "src/hash.cpp", + "src/ios.cpp", + "src/iostream.cpp", + "src/locale.cpp", + "src/memory.cpp", + "src/mutex.cpp", + "src/new.cpp", + "src/optional.cpp", + "src/random.cpp", + "src/regex.cpp", + "src/shared_mutex.cpp", + "src/stdexcept.cpp", + "src/string.cpp", + "src/strstream.cpp", + "src/system_error.cpp", + "src/thread.cpp", + "src/typeinfo.cpp", + "src/utility.cpp", + "src/valarray.cpp", + "src/variant.cpp", + "src/vector.cpp", + ], + whole_static_libs: [ + "libc++abi", + ], + target: { + windows: { + srcs: [ + "src/support/win32/*.cpp", + ] + }, + }, +} + +// host + device dynamic lib +cc_library_shared { + name: "libc++", + host_supported: true, + vendor_available: true, + product_available: true, + native_bridge_supported: true, + double_loadable: true, + ramdisk_available: true, + vendor_ramdisk_available: true, + recovery_available: true, + apex_available: [ + "//apex_available:platform", + "//apex_available:anyapex", + ], + // being part of updatable apexes, this should work on older releases + min_sdk_version: "apex_inherit", + // sdk_version normally isn't needed as only the platform variant + // is used, except on riscv64 which doesn't have an NDK libc++ and + // reuses this module for sdk variants. + sdk_version: "current", + whole_static_libs: ["libc++_static"], + stl: "none", + + afdo: true, + + target: { + darwin: { + // TODO: LLD does not implement force_symbols_weak_list or + // force_symbols_not_weak_list. Opt out and keep using ld64. + use_clang_lld: false, + unexported_symbols_list: "lib/libc++unexp.exp", + force_symbols_not_weak_list: "lib/notweak.exp", + force_symbols_weak_list: "lib/weak.exp", + ldflags: [ + "-Wl,-undefined,dynamic_lookup", + ], + }, + + linux_bionic: { + enabled: true, + }, + }, +} + +cc_library_static { + name: "libc++experimental", + defaults: ["libc++ defaults"], + srcs: [ + "src/experimental/memory_resource.cpp", + ], +} + +// Not available to vendor modules until libc++ is updated and this library is +// merged into libc++ proper. +// Follow http://b/175635923 for progress. +cc_library_static { + name: "libc++fs", + ramdisk_available: true, + recovery_available: true, + apex_available: [ + "//apex_available:platform", + "com.android.art", + "com.android.art.debug", + "com.android.btservices", + ], + // being part of updatable apexes, this should work on older releases + min_sdk_version: "apex_inherit", + defaults: ["libc++ defaults"], + srcs: [ + "src/filesystem/directory_iterator.cpp", + "src/filesystem/operations.cpp", + ], + multilib: { + lib32: { + // off_t usage is constrained to within the libc++ source (not the + // headers), so we can build the filesystem library with a 64-bit + // off_t on LP32 to get large file support without needing all users + // of the library to match. + cflags: ["-D_FILE_OFFSET_BITS=64"], + }, + }, + target: { + windows: { + enabled: false, + }, + }, +} + +// This target is used to extract the build commands for a test executable. +// See run_tests.py. +cc_binary { + name: "libcxx_test_template", + srcs: [ + "libcxx_test_template.cpp", + ], + cppflags: [ + "-fsized-deallocation", + "-fexceptions", + "-Wno-format-zero-length", + "-Wno-implicit-fallthrough", + "-Wno-non-virtual-dtor", + "-Wno-return-stack-address", + "-Wno-unused-local-typedef", + + "-UNDEBUG", + + // Optimization is causing relocation for nothrow new to be thrown away. + // http://llvm.org/bugs/show_bug.cgi?id=21421 + "-O0", + ], + static_libs: [ + "libc++experimental", + "libc++fs", + ], + rtti: true, + local_include_dirs: [ + "test/support", + ], + multilib: { + lib32: { + suffix: "32", + }, + lib64: { + suffix: "64", + }, + }, + compile_multilib: "both", + host_supported: true, + target: { + linux: { + ldflags: [ + // This makes the tests run a little faster. + "-Wl,--strip-all", + ], + }, + }, + gnu_extensions: false, + cpp_std: "c++17", +} + +// Export libc++ headers for inclusion in the musl sysroot. +genrule { + name: "libc_musl_sysroot_libc++_headers", + visibility: ["//external/musl"], + srcs: [ + "LICENSE.TXT", + "include/**/*", + ":libcxxabi_headers", + ], + out: ["libc_musl_sysroot_libc++_headers.zip"], + tools: [ + "soong_zip", + "zip2zip", + ], + cmd: "LIBCXX_DIR=$$(dirname $(location LICENSE.TXT)) && " + + "$(location soong_zip) -o $(genDir)/sysroot.zip -symlinks=false" + + // LICENSE.TXT + " -j -f $(location LICENSE.TXT) " + + // headers + " -P include/c++ " + + " -C $${LIBCXX_DIR}/include " + + " -D $${LIBCXX_DIR}/include " + + " && " + + "$(location zip2zip) -i $(genDir)/sysroot.zip -o $(out) " + + " -x include/c++/CMakeLists.txt" + + " -x include/c++/module.modulemap " + + " include/**/*:include " + + " LICENSE.TXT:LICENSE.libc++", +} -- cgit v1.2.3