diff --git a/libc/hdr/types/ACTION.h b/libc/hdr/types/ACTION.h new file mode 100644 index 000000000000..0b63521dff64 --- /dev/null +++ b/libc/hdr/types/ACTION.h @@ -0,0 +1,22 @@ +//===-- Proxy header for ACTION -------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIBC_HDR_TYPES_ACTION_H +#define LLVM_LIBC_HDR_TYPES_ACTION_H + +#ifdef LIBC_FULL_BUILD + +#include "include/llvm-libc-types/ACTION.h" + +#else // Overlay mode + +#include + +#endif // LLVM_LIBC_FULL_BUILD + +#endif // LLVM_LIBC_HDR_TYPES_ACTION_H diff --git a/libc/hdr/types/CMakeLists.txt b/libc/hdr/types/CMakeLists.txt index b2890871902f..5f6197c93d44 100644 --- a/libc/hdr/types/CMakeLists.txt +++ b/libc/hdr/types/CMakeLists.txt @@ -383,3 +383,12 @@ add_proxy_header_library( libc.include.llvm-libc-types.ENTRY libc.include.search ) + +add_proxy_header_library( + ACTION + HDRS + ACTION.h + FULL_BUILD_DEPENDS + libc.include.llvm-libc-types.ACTION + libc.include.search +) diff --git a/libc/src/search/CMakeLists.txt b/libc/src/search/CMakeLists.txt index 6b7fe3ae5e12..0ed513e648ed 100644 --- a/libc/src/search/CMakeLists.txt +++ b/libc/src/search/CMakeLists.txt @@ -34,6 +34,7 @@ add_entrypoint_object( HDRS hsearch.h DEPENDS + libc.hdr.types.ACTION libc.hdr.types.ENTRY libc.src.search.hsearch.global libc.src.__support.HashTable.table @@ -48,6 +49,7 @@ add_entrypoint_object( HDRS hsearch_r.h DEPENDS + libc.hdr.types.ACTION libc.hdr.types.ENTRY libc.src.__support.HashTable.table libc.src.errno.errno diff --git a/libc/src/search/hsearch.h b/libc/src/search/hsearch.h index 661945158094..820ebde52223 100644 --- a/libc/src/search/hsearch.h +++ b/libc/src/search/hsearch.h @@ -9,9 +9,9 @@ #ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_H #define LLVM_LIBC_SRC_SEARCH_HSEARCH_H +#include "hdr/types/ACTION.h" #include "hdr/types/ENTRY.h" #include "src/__support/macros/config.h" -#include // ACTION namespace LIBC_NAMESPACE_DECL { ENTRY *hsearch(ENTRY item, ACTION action); diff --git a/libc/src/search/hsearch_r.h b/libc/src/search/hsearch_r.h index db2f5a8d3cbe..98f956fc6c6a 100644 --- a/libc/src/search/hsearch_r.h +++ b/libc/src/search/hsearch_r.h @@ -9,9 +9,10 @@ #ifndef LLVM_LIBC_SRC_SEARCH_HSEARCH_R_H #define LLVM_LIBC_SRC_SEARCH_HSEARCH_R_H +#include "hdr/types/ACTION.h" #include "hdr/types/ENTRY.h" #include "src/__support/macros/config.h" -#include // ACTION +#include // hsearch_data namespace LIBC_NAMESPACE_DECL { int hsearch_r(ENTRY item, ACTION action, ENTRY **retval,