summaryrefslogtreecommitdiffstats
path: root/third_party/harfbuzz/harfbuzz.gyp
blob: 76bd8009de909729e1fe634ce449a135caf07760 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Copyright (c) 2012 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.

{
  'variables': {
    # Set to 1 to use Harfbuzz-NG instead of Harfbuzz.
    # Under development: http://crbug.com/68551
    'use_harfbuzz_ng%': 0
  },
  'conditions': [
    ['use_harfbuzz_ng==0', {
      'includes': [
        '../../build/win_precompile.gypi',
      ],
      'targets': [
        {
          'target_name': 'harfbuzz',
          'type': 'static_library',
          'sources': [
            'contrib/harfbuzz-freetype.c',
            'contrib/harfbuzz-unicode.c',
            'contrib/harfbuzz-unicode-tables.c',
            'src/harfbuzz-buffer.c',
            'src/harfbuzz-stream.c',
            'src/harfbuzz-dump.c',
            'src/harfbuzz-gdef.c',
            'src/harfbuzz-gpos.c',
            'src/harfbuzz-gsub.c',
            'src/harfbuzz-impl.c',
            'src/harfbuzz-open.c',
            'src/harfbuzz-shaper.cpp',
            'src/harfbuzz-tibetan.c',
            'src/harfbuzz-khmer.c',
            'src/harfbuzz-indic.cpp',
            'src/harfbuzz-greek.c',
            'src/harfbuzz-hebrew.c',
            'src/harfbuzz-arabic.c',
            'src/harfbuzz-hangul.c',
            'src/harfbuzz-myanmar.c',
            'src/harfbuzz-thai.c',
          ],
          'include_dirs': [
            'contrib',
            'src',
          ],
          'direct_dependent_settings': {
            'include_dirs': [
              'contrib',
              'src',
            ],
          },
          'conditions': [
            ['OS == "android"', {
              'dependencies': [
                '../../third_party/freetype/freetype.gyp:ft2',
              ],
            }, {  # OS != android
              'dependencies': [
                '../../build/linux/system.gyp:freetype2',
              ],
            }],
            ['OS == "android" and clang == 0', {
              # The Android NDK compilers in the GCC 4.2 and 4.6 toolchains will
              # show a warning about incompatible pointer signedness, but this
              # warning cannot be disabled through an individual flag. To stop
              # showing it, disable all warnings. Coverage is provided through
              # clang builders, as well as Linux non-clang builders.
              # TODO(beverloo): Re-enable warnings once the toolchains provide a
              # way of disabling the specific warning.
              'cflags': [
                '-w',
              ],
            }],
            ['clang == 1', {
              'xcode_settings': {
                'WARNING_CFLAGS': [
                  # "harfbuzz is in strict maintenace mode",
                  # see http://crbug.com/113708
                  '-Wno-pointer-sign',
                ],
              },
              'cflags': [
                '-Wno-pointer-sign',
              ],
            }],
          ],
        },
      ],
    }, {  # else, use new harfbuzz
      'targets': [
        {
          # Make the 'harfbuzz' target just shim through to the harfbuzz-ng
          # one.
          'target_name': 'harfbuzz',
          'type': 'none',
          'dependencies': [
            '../harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng'
          ],
          'export_dependent_settings': [
            '../harfbuzz-ng/harfbuzz.gyp:harfbuzz-ng'
          ],
        }
      ]
    }]
  ]
}