mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
118 lines
2.4 KiB
Plaintext
118 lines
2.4 KiB
Plaintext
|
# Copyright 2014 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.
|
||
|
|
||
|
import("//build/config/chromecast_build.gni")
|
||
|
import("//build/config/arm.gni")
|
||
|
|
||
|
config("libpng_config") {
|
||
|
include_dirs = [ "." ]
|
||
|
|
||
|
defines = []
|
||
|
|
||
|
if (is_win) {
|
||
|
if (is_component_build) {
|
||
|
defines += [
|
||
|
"PNG_USE_DLL",
|
||
|
"PNG_NO_MODULEDEF",
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# Must be in a config because of how GN orders flags (otherwise -Wall will
|
||
|
# appear after this, and turn it back on).
|
||
|
config("clang_warnings") {
|
||
|
if (is_clang) {
|
||
|
cflags = [
|
||
|
# libpng checks that the width is not greater than PNG_SIZE_MAX.
|
||
|
# On platforms where size_t is 64-bits, this comparison will always
|
||
|
# be false.
|
||
|
"-Wno-tautological-constant-out-of-range-compare",
|
||
|
]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
# Cannot be a static_library in component builds
|
||
|
source_set("libpng_sources") {
|
||
|
sources = [
|
||
|
"png.c",
|
||
|
"png.h",
|
||
|
"pngconf.h",
|
||
|
"pngdebug.h",
|
||
|
"pngerror.c",
|
||
|
"pngget.c",
|
||
|
"pnginfo.h",
|
||
|
"pnglibconf.h",
|
||
|
"pngmem.c",
|
||
|
"pngpread.c",
|
||
|
"pngprefix.h",
|
||
|
"pngpriv.h",
|
||
|
"pngread.c",
|
||
|
"pngrio.c",
|
||
|
"pngrtran.c",
|
||
|
"pngrutil.c",
|
||
|
"pngset.c",
|
||
|
"pngstruct.h",
|
||
|
"pngtrans.c",
|
||
|
"pngwio.c",
|
||
|
"pngwrite.c",
|
||
|
"pngwtran.c",
|
||
|
"pngwutil.c",
|
||
|
]
|
||
|
|
||
|
defines = []
|
||
|
cflags = []
|
||
|
|
||
|
if (current_cpu == "x86" || current_cpu == "x64") {
|
||
|
sources += [
|
||
|
"contrib/intel/filter_sse2_intrinsics.c",
|
||
|
"contrib/intel/intel_init.c",
|
||
|
]
|
||
|
defines += [ "PNG_INTEL_SSE_OPT=1" ]
|
||
|
} else if ((current_cpu == "arm" || current_cpu == "arm64") && arm_use_neon) {
|
||
|
sources += [
|
||
|
"arm/arm_init.c",
|
||
|
"arm/filter_neon_intrinsics.c",
|
||
|
]
|
||
|
defines += [
|
||
|
"PNG_ARM_NEON_OPT=2",
|
||
|
"PNG_ARM_NEON_IMPLEMENTATION=1",
|
||
|
]
|
||
|
}
|
||
|
|
||
|
configs -= [ "//build/config/compiler:chromium_code" ]
|
||
|
configs += [ "//build/config/compiler:no_chromium_code" ]
|
||
|
|
||
|
if (is_win) {
|
||
|
# Unary minus applied to unsigned type.
|
||
|
cflags += [ "/wd4146" ]
|
||
|
}
|
||
|
|
||
|
if (is_win && is_component_build) {
|
||
|
defines += [ "PNG_BUILD_DLL" ]
|
||
|
}
|
||
|
|
||
|
public_configs = [ ":libpng_config" ]
|
||
|
|
||
|
public_deps = [
|
||
|
"//third_party/zlib",
|
||
|
]
|
||
|
|
||
|
configs += [ ":clang_warnings" ]
|
||
|
}
|
||
|
|
||
|
if (is_win) {
|
||
|
component("libpng") {
|
||
|
public_deps = [
|
||
|
":libpng_sources",
|
||
|
]
|
||
|
}
|
||
|
} else {
|
||
|
group("libpng") {
|
||
|
public_deps = [
|
||
|
":libpng_sources",
|
||
|
]
|
||
|
}
|
||
|
}
|