diff --git a/automotive/can/1.0/default/libc++fs/Android.bp b/automotive/can/1.0/default/libc++fs/Android.bp new file mode 100644 index 0000000000..1fe324ed0f --- /dev/null +++ b/automotive/can/1.0/default/libc++fs/Android.bp @@ -0,0 +1,83 @@ +// +// Copyright (C) 2020 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. +// + +// TODO(152067309): Stop building this yourself once it's ABI stable and has +// been made vendor available. Just use libc++fs instead of this. + +cc_defaults { + name: "android.hardware.automotive@libc++fsdefaults", + 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", + ], + }, + windows_x86: { + cflags: [ + "-fsjlj-exceptions", + ], + }, + }, +} + +cc_library_static { + name: "android.hardware.automotive@libc++fs", + recovery_available: true, + vendor: true, + defaults: ["android.hardware.automotive@libc++fsdefaults"], + 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, + }, + }, +} diff --git a/automotive/can/1.0/default/libc++fs/include b/automotive/can/1.0/default/libc++fs/include new file mode 120000 index 0000000000..346e65945a --- /dev/null +++ b/automotive/can/1.0/default/libc++fs/include @@ -0,0 +1 @@ +../../../../../../../external/libcxx/include/ \ No newline at end of file diff --git a/automotive/can/1.0/default/libc++fs/src b/automotive/can/1.0/default/libc++fs/src new file mode 120000 index 0000000000..7abb4ba5f9 --- /dev/null +++ b/automotive/can/1.0/default/libc++fs/src @@ -0,0 +1 @@ +../../../../../../../external/libcxx/src/ \ No newline at end of file