# 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. config("libxslt_config") { defines = [ "LIBXSLT_STATIC" ] include_dirs = [ "src" ] } config("libxslt_warnings") { if (is_clang) { cflags = [ # libxslt stores a char[3] in a `const unsigned char*`. "-Wno-pointer-sign", # xsltDefaultRegion and xsltCalibrateTimestamps are only # used with certain preprocessor defines set. "-Wno-unused-function", ] } } static_library("libxslt") { sources = [ "linux/config.h", "mac/config.h", "src/libxslt/attributes.c", "src/libxslt/attributes.h", "src/libxslt/attrvt.c", "src/libxslt/documents.c", "src/libxslt/documents.h", "src/libxslt/extensions.c", "src/libxslt/extensions.h", "src/libxslt/extra.c", "src/libxslt/extra.h", "src/libxslt/functions.c", "src/libxslt/functions.h", "src/libxslt/imports.c", "src/libxslt/imports.h", "src/libxslt/keys.c", "src/libxslt/keys.h", "src/libxslt/libxslt.h", "src/libxslt/namespaces.c", "src/libxslt/namespaces.h", "src/libxslt/numbers.c", "src/libxslt/numbersInternals.h", "src/libxslt/pattern.c", "src/libxslt/pattern.h", "src/libxslt/preproc.c", "src/libxslt/preproc.h", "src/libxslt/security.c", "src/libxslt/security.h", "src/libxslt/templates.c", "src/libxslt/templates.h", "src/libxslt/transform.c", "src/libxslt/transform.h", "src/libxslt/trio.h", "src/libxslt/triodef.h", "src/libxslt/variables.c", "src/libxslt/variables.h", "src/libxslt/win32config.h", "src/libxslt/xslt.c", "src/libxslt/xslt.h", "src/libxslt/xsltInternals.h", "src/libxslt/xsltconfig.h", "src/libxslt/xsltexports.h", "src/libxslt/xsltlocale.c", "src/libxslt/xsltlocale.h", "src/libxslt/xsltutils.c", "src/libxslt/xsltutils.h", "src/libxslt/xsltwin32config.h", "win32/config.h", ] configs -= [ "//build/config/compiler:chromium_code" ] configs += [ "//build/config/compiler:no_chromium_code", # Must be after no_chromium_code for warning flags to be ordered correctly. ":libxslt_warnings", ] public_configs = [ ":libxslt_config" ] cflags = [] if (is_linux || is_android || is_fuchsia) { include_dirs = [ "linux" ] } else if (is_win) { include_dirs = [ "win32" ] cflags += [ "/wd4267", # size_t to int. # TODO(brucedawson): http://crbug.com/554200 4311 is a VS # 2015 64-bit warning for pointer truncation "/wd4311", ] } else if (is_mac) { include_dirs = [ "mac" ] } deps = [ "//third_party/libxml", ] }