| # Copyright 2017 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| config("minizip_compiler_flags") { |
| if (is_clang) { |
| cflags = [ "-Wno-unused-function" ] |
| |
| if (!is_nacl && (target_cpu == "x86" || target_cpu == "x64")) { |
| cflags += [ |
| "-maes", |
| "-msse3", |
| "-msse4.1", |
| ] |
| } |
| } |
| } |
| |
| config("minizip_include_dirs") { |
| include_dirs = [ "//third_party/zlib" ] |
| } |
| |
| static_library("minizip") { |
| sources = [ |
| "src/aes/aes.h", |
| "src/aes/aes_ni.c", |
| "src/aes/aes_ni.h", |
| "src/aes/aes_via_ace.h", |
| "src/aes/aescrypt.c", |
| "src/aes/aeskey.c", |
| "src/aes/aesopt.h", |
| "src/aes/aestab.c", |
| "src/aes/aestab.h", |
| "src/aes/brg_endian.h", |
| "src/aes/brg_types.h", |
| "src/aes/fileenc.c", |
| "src/aes/fileenc.h", |
| "src/aes/hmac.c", |
| "src/aes/hmac.h", |
| "src/aes/prng.c", |
| "src/aes/prng.h", |
| "src/aes/pwd2key.c", |
| "src/aes/pwd2key.h", |
| "src/aes/sha1.c", |
| "src/aes/sha1.h", |
| "src/crypt.c", |
| "src/crypt.h", |
| "src/ioapi.c", |
| "src/ioapi.h", |
| "src/ioapi_buf.c", |
| "src/ioapi_buf.h", |
| "src/ioapi_mem.c", |
| "src/ioapi_mem.h", |
| "src/unzip.c", |
| "src/unzip.h", |
| "src/zip.c", |
| "src/zip.h", |
| ] |
| |
| defines = [ |
| "HAVE_AES", |
| "NOCRYPT", |
| ] |
| |
| if (is_nacl) { |
| defines += [ "USE_FILE32API" ] |
| } |
| |
| configs += [ ":minizip_compiler_flags" ] |
| |
| public_configs = [ ":minizip_include_dirs" ] |
| |
| deps = [ |
| "//third_party/zlib:zlib", |
| ] |
| |
| visibility = [ |
| # NOTE: Modifying visibility list requires approval from security team. |
| "//testing/libfuzzer/fuzzers:*", |
| "//chrome/browser/resources/chromeos/zip_archiver/cpp:zip_archiver_pnacl", |
| ] |
| } |