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.
244 lines
6.0 KiB
244 lines
6.0 KiB
//
|
|
// Copyright (C) 2010 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
package {
|
|
default_applicable_licenses: ["frameworks_compile_slang_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
// every license restriction, it may not be entirely correct.
|
|
//
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
//
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
//
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
// to attach the license to, and including a comment whether the files may be
|
|
// used in the current project.
|
|
// See: http://go/android-license-faq
|
|
license {
|
|
name: "frameworks_compile_slang_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-BSD",
|
|
"SPDX-license-identifier-MIT",
|
|
"SPDX-license-identifier-NCSA",
|
|
"legacy_unencumbered",
|
|
],
|
|
license_text: [
|
|
"NOTICE",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "rs-version",
|
|
cflags: [
|
|
"-DRS_VERSION=24",
|
|
],
|
|
}
|
|
|
|
cc_defaults {
|
|
name: "slang-defaults",
|
|
defaults: [
|
|
"clang-defaults",
|
|
"rs-version",
|
|
],
|
|
|
|
cflags: [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-std=c++11",
|
|
|
|
"-D__DISABLE_ASSERTS",
|
|
|
|
"-DTARGET_BUILD_VARIANT=user",
|
|
],
|
|
|
|
product_variables: {
|
|
debuggable: {
|
|
cflags: [
|
|
"-U__DISABLE_ASSERTS",
|
|
|
|
"-UTARGET_BUILD_VARIANT",
|
|
"-DTARGET_BUILD_VARIANT=userdebug",
|
|
],
|
|
},
|
|
eng: {
|
|
cflags: [
|
|
"-O0",
|
|
"-D__ENABLE_INTERNAL_OPTIONS",
|
|
|
|
"-UTARGET_BUILD_VARIANT",
|
|
"-DTARGET_BUILD_VARIANT=eng",
|
|
],
|
|
},
|
|
},
|
|
}
|
|
|
|
static_libraries_needed_by_slang = [
|
|
"libLLVMBitWriter_2_9",
|
|
"libLLVMBitWriter_2_9_func",
|
|
"libLLVMBitWriter_3_2",
|
|
"libStripUnkAttr",
|
|
]
|
|
|
|
// Exported header files
|
|
cc_library_headers {
|
|
name: "slang_headers",
|
|
vendor_available: true,
|
|
export_include_dirs: ["."],
|
|
host_supported: true,
|
|
// TODO(b/153609531): remove when no longer needed.
|
|
native_bridge_supported: true,
|
|
target: {
|
|
windows: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
}
|
|
|
|
// Static library libslang for host
|
|
// ========================================================
|
|
cc_library_host_static {
|
|
name: "libslang",
|
|
defaults: ["slang-defaults"],
|
|
compile_multilib: "first",
|
|
|
|
target: {
|
|
windows: {
|
|
// Skip missing-field-initializer warnings for mingw.
|
|
cflags: ["-Wno-error=missing-field-initializers"],
|
|
},
|
|
},
|
|
|
|
srcs: [
|
|
"slang.cpp",
|
|
"slang_bitcode_gen.cpp",
|
|
"slang_backend.cpp",
|
|
"slang_diagnostic_buffer.cpp",
|
|
],
|
|
|
|
shared_libs: ["libbcinfo"],
|
|
}
|
|
|
|
// ========================================================
|
|
|
|
cc_binary_host {
|
|
name: "llvm-rs-as",
|
|
defaults: ["slang-defaults"],
|
|
|
|
srcs: ["llvm-rs-as.cpp"],
|
|
|
|
static_libs: ["libslang"] + static_libraries_needed_by_slang,
|
|
shared_libs: ["libLLVM_android"],
|
|
|
|
product_variables: {
|
|
unbundled_build: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
}
|
|
|
|
// Executable llvm-rs-cc for host
|
|
// ========================================================
|
|
|
|
// For build RSCCOptions.inc from RSCCOptions.td
|
|
llvm_tblgen {
|
|
name: "slang-gen-options",
|
|
in: "RSCCOptions.td",
|
|
outs: ["RSCCOptions.inc"],
|
|
}
|
|
|
|
cc_binary_host {
|
|
name: "llvm-rs-cc",
|
|
defaults: ["slang-defaults"],
|
|
|
|
generated_headers: ["slang-gen-options"],
|
|
srcs: [
|
|
"llvm-rs-cc.cpp",
|
|
"rs_cc_options.cpp",
|
|
"slang_rs_foreach_lowering.cpp",
|
|
"slang_rs_ast_replace.cpp",
|
|
"slang_rs_check_ast.cpp",
|
|
"slang_rs_context.cpp",
|
|
"slang_rs_pragma_handler.cpp",
|
|
"slang_rs_exportable.cpp",
|
|
"slang_rs_export_type.cpp",
|
|
"slang_rs_export_element.cpp",
|
|
"slang_rs_export_var.cpp",
|
|
"slang_rs_export_func.cpp",
|
|
"slang_rs_export_foreach.cpp",
|
|
"slang_rs_export_reduce.cpp",
|
|
"slang_rs_object_ref_count.cpp",
|
|
"slang_rs_reflection.cpp",
|
|
"slang_rs_reflection_cpp.cpp",
|
|
"slang_rs_reflection_state.cpp",
|
|
"slang_rs_reflect_utils.cpp",
|
|
"slang_rs_special_func.cpp",
|
|
"slang_rs_special_kernel_param.cpp",
|
|
],
|
|
|
|
static_libs: ["libslang"] + static_libraries_needed_by_slang,
|
|
|
|
shared_libs: [
|
|
"libbcinfo",
|
|
"libclang_android",
|
|
"libLLVM_android",
|
|
],
|
|
|
|
target: {
|
|
windows: {
|
|
host_ldlibs: [
|
|
"-limagehlp",
|
|
"-lpsapi",
|
|
],
|
|
cflags: [
|
|
// Skip missing-field-initializer warnings for mingw.
|
|
"-Wno-error=missing-field-initializers",
|
|
],
|
|
},
|
|
},
|
|
}
|
|
|
|
cc_binary_host {
|
|
name: "lld",
|
|
srcs: ["lld_main.cpp"],
|
|
ldflags: ["-static"],
|
|
stl: "libc++_static",
|
|
target: {
|
|
darwin: {
|
|
enabled: false,
|
|
},
|
|
linux: {
|
|
enabled: false,
|
|
},
|
|
windows: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
}
|
|
|
|
subdirs = [
|
|
"BitWriter_2_9",
|
|
"BitWriter_2_9_func",
|
|
"BitWriter_3_2",
|
|
"StripUnkAttr",
|
|
]
|