You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
5.2 KiB
173 lines
5.2 KiB
// Copyright (C) 2016 The Android Open Source Project |
|
// 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. |
|
// |
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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. |
|
// |
|
// |
|
// Copyright (c) 2016 VIXL authors |
|
// All rights reserved. |
|
// |
|
// Redistribution and use in source and binary forms, with or without |
|
// modification, are permitted provided that the following conditions |
|
// are met: |
|
// 1. Redistributions of source code must retain the above copyright |
|
// notice, this list of conditions and the following disclaimer. |
|
// 2. 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. |
|
// 3. The name of the company may not be used to endorse or promote |
|
// products derived from this software without specific prior written |
|
// permission. |
|
// |
|
// THIS SOFTWARE IS PROVIDED BY ARM LTD ``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 ARM LTD 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. |
|
|
|
cc_defaults { |
|
name: "vixl-common", |
|
host_supported: true, |
|
clang: true, |
|
srcs: ["src/*.cc"], |
|
clang_cflags: ["-Wimplicit-fallthrough"], |
|
cppflags: [ |
|
"-DVIXL_GENERATE_SIMULATOR_INSTRUCTIONS_VALUE=0", |
|
"-Wall", |
|
"-Wextra", |
|
"-Werror", |
|
"-fdiagnostics-show-option", |
|
"-Wredundant-decls", |
|
"-Wunreachable-code", |
|
"-Wmissing-noreturn", |
|
"-pedantic", |
|
"-std=c++11", |
|
|
|
// Explicitly enable the write-strings warning. VIXL uses |
|
// const correctly when handling string constants. |
|
"-Wwrite-strings", |
|
], |
|
local_include_dirs: ["src"], |
|
native_coverage: false, |
|
sanitize: { |
|
recover: ["shift-exponent"], |
|
}, |
|
} |
|
|
|
cc_defaults { |
|
name: "vixl-arm", |
|
defaults: ["vixl-common"], |
|
cppflags: [ |
|
"-DVIXL_CODE_BUFFER_MALLOC", |
|
"-DVIXL_INCLUDE_TARGET_T32", |
|
], |
|
srcs: ["src/aarch32/*.cc"], |
|
} |
|
|
|
cc_defaults { |
|
name: "vixl-arm64", |
|
defaults: ["vixl-common"], |
|
cppflags: [ |
|
"-DVIXL_INCLUDE_SIMULATOR_AARCH64", |
|
"-DVIXL_CODE_BUFFER_MMAP", |
|
"-DVIXL_INCLUDE_TARGET_A64", |
|
], |
|
srcs: ["src/aarch64/*.cc"], |
|
} |
|
|
|
cc_defaults { |
|
name: "vixl-debug", |
|
defaults: ["vixl-common"], |
|
cppflags: [ |
|
"-DVIXL_DEBUG", |
|
"-UNDEBUG", |
|
|
|
"-O2", |
|
"-ggdb3", |
|
], |
|
} |
|
|
|
cc_defaults { |
|
name: "vixl-release", |
|
defaults: ["vixl-common"], |
|
cppflags: [ |
|
"-O3", |
|
], |
|
} |
|
|
|
cc_library { |
|
name: "libvixl-arm64", |
|
defaults: ["vixl-release", "vixl-arm64"], |
|
vendor_available: true, |
|
vndk: { |
|
enabled: true, |
|
}, |
|
} |
|
|
|
cc_library { |
|
name: "libvixld-arm64", |
|
defaults: ["vixl-debug", "vixl-arm64"], |
|
} |
|
|
|
cc_library { |
|
name: "libvixl-arm", |
|
defaults: ["vixl-release", "vixl-arm"], |
|
vendor_available: true, |
|
vndk: { |
|
enabled: true, |
|
}, |
|
} |
|
|
|
cc_library { |
|
name: "libvixld-arm", |
|
defaults: ["vixl-debug", "vixl-arm"], |
|
} |
|
|
|
//######## VIXL HOST TESTS ######### |
|
// |
|
// We only support 64bit host builds for now. |
|
// To run all the tests: vixl-test-runner --run_all |
|
// |
|
cc_binary_host { |
|
name: "vixl-test-runner", |
|
static_executable: true, |
|
defaults: ["vixl-debug", "vixl-arm", "vixl-arm64"], |
|
local_include_dirs: ["test"], |
|
srcs: [ |
|
"test/*.cc", |
|
"test/aarch32/*.cc", |
|
"test/aarch64/*.cc", |
|
], |
|
enabled: false, |
|
target: { |
|
linux_x86_64: { |
|
enabled: true, |
|
}, |
|
}, |
|
}
|
|
|