diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-05-18 22:27:41 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-05-19 23:58:12 -0700 |
commit | cda2283e4cf3c90ea42b43dbc3a2268be6655670 (patch) | |
tree | aa19c76565cef75c48270c4a6832c98d1f91dcab | |
parent | d797409435d3b0e9f2859992439989ff1d81e66d (diff) | |
download | meta-clang-cda2283e4cf3c90ea42b43dbc3a2268be6655670.tar.gz |
Replace --stdlibc=libc++ with -stdlibc=libc++
This ensures that it matches with CMake's understanding of this option
and when its removed then it silently removes -stdlibc=libc++ but leaves
the spurious '-' in the commandline which confuses the compiler as it
them expects input from stdin
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | classes/clang.bbclass | 4 |
2 files changed, 4 insertions, 4 deletions
@@ -76,14 +76,14 @@ if needed to by modifying `LIBCPLUSPLUS` variable, usually defaults used by `RUN | |||
76 | best fit. e.g. below we select LLVM C++ as default C++ runtime. | 76 | best fit. e.g. below we select LLVM C++ as default C++ runtime. |
77 | 77 | ||
78 | ```shell | 78 | ```shell |
79 | LIBCPLUSPLUS = "--stdlib=libc++" | 79 | LIBCPLUSPLUS = "-stdlib=libc++" |
80 | ``` | 80 | ``` |
81 | 81 | ||
82 | in `local.conf`. | 82 | in `local.conf`. |
83 | You can select libstdc++ per package too by writing bbappends for them containing | 83 | You can select libstdc++ per package too by writing bbappends for them containing |
84 | 84 | ||
85 | ```shell | 85 | ```shell |
86 | LIBCPLUSPLUS_toolchain-clang_pn-<recipe> = "--stdlibc=libc++" | 86 | LIBCPLUSPLUS_toolchain-clang_pn-<recipe> = "-stdlibc=libc++" |
87 | ``` | 87 | ``` |
88 | Defaults are chosen to be GNU for maximum compatibility with existing GNU systems. Its always | 88 | Defaults are chosen to be GNU for maximum compatibility with existing GNU systems. Its always |
89 | good to use single runtime on a system, mixing runtimes can cause complications during | 89 | good to use single runtime on a system, mixing runtimes can cause complications during |
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index b684ac5..d6a7fe8 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
@@ -22,7 +22,7 @@ UNWINDLIB_riscv32 = "--unwindlib=libgcc" | |||
22 | UNWINDLIB_powerpc = "--unwindlib=libgcc" | 22 | UNWINDLIB_powerpc = "--unwindlib=libgcc" |
23 | UNWINDLIB_armeb = "--unwindlib=libgcc" | 23 | UNWINDLIB_armeb = "--unwindlib=libgcc" |
24 | 24 | ||
25 | LIBCPLUSPLUS ??= "${@bb.utils.contains("RUNTIME", "llvm", "--stdlib=libc++", "", d)}" | 25 | LIBCPLUSPLUS ??= "${@bb.utils.contains("RUNTIME", "llvm", "-stdlib=libc++", "", d)}" |
26 | 26 | ||
27 | TARGET_CXXFLAGS_append_toolchain-clang = " ${LIBCPLUSPLUS}" | 27 | TARGET_CXXFLAGS_append_toolchain-clang = " ${LIBCPLUSPLUS}" |
28 | TUNE_CCARGS_append_toolchain-clang = " ${COMPILER_RT} ${LIBCPLUSPLUS}" | 28 | TUNE_CCARGS_append_toolchain-clang = " ${COMPILER_RT} ${LIBCPLUSPLUS}" |
@@ -95,7 +95,7 @@ def clang_base_deps(d): | |||
95 | ret += " libgcc " | 95 | ret += " libgcc " |
96 | if (d.getVar('COMPILER_RT').find('--unwindlib=libunwind') != -1): | 96 | if (d.getVar('COMPILER_RT').find('--unwindlib=libunwind') != -1): |
97 | ret += " libcxx " | 97 | ret += " libcxx " |
98 | if (d.getVar('LIBCPLUSPLUS').find('--stdlib=libc++') != -1): | 98 | if (d.getVar('LIBCPLUSPLUS').find('-stdlib=libc++') != -1): |
99 | ret += " libcxx " | 99 | ret += " libcxx " |
100 | else: | 100 | else: |
101 | ret += " virtual/${TARGET_PREFIX}compilerlibs " | 101 | ret += " virtual/${TARGET_PREFIX}compilerlibs " |