summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-devtools/perfetto/perfetto.bb25
1 files changed, 7 insertions, 18 deletions
diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-oe/recipes-devtools/perfetto/perfetto.bb
index 98e39f068d..86ab18cacf 100644
--- a/meta-oe/recipes-devtools/perfetto/perfetto.bb
+++ b/meta-oe/recipes-devtools/perfetto/perfetto.bb
@@ -70,24 +70,14 @@ do_configure () {
70 elif [ $arch = "aarch64" ]; then 70 elif [ $arch = "aarch64" ]; then
71 arch="arm64" 71 arch="arm64"
72 fi 72 fi
73
74 # For ARM32 with hardware floating point using clang and musl, we need to
75 # specify -mfloat-abi=hard to make the ABI settings of the linker and the
76 # compiler match. The linker would use hardware float ABI. The compiler does
77 # not. As a result we need to force the compiler to do so by adding
78 # -mfloat-abi=hard to compilation flags.
79 FLOAT_ABI=""
80 if [[ "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'true', 'false', d)}" == "true" ]]; then
81 FLOAT_ABI="-mfloat-abi=hard"
82 fi
83 73
84 ARGS=$ARGS" target_os=\"linux\"" 74 ARGS=$ARGS" target_os=\"linux\""
85 ARGS=$ARGS" target_cpu=\"$arch\"" 75 ARGS=$ARGS" target_cpu=\"$arch\""
86 ARGS=$ARGS" target_cc=\"$CC_BIN ${FLOAT_ABI}\"" 76 ARGS=$ARGS" target_cc=\"$CC_BIN ${TUNE_CCARGS}\""
87 ARGS=$ARGS" target_cxx=\"$CXX_BIN -std=c++11 ${FLOAT_ABI}\"" 77 ARGS=$ARGS" target_cxx=\"$CXX_BIN -std=c++11 ${TUNE_CCARGS}\""
88 ARGS=$ARGS" target_strip=\"$STRIP_BIN\"" # 78 ARGS=$ARGS" target_strip=\"$STRIP_BIN\"" #
89 ARGS=$ARGS" target_sysroot=\"${RECIPE_SYSROOT}\"" 79 ARGS=$ARGS" target_sysroot=\"${RECIPE_SYSROOT}\""
90 ARGS=$ARGS" target_linker=\"$CC_BIN ${FLOAT_ABI} ${LDFLAGS}\"" 80 ARGS=$ARGS" target_linker=\"$CC_BIN ${TUNE_CCARGS} ${LDFLAGS}\""
91 ARGS=$ARGS" target_ar=\"$AR\"" 81 ARGS=$ARGS" target_ar=\"$AR\""
92 ARGS="'$ARGS'" 82 ARGS="'$ARGS'"
93 cmd="tools/gn gen --args=$ARGS ${B}" 83 cmd="tools/gn gen --args=$ARGS ${B}"
@@ -100,7 +90,6 @@ do_configure () {
100 # Eliminate a few incompatible build flags 90 # Eliminate a few incompatible build flags
101 REPLACES="s/-Wl,--icf=all//g" 91 REPLACES="s/-Wl,--icf=all//g"
102 REPLACES=$REPLACES";s/-Werror//g" 92 REPLACES=$REPLACES";s/-Werror//g"
103 REPLACES=$REPLACES";s/-mfpu=neon//g"
104 REPLACES=$REPLACES";s/-fcolor-diagnostics//g" 93 REPLACES=$REPLACES";s/-fcolor-diagnostics//g"
105 REPLACES=$REPLACES";s/=format-security//g" 94 REPLACES=$REPLACES";s/=format-security//g"
106 REPLACES=$REPLACES";s/-fdiagnostics-show-template-tree//g" 95 REPLACES=$REPLACES";s/-fdiagnostics-show-template-tree//g"
@@ -111,12 +100,12 @@ do_configure () {
111 100
112 # If using the clang toolchain: use the clang host-side binaries built by Bitbake 101 # If using the clang toolchain: use the clang host-side binaries built by Bitbake
113 if [ "${TOOLCHAIN}" = "clang" ]; then 102 if [ "${TOOLCHAIN}" = "clang" ]; then
114 BB_CLANGXX="${BUILD_CXX} ${BUILD_LDFLAGS} ${FLOAT_ABI}" 103 BB_CLANGXX="${BUILD_CXX} ${BUILD_LDFLAGS} ${TUNE_CCARGS}"
115 BB_CLANG="${BUILD_CC} ${FLOAT_ABI}" 104 BB_CLANG="${BUILD_CC} ${TUNE_CCARGS}"
116 BB_LLVM_OBJCOPY="${RECIPE_SYSROOT_NATIVE}/usr/bin/llvm-objcopy" 105 BB_LLVM_OBJCOPY="${RECIPE_SYSROOT_NATIVE}/usr/bin/llvm-objcopy"
117 106
118 HOST_CLANGXX="${STAGING_DIR_NATIVE}/usr/bin/clang++ -stdlib=libc++ -rtlib=libgcc -unwindlib=libgcc ${FLOAT_ABI}" 107 HOST_CLANGXX="${STAGING_DIR_NATIVE}/usr/bin/clang++ -stdlib=libc++ -rtlib=libgcc -unwindlib=libgcc ${TUNE_CCARGS}"
119 HOST_CLANG="${STAGING_DIR_NATIVE}/usr/bin/clang ${FLOAT_ABI}" 108 HOST_CLANG="${STAGING_DIR_NATIVE}/usr/bin/clang ${TUNE_CCARGS}"
120 HOST_LLVM_OBJCOPY="${STAGING_DIR_NATIVE}/usr/bin/llvm-objcopy" 109 HOST_LLVM_OBJCOPY="${STAGING_DIR_NATIVE}/usr/bin/llvm-objcopy"
121 110
122 cd gcc_like_host 111 cd gcc_like_host