Home | History | Annotate | Download | only in zlib
      1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 config("zlib_config") {
      6   include_dirs = [ "." ]
      7 }
      8 
      9 static_library("zlib") {
     10   if (!is_win) {
     11     # Don't stomp on "libzlib" on other platforms.
     12     output_name = "chrome_zlib"
     13   }
     14 
     15   sources = [
     16     "adler32.c",
     17     "compress.c",
     18     "crc32.c",
     19     "crc32.h",
     20     "deflate.c",
     21     "deflate.h",
     22     "gzclose.c",
     23     "gzguts.h",
     24     "gzlib.c",
     25     "gzread.c",
     26     "gzwrite.c",
     27     "infback.c",
     28     "inffast.c",
     29     "inffast.h",
     30     "inffixed.h",
     31     "inflate.c",
     32     "inflate.h",
     33     "inftrees.c",
     34     "inftrees.h",
     35     "mozzconf.h",
     36     "trees.c",
     37     "trees.h",
     38     "uncompr.c",
     39     "zconf.h",
     40     "zlib.h",
     41     "zutil.c",
     42     "zutil.h",
     43   ]
     44 
     45   configs -= [ "//build/config/compiler:chromium_code" ]
     46   configs += [ "//build/config/compiler:no_chromium_code" ]
     47 
     48   direct_dependent_configs = [ ":zlib_config" ]
     49 }
     50 
     51 static_library("minizip") {
     52   sources = [
     53     "contrib/minizip/ioapi.c",
     54     "contrib/minizip/ioapi.h",
     55     "contrib/minizip/iowin32.c",
     56     "contrib/minizip/iowin32.h",
     57     "contrib/minizip/unzip.c",
     58     "contrib/minizip/unzip.h",
     59     "contrib/minizip/zip.c",
     60     "contrib/minizip/zip.h",
     61   ]
     62 
     63   if (!is_win) {
     64     sources -= [
     65       "contrib/minizip/iowin32.c",
     66       "contrib/minizip/iowin32.h",
     67     ]
     68   }
     69   if (is_mac || is_ios || is_android) {
     70     # Mac, Android and the BSDs don't have fopen64, ftello64, or fseeko64. We
     71     # use fopen, ftell, and fseek instead on these systems.
     72     defines = [ "USE_FILE32API" ]
     73   }
     74 
     75   if (is_clang) {
     76     # zlib uses `if ((a == b))` for some reason.
     77     cflags = [ "-Wno-parentheses-equality" ]
     78   }
     79 
     80   deps = [ ":zlib" ]
     81 
     82   configs -= [ "//build/config/compiler:chromium_code" ]
     83   configs += [ "//build/config/compiler:no_chromium_code" ]
     84   direct_dependent_configs = [ ":zlib_config" ]
     85 }
     86 
     87 if (!is_android) {
     88   static_library("zip") {
     89     sources = [
     90       "google/zip.cc",
     91       "google/zip.h",
     92       "google/zip_internal.cc",
     93       "google/zip_internal.h",
     94       "google/zip_reader.cc",
     95       "google/zip_reader.h",
     96     ]
     97     deps = [
     98       ":minizip",
     99       "//base",
    100     ]
    101   }
    102 }
    103