| # Copyright 2023 The Dawn Authors |
| # |
| # 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. |
| |
| import("../../../scripts/dawn_overrides_with_defaults.gni") |
| |
| import("//build/config/win/visual_studio_version.gni") |
| import("${dawn_root}/scripts/dawn_features.gni") |
| |
| import("build/add_hlsl_hctgen.gni") |
| import("build/built_target_action.gni") |
| import("build/cmake_configure_file.gni") |
| import("build/generate_version_include.gni") |
| import("build/system_binary_action.gni") |
| |
| dawn_dxc_gn_dir = "$dawn_dxc_dir/../gn" |
| llvm_target_triple = "dxil-ms-dx" # Force target triple |
| llvm_version_major = 3 |
| llvm_version_minor = 7 |
| llvm_version_patch = 0 |
| llvm_version = "$llvm_version_major.$llvm_version_minor.$llvm_version_patch" |
| |
| declare_args() { |
| # DXC sometimes asserts on valid HLSL. Set this to true to disable assertions in debug builds. |
| dawn_dxc_disable_asserts_debug = false |
| } |
| |
| if (host_cpu == "x86" || host_cpu == "x64") { |
| native_target = "X86" |
| } else { |
| assert(false, "define 'native_target' for host_cpu: $host_cpu") |
| } |
| |
| if (target_cpu == "x64") { |
| if (current_os == "linux") { |
| llvm_current_triple = "x86_64-unknown-linux-gnu" |
| } else if (current_os == "win") { |
| llvm_current_triple = "x86_64-pc-win32" |
| } else { |
| assert( |
| false, |
| "define 'llvm_current_triple' for target_cpu: $target_cpu, target_os: $current_os") |
| } |
| } else if (target_cpu == "x86") { |
| if (current_os == "win") { |
| llvm_current_triple = "x86_32-pc-win32" |
| } else { |
| assert( |
| false, |
| "define 'llvm_current_triple' for target_cpu: $target_cpu, target_os: $current_os") |
| } |
| } else { |
| assert( |
| false, |
| "define 'llvm_current_triple' for target_cpu: $target_cpu, target_os: $current_os") |
| } |
| |
| ####################################################################### |
| ## CMake config targets |
| ####################################################################### |
| |
| cmake_configure_file("config-header") { |
| input = "$dawn_dxc_dir/include/llvm/Config/config.h.cmake" |
| output = "$target_gen_dir/include/llvm/Config/config.h" |
| values = [ |
| # TODO(amaiorano): Many of the flags set here are duplicated for the "llvm-config-header" target below. |
| # Factor this out somehow (template?). |
| "LLVM_ENABLE_ABI_BREAKING_CHECKS=1", |
| "LLVM_ENABLE_THREADS=1", |
| "LLVM_HAS_ATOMICS=1", |
| "HAVE_INTTYPES_H=1", |
| "HAVE_STDINT_H=1", |
| "HAVE_UINT64_T=1", |
| "HAVE_U_INT64_T=", |
| "LLVM_BINDIR=", |
| "LLVM_CONFIGTIME=", |
| "LLVM_DATADIR=", |
| "LLVM_DEFAULT_TARGET_TRIPLE=$llvm_target_triple", |
| "LLVM_DOCSDIR=", |
| "LLVM_ETCDIR=", |
| "LLVM_HOST_TRIPLE=$llvm_current_triple", |
| "LLVM_INCLUDEDIR=", |
| "LLVM_INFODIR=", |
| "LLVM_MANDIR=", |
| "LLVM_NATIVE_ARCH=$native_target", |
| "LLVM_NATIVE_ASMPARSER=", |
| "LLVM_NATIVE_ASMPRINTER=", |
| "LLVM_NATIVE_DISASSEMBLER=", |
| "LLVM_NATIVE_TARGET=", |
| "LLVM_NATIVE_TARGETINFO=", |
| "LLVM_NATIVE_TARGETMC=", |
| "LLVM_PREFIX=/usr/local", |
| "LLVM_VERSION_MAJOR=$llvm_version_major", |
| "LLVM_VERSION_MINOR=$llvm_version_minor", |
| "LLVM_VERSION_PATCH=$llvm_version_patch", |
| "PACKAGE_VERSION=${llvm_version}git", |
| "PACKAGE_BUGREPORT=http://llvm.org/bugs/", |
| "PACKAGE_NAME=LLVM", |
| "PACKAGE_STRING=LLVM ${llvm_version}git", |
| "strdup=_strdup", |
| "stricmp=_stricmp", |
| "strtoll=", |
| "strtoull=", |
| |
| # TODO(amaiorano): Revisit variables below. Most are just unset for now. |
| "ENABLE_BACKTRACES=1", |
| "ENABLE_CRASH_OVERRIDES=1", |
| "DISABLE_LLVM_DYLIB_ATEXIT=1", |
| "ENABLE_PIC=1", |
| "HAVE_ISATTY=", |
| "LLVM_ENABLE_ZLIB=", |
| "LLVM_USE_INTEL_JITEVENTS=", |
| "LLVM_USE_OPROFILE=", |
| "LINK_POLLY_INTO_TOOLS=", |
| "BUG_REPORT_URL=http://llvm.org/bugs/", |
| "ENABLE_TIMESTAMPS=1", |
| "HAVE____CHKSTK_MS=", |
| "HAVE____CHKSTK=", |
| "HAVE___ALLOCA=", |
| "HAVE___ASHLDI3=", |
| "HAVE___ASHRDI3=", |
| "HAVE___CHKSTK_MS=", |
| "HAVE___CHKSTK=1", |
| "HAVE___CMPDI2=", |
| "HAVE___DIVDI3=", |
| "HAVE___FIXDFDI=", |
| "HAVE___FIXSFDI=", |
| "HAVE___FLOATDIDF=", |
| "HAVE___LSHRDI3=", |
| "HAVE___MAIN=", |
| "HAVE___MODDI3=", |
| "HAVE___UDIVDI3=", |
| "HAVE___UMODDI3=", |
| "HAVE__ALLOCA=", |
| "HAVE__CHSIZE_S=1", |
| "HAVE_BACKTRACE=", |
| "HAVE_CLOSEDIR=", |
| "HAVE_CXXABI_H=", |
| "HAVE_DECL_ARC4RANDOM=", |
| "HAVE_DIA_SDK=", |
| "HAVE_DLERROR=", |
| "HAVE_DLFCN_H=", |
| "HAVE_DLOPEN=", |
| "HAVE_ERRNO_H=1", |
| "HAVE_EXECINFO_H=", |
| "HAVE_FCNTL_H=1", |
| "HAVE_FENV_H=1", |
| "HAVE_FFI_CALL=", |
| "HAVE_FFI_FFI_H=", |
| "HAVE_FFI_H=", |
| "HAVE_FUTIMENS=", |
| "HAVE_GETCWD=", |
| "HAVE_GETRLIMIT=", |
| "HAVE_GETTIMEOFDAY=", |
| "HAVE_INT64_T=1", |
| "HAVE_LIBDL=", |
| "HAVE_LIBEDIT=", |
| "HAVE_LIBPSAPI=", |
| "HAVE_LIBPTHREAD=", |
| "HAVE_LIBSHELL32=", |
| "HAVE_LIBZ=", |
| "HAVE_LIMITS_H=1", |
| "HAVE_LINK_H=", |
| "HAVE_LONGJMP=", |
| "HAVE_MACH_MACH_H=", |
| "HAVE_MACH_O_DYLD_H=", |
| "HAVE_MALLCTL=", |
| "HAVE_MALLINFO2=", |
| "HAVE_MALLOC_H=1", |
| "HAVE_MALLOC_MALLOC_H=", |
| "HAVE_MALLOC_ZONE_STATISTICS=", |
| "HAVE_MKDTEMP=", |
| "HAVE_MKSTEMP=", |
| "HAVE_MKTEMP=", |
| "HAVE_NDIR_H=", |
| "HAVE_OPENDIR=", |
| "HAVE_POSIX_SPAWN=", |
| "HAVE_PREAD=", |
| "HAVE_PTHREAD_RWLOCK_INIT=", |
| "HAVE_RAND48=", |
| "HAVE_READDIR=", |
| "HAVE_REALPATH=", |
| "HAVE_SBRK=", |
| "HAVE_SETENV=", |
| "HAVE_SETJMP=", |
| "HAVE_SETRLIMIT=", |
| "HAVE_SIGLONGJMP=", |
| "HAVE_SIGNAL_H=1", |
| "HAVE_SIGSETJMP=", |
| "HAVE_STRDUP=", |
| "HAVE_STRERROR_R=", |
| "HAVE_STRERROR=1", |
| "HAVE_STRTOLL=1", |
| "HAVE_STRTOQ=", |
| "HAVE_SYS_DIR_H=", |
| "HAVE_SYS_IOCTL_H=", |
| |
| "HAVE_SYS_NDIR_H=", |
| "HAVE_SYS_STAT_H=1", |
| "HAVE_SYS_TYPES_H=", |
| "HAVE_SYS_UIO_H=", |
| "HAVE_SYS_WAIT_H=", |
| "HAVE_TERMINFO=", |
| "HAVE_TERMIOS_H=", |
| "HAVE_UTIME_H=", |
| "HAVE_VALGRIND_VALGRIND_H=", |
| "HAVE_WRITEV=", |
| "HAVE_ZLIB_H=", |
| "LTDL_DLOPEN_DEPLIBS=", |
| "LTDL_SHLIB_EXT=.dll", |
| "LTDL_SYSSEARCHPATH=", |
| "RETSIGTYPE=void", |
| "WIN32_ELMCB_PCSTR=PCSTR", |
| ] |
| |
| if (is_win) { |
| values += [ |
| "HAVE_DECL_STRERROR_S=1", |
| "HAVE_DIRENT_H=", |
| "HAVE_FUTIMES=", |
| "HAVE_GETPAGESIZE=", |
| "HAVE_GETRUSAGE=", |
| "HAVE_MALLINFO=", |
| "HAVE_SYS_MMAN_H=", |
| "HAVE_SYS_PARAM_H=", |
| "HAVE_SYS_RESOURCE_H=", |
| "HAVE_SYS_TIME_H=", |
| "HAVE_UNISTD_H=", |
| "HAVE_PTHREAD_GETSPECIFIC=", |
| "HAVE_PTHREAD_H=", |
| "HAVE_PTHREAD_MUTEX_LOCK=", |
| ] |
| } else if (is_linux) { |
| values += [ |
| "HAVE_DECL_STRERROR_S=", |
| "HAVE_DIRENT_H=1", |
| "HAVE_FUTIMES=1", |
| "HAVE_GETPAGESIZE=1", |
| "HAVE_GETRUSAGE=1", |
| "HAVE_MALLINFO=1", |
| "HAVE_SYS_MMAN_H=1", |
| "HAVE_SYS_PARAM_H=1", |
| "HAVE_SYS_RESOURCE_H=1", |
| "HAVE_SYS_TIME_H=1", |
| "HAVE_UNISTD_H=1", |
| "HAVE_PTHREAD_GETSPECIFIC=1", |
| "HAVE_PTHREAD_H=1", |
| "HAVE_PTHREAD_MUTEX_LOCK=1", |
| ] |
| } |
| if (is_win) { |
| values += [ |
| "LLVM_ON_UNIX=", |
| "LLVM_ON_WIN32=1", |
| ] |
| } else { |
| values += [ |
| "LLVM_ON_UNIX=1", |
| "LLVM_ON_WIN32=", |
| ] |
| } |
| } |
| |
| cmake_configure_file("llvm-config-header") { |
| input = "$dawn_dxc_dir/include/llvm/Config/llvm-config.h.cmake" |
| output = "$target_gen_dir/include/llvm/Config/llvm-config.h" |
| values = [ |
| "LLVM_BINDIR=", |
| "LLVM_CONFIGTIME=", |
| "LLVM_DATADIR=", |
| "LLVM_DEFAULT_TARGET_TRIPLE=$llvm_target_triple", |
| "LLVM_DOCSDIR=", |
| "LLVM_ENABLE_ABI_BREAKING_CHECKS=1", |
| "LLVM_ETCDIR=", |
| "LLVM_HAS_ATOMICS=1", |
| "LLVM_HOST_TRIPLE=$llvm_current_triple", |
| "LLVM_INCLUDEDIR=", |
| "LLVM_INFODIR=", |
| "LLVM_MANDIR=", |
| "LLVM_NATIVE_ARCH=$native_target", |
| "LLVM_NATIVE_ASMPARSER=", |
| "LLVM_NATIVE_ASMPRINTER=", |
| "LLVM_NATIVE_DISASSEMBLER=", |
| "LLVM_NATIVE_TARGET=", |
| "LLVM_NATIVE_TARGETINFO=", |
| "LLVM_NATIVE_TARGETMC=", |
| "LLVM_PREFIX=/usr/local", |
| "LLVM_USE_INTEL_JITEVENTS=", |
| "LLVM_USE_OPROFILE=", |
| "LLVM_VERSION_MAJOR=$llvm_version_major", |
| "LLVM_VERSION_MINOR=$llvm_version_minor", |
| "LLVM_VERSION_PATCH=$llvm_version_patch", |
| "PACKAGE_VERSION=${llvm_version}git", |
| "LINK_POLLY_INTO_TOOLS=", |
| "LLVM_ENABLE_THREADS=1", |
| ] |
| if (is_win) { |
| values += [ |
| "LLVM_ON_UNIX=", |
| "LLVM_ON_WIN32=1", |
| ] |
| } else { |
| values += [ |
| "LLVM_ON_UNIX=1", |
| "LLVM_ON_WIN32=", |
| ] |
| } |
| } |
| |
| cmake_configure_file("DataTypes-header") { |
| input = "$dawn_dxc_dir/include/llvm/Support/DataTypes.h.cmake" |
| output = "$target_gen_dir/include/llvm/Support/DataTypes.h" |
| values = [ |
| "HAVE_INTTYPES_H=1", |
| "HAVE_STDINT_H=1", |
| "HAVE_UINT64_T=1", |
| "HAVE_U_INT64_T=", |
| ] |
| } |
| |
| cmake_configure_file("Targets-def") { |
| input = "$dawn_dxc_dir/include/llvm/Config/Targets.def.in" |
| output = "$target_gen_dir/include/llvm/Config/Targets.def" |
| values = [ |
| # TODO(amaiorano): Should normally contain list of supported targets, |
| # which I think should be AMDGPU and NVPTX based on LLVM_ALL_TARGETS |
| # in the root CMakeLists.txt, but building with CMake, the generated |
| # TargetsDef.h has no value at all for this... |
| "LLVM_ENUM_TARGETS=", |
| ] |
| } |
| |
| cmake_configure_file("AsmPrinters-def") { |
| input = "$dawn_dxc_dir/include/llvm/Config/AsmPrinters.def.in" |
| output = "$target_gen_dir/include/llvm/Config/AsmPrinters.def" |
| values = [ "LLVM_ENUM_ASM_PRINTERS=" ] |
| } |
| |
| cmake_configure_file("AsmParsers-def") { |
| input = "$dawn_dxc_dir/include/llvm/Config/AsmParsers.def.in" |
| output = "$target_gen_dir/include/llvm/Config/AsmParsers.def" |
| values = [ "LLVM_ENUM_ASM_PARSERS=" ] |
| } |
| |
| cmake_configure_file("Disassemblers-def") { |
| input = "$dawn_dxc_dir/include/llvm/Config/Disassemblers.def.in" |
| output = "$target_gen_dir/include/llvm/Config/Disassemblers.def" |
| values = [ "LLVM_ENUM_DISASSEMBLERS=" ] |
| } |
| |
| cmake_configure_file("SharedLibAffix-h") { |
| input = "$dawn_dxc_dir/lib/DxcSupport/SharedLibAffix.inc" |
| output = "$target_gen_dir/include/dxc/Support/SharedLibAffix.h" |
| values = [ |
| "CMAKE_SHARED_LIBRARY_PREFIX=", |
| |
| # TODO(amaiorano): .dll for Win32, .so for Linux, .dylib for MacOS? |
| "CMAKE_SHARED_LIBRARY_SUFFIX=.dll", |
| ] |
| } |
| |
| cmake_configure_file("clang-basic-version-inc") { |
| input = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Version.inc.in" |
| output = "$target_gen_dir/tools/clang/include/clang/Basic/Version.inc" |
| values = [ |
| "CLANG_VERSION=$llvm_version", |
| "CLANG_VERSION_MAJOR=$llvm_version_major", |
| "CLANG_VERSION_MINOR=$llvm_version_minor", |
| "CLANG_VERSION_PATCHLEVEL=$llvm_version_patch", |
| "CLANG_HAS_VERSION_PATCHLEVEL=0", |
| ] |
| } |
| |
| cmake_configure_file("clang-config-h") { |
| input = "$dawn_dxc_dir/tools/clang/include/clang/Config/config.h.cmake" |
| output = "$target_gen_dir/tools/clang/include/clang/Config/config.h" |
| values = [ |
| "BUG_REPORT_URL=http://llvm.org/bugs/", |
| "CLANG_DEFAULT_OPENMP_RUNTIME=libgomp", |
| "CLANG_LIBDIR_SUFFIX=", |
| "CLANG_RESOURCE_DIR=", |
| "C_INCLUDE_DIRS=", |
| "DEFAULT_SYSROOT=", |
| "GCC_INSTALL_PREFIX=", |
| "CLANG_HAVE_LIBXML=", |
| "BACKEND_PACKAGE_STRING=", |
| "HOST_LINK_VERSION=", |
| ] |
| } |
| |
| ####################################################################### |
| ## Common config shared by all targets |
| ####################################################################### |
| |
| config("common_config") { |
| warning_flags = [] |
| if (is_clang) { |
| warning_flags += [ |
| "-Wno-error", # TODO(amaiorano): For now, allow warnings |
| "-Wno-unknown-pragmas", |
| "-Wno-shadow", |
| "-Wno-deprecated-declarations", |
| "-Wno-deprecated-enum-float-conversion", |
| "-Wno-extra-semi", |
| "-Wno-reorder-ctor", |
| "-Wno-implicit-fallthrough", |
| "-Wno-header-hygiene", |
| "-Wno-unused-const-variable", |
| "-Wno-implicit-fallthrough", |
| "-Wno-sign-compare", |
| "-Wno-unused-but-set-variable", |
| "-Wno-unreachable-code-return", |
| "-Wno-unreachable-code-break", |
| "-Wno-unused-function", |
| "-Wno-unused-local-typedef", |
| "-Wno-string-conversion", |
| "-Wno-macro-redefined", |
| "-Wno-unreachable-code", |
| "-Wno-switch", |
| "-Wno-constant-logical-operand", |
| "-Wno-microsoft-exception-spec", |
| "-Wno-inconsistent-missing-override", |
| "-Wno-enum-compare-conditional", |
| "-Wno-rtti", |
| "-Wno-microsoft-extra-qualification", |
| "-Wno-range-loop-bind-reference", |
| "-Wno-pessimizing-move", |
| "-Wno-unused-lambda-capture", |
| "-Wno-bool-conversion", |
| "-Wno-enum-compare", |
| "-Wno-deprecated-copy", |
| "-Wno-unused-variable", |
| "-Wno-microsoft-template", |
| "-Wno-unused-private-field", |
| "-Wno-deprecated-enum-enum-conversion", |
| "-Wno-deprecated-anon-enum-enum-conversion", |
| "-Wno-ambiguous-reversed-operator", |
| ] |
| } else { |
| # MSVC |
| warning_flags += [ |
| "/W0", # Suppress most warnings |
| "/wd4267", # conversion from 'size_t' to 'type', possible loss of data |
| "/wd4996", # std::iterator class template (used as a base class to |
| # provide typedefs) is deprecated in C++17 |
| ] |
| } |
| |
| if (is_win) { |
| cflags_cc = [ |
| "/EHsc", # DXC uses exceptions |
| "/Zc:__cplusplus", |
| "/Zc:twoPhase-", # DXC source relies on MSVC's non-conforming |
| # two-phase lookup |
| "/Zc:sizedDealloc-", # Disable sized allocation |
| ] |
| |
| cflags_c = [ |
| "/EHsc", # DXC uses exceptions |
| ] |
| } else if (is_linux) { |
| cflags_c = [] |
| |
| cflags_cc = [ |
| "-fcxx-exceptions", # DXC uses exceptions |
| "-fms-extensions", |
| "-frtti", # DXC uses RTTI |
| ] |
| } |
| |
| cflags_c += warning_flags |
| cflags_cc += warning_flags |
| |
| include_dirs = [ |
| "$dawn_dxc_dir/include", |
| "$dawn_dxc_dir/tools/clang/include", |
| "$dawn_dxc_dir/tools/clang/tools", |
| "$dawn_dxc_dir/include/llvm/llvm_assert", |
| "${target_gen_dir}/include", # Generated files |
| ] |
| |
| defines = [] |
| if (is_debug && dawn_dxc_disable_asserts_debug) { |
| defines += [ "NDEBUG" ] |
| } |
| } |
| |
| ####################################################################### |
| ## Support |
| ####################################################################### |
| |
| # Target shared by tbl-gen and dxc targets |
| static_library("Support") { |
| output_name = "LLVMSupport" |
| |
| if (dawn_has_build) { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| } |
| |
| public_configs = [ ":common_config" ] |
| |
| public_deps = [ |
| ":AsmParsers-def", |
| ":AsmPrinters-def", |
| ":Disassemblers-def", |
| ":Targets-def", |
| ":config-header", |
| ":llvm-config-header", |
| ] |
| |
| sources = [ |
| "$dawn_dxc_dir/lib/MSSupport/MSFileSystemImpl.cpp", |
| "$dawn_dxc_dir/lib/Support/APFloat.cpp", |
| "$dawn_dxc_dir/lib/Support/APInt.cpp", |
| "$dawn_dxc_dir/lib/Support/APSInt.cpp", |
| "$dawn_dxc_dir/lib/Support/ARMBuildAttrs.cpp", |
| "$dawn_dxc_dir/lib/Support/ARMWinEH.cpp", |
| "$dawn_dxc_dir/lib/Support/Allocator.cpp", |
| "$dawn_dxc_dir/lib/Support/Atomic.cpp", |
| "$dawn_dxc_dir/lib/Support/BlockFrequency.cpp", |
| "$dawn_dxc_dir/lib/Support/BranchProbability.cpp", |
| "$dawn_dxc_dir/lib/Support/COM.cpp", |
| "$dawn_dxc_dir/lib/Support/CommandLine.cpp", |
| "$dawn_dxc_dir/lib/Support/Compression.cpp", |
| "$dawn_dxc_dir/lib/Support/ConvertUTF.c", |
| "$dawn_dxc_dir/lib/Support/ConvertUTFWrapper.cpp", |
| "$dawn_dxc_dir/lib/Support/CrashRecoveryContext.cpp", |
| "$dawn_dxc_dir/lib/Support/DAGDeltaAlgorithm.cpp", |
| "$dawn_dxc_dir/lib/Support/DataExtractor.cpp", |
| "$dawn_dxc_dir/lib/Support/DataStream.cpp", |
| "$dawn_dxc_dir/lib/Support/Debug.cpp", |
| "$dawn_dxc_dir/lib/Support/DeltaAlgorithm.cpp", |
| "$dawn_dxc_dir/lib/Support/Dwarf.cpp", |
| "$dawn_dxc_dir/lib/Support/Errno.cpp", |
| "$dawn_dxc_dir/lib/Support/ErrorHandling.cpp", |
| "$dawn_dxc_dir/lib/Support/FileOutputBuffer.cpp", |
| "$dawn_dxc_dir/lib/Support/FileUtilities.cpp", |
| "$dawn_dxc_dir/lib/Support/FoldingSet.cpp", |
| "$dawn_dxc_dir/lib/Support/FormattedStream.cpp", |
| "$dawn_dxc_dir/lib/Support/GraphWriter.cpp", |
| "$dawn_dxc_dir/lib/Support/Hashing.cpp", |
| "$dawn_dxc_dir/lib/Support/Host.cpp", |
| "$dawn_dxc_dir/lib/Support/IntEqClasses.cpp", |
| "$dawn_dxc_dir/lib/Support/IntervalMap.cpp", |
| "$dawn_dxc_dir/lib/Support/IntrusiveRefCntPtr.cpp", |
| "$dawn_dxc_dir/lib/Support/LEB128.cpp", |
| "$dawn_dxc_dir/lib/Support/LineIterator.cpp", |
| "$dawn_dxc_dir/lib/Support/Locale.cpp", |
| "$dawn_dxc_dir/lib/Support/LockFileManager.cpp", |
| "$dawn_dxc_dir/lib/Support/MD5.cpp", |
| "$dawn_dxc_dir/lib/Support/MSFileSystemBasic.cpp", |
| "$dawn_dxc_dir/lib/Support/ManagedStatic.cpp", |
| "$dawn_dxc_dir/lib/Support/MathExtras.cpp", |
| "$dawn_dxc_dir/lib/Support/Memory.cpp", |
| "$dawn_dxc_dir/lib/Support/MemoryBuffer.cpp", |
| "$dawn_dxc_dir/lib/Support/MemoryObject.cpp", |
| "$dawn_dxc_dir/lib/Support/Mutex.cpp", |
| "$dawn_dxc_dir/lib/Support/Options.cpp", |
| "$dawn_dxc_dir/lib/Support/Path.cpp", |
| "$dawn_dxc_dir/lib/Support/PrettyStackTrace.cpp", |
| "$dawn_dxc_dir/lib/Support/Process.cpp", |
| "$dawn_dxc_dir/lib/Support/Program.cpp", |
| "$dawn_dxc_dir/lib/Support/RWMutex.cpp", |
| "$dawn_dxc_dir/lib/Support/RandomNumberGenerator.cpp", |
| "$dawn_dxc_dir/lib/Support/Regex.cpp", |
| "$dawn_dxc_dir/lib/Support/ScaledNumber.cpp", |
| "$dawn_dxc_dir/lib/Support/SearchForAddressOfSpecialSymbol.cpp", |
| "$dawn_dxc_dir/lib/Support/Signals.cpp", |
| "$dawn_dxc_dir/lib/Support/SmallPtrSet.cpp", |
| "$dawn_dxc_dir/lib/Support/SmallVector.cpp", |
| "$dawn_dxc_dir/lib/Support/SourceMgr.cpp", |
| "$dawn_dxc_dir/lib/Support/SpecialCaseList.cpp", |
| "$dawn_dxc_dir/lib/Support/Statistic.cpp", |
| "$dawn_dxc_dir/lib/Support/StreamingMemoryObject.cpp", |
| "$dawn_dxc_dir/lib/Support/StringExtras.cpp", |
| "$dawn_dxc_dir/lib/Support/StringMap.cpp", |
| "$dawn_dxc_dir/lib/Support/StringPool.cpp", |
| "$dawn_dxc_dir/lib/Support/StringRef.cpp", |
| "$dawn_dxc_dir/lib/Support/StringSaver.cpp", |
| "$dawn_dxc_dir/lib/Support/SystemUtils.cpp", |
| "$dawn_dxc_dir/lib/Support/TargetParser.cpp", |
| "$dawn_dxc_dir/lib/Support/TargetRegistry.cpp", |
| "$dawn_dxc_dir/lib/Support/ThreadLocal.cpp", |
| "$dawn_dxc_dir/lib/Support/Threading.cpp", |
| "$dawn_dxc_dir/lib/Support/TimeProfiler.cpp", |
| "$dawn_dxc_dir/lib/Support/TimeValue.cpp", |
| "$dawn_dxc_dir/lib/Support/Timer.cpp", |
| "$dawn_dxc_dir/lib/Support/ToolOutputFile.cpp", |
| "$dawn_dxc_dir/lib/Support/Triple.cpp", |
| "$dawn_dxc_dir/lib/Support/Twine.cpp", |
| "$dawn_dxc_dir/lib/Support/Unicode.cpp", |
| "$dawn_dxc_dir/lib/Support/Valgrind.cpp", |
| "$dawn_dxc_dir/lib/Support/Watchdog.cpp", |
| "$dawn_dxc_dir/lib/Support/YAMLParser.cpp", |
| "$dawn_dxc_dir/lib/Support/YAMLTraits.cpp", |
| "$dawn_dxc_dir/lib/Support/assert.cpp", |
| "$dawn_dxc_dir/lib/Support/circular_raw_ostream.cpp", |
| "$dawn_dxc_dir/lib/Support/raw_os_ostream.cpp", |
| "$dawn_dxc_dir/lib/Support/raw_ostream.cpp", |
| "$dawn_dxc_dir/lib/Support/regcomp.c", |
| "$dawn_dxc_dir/lib/Support/regerror.c", |
| "$dawn_dxc_dir/lib/Support/regexec.c", |
| "$dawn_dxc_dir/lib/Support/regfree.c", |
| "$dawn_dxc_dir/lib/Support/regmalloc.cpp", |
| "$dawn_dxc_dir/lib/Support/regstrlcpy.c", |
| ] |
| } |
| |
| ####################################################################### |
| ## llvm-tblgen and clang-tblgen executables and templates |
| ####################################################################### |
| |
| # Common code for both llvm-tblgen and clang-tblgen |
| source_set("TableGen") { |
| public_deps = [ |
| ":DataTypes-header", |
| ":Support", |
| ] |
| |
| sources = [ |
| "$dawn_dxc_dir/lib/TableGen/Error.cpp", |
| "$dawn_dxc_dir/lib/TableGen/Main.cpp", |
| "$dawn_dxc_dir/lib/TableGen/Record.cpp", |
| "$dawn_dxc_dir/lib/TableGen/SetTheory.cpp", |
| "$dawn_dxc_dir/lib/TableGen/StringMatcher.cpp", |
| "$dawn_dxc_dir/lib/TableGen/TGLexer.cpp", |
| "$dawn_dxc_dir/lib/TableGen/TGParser.cpp", |
| "$dawn_dxc_dir/lib/TableGen/TableGenBackend.cpp", |
| ] |
| } |
| |
| executable("llvm-tblgen") { |
| deps = [ ":TableGen" ] |
| |
| sources = [ |
| "$dawn_dxc_dir/utils/TableGen/AsmMatcherEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/AsmWriterEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/AsmWriterInst.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CTagsEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CallingConvEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CodeEmitterGen.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CodeGenDAGPatterns.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CodeGenInstruction.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CodeGenMapTable.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CodeGenRegisters.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CodeGenSchedule.cpp", |
| "$dawn_dxc_dir/utils/TableGen/CodeGenTarget.cpp", |
| "$dawn_dxc_dir/utils/TableGen/DAGISelEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/DAGISelMatcher.cpp", |
| "$dawn_dxc_dir/utils/TableGen/DAGISelMatcherEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/DAGISelMatcherGen.cpp", |
| "$dawn_dxc_dir/utils/TableGen/DAGISelMatcherOpt.cpp", |
| "$dawn_dxc_dir/utils/TableGen/DFAPacketizerEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/DisassemblerEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/FastISelEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/FixedLenDecoderEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/InstrInfoEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/IntrinsicEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/OptParserEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/PseudoLoweringEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/RegisterInfoEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/SubtargetEmitter.cpp", |
| "$dawn_dxc_dir/utils/TableGen/TableGen.cpp", |
| ] |
| } |
| |
| executable("clang-tblgen") { |
| deps = [ ":TableGen" ] |
| |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/ClangASTNodesEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/ClangAttrEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/ClangCommentHTMLTagsEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/NeonEmitter.cpp", |
| "$dawn_dxc_dir/tools/clang/utils/TableGen/TableGen.cpp", |
| ] |
| } |
| |
| template("tblgen") { |
| assert(defined(invoker.args), "must set 'args'") |
| assert(defined(invoker.td_file), "must set 'td_file") |
| assert(defined(invoker.output_name), "must set 'output_name") |
| assert(defined(invoker.tblgen_target), "must set 'tblgen_target") |
| |
| built_target_action(target_name) { |
| td_file = invoker.td_file |
| target = invoker.tblgen_target |
| inputs = [ td_file ] |
| |
| # TODO(amaiorano): Maybe targets should provide full path |
| output_file = "$target_gen_dir/" + invoker.output_name |
| depfile = "$output_file.d" |
| td_file = rebase_path(td_file, root_build_dir) |
| |
| args = [ |
| "-I", |
| rebase_path("${invoker.dawn_dxc_dir}/include", root_build_dir), |
| "-I", |
| get_path_info(td_file, "dir"), |
| "-d", |
| rebase_path(depfile, root_build_dir), |
| "-o", |
| rebase_path(output_file, root_build_dir), |
| td_file, |
| ] + invoker.args |
| |
| outputs = [ output_file ] |
| } |
| } |
| |
| template("clang_tablegen") { |
| tblgen(target_name) { |
| forward_variables_from(invoker, |
| [ |
| "output_name", |
| "td_file", |
| "visibility", |
| ]) |
| args = invoker.args |
| tblgen_target = ":clang-tblgen" |
| } |
| } |
| |
| template("clang_diag_gen") { |
| clang_tablegen("Diagnostic${target_name}Kinds-inc") { |
| forward_variables_from(invoker, "*") |
| args = [ |
| "-gen-clang-diags-defs", |
| "-clang-component=${target_name}", |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Diagnostic.td" |
| output_name = |
| "/tools/clang/include/clang/Basic/Diagnostic${target_name}Kinds.inc" |
| } |
| } |
| |
| ####################################################################### |
| ## llvm-tblgen and clang-tblgen targets |
| ####################################################################### |
| |
| tblgen("HLSLOptions-inc") { |
| args = [ "-gen-opt-parser-defs" ] |
| td_file = "$dawn_dxc_dir/include/dxc/Support/HLSLOptions.td" |
| output_name = "include/dxc/Support/HLSLOptions.inc" |
| tblgen_target = ":llvm-tblgen" |
| } |
| |
| tblgen("Intrinsics-td") { |
| args = [ "-gen-intrinsic" ] |
| td_file = "$dawn_dxc_dir/include/llvm/IR/Intrinsics.td" |
| output_name = "include/llvm/IR/Intrinsics.gen" |
| tblgen_target = ":llvm-tblgen" |
| } |
| |
| tblgen("clang-Driver-Options-inc") { |
| args = [ "-gen-opt-parser-defs" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Driver/Options.td" |
| output_name = "tools/clang/include/clang/Driver/Options.inc" |
| tblgen_target = ":llvm-tblgen" |
| } |
| |
| clang_diag_gen("Analysis") { |
| } |
| clang_diag_gen("AST") { |
| } |
| clang_diag_gen("Comment") { |
| } |
| clang_diag_gen("Common") { |
| } |
| clang_diag_gen("Driver") { |
| } |
| clang_diag_gen("Frontend") { |
| } |
| clang_diag_gen("Lex") { |
| } |
| clang_diag_gen("Parse") { |
| } |
| clang_diag_gen("Sema") { |
| } |
| clang_diag_gen("Serialization") { |
| } |
| clang_tablegen("DiagnosticGroups-inc") { |
| args = [ "-gen-clang-diag-groups" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Diagnostic.td" |
| output_name = "/tools/clang/include/clang/Basic/DiagnosticGroups.inc" |
| } |
| clang_tablegen("AttrList-inc") { |
| args = [ |
| "-gen-clang-attr-list", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Basic/AttrList.inc" |
| } |
| clang_tablegen("AttrHasAttributeImpl-inc") { |
| args = [ |
| "-gen-clang-attr-has-attribute-impl", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Basic/AttrHasAttributeImpl.inc" |
| } |
| ClangBasicDeps = [ |
| ":DiagnosticAnalysisKinds-inc", |
| ":DiagnosticASTKinds-inc", |
| ":DiagnosticCommentKinds-inc", |
| ":DiagnosticCommonKinds-inc", |
| ":DiagnosticDriverKinds-inc", |
| ":DiagnosticFrontendKinds-inc", |
| ":DiagnosticLexKinds-inc", |
| ":DiagnosticParseKinds-inc", |
| ":DiagnosticSemaKinds-inc", |
| ":DiagnosticSerializationKinds-inc", |
| ":DiagnosticGroups-inc", |
| ":AttrList-inc", |
| ":AttrHasAttributeImpl-inc", |
| ] |
| |
| clang_tablegen("Attrs-inc") { |
| args = [ |
| "-gen-clang-attr-classes", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/AST/Attrs.inc" |
| } |
| clang_tablegen("AttrImpl-inc") { |
| args = [ |
| "-gen-clang-attr-impl", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/AST/AttrImpl.inc" |
| } |
| clang_tablegen("AttrDump-inc") { |
| args = [ |
| "-gen-clang-attr-dump", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/AST/AttrDump.inc" |
| } |
| clang_tablegen("AttrVisitor-inc") { |
| args = [ |
| "-gen-clang-attr-ast-visitor", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/AST/AttrVisitor.inc" |
| } |
| clang_tablegen("StmtNodes-inc") { |
| args = [ "-gen-clang-stmt-nodes" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/StmtNodes.td" |
| output_name = "/tools/clang/include/clang/AST/StmtNodes.inc" |
| } |
| clang_tablegen("DeclNodes-inc") { |
| args = [ "-gen-clang-decl-nodes" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/DeclNodes.td" |
| output_name = "/tools/clang/include/clang/AST/DeclNodes.inc" |
| } |
| clang_tablegen("CommentNodes-inc") { |
| args = [ "-gen-clang-comment-nodes" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/CommentNodes.td" |
| output_name = "/tools/clang/include/clang/AST/CommentNodes.inc" |
| } |
| clang_tablegen("CommentHTMLTags-inc") { |
| args = [ "-gen-clang-comment-html-tags" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/AST/CommentHTMLTags.td" |
| output_name = "/tools/clang/include/clang/AST/CommentHTMLTags.inc" |
| } |
| clang_tablegen("CommentHTMLTagsProperties-inc") { |
| args = [ "-gen-clang-comment-html-tags-properties" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/AST/CommentHTMLTags.td" |
| output_name = "/tools/clang/include/clang/AST/CommentHTMLTagsProperties.inc" |
| } |
| clang_tablegen("CommentHTMLNamedCharacterReferences-inc") { |
| args = [ "-gen-clang-comment-html-named-character-references" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.td" |
| output_name = |
| "/tools/clang/include/clang/AST/CommentHTMLNamedCharacterReferences.inc" |
| } |
| clang_tablegen("CommentCommandInfo-inc") { |
| args = [ "-gen-clang-comment-command-info" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/AST/CommentCommands.td" |
| output_name = "/tools/clang/include/clang/AST/CommentCommandInfo.inc" |
| } |
| clang_tablegen("CommentCommandList-inc") { |
| args = [ "-gen-clang-comment-command-list" ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/AST/CommentCommands.td" |
| output_name = "/tools/clang/include/clang/AST/CommentCommandList.inc" |
| } |
| ClangASTDeps = [ |
| ":Attrs-inc", |
| ":AttrImpl-inc", |
| ":AttrDump-inc", |
| ":AttrVisitor-inc", |
| ":StmtNodes-inc", |
| ":DeclNodes-inc", |
| ":CommentNodes-inc", |
| ":CommentHTMLTags-inc", |
| ":CommentHTMLTagsProperties-inc", |
| ":CommentHTMLNamedCharacterReferences-inc", |
| ":CommentCommandInfo-inc", |
| ":CommentCommandList-inc", |
| ] |
| clang_tablegen("AttrTemplateInstantiate-inc") { |
| args = [ |
| "-gen-clang-attr-template-instantiate", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Sema/AttrTemplateInstantiate.inc" |
| } |
| clang_tablegen("AttrParsedAttrList-inc") { |
| args = [ |
| "-gen-clang-attr-parsed-attr-list", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Sema/AttrParsedAttrList.inc" |
| } |
| clang_tablegen("AttrParsedAttrKinds-inc") { |
| args = [ |
| "-gen-clang-attr-parsed-attr-kinds", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Sema/AttrParsedAttrKinds.inc" |
| } |
| clang_tablegen("AttrSpellingListIndex-inc") { |
| args = [ |
| "-gen-clang-attr-spelling-index", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Sema/AttrSpellingListIndex.inc" |
| } |
| clang_tablegen("AttrParsedAttrImpl-inc") { |
| args = [ |
| "-gen-clang-attr-parsed-attr-impl", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc" |
| } |
| ClangSemaDeps = [ |
| ":AttrTemplateInstantiate-inc", |
| ":AttrParsedAttrList-inc", |
| ":AttrParsedAttrKinds-inc", |
| ":AttrSpellingListIndex-inc", |
| ":AttrParsedAttrImpl-inc", |
| ] |
| clang_tablegen("AttrParserStringSwitches-inc") { |
| args = [ |
| "-gen-clang-attr-parser-string-switches", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Parse/AttrParserStringSwitches.inc" |
| } |
| clang_tablegen("AttrPCHRead-inc") { |
| args = [ |
| "-gen-clang-attr-pch-read", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Serialization/AttrPCHRead.inc" |
| } |
| clang_tablegen("AttrPCHWrite-inc") { |
| args = [ |
| "-gen-clang-attr-pch-write", |
| "-I", |
| rebase_path("$dawn_dxc_dir/tools/clang/include", root_build_dir), |
| ] |
| td_file = "$dawn_dxc_dir/tools/clang/include/clang/Basic/Attr.td" |
| output_name = "/tools/clang/include/clang/Serialization/AttrPCHWrite.inc" |
| } |
| |
| ####################################################################### |
| ## dxc generators (gen_version, hlsl_hctgen, etc.) |
| ####################################################################### |
| |
| # Generates dxcetw.h used by dxcompiler |
| system_binary_action("dxcetw-h") { |
| manifest = "$dawn_dxc_dir/include/dxc/Tracing/dxcetw.man" |
| inputs = [ manifest ] |
| gen_output_dir = "$target_gen_dir/include/dxc/Tracing/dxcetw" |
| outputs = [ |
| "$gen_output_dir/dxcetw.h", |
| "$gen_output_dir/dxcetw.rc", |
| "$gen_output_dir/dxcetwTEMP.bin", |
| |
| # Note: CMake copies from tmpdxcetw_MSG00001.bin to MSG00001.bin, |
| # but we don't copy, so we get the default output name. Is this okay? |
| "$gen_output_dir/dxcetw_MSG00001.bin", |
| ] |
| args = [ |
| "mc", |
| "-r", |
| rebase_path(gen_output_dir, root_build_dir), |
| "-h", |
| rebase_path(gen_output_dir, root_build_dir), |
| "-p", |
| "DxcEtw_", |
| "-um", |
| "-z", |
| "dxcetw", |
| rebase_path(manifest, root_build_dir), |
| ] |
| } |
| |
| generate_version_include("hlsl_dxcversion_autogen") { |
| input_file = "$dawn_dxc_dir/utils/version/version.inc" |
| output_file = "/utils/version/dxcversion.inc" |
| } |
| |
| add_hlsl_hctgen("DxcDisassembler-inc") { |
| mode = "DxcDisassembler" |
| output = "/tools/clang/tools/dxcompiler/DxcDisassembler.inc" |
| build_dir = true |
| } |
| add_hlsl_hctgen("DxilValidation-inc") { |
| mode = "DxilValidationInc" |
| output = "/include/dxc/HLSL/DxilValidation.inc" |
| build_dir = true |
| } |
| add_hlsl_hctgen("DxcOptimizer-inc") { |
| mode = "DxcOptimizer" |
| output = "/lib/HLSL/DxcOptimizer.inc" |
| build_dir = true |
| } |
| add_hlsl_hctgen("DxilValidationImpl-inc") { |
| mode = "DxilValidation" |
| output = "/lib/HLSL/DxilValidationImpl.inc" |
| build_dir = true |
| } |
| add_hlsl_hctgen("gen_intrin_main_tables_15-h") { |
| mode = "DxilIntrinsicTables" |
| output = "/tools/clang/lib/Sema/gen_intrin_main_tables_15.h" |
| build_dir = true |
| } |
| add_hlsl_hctgen("DxilPIXPasses-inc") { |
| mode = "DxilPIXPasses" |
| output = "/lib/DxilPIXPasses/DxilPIXPasses.inc" |
| build_dir = true |
| } |
| |
| ####################################################################### |
| ## dxc and dxcompiler |
| ####################################################################### |
| |
| # This target contains common code shared by both 'dxc' and 'dxcompiler' targets |
| static_library("dxclib") { |
| public_configs = [ ":common_config" ] |
| |
| if (dawn_has_build) { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| } |
| public_deps = [ |
| ":DataTypes-header", |
| ":HLSLOptions-inc", |
| ":Intrinsics-td", |
| ":SharedLibAffix-h", |
| ":Support", |
| ] |
| sources = [ |
| "$dawn_dxc_dir/lib/DXIL/DxilCBuffer.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilCompType.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilCounters.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilInterpolationMode.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilMetadataHelper.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilModule.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilModuleHelper.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilOperations.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilPDB.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilResource.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilResourceBase.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilResourceBinding.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilResourceProperties.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilSampler.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilSemantic.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilShaderFlags.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilShaderModel.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilSignature.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilSignatureElement.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilSubobject.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilTypeSystem.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilUtil.cpp", |
| "$dawn_dxc_dir/lib/DXIL/DxilUtilDbgInfoAndMisc.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/FileIOHelper.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/Global.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/HLSLOptions.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/Unicode.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/WinAdapter.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/WinFunctions.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/dxcapi.use.cpp", |
| "$dawn_dxc_dir/lib/DxcSupport/dxcmem.cpp", |
| "$dawn_dxc_dir/lib/DxilContainer/DxcContainerBuilder.cpp", |
| "$dawn_dxc_dir/lib/DxilContainer/DxilContainer.cpp", |
| "$dawn_dxc_dir/lib/DxilContainer/DxilContainerAssembler.cpp", |
| "$dawn_dxc_dir/lib/DxilContainer/DxilContainerReader.cpp", |
| "$dawn_dxc_dir/lib/DxilContainer/DxilRDATBuilder.cpp", |
| "$dawn_dxc_dir/lib/DxilContainer/DxilRuntimeReflection.cpp", |
| "$dawn_dxc_dir/lib/DxilContainer/RDATDxilSubobjects.cpp", |
| "$dawn_dxc_dir/lib/Option/Arg.cpp", |
| "$dawn_dxc_dir/lib/Option/ArgList.cpp", |
| "$dawn_dxc_dir/lib/Option/OptTable.cpp", |
| "$dawn_dxc_dir/lib/Option/Option.cpp", |
| ] |
| } |
| |
| # Template to define a source_set or static_library for dxcompiler sources. |
| # Used to split up sources into multiple targets to avoid name collisions. |
| template("dxcompiler_sourceset") { |
| assert(defined(invoker.target_type), "must set target_type") |
| |
| target(invoker.target_type, target_name) { |
| forward_variables_from(invoker, [ "sources" ]) |
| |
| public_configs = [ ":common_config" ] |
| |
| if (is_win) { |
| # DXC is built with multibyte character set, so it expects Win32 functions to map the ANSI ones, not the UNICODE ones. |
| configs -= [ "//build/config/win:unicode" ] |
| } |
| |
| deps = [ |
| ":AttrPCHRead-inc", |
| ":AttrPCHWrite-inc", |
| ":AttrParserStringSwitches-inc", |
| ":DxcOptimizer-inc", |
| ":DxilPIXPasses-inc", |
| ":DxilValidation-inc", |
| ":DxilValidationImpl-inc", |
| ":clang-Driver-Options-inc", |
| ":clang-basic-version-inc", |
| ":clang-config-h", |
| ":dxclib", |
| ":gen_intrin_main_tables_15-h", |
| ":hlsl_dxcversion_autogen", |
| ] |
| deps += ClangBasicDeps |
| deps += ClangASTDeps |
| deps += ClangSemaDeps |
| |
| include_dirs = [ |
| "${target_gen_dir}/utils/version", # hlsl_dxcversion_autogen |
| "${target_gen_dir}/tools/clang/include", |
| "${target_gen_dir}/tools/clang/tools/dxcompiler", |
| "${target_gen_dir}/tools/clang/lib/Sema", |
| "${target_gen_dir}/lib/HLSL", |
| "${target_gen_dir}/lib/DxilPIXPasses", |
| ] |
| |
| if (is_linux) { |
| include_dirs += [ |
| "$dawn_dxheaders_dir/include/directx", |
| "$dawn_dxheaders_dir/include/wsl/stubs/", |
| ] |
| } |
| |
| if (is_win) { |
| deps += [ ":dxcetw-h" ] |
| include_dirs += [ |
| "$target_gen_dir/include/dxc/Tracing/dxcetw", # dxcetw-h |
| "$visual_studio_path/DIA SDK/include", # Required for msvc builds |
| ] |
| } |
| |
| defines = [ |
| "DXC_API_IMPORT=", # Don't import locally defined symbols |
| "CINDEX_LINKAGE=", |
| "LIBCLANG_CC=", |
| "_CINDEX_LIB_", |
| ] |
| |
| if (defined(invoker.defines)) { |
| defines += invoker.defines |
| } |
| } |
| } |
| |
| dxcompiler_sourceset("lib_analysis") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/Analysis/AliasAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/AliasAnalysisCounter.cpp", |
| "$dawn_dxc_dir/lib/Analysis/AliasAnalysisEvaluator.cpp", |
| "$dawn_dxc_dir/lib/Analysis/AliasDebugger.cpp", |
| "$dawn_dxc_dir/lib/Analysis/AliasSetTracker.cpp", |
| "$dawn_dxc_dir/lib/Analysis/Analysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/AssumptionCache.cpp", |
| "$dawn_dxc_dir/lib/Analysis/BasicAliasAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/BlockFrequencyInfo.cpp", |
| "$dawn_dxc_dir/lib/Analysis/BlockFrequencyInfoImpl.cpp", |
| "$dawn_dxc_dir/lib/Analysis/BranchProbabilityInfo.cpp", |
| "$dawn_dxc_dir/lib/Analysis/CFG.cpp", |
| "$dawn_dxc_dir/lib/Analysis/CFGPrinter.cpp", |
| "$dawn_dxc_dir/lib/Analysis/CFLAliasAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/CGSCCPassManager.cpp", |
| "$dawn_dxc_dir/lib/Analysis/CaptureTracking.cpp", |
| "$dawn_dxc_dir/lib/Analysis/CodeMetrics.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ConstantFolding.cpp", |
| "$dawn_dxc_dir/lib/Analysis/CostModel.cpp", |
| "$dawn_dxc_dir/lib/Analysis/Delinearization.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DependenceAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DivergenceAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DomPrinter.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DominanceFrontier.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DxilConstantFolding.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DxilConstantFoldingExt.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DxilSimplify.cpp", |
| "$dawn_dxc_dir/lib/Analysis/DxilValueCache.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IPA/CallGraph.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IPA/CallGraphSCCPass.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IPA/CallPrinter.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IPA/GlobalsModRef.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IPA/IPA.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IPA/InlineCost.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IVUsers.cpp", |
| "$dawn_dxc_dir/lib/Analysis/InstCount.cpp", |
| "$dawn_dxc_dir/lib/Analysis/InstructionSimplify.cpp", |
| "$dawn_dxc_dir/lib/Analysis/Interval.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IntervalPartition.cpp", |
| "$dawn_dxc_dir/lib/Analysis/IteratedDominanceFrontier.cpp", |
| "$dawn_dxc_dir/lib/Analysis/LazyCallGraph.cpp", |
| "$dawn_dxc_dir/lib/Analysis/LazyValueInfo.cpp", |
| "$dawn_dxc_dir/lib/Analysis/LibCallAliasAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/LibCallSemantics.cpp", |
| "$dawn_dxc_dir/lib/Analysis/Lint.cpp", |
| "$dawn_dxc_dir/lib/Analysis/Loads.cpp", |
| "$dawn_dxc_dir/lib/Analysis/LoopAccessAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/LoopInfo.cpp", |
| "$dawn_dxc_dir/lib/Analysis/LoopPass.cpp", |
| "$dawn_dxc_dir/lib/Analysis/MemDepPrinter.cpp", |
| "$dawn_dxc_dir/lib/Analysis/MemDerefPrinter.cpp", |
| "$dawn_dxc_dir/lib/Analysis/MemoryBuiltins.cpp", |
| "$dawn_dxc_dir/lib/Analysis/MemoryDependenceAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/MemoryLocation.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ModuleDebugInfoPrinter.cpp", |
| "$dawn_dxc_dir/lib/Analysis/NoAliasAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/PHITransAddr.cpp", |
| "$dawn_dxc_dir/lib/Analysis/PostDominators.cpp", |
| "$dawn_dxc_dir/lib/Analysis/PtrUseVisitor.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ReducibilityAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/RegionPass.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ScalarEvolution.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ScalarEvolutionExpander.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ScalarEvolutionNormalization.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ScopedNoAliasAA.cpp", |
| "$dawn_dxc_dir/lib/Analysis/SparsePropagation.cpp", |
| "$dawn_dxc_dir/lib/Analysis/TargetLibraryInfo.cpp", |
| "$dawn_dxc_dir/lib/Analysis/TargetTransformInfo.cpp", |
| "$dawn_dxc_dir/lib/Analysis/Trace.cpp", |
| "$dawn_dxc_dir/lib/Analysis/TypeBasedAliasAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Analysis/ValueTracking.cpp", |
| "$dawn_dxc_dir/lib/Analysis/VectorUtils.cpp", |
| "$dawn_dxc_dir/lib/Analysis/VectorUtils2.cpp", |
| "$dawn_dxc_dir/lib/Analysis/regioninfo.cpp", |
| "$dawn_dxc_dir/lib/Analysis/regionprinter.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_asmparser") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/AsmParser/LLLexer.cpp", |
| "$dawn_dxc_dir/lib/AsmParser/LLParser.cpp", |
| "$dawn_dxc_dir/lib/AsmParser/Parser.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_bitcode") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/Bitcode/Reader/BitcodeReader.cpp", |
| "$dawn_dxc_dir/lib/Bitcode/Reader/BitstreamReader.cpp", |
| "$dawn_dxc_dir/lib/Bitcode/Writer/BitWriter.cpp", |
| "$dawn_dxc_dir/lib/Bitcode/Writer/BitcodeWriter.cpp", |
| "$dawn_dxc_dir/lib/Bitcode/Writer/BitcodeWriterPass.cpp", |
| "$dawn_dxc_dir/lib/Bitcode/Writer/ValueEnumerator.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_dxcbindingtable") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ "$dawn_dxc_dir/lib/DxcBindingTable/DxcBindingTable.cpp" ] |
| } |
| dxcompiler_sourceset("lib_dxilcompression") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/DxilCompression/DxilCompression.cpp", |
| "$dawn_dxc_dir/lib/DxilCompression/miniz.c", |
| ] |
| } |
| dxcompiler_sourceset("lib_dxildia") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| if (is_win) { |
| sources = [ |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixCompilationInfo.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixDxilDebugInfo.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixDxilStorage.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixEntrypoints.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixLiveVariables.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixLiveVariables_FragmentIterator.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixTypes.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxcPixVariables.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDia.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaDataSource.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaEnumTables.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaSession.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaSymbolManager.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTable.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableFrameData.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableInjectedSources.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableInputAssemblyFile.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableLineNumbers.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableSections.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableSegmentMap.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableSourceFiles.cpp", |
| "$dawn_dxc_dir/lib/DxilDia/DxilDiaTableSymbols.cpp", |
| ] |
| } |
| } |
| dxcompiler_sourceset("lib_dxilpixpasses") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilAddPixelHitInstrumentation.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilAnnotateWithVirtualRegister.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilDbgValueToDbgDeclare.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilDebugInstrumentation.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilForceEarlyZ.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilOutputColorBecomesConstant.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilPIXAddTidToAmplificationShaderPayload.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilPIXMeshShaderOutputInstrumentation.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilPIXPasses.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilPIXVirtualRegisters.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilReduceMSAAToSingleSample.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilRemoveDiscards.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/DxilShaderAccessTracking.cpp", |
| "$dawn_dxc_dir/lib/DxilPIXPasses/PixPassHelpers.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_dxilrootsignature") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/DxilRootSignature/DxilRootSignature.cpp", |
| "$dawn_dxc_dir/lib/DxilRootSignature/DxilRootSignatureConvert.cpp", |
| "$dawn_dxc_dir/lib/DxilRootSignature/DxilRootSignatureSerializer.cpp", |
| "$dawn_dxc_dir/lib/DxilRootSignature/DxilRootSignatureValidator.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_hlsl") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/HLSL/ComputeViewIdState.cpp", |
| "$dawn_dxc_dir/lib/HLSL/ComputeViewIdStateBuilder.cpp", |
| "$dawn_dxc_dir/lib/HLSL/ControlDependence.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxcOptimizer.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilCondenseResources.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilContainerReflection.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilConvergent.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilDeleteRedundantDebugValues.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilEliminateOutputDynamicIndexing.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilExpandTrigIntrinsics.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilExportMap.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilGenerationPass.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilLegalizeEvalOperations.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilLegalizeSampleOffsetPass.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilLinker.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilLoopDeletion.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilNoOptLegalize.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilNoops.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilPackSignatureElement.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilPatchShaderRecordBindings.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilPoisonValues.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilPrecisePropagatePass.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilPreparePasses.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilPreserveAllOutputs.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilPromoteResourcePasses.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilRenameResourcesPass.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilSignatureValidation.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilSimpleGVNHoist.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilTargetLowering.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilTargetTransformInfo.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilTranslateRawBuffer.cpp", |
| "$dawn_dxc_dir/lib/HLSL/DxilValidation.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLDeadFunctionElimination.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLExpandStoreIntrinsics.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLLegalizeParameter.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLLowerUDT.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLMatrixBitcastLowerPass.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLMatrixLowerPass.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLMatrixSubscriptUseReplacer.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLMatrixType.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLMetadataPasses.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLModule.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLOperationLower.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLOperationLowerExtension.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLOperations.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLPreprocess.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLResource.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLSignatureLower.cpp", |
| "$dawn_dxc_dir/lib/HLSL/HLUtil.cpp", |
| "$dawn_dxc_dir/lib/HLSL/PauseResumePasses.cpp", |
| "$dawn_dxc_dir/lib/HLSL/WaveSensitivityAnalysis.cpp", |
| ] |
| } |
| |
| dxcompiler_sourceset("lib_irreader") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ "$dawn_dxc_dir/lib/IRReader/IRReader.cpp" ] |
| } |
| dxcompiler_sourceset("lib_linker") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ "$dawn_dxc_dir/lib/Linker/LinkModules.cpp" ] |
| } |
| dxcompiler_sourceset("lib_mc") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/MC/ConstantPools.cpp", |
| "$dawn_dxc_dir/lib/MC/ELFObjectWriter.cpp", |
| "$dawn_dxc_dir/lib/MC/MCAsmBackend.cpp", |
| "$dawn_dxc_dir/lib/MC/MCAsmInfo.cpp", |
| "$dawn_dxc_dir/lib/MC/MCAsmInfoCOFF.cpp", |
| "$dawn_dxc_dir/lib/MC/MCAsmInfoDarwin.cpp", |
| "$dawn_dxc_dir/lib/MC/MCAsmInfoELF.cpp", |
| "$dawn_dxc_dir/lib/MC/MCAsmStreamer.cpp", |
| "$dawn_dxc_dir/lib/MC/MCAssembler.cpp", |
| "$dawn_dxc_dir/lib/MC/MCCodeEmitter.cpp", |
| "$dawn_dxc_dir/lib/MC/MCCodeGenInfo.cpp", |
| "$dawn_dxc_dir/lib/MC/MCContext.cpp", |
| "$dawn_dxc_dir/lib/MC/MCDwarf.cpp", |
| "$dawn_dxc_dir/lib/MC/MCELFObjectTargetWriter.cpp", |
| "$dawn_dxc_dir/lib/MC/MCELFStreamer.cpp", |
| "$dawn_dxc_dir/lib/MC/MCExpr.cpp", |
| "$dawn_dxc_dir/lib/MC/MCInst.cpp", |
| "$dawn_dxc_dir/lib/MC/MCInstPrinter.cpp", |
| "$dawn_dxc_dir/lib/MC/MCInstrAnalysis.cpp", |
| "$dawn_dxc_dir/lib/MC/MCInstrDesc.cpp", |
| "$dawn_dxc_dir/lib/MC/MCLabel.cpp", |
| "$dawn_dxc_dir/lib/MC/MCLinkerOptimizationHint.cpp", |
| "$dawn_dxc_dir/lib/MC/MCMachOStreamer.cpp", |
| "$dawn_dxc_dir/lib/MC/MCMachObjectTargetWriter.cpp", |
| "$dawn_dxc_dir/lib/MC/MCNullStreamer.cpp", |
| "$dawn_dxc_dir/lib/MC/MCObjectFileInfo.cpp", |
| "$dawn_dxc_dir/lib/MC/MCObjectStreamer.cpp", |
| "$dawn_dxc_dir/lib/MC/MCObjectWriter.cpp", |
| "$dawn_dxc_dir/lib/MC/MCRegisterInfo.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSchedule.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSection.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSectionCOFF.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSectionELF.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSectionMachO.cpp", |
| "$dawn_dxc_dir/lib/MC/MCStreamer.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSubtargetInfo.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSymbol.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSymbolELF.cpp", |
| "$dawn_dxc_dir/lib/MC/MCSymbolizer.cpp", |
| "$dawn_dxc_dir/lib/MC/MCTargetOptions.cpp", |
| "$dawn_dxc_dir/lib/MC/MCValue.cpp", |
| "$dawn_dxc_dir/lib/MC/MCWin64EH.cpp", |
| "$dawn_dxc_dir/lib/MC/MCWinEH.cpp", |
| "$dawn_dxc_dir/lib/MC/MachObjectWriter.cpp", |
| "$dawn_dxc_dir/lib/MC/StringTableBuilder.cpp", |
| "$dawn_dxc_dir/lib/MC/SubtargetFeature.cpp", |
| "$dawn_dxc_dir/lib/MC/WinCOFFObjectWriter.cpp", |
| "$dawn_dxc_dir/lib/MC/WinCOFFStreamer.cpp", |
| "$dawn_dxc_dir/lib/MC/YAML.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_object") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/Object/Archive.cpp", |
| "$dawn_dxc_dir/lib/Object/ArchiveWriter.cpp", |
| "$dawn_dxc_dir/lib/Object/Binary.cpp", |
| "$dawn_dxc_dir/lib/Object/COFFObjectFile.cpp", |
| "$dawn_dxc_dir/lib/Object/COFFYAML.cpp", |
| "$dawn_dxc_dir/lib/Object/ELF.cpp", |
| "$dawn_dxc_dir/lib/Object/ELFObjectFile.cpp", |
| "$dawn_dxc_dir/lib/Object/ELFYAML.cpp", |
| "$dawn_dxc_dir/lib/Object/Error.cpp", |
| "$dawn_dxc_dir/lib/Object/IRObjectFile.cpp", |
| "$dawn_dxc_dir/lib/Object/MachOObjectFile.cpp", |
| "$dawn_dxc_dir/lib/Object/MachOUniversal.cpp", |
| "$dawn_dxc_dir/lib/Object/Object.cpp", |
| "$dawn_dxc_dir/lib/Object/ObjectFile.cpp", |
| "$dawn_dxc_dir/lib/Object/RecordStreamer.cpp", |
| "$dawn_dxc_dir/lib/Object/SymbolSize.cpp", |
| "$dawn_dxc_dir/lib/Object/SymbolicFile.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_passprinters") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ "$dawn_dxc_dir/lib/PassPrinters/PassPrinters.cpp" ] |
| } |
| dxcompiler_sourceset("lib_profiledata") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/ProfileData/CoverageMapping.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/CoverageMappingReader.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/CoverageMappingWriter.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/InstrProf.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/InstrProfReader.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/InstrProfWriter.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/SampleProf.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/SampleProfReader.cpp", |
| "$dawn_dxc_dir/lib/ProfileData/SampleProfWriter.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_target") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/Target/Target.cpp", |
| "$dawn_dxc_dir/lib/Target/TargetIntrinsicInfo.cpp", |
| "$dawn_dxc_dir/lib/Target/TargetLoweringObjectFile.cpp", |
| "$dawn_dxc_dir/lib/Target/TargetMachine.cpp", |
| "$dawn_dxc_dir/lib/Target/TargetMachineC.cpp", |
| "$dawn_dxc_dir/lib/Target/TargetRecip.cpp", |
| "$dawn_dxc_dir/lib/Target/TargetSubtargetInfo.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_transforms") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/Transforms/IPO/BarrierNoopPass.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/ConstantMerge.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/DeadArgumentElimination.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/ElimAvailExtern.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/ExtractGV.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/FunctionAttrs.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/GlobalDCE.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/GlobalOpt.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/IPConstantPropagation.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/IPO.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/InlineAlways.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/InlineSimple.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/Inliner.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/Internalize.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/LoopExtractor.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/LowerBitSets.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/MergeFunctions.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/PartialInlining.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/PassManagerBuilder.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/PruneEH.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/StripDeadPrototypes.cpp", |
| "$dawn_dxc_dir/lib/Transforms/IPO/StripSymbols.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineAddSub.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineCalls.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineCasts.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineCompares.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombinePHI.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineSelect.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineShifts.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstCombineVectorOps.cpp", |
| "$dawn_dxc_dir/lib/Transforms/InstCombine/InstructionCombining.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/ADCE.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/BDCE.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/ConstantHoisting.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/ConstantProp.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DCE.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DeadStoreElimination.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DxilConditionalMem2Reg.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DxilEliminateVector.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DxilEraseDeadRegion.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DxilFixConstArrayInitializer.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DxilLoopUnroll.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DxilRemoveDeadBlocks.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/DxilRemoveUnstructuredLoopExits.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/EarlyCSE.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/FlattenCFGPass.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/Float2Int.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/GVN.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/HoistConstantArray.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/IndVarSimplify.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/JumpThreading.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LICM.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoadCombine.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopDeletion.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopDistribute.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopIdiomRecognize.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopInstSimplify.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopInterchange.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopRerollPass.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopRotation.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopStrengthReduce.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopUnrollPass.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LoopUnswitch.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LowerAtomic.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/LowerTypePasses.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/MemCpyOptimizer.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/NaryReassociate.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/PlaceSafepoints.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/Reassociate.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/Reg2Mem.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/Reg2MemHLSL.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/SCCP.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/SROA.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/SampleProfile.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/Scalar.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/ScalarReplAggregates.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/ScalarReplAggregatesHLSL.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/Scalarizer.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/SimplifyCFGPass.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/Sink.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/SpeculativeExecution.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/StructurizeCFG.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Scalar/TailRecursionElimination.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/ASanStackFrameLayout.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/AddDiscriminators.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/BasicBlockUtils.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/BreakCriticalEdges.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/BuildLibCalls.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/BypassSlowDivision.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/CloneFunction.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/CloneModule.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/CmpInstAnalysis.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/CodeExtractor.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/CtorUtils.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/DemoteRegToStack.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/FlattenCFG.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/GlobalStatus.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/InlineFunction.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/InstructionNamer.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/IntegerDivision.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LCSSA.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/Local.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LoopSimplify.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LoopSimplifyId.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LoopUnroll.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LoopUnrollRuntime.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LoopUtils.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LoopVersioning.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LowerInvoke.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/LowerSwitch.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/Mem2Reg.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/MetaRenamer.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/ModuleUtils.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/PromoteMemoryToRegister.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/SSAUpdater.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/SimplifyCFG.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/SimplifyIndVar.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/SimplifyInstructions.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/SimplifyLibCalls.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/SymbolRewriter.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/Utils.cpp", |
| "$dawn_dxc_dir/lib/Transforms/Utils/ValueMapper.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_astmatchers") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_ast") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/AST/APValue.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ASTConsumer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ASTContext.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ASTContextHLSL.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ASTDiagnostic.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ASTDumper.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ASTImporter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ASTTypeTraits.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/AttrImpl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/CXXInheritance.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/Comment.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/CommentBriefParser.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/CommentCommandTraits.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/CommentLexer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/CommentParser.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/CommentSema.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/Decl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclBase.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclFriend.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclGroup.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclObjC.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclOpenMP.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclPrinter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclTemplate.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/DeclarationName.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/Expr.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ExprCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ExprClassification.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ExprConstant.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ExternalASTSource.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/HlslBuiltinTypeDeclBuilder.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/HlslTypes.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/InheritViz.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ItaniumCXXABI.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ItaniumMangle.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/Mangle.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/MicrosoftCXXABI.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/MicrosoftMangle.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/NestedNameSpecifier.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/ParentMap.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/RawCommentList.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/RecordLayout.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/RecordLayoutBuilder.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/SelectorLocationsKind.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/Stmt.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/StmtIterator.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/StmtPrinter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/StmtProfile.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/StmtViz.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/TemplateBase.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/TemplateName.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/Type.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/TypeLoc.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/TypePrinter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/VTTBuilder.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/AST/VTableBuilder.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_analysis") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/AnalysisDeclContext.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/BodyFarm.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/CFG.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/CFGReachabilityAnalysis.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/CFGStmtMap.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/CallGraph.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/CodeInjector.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/Consumed.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/Dominators.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/LiveVariables.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/ObjCNoReturn.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/PostOrderCFGView.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/ProgramPoint.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/PseudoConstantAnalysis.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/ReachableCode.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/ThreadSafety.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/ThreadSafetyLogical.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Analysis/UninitializedValues.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_basic") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Attributes.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Builtins.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/CharInfo.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Diagnostic.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/DiagnosticIDs.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/DiagnosticOptions.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/FileManager.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/FileSystemStatCache.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/IdentifierTable.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/LangOptions.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Module.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/ObjCRuntime.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/OpenMPKinds.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/OperatorPrecedence.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/SanitizerBlacklist.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Sanitizers.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/SourceLocation.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/SourceManager.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/TargetInfo.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Targets.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/TokenKinds.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Version.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/VersionTuple.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/VirtualFileSystem.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Basic/Warnings.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_codegen") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/BackendUtil.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGAtomic.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGBlocks.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGBuiltin.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGCUDANV.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGCUDARuntime.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGCXXABI.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGCall.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGClass.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGCleanup.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGDebugInfo.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGDecl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGDeclCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGException.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGExpr.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGExprAgg.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGExprCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGExprComplex.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGExprConstant.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGExprScalar.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGHLSLMS.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGHLSLMSFinishCodeGen.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGHLSLRootSignature.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGHLSLRuntime.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGLoopInfo.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGObjC.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGStmt.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGVTT.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CGVTables.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CodeGenABITypes.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CodeGenAction.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CodeGenFunction.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CodeGenModule.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CodeGenPGO.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CodeGenTBAA.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CodeGenTypes.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/CoverageMappingGen.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/ModuleBuilder.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/SanitizerMetadata.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/CodeGen/TargetInfo.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_driver") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Action.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Compilation.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/CrossWindowsToolChain.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Driver.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/DriverOptions.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Job.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/MSVCToolChain.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/MinGWToolChain.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Multilib.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Phases.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/SanitizerArgs.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Tool.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/ToolChain.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/ToolChains.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Tools.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Driver/Types.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_edit") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Edit/Commit.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Edit/EditedSource.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_format") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Format/BreakableToken.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Format/ContinuationIndenter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Format/Format.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Format/FormatToken.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Format/TokenAnnotator.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Format/UnwrappedLineFormatter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Format/UnwrappedLineParser.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Format/WhitespaceManager.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_frontend") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/ASTConsumers.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/ASTMerge.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/ASTUnit.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/CacheTokens.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/ChainedDiagnosticConsumer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/CodeGenOptions.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/CompilerInstance.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/CompilerInvocation.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/DependencyFile.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/DependencyGraph.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/DiagnosticRenderer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/FrontendAction.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/FrontendActions.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/FrontendOptions.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/HeaderIncludeGen.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/InitHeaderSearch.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/InitPreprocessor.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/LangStandards.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/LayoutOverrideSource.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/MultiplexConsumer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/PCHContainerOperations.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/SerializedDiagnosticReader.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/TextDiagnostic.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/TextDiagnosticBuffer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_index") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Index/CommentToXML.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Index/USRGeneration.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_lex") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Lex/HLSLMacroExpander.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/HeaderMap.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/HeaderSearch.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/Lexer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/LiteralSupport.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/MacroArgs.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/MacroInfo.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/ModuleMap.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PPCaching.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PPCallbacks.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PPConditionalDirectiveRecord.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PPDirectives.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PPExpressions.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PPLexerChange.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PPMacroExpansion.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PTHLexer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/Pragma.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PreprocessingRecord.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/Preprocessor.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/PreprocessorLexer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/ScratchBuffer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/TokenConcatenation.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Lex/TokenLexer.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_parse") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Parse/HLSLRootSignature.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseAST.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseDecl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseDeclCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseExpr.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseExprCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseHLSL.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseInit.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseObjc.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseOpenMP.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParsePragma.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseStmt.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseStmtAsm.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseTemplate.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/ParseTentative.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Parse/Parser.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_rewrite") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Rewrite/DeltaTree.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Rewrite/HTMLRewrite.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Rewrite/RewriteRope.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Rewrite/Rewriter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Rewrite/TokenRewriter.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_sema") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/AttributeList.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/CodeCompleteConsumer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/DeclSpec.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/DelayedDiagnostic.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/IdentifierResolver.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/JumpDiagnostics.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/Scope.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/ScopeInfo.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/Sema.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaAccess.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaAttr.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaCUDA.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaCast.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaChecking.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaCodeComplete.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaConsumer.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaDXR.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaDecl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaDeclAttr.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaDeclCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaDeclObjC.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaExceptionSpec.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaExpr.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaExprCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaExprMember.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaExprObjC.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaFixItUtils.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaHLSL.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaInit.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaLambda.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaLookup.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaObjCProperty.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaOpenMP.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaOverload.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaPseudoObject.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaStmt.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaStmtAsm.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaStmtAttr.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaTemplate.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaTemplateDeduction.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaTemplateVariadic.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/SemaType.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Sema/TypeLocBuilder.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_serialization") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ASTCommon.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ASTReader.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ASTReaderDecl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ASTReaderStmt.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ASTWriter.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ASTWriterDecl.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ASTWriterStmt.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/GeneratePCH.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/GlobalModuleIndex.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/Module.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Serialization/ModuleManager.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_lib_tooling") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/CommonOptionsParser.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/CompilationDatabase.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/Core/Replacement.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/FileMatchTrie.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/Refactoring.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/RefactoringCallbacks.cpp", |
| "$dawn_dxc_dir/tools/clang/lib/Tooling/Tooling.cpp", |
| ] |
| } |
| dxcompiler_sourceset("clang_tools_libclang") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndex.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndexCXX.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndexCodeCompletion.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndexDiagnostic.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndexHigh.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndexInclusionStack.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndexUSRs.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CIndexer.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXComment.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXCompilationDatabase.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXCursor.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXLoadedDiagnostic.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXSourceLocation.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXStoredDiagnostic.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXString.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/CXType.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/IndexBody.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/IndexDecl.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/IndexTypeSourceInfo.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/Indexing.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/IndexingContext.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/dxcisenseimpl.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/libclang/dxcrewriteunused.cpp", |
| ] |
| } |
| dxcompiler_sourceset("lib_ir") { |
| target_type = "static_library" # Ensure unused globals are stripped |
| sources = [ |
| "$dawn_dxc_dir/lib/IR/AsmWriter.cpp", |
| "$dawn_dxc_dir/lib/IR/Attributes.cpp", |
| "$dawn_dxc_dir/lib/IR/AutoUpgrade.cpp", |
| "$dawn_dxc_dir/lib/IR/BasicBlock.cpp", |
| "$dawn_dxc_dir/lib/IR/Comdat.cpp", |
| "$dawn_dxc_dir/lib/IR/ConstantFold.cpp", |
| "$dawn_dxc_dir/lib/IR/ConstantRange.cpp", |
| "$dawn_dxc_dir/lib/IR/Constants.cpp", |
| "$dawn_dxc_dir/lib/IR/Core.cpp", |
| "$dawn_dxc_dir/lib/IR/DIBuilder.cpp", |
| "$dawn_dxc_dir/lib/IR/DataLayout.cpp", |
| "$dawn_dxc_dir/lib/IR/DebugInfo.cpp", |
| "$dawn_dxc_dir/lib/IR/DebugInfoMetadata.cpp", |
| "$dawn_dxc_dir/lib/IR/DebugLoc.cpp", |
| "$dawn_dxc_dir/lib/IR/DiagnosticInfo.cpp", |
| "$dawn_dxc_dir/lib/IR/DiagnosticPrinter.cpp", |
| "$dawn_dxc_dir/lib/IR/Dominators.cpp", |
| "$dawn_dxc_dir/lib/IR/Function.cpp", |
| "$dawn_dxc_dir/lib/IR/GCOV.cpp", |
| "$dawn_dxc_dir/lib/IR/GVMaterializer.cpp", |
| "$dawn_dxc_dir/lib/IR/Globals.cpp", |
| "$dawn_dxc_dir/lib/IR/IRBuilder.cpp", |
| "$dawn_dxc_dir/lib/IR/IRPrintingPasses.cpp", |
| "$dawn_dxc_dir/lib/IR/InlineAsm.cpp", |
| "$dawn_dxc_dir/lib/IR/Instruction.cpp", |
| "$dawn_dxc_dir/lib/IR/Instructions.cpp", |
| "$dawn_dxc_dir/lib/IR/IntrinsicInst.cpp", |
| "$dawn_dxc_dir/lib/IR/LLVMContext.cpp", |
| "$dawn_dxc_dir/lib/IR/LLVMContextImpl.cpp", |
| "$dawn_dxc_dir/lib/IR/LegacyPassManager.cpp", |
| "$dawn_dxc_dir/lib/IR/MDBuilder.cpp", |
| "$dawn_dxc_dir/lib/IR/Mangler.cpp", |
| "$dawn_dxc_dir/lib/IR/Metadata.cpp", |
| "$dawn_dxc_dir/lib/IR/MetadataTracking.cpp", |
| "$dawn_dxc_dir/lib/IR/Module.cpp", |
| "$dawn_dxc_dir/lib/IR/Operator.cpp", |
| "$dawn_dxc_dir/lib/IR/Pass.cpp", |
| "$dawn_dxc_dir/lib/IR/PassManager.cpp", |
| "$dawn_dxc_dir/lib/IR/PassRegistry.cpp", |
| "$dawn_dxc_dir/lib/IR/Statepoint.cpp", |
| "$dawn_dxc_dir/lib/IR/Type.cpp", |
| "$dawn_dxc_dir/lib/IR/TypeFinder.cpp", |
| "$dawn_dxc_dir/lib/IR/Use.cpp", |
| "$dawn_dxc_dir/lib/IR/User.cpp", |
| "$dawn_dxc_dir/lib/IR/Value.cpp", |
| "$dawn_dxc_dir/lib/IR/ValueSymbolTable.cpp", |
| "$dawn_dxc_dir/lib/IR/ValueTypes.cpp", |
| "$dawn_dxc_dir/lib/IR/Verifier.cpp", |
| ] |
| } |
| |
| dxcompiler_sourceset("dxcompiler_sources") { |
| # Use source_set as these are the sources for the dxcompiler target |
| target_type = "source_set" |
| |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/DXCompiler.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcapi.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcassembler.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcdisassembler.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcfilesystem.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxclibrary.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxclinker.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcompilerobj.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcpdbutils.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcshadersourceinfo.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcutil.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxcvalidator.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxcompiler/dxillib.cpp", |
| ] |
| } |
| |
| loadable_module("dxcompiler") { |
| if (dawn_has_build) { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| } |
| |
| deps = [ |
| ":DxcDisassembler-inc", |
| ":clang_lib_analysis", |
| ":clang_lib_ast", |
| ":clang_lib_basic", |
| ":clang_lib_codegen", |
| ":clang_lib_driver", |
| ":clang_lib_edit", |
| ":clang_lib_format", |
| ":clang_lib_frontend", |
| ":clang_lib_index", |
| ":clang_lib_lex", |
| ":clang_lib_parse", |
| ":clang_lib_rewrite", |
| ":clang_lib_sema", |
| ":clang_lib_serialization", |
| ":clang_lib_tooling", |
| ":clang_tools_libclang", |
| ":dxcompiler_sources", |
| ":lib_analysis", |
| ":lib_asmparser", |
| ":lib_astmatchers", |
| ":lib_bitcode", |
| ":lib_dxcbindingtable", |
| ":lib_dxilcompression", |
| ":lib_dxildia", |
| ":lib_dxilpixpasses", |
| ":lib_dxilrootsignature", |
| ":lib_hlsl", |
| ":lib_ir", |
| ":lib_irreader", |
| ":lib_linker", |
| ":lib_mc", |
| ":lib_object", |
| ":lib_passprinters", |
| ":lib_profiledata", |
| ":lib_target", |
| ":lib_transforms", |
| ] |
| |
| if (is_win) { |
| sources = [ "$dawn_dxc_dir/tools/clang/tools/dxcompiler/DXCompiler.def" ] |
| } |
| } |
| |
| executable("dxc") { |
| if (dawn_has_build) { |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ "//build/config/compiler:no_chromium_code" ] |
| } |
| |
| if (is_win) { |
| # DXC is built with multibyte character set, so it expects Win32 functions to map the ANSI ones, not the UNICODE ones. |
| configs -= [ "//build/config/win:unicode" ] |
| } |
| |
| deps = [ ":dxclib" ] |
| |
| data_deps = [ ":dxcompiler" ] |
| |
| include_dirs = [ |
| "$visual_studio_path/DIA SDK/include", # Required for msvc builds |
| ] |
| |
| sources = [ |
| "$dawn_dxc_dir/tools/clang/tools/dxc/dxcmain.cpp", |
| "$dawn_dxc_dir/tools/clang/tools/dxclib/dxc.cpp", |
| ] |
| } |
| |
| # Define a target to copy the DXIL signing library, dxil.dll, to the output directory |
| if (is_win) { |
| import("//build/config/win/visual_studio_version.gni") |
| copy("copy_dxil_dll") { |
| sources = |
| [ "$windows_sdk_path/bin/$windows_sdk_version/$target_cpu/dxil.dll" ] |
| outputs = [ "$root_out_dir/{{source_file_part}}" ] |
| } |
| } |