# Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

name: libclang_example

environment:
  sdk: '>=2.12.0 <3.0.0'

dev_dependencies:
  ffigen:
    path: '../../'

ffigen:
  output: 'generated_bindings.dart'
  sort: true

  # This is required if LLVM can't be found in default locations by ffigen.
  # llvm-lib: '/usr/local/opt/llvm/lib'

  # Bash style Glob matching is also supported.
  # TODO(11): Globs dont work on windows if they begin with '.' or '..'.
  headers:
    entry-points:
      - ../../third_party/libclang/include/clang-c/Index.h
    include-directives: # use glob syntax to match with header file path.
      - '**CXString.h'
      - '**Index.h'

  compiler-opts: '-Ithird_party/libclang/include -IC:\Progra~1\LLVM\include -I/usr/local/opt/llvm/include/ -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ -Wno-nullability-completeness'
  functions:
    include:
      - 'clang_.*' # Can be a regexp, '.' matches any character.
  structs:
    include:
        - 'CX.*'
  enums:
    include:
      - 'CXTypeKind' # Full names are given higher priority than regexp.
      - 'CXGlobalOptFlags'

  # These are optional and also default,
  # Omitting any and the default will be used.
  size-map:
    char: 1
    unsigned char: 1
    short: 2
    unsigned short: 2
    int: 4
    unsigned int: 4
    long: 8
    unsigned long: 8
    long long: 8
    unsigned long long: 8
    enum: 4

  # Default is 'NativeLibrary'
  name: 'LibClang'

  description: 'Holds bindings to LibClang.'

  # False by default.
  array-workaround: true

  # Doc Comments for generated binings.
  # Comments can be disabled by using comments: false
  comments:
    style: doxygen # Options - doxygen(default) / any.
    length: full # Options - brief / full(default).

  # The header of the file, this is pasted as it is.
  preamble: |
    // Part of the LLVM Project, under the Apache License v2.0 with LLVM
    // Exceptions.
    // See https://llvm.org/LICENSE.txt for license information.
    // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
