mirror of
https://github.com/openharmony/third_party_vixl.git
synced 2026-06-30 20:57:56 -04:00
4697d72c76
Support macOS Created-by: evgeniigeneralov Commit-by: evgenii.generalov Merged-by: openharmony_ci Description: ### 一、内容说明(相关的Issue) https://gitcode.com/openharmony/arkcompiler_runtime_core/issues/8818 ### 二、建议测试周期和提测地址 建议测试完成时间:xxxx.xx.xx 投产上线时间:xxxx.xx.xx 提测地址:CI环境/压测环境 测试账号: ### 三、变更内容 * 3.1 关联PR列表 * 3.2 数据库和部署说明 1. 常规更新 2. 重启unicorn 3. 重启sidekiq 4. 迁移任务:是否有迁移任务,没有写 "无" 5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无" * 3.4 其他技术优化内容(做了什么,变更了什么) - 重构了 xxxx 代码 - xxxx 算法优化 * 3.5 废弃通知(什么字段、方法弃用?) * 3.6 后向不兼容变更(是否有无法向后兼容的变更?) ### 四、研发自测点(自测哪些?冒烟用例全部自测?) 自测测试结论: ### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方) 检查点: | 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 | |------|------------|----------|---------------| | xxx | 否 | 需要 | 不需要 | | | | | | 接口测试: 性能测试: 并发测试: 其他: See merge request: openharmony/third_party_vixl!45
140 lines
4.2 KiB
Plaintext
140 lines
4.2 KiB
Plaintext
# Copyright (c) 2021-2022 Huawei Device Co., Ltd.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
#
|
|
# * Redistributions of source code must retain the above copyright notice,
|
|
# this list of conditions and the following disclaimer.
|
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
|
# this list of conditions and the following disclaimer in the documentation
|
|
# and/or other materials provided with the distribution.
|
|
# * Neither the name of ARM Limited nor the names of its contributors may be
|
|
# used to endorse or promote products derived from this software without
|
|
# specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
import("//build/ohos.gni")
|
|
|
|
config("vixl_public_config") {
|
|
defines = []
|
|
if (is_debug) {
|
|
defines += [ "VIXL_DEBUG" ]
|
|
}
|
|
|
|
defines += [
|
|
"PANDA_BUILD",
|
|
"VIXL_CODE_BUFFER_MMAP"
|
|
]
|
|
|
|
if (defined(ark_standalone_build) && ark_standalone_build) {
|
|
cflags_cc = [ "-Wno-bitwise-instead-of-logical" ]
|
|
}
|
|
|
|
include_dirs = [ "src" ]
|
|
if (target_cpu == "arm") {
|
|
include_dirs += [ "src/aarch32" ]
|
|
} else if (target_cpu == "arm64" || target_cpu == "amd64" ||
|
|
target_cpu == "x64" || target_cpu == "x86_64") {
|
|
include_dirs += [ "src/aarch64" ]
|
|
}
|
|
}
|
|
|
|
ohos_static_library("libvixl") {
|
|
sources = [
|
|
"src/code-buffer-vixl.cc",
|
|
"src/compiler-intrinsics-vixl.cc",
|
|
"src/cpu-features.cc",
|
|
"src/utils-vixl.cc",
|
|
]
|
|
|
|
defines = []
|
|
cflags_cc = [
|
|
"-std=c++17",
|
|
"-pedantic",
|
|
"-Wall",
|
|
"-Wextra",
|
|
"-Werror",
|
|
"-fno-rtti",
|
|
"-fno-exceptions",
|
|
"-Wno-invalid-offsetof",
|
|
|
|
"-Wno-gnu-statement-expression",
|
|
"-Wno-unused-parameter",
|
|
"-Wno-unused-result",
|
|
"-Wno-deprecated-declarations",
|
|
]
|
|
if (is_debug) {
|
|
cflags_cc += [
|
|
"-Og",
|
|
"-ggdb3",
|
|
"-gdwarf-4",
|
|
]
|
|
}
|
|
|
|
if (is_asan) {
|
|
cflags_cc += [ "-g" ]
|
|
defines += [ "__SANITIZE_ADDRESS__" ]
|
|
}
|
|
|
|
if (target_cpu == "arm") {
|
|
sources += [
|
|
"src/aarch32/assembler-aarch32.cc",
|
|
"src/aarch32/constants-aarch32.cc",
|
|
"src/aarch32/disasm-aarch32.cc",
|
|
"src/aarch32/instructions-aarch32.cc",
|
|
"src/aarch32/location-aarch32.cc",
|
|
"src/aarch32/macro-assembler-aarch32.cc",
|
|
"src/aarch32/operands-aarch32.cc",
|
|
]
|
|
defines += [ "VIXL_INCLUDE_TARGET_A32" ]
|
|
} else if (target_cpu == "arm64" || target_cpu == "amd64" ||
|
|
target_cpu == "x64" || target_cpu == "x86_64") {
|
|
sources += [
|
|
"src/aarch64/assembler-aarch64.cc",
|
|
"src/aarch64/assembler-sve-aarch64.cc",
|
|
"src/aarch64/cpu-aarch64.cc",
|
|
"src/aarch64/cpu-features-auditor-aarch64.cc",
|
|
"src/aarch64/debugger-aarch64.cc",
|
|
"src/aarch64/decoder-aarch64.cc",
|
|
"src/aarch64/disasm-aarch64.cc",
|
|
"src/aarch64/instructions-aarch64.cc",
|
|
"src/aarch64/logic-aarch64.cc",
|
|
"src/aarch64/macro-assembler-aarch64.cc",
|
|
"src/aarch64/macro-assembler-sve-aarch64.cc",
|
|
"src/aarch64/operands-aarch64.cc",
|
|
"src/aarch64/pointer-auth-aarch64.cc",
|
|
"src/aarch64/simulator-aarch64.cc",
|
|
]
|
|
defines += [
|
|
"VIXL_INCLUDE_TARGET_A64",
|
|
"VIXL_INCLUDE_SIMULATOR_AARCH64",
|
|
]
|
|
}
|
|
if (current_cpu == "arm") {
|
|
cflags_cc += [
|
|
"-march=armv7-a",
|
|
"-mfloat-abi=softfp",
|
|
"-marm",
|
|
"-mfpu=vfp",
|
|
]
|
|
}
|
|
if (is_mac) {
|
|
defines += [ "PANDA_TARGET_MACOS" ]
|
|
}
|
|
|
|
public_configs = [ ":vixl_public_config" ]
|
|
|
|
subsystem_name = "thirdparty"
|
|
part_name = "vixl"
|
|
}
|