OLD | NEW |
| (Empty) |
1 # Copyright (c) 2009 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 { | |
6 'variables': { | |
7 'conditions': [ | |
8 ['os_posix == 1 and OS != "mac"', { | |
9 'os_include': 'linux' | |
10 }], | |
11 ['OS=="mac"', {'os_include': 'mac'}], | |
12 ['OS=="win"', {'os_include': 'win32'}], | |
13 ], | |
14 # We used to have a separate flag for using the system | |
15 # libxslt, but it seems mixing Chrome libxml and system | |
16 # libxslt causes crashes that nobody has had time to diagnose. | |
17 # So just put them both behind the same flag for now. | |
18 'use_system_libxml%': 0, | |
19 }, | |
20 'targets': [ | |
21 { | |
22 'target_name': 'libxslt', | |
23 'conditions': [ | |
24 ['os_posix == 1 and OS != "mac" and use_system_libxml', { | |
25 'type': 'none', | |
26 'direct_dependent_settings': { | |
27 'cflags': [ | |
28 '<!@(pkg-config --cflags libxslt)', | |
29 ], | |
30 }, | |
31 'link_settings': { | |
32 'ldflags': [ | |
33 '<!@(pkg-config --libs-only-L --libs-only-other libxslt)', | |
34 ], | |
35 'libraries': [ | |
36 '<!@(pkg-config --libs-only-l libxslt)', | |
37 ], | |
38 }, | |
39 }, { # else: os_posix != 1 or OS == "mac" or ! use_system_libxml | |
40 'type': 'static_library', | |
41 'sources': [ | |
42 'libxslt/attributes.c', | |
43 'libxslt/attributes.h', | |
44 'libxslt/attrvt.c', | |
45 'libxslt/documents.c', | |
46 'libxslt/documents.h', | |
47 'libxslt/extensions.c', | |
48 'libxslt/extensions.h', | |
49 'libxslt/extra.c', | |
50 'libxslt/extra.h', | |
51 'libxslt/functions.c', | |
52 'libxslt/functions.h', | |
53 'libxslt/imports.c', | |
54 'libxslt/imports.h', | |
55 'libxslt/keys.c', | |
56 'libxslt/keys.h', | |
57 'libxslt/libxslt.h', | |
58 'libxslt/namespaces.c', | |
59 'libxslt/namespaces.h', | |
60 'libxslt/numbers.c', | |
61 'libxslt/numbersInternals.h', | |
62 'libxslt/pattern.c', | |
63 'libxslt/pattern.h', | |
64 'libxslt/preproc.c', | |
65 'libxslt/preproc.h', | |
66 'libxslt/security.c', | |
67 'libxslt/security.h', | |
68 'libxslt/templates.c', | |
69 'libxslt/templates.h', | |
70 'libxslt/transform.c', | |
71 'libxslt/transform.h', | |
72 'libxslt/trio.h', | |
73 'libxslt/triodef.h', | |
74 'libxslt/variables.c', | |
75 'libxslt/variables.h', | |
76 'libxslt/win32config.h', | |
77 'libxslt/xslt.c', | |
78 'libxslt/xslt.h', | |
79 'libxslt/xsltconfig.h', | |
80 'libxslt/xsltexports.h', | |
81 'libxslt/xsltInternals.h', | |
82 'libxslt/xsltlocale.c', | |
83 'libxslt/xsltlocale.h', | |
84 'libxslt/xsltutils.c', | |
85 'libxslt/xsltutils.h', | |
86 'libxslt/xsltwin32config.h', | |
87 'linux/config.h', | |
88 'mac/config.h', | |
89 # TODO(port): Need a pregenerated win32/config.h? | |
90 ], | |
91 'defines': [ | |
92 'LIBXSLT_STATIC', | |
93 ], | |
94 'include_dirs': [ | |
95 '<(os_include)', | |
96 '.', | |
97 ], | |
98 'dependencies': [ | |
99 '../libxml/libxml.gyp:libxml', | |
100 ], | |
101 'direct_dependent_settings': { | |
102 'defines': [ | |
103 'LIBXSLT_STATIC', | |
104 ], | |
105 'include_dirs': [ | |
106 '.', | |
107 ], | |
108 }, | |
109 'msvs_disabled_warnings': [ | |
110 # size_t to int conversion. | |
111 4267, | |
112 # TODO(brucedawson): http://crbug.com/554200 4311 is a | |
113 # VS 2015 64-bit warning for pointer truncation | |
114 4311, | |
115 ], | |
116 'variables': { | |
117 'clang_warning_flags': [ | |
118 # libxslt stores a char[3] in a `const unsigned char*`. | |
119 '-Wno-pointer-sign', | |
120 # xsltDefaultRegion and xsltCalibrateTimestamps are only | |
121 # used with certain preprocessor defines set. | |
122 '-Wno-unused-function', | |
123 ], | |
124 }, | |
125 'conditions': [ | |
126 ['OS!="win"', {'product_name': 'xslt'}], | |
127 ], | |
128 }], | |
129 ], | |
130 }, | |
131 ], | |
132 } | |
OLD | NEW |