1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors. All rights reserved. 2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 4*8975f5c5SAndroid Build Coastguard Worker 5*8975f5c5SAndroid Build Coastguard Workerconfig("cpu_features_config") { 6*8975f5c5SAndroid Build Coastguard Worker cflags = [ "-Wno-unused-function" ] 7*8975f5c5SAndroid Build Coastguard Worker defines = [ 8*8975f5c5SAndroid Build Coastguard Worker "STACK_LINE_READER_BUFFER_SIZE=1024", 9*8975f5c5SAndroid Build Coastguard Worker "HAVE_STRONG_GETAUXVAL", 10*8975f5c5SAndroid Build Coastguard Worker ] 11*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "src/include" ] 12*8975f5c5SAndroid Build Coastguard Worker} 13*8975f5c5SAndroid Build Coastguard Worker 14*8975f5c5SAndroid Build Coastguard Workerconfig("ndk_compat_headers") { 15*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "src/ndk_compat" ] 16*8975f5c5SAndroid Build Coastguard Worker} 17*8975f5c5SAndroid Build Coastguard Worker 18*8975f5c5SAndroid Build Coastguard Workersource_set("cpuinfo") { 19*8975f5c5SAndroid Build Coastguard Worker sources = [ 20*8975f5c5SAndroid Build Coastguard Worker "src/src/copy.inl", 21*8975f5c5SAndroid Build Coastguard Worker "src/src/define_introspection.inl", 22*8975f5c5SAndroid Build Coastguard Worker "src/src/define_introspection_and_hwcaps.inl", 23*8975f5c5SAndroid Build Coastguard Worker "src/src/equals.inl", 24*8975f5c5SAndroid Build Coastguard Worker "src/src/filesystem.c", 25*8975f5c5SAndroid Build Coastguard Worker "src/src/hwcaps.c", 26*8975f5c5SAndroid Build Coastguard Worker "src/src/stack_line_reader.c", 27*8975f5c5SAndroid Build Coastguard Worker "src/src/string_view.c", 28*8975f5c5SAndroid Build Coastguard Worker ] 29*8975f5c5SAndroid Build Coastguard Worker if (current_cpu == "x86" || current_cpu == "x64") { 30*8975f5c5SAndroid Build Coastguard Worker sources += [ 31*8975f5c5SAndroid Build Coastguard Worker "src/src/impl_x86__base_implementation.inl", 32*8975f5c5SAndroid Build Coastguard Worker "src/src/impl_x86_freebsd.c", 33*8975f5c5SAndroid Build Coastguard Worker "src/src/impl_x86_linux_or_android.c", 34*8975f5c5SAndroid Build Coastguard Worker "src/src/impl_x86_macos.c", 35*8975f5c5SAndroid Build Coastguard Worker "src/src/impl_x86_windows.c", 36*8975f5c5SAndroid Build Coastguard Worker ] 37*8975f5c5SAndroid Build Coastguard Worker } else if (current_cpu == "arm") { 38*8975f5c5SAndroid Build Coastguard Worker sources += [ "src/src/impl_arm_linux_or_android.c" ] 39*8975f5c5SAndroid Build Coastguard Worker } else if (current_cpu == "arm64") { 40*8975f5c5SAndroid Build Coastguard Worker sources += [ "src/src/impl_aarch64_linux_or_android.c" ] 41*8975f5c5SAndroid Build Coastguard Worker } else if (current_cpu == "mips") { 42*8975f5c5SAndroid Build Coastguard Worker sources += [ "src/src/impl_mips_linux_or_android.c" ] 43*8975f5c5SAndroid Build Coastguard Worker } else if (current_cpu == "ppc") { 44*8975f5c5SAndroid Build Coastguard Worker sources += [ "src/src/impl_ppc_linux.c" ] 45*8975f5c5SAndroid Build Coastguard Worker } else if (current_cpu == "riscv64") { 46*8975f5c5SAndroid Build Coastguard Worker sources += [ "src/src/impl_riscv_linux.c" ] 47*8975f5c5SAndroid Build Coastguard Worker } else { 48*8975f5c5SAndroid Build Coastguard Worker error("Missing definition for architecture: $current_cpu") 49*8975f5c5SAndroid Build Coastguard Worker } 50*8975f5c5SAndroid Build Coastguard Worker configs += [ ":cpu_features_config" ] 51*8975f5c5SAndroid Build Coastguard Worker} 52*8975f5c5SAndroid Build Coastguard Worker 53*8975f5c5SAndroid Build Coastguard Workersource_set("ndk_compat") { 54*8975f5c5SAndroid Build Coastguard Worker sources = [ 55*8975f5c5SAndroid Build Coastguard Worker "src/ndk_compat/cpu-features.c", 56*8975f5c5SAndroid Build Coastguard Worker "src/ndk_compat/cpu-features.h", 57*8975f5c5SAndroid Build Coastguard Worker ] 58*8975f5c5SAndroid Build Coastguard Worker configs += [ ":cpu_features_config" ] 59*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":ndk_compat_headers" ] 60*8975f5c5SAndroid Build Coastguard Worker deps = [ ":cpuinfo" ] 61*8975f5c5SAndroid Build Coastguard Worker} 62