# 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'

  # This will sort the bindings alphabetically.
  # 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.
    symbol-address:
      include:
        - 'clang_.*' # Symbol Address and Typedefs for these functions will be exposed via addresses.
  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
