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