| // This step is only required for ARM. MIPS uses intrinsics exclusively and x86 |
| // requires 'yasm' to pre-process its assembly files. |
| // The ARM assembly sources must be converted from ADS to GAS compatible format. |
| gensrcs { |
| name: "libvpx_arm_neon_asm_srcs_converted", |
| srcs: libvpx_arm_neon_asm_srcs, |
| tool_files: [ |
| "libvpx/build/make/ads2gas.pl", |
| "libvpx/build/make/thumb.pm", |
| ], |
| output_extension: "asm.S", |
| cmd: "cat $(in) | perl $(location libvpx/build/make/ads2gas.pl) > $(out)", |
| export_include_dirs: ["libvpx"], |
| } |
| |
| cc_library_static { |
| name: "libvpx", |
| |
| arch: { |
| arm: { |
| // Clang arm assembler cannot compile libvpx .S files yet. |
| clang_asflags: ["-no-integrated-as"], |
| |
| // Want arm, not thumb, optimized |
| instruction_set: "arm", |
| |
| srcs: libvpx_arm_c_srcs, |
| local_include_dirs: ["config/arm"], |
| |
| neon: { |
| exclude_srcs: libvpx_arm_c_srcs, |
| srcs: libvpx_arm_neon_c_srcs, |
| generated_sources: ["libvpx_arm_neon_asm_srcs_converted"], |
| local_include_dirs: ["config/arm-neon"], |
| }, |
| }, |
| |
| arm64: { |
| srcs: libvpx_arm64_c_srcs, |
| local_include_dirs: ["config/arm64"], |
| }, |
| |
| mips: { |
| srcs: libvpx_mips32_c_srcs, |
| local_include_dirs: ["config/mips32"], |
| |
| dspr2: { |
| exclude_srcs: libvpx_mips32_c_srcs, |
| srcs: libvpx_mips32_dspr2_c_srcs, |
| local_include_dirs: ["config/mips32-dspr2"], |
| }, |
| |
| msa: { |
| exclude_srcs: libvpx_mips32_c_srcs, |
| srcs: libvpx_mips32_msa_c_srcs, |
| local_include_dirs: ["config/mips32-msa"], |
| }, |
| }, |
| |
| mips64: { |
| srcs: libvpx_mips64_c_srcs, |
| local_include_dirs: ["config/mips64"], |
| |
| msa: { |
| exclude_srcs: libvpx_mips64_c_srcs, |
| srcs: libvpx_mips64_msa_c_srcs, |
| local_include_dirs: ["config/mips64-msa"], |
| }, |
| }, |
| |
| x86: { |
| srcs: libvpx_x86_c_srcs + libvpx_x86_asm_srcs, |
| local_include_dirs: ["config/x86"], |
| }, |
| |
| x86_64: { |
| //srcs: libvpx_x86_64_c_srcs + libvpx_x86_64_asm_srcs, |
| //local_include_dirs: ["config/x86_64"], |
| srcs: libvpx_generic_c_srcs, |
| local_include_dirs: ["config/generic"], |
| }, |
| }, |
| |
| cflags: [ |
| "-O3", |
| "-Wno-unused-parameter", |
| ], |
| |
| export_include_dirs: ["libvpx"], |
| |
| sanitize: { |
| cfi: true, |
| diag: { |
| cfi: true, |
| }, |
| blacklist: "cfi_blacklist.txt", |
| }, |
| } |
| |
| subdirs = [ |
| "libwebm", |
| ] |