1 Star 0 Fork 17

weifulun/third_party_vixl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
BUILD.gn 6.10 KB
一键复制 编辑 原始数据 按行查看 历史
weifulun 提交于 2022-04-26 14:25 . Add gn,OTA.xml,readme.Opensource files
# Copyright (C) Huawei Technologies Co., Ltd. 2021-2022. All rights reserved.
#
# 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("//ark/runtime_core/ark_config.gni")
import("//build/ohos.gni")
config("vixl_public_config") {
include_dirs = [
"//third_party/vixl",
"//third_party/vixl/src"
]
if (current_cpu == "arm") {
include_dirs += ["//third_party/vixl/src/aarch32"]
} else if (current_cpu == "arm64" || current_cpu == "amd64" ||
current_cpu == "x64" || current_cpu == "x86_64") {
include_dirs += ["//third_party/vixl/src/aarch64"]
}
}
ohos_static_library("libvixl") {
license_file = "LICENCE"
sources = [
"src/code-buffer-vixl.cc",
"src/compiler-intrinsics-vixl.cc",
"src/cpu-features.cc",
"src/utils-vixl.cc",
]
if (current_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",
]
cflags_cc = [ "-DVIXL_INCLUDE_TARGET_A32" ]
} else if (current_cpu == "arm64" || current_cpu == "amd64" ||
current_cpu == "x64" || current_cpu == "x86_64") {
sources += [
"src/aarch64/assembler-aarch64.cc",
"src/aarch64/cpu-aarch64.cc",
"src/aarch64/cpu-features-auditor-aarch64.cc",
"src/aarch64/decoder-aarch64.cc",
"src/aarch64/disasm-aarch64.cc",
"src/aarch64/instructions-aarch64.cc",
"src/aarch64/instrument-aarch64.cc",
"src/aarch64/logic-aarch64.cc",
"src/aarch64/macro-assembler-aarch64.cc",
"src/aarch64/operands-aarch64.cc",
"src/aarch64/pointer-auth-aarch64.cc",
"src/aarch64/simulator-aarch64.cc",
]
cflags_cc = [
"-DVIXL_INCLUDE_TARGET_A64",
"-DVIXL_INCLUDE_SIMULATOR_AARCH64",
]
} else {
cflags_cc = []
}
cflags_cc += [ "-DVIXL_DEBUG" ]
if (is_mac) {
cflags_cc += [
"-DVIXL_CODE_BUFFER_MALLOC",
"-DPANDA_BUILD",
]
} else {
cflags_cc += [
"-DVIXL_CODE_BUFFER_MMAP",
"-DPANDA_BUILD",
]
}
configs = [
"$ark_root:ark_config",
"$ark_root/libpandabase:arkbase_public_config",
":vixl_public_config",
]
deps = [ "$ark_root/libpandabase:libarkbase" ]
subsystem_name = "ark"
}
ohos_static_library("libvixl_frontend_static") {
sources = [
"src/code-buffer-vixl.cc",
"src/compiler-intrinsics-vixl.cc",
"src/cpu-features.cc",
"src/utils-vixl.cc",
]
if (current_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",
]
cflags_cc = [ "-DVIXL_INCLUDE_TARGET_A32" ]
} else if (current_cpu == "arm64" || current_cpu == "amd64" ||
current_cpu == "x64" || current_cpu == "x86_64") {
sources += [
"src/aarch64/assembler-aarch64.cc",
"src/aarch64/cpu-aarch64.cc",
"src/aarch64/cpu-features-auditor-aarch64.cc",
"src/aarch64/decoder-aarch64.cc",
"src/aarch64/disasm-aarch64.cc",
"src/aarch64/instructions-aarch64.cc",
"src/aarch64/instrument-aarch64.cc",
"src/aarch64/logic-aarch64.cc",
"src/aarch64/macro-assembler-aarch64.cc",
"src/aarch64/operands-aarch64.cc",
"src/aarch64/pointer-auth-aarch64.cc",
"src/aarch64/simulator-aarch64.cc",
]
cflags_cc = [
"-DVIXL_INCLUDE_TARGET_A64",
"-DVIXL_INCLUDE_SIMULATOR_AARCH64",
]
} else {
cflags_cc = []
}
cflags_cc += [ "-DVIXL_DEBUG" ]
if (is_mac) {
cflags_cc += [
"-DVIXL_CODE_BUFFER_MALLOC",
"-DPANDA_BUILD",
]
} else {
cflags_cc += [
"-DVIXL_CODE_BUFFER_MMAP",
"-DPANDA_BUILD",
]
}
configs = [
"$ark_root:ark_config",
"$ark_root/libpandabase:arkbase_public_config",
":vixl_public_config",
]
deps = [ "$ark_root/libpandabase:libarkbase_frontend_static" ]
subsystem_name = "ark"
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/weifulun/third-party-vixl.git
git@gitee.com:weifulun/third-party-vixl.git
weifulun
third-party-vixl
third_party_vixl
master

搜索帮助