diff --git a/libc/hdr/CMakeLists.txt b/libc/hdr/CMakeLists.txt index 7f523c50e8694..b337a8c9fc2a6 100644 --- a/libc/hdr/CMakeLists.txt +++ b/libc/hdr/CMakeLists.txt @@ -183,6 +183,15 @@ add_proxy_header_library( libc.include.link ) +add_proxy_header_library( + locale_macros + HDRS + locale_macros.h + FULL_BUILD_DEPENDS + libc.include.llvm-libc-macros.locale_macros + libc.include.locale +) + add_proxy_header_library( sys_auxv_macros HDRS diff --git a/libc/hdr/locale_macros.h b/libc/hdr/locale_macros.h new file mode 100644 index 0000000000000..7d94f6ddabe41 --- /dev/null +++ b/libc/hdr/locale_macros.h @@ -0,0 +1,22 @@ +//===-- Definition of macros from locale.h --------------------------------===// +// +// 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_LOCALE_MACROS_H +#define LLVM_LIBC_HDR_LOCALE_MACROS_H + +#ifdef LIBC_FULL_BUILD + +#include "include/llvm-libc-macros/locale-macros.h" + +#else // Overlay mode + +#error "macros not available in overlay mode" + +#endif // LLVM_LIBC_FULL_BUILD + +#endif // LLVM_LIBC_HDR_LOCALE_MACROS_H diff --git a/libc/test/src/locale/CMakeLists.txt b/libc/test/src/locale/CMakeLists.txt index 3192004db26dd..5032ce9c324e2 100644 --- a/libc/test/src/locale/CMakeLists.txt +++ b/libc/test/src/locale/CMakeLists.txt @@ -7,7 +7,7 @@ add_libc_test( SRCS locale_test.cpp DEPENDS - libc.include.locale + libc.hdr.locale_macros libc.src.locale.newlocale libc.src.locale.uselocale libc.src.locale.freelocale @@ -20,6 +20,6 @@ add_libc_test( SRCS localeconv_test.cpp DEPENDS - libc.include.locale + libc.hdr.locale_macros libc.src.locale.localeconv ) diff --git a/libc/test/src/locale/locale_test.cpp b/libc/test/src/locale/locale_test.cpp index bc48bb851f4e4..d800e8fa5fcf9 100644 --- a/libc/test/src/locale/locale_test.cpp +++ b/libc/test/src/locale/locale_test.cpp @@ -6,14 +6,12 @@ // //===----------------------------------------------------------------------===// +#include "hdr/locale_macros.h" #include "src/locale/freelocale.h" #include "src/locale/newlocale.h" #include "src/locale/uselocale.h" - #include "test/UnitTest/Test.h" -#include "include/llvm-libc-macros/locale-macros.h" - TEST(LlvmLibcLocale, DefaultLocale) { locale_t new_locale = LIBC_NAMESPACE::newlocale(LC_ALL, "C", nullptr); EXPECT_NE(new_locale, static_cast(nullptr)); diff --git a/libc/test/src/locale/localeconv_test.cpp b/libc/test/src/locale/localeconv_test.cpp index 79264276dec35..4a7888176d539 100644 --- a/libc/test/src/locale/localeconv_test.cpp +++ b/libc/test/src/locale/localeconv_test.cpp @@ -6,9 +6,8 @@ // //===----------------------------------------------------------------------===// -#include "include/llvm-libc-macros/locale-macros.h" +#include "hdr/locale_macros.h" #include "src/locale/localeconv.h" - #include "test/UnitTest/Test.h" TEST(LlvmLibcLocale, DefaultLocale) {