You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-29Lines changed: 34 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ A convenience package which provides the native libClang library for several pla
11
11
12
12
A helper package which exposes many Clang APIs missing from libClang is provided here: https://www.nuget.org/packages/libClangSharp
13
13
14
-
NOTE: libclang and libClangSharp are meta-packages which point to the platform-specific runtime packages ([e.g.](https://www.nuget.org/packages/libClangSharp.runtime.win-x64/13.0.0-beta1); see others owned by [tannergooding](https://www.nuget.org/profiles/tannergooding)). Several manual steps may be required to use them, see discussion in [#46](https://github.com/dotnet/ClangSharp/issues/46) and [#118](https://github.com/dotnet/ClangSharp/issues/118).
14
+
NOTE: libclang and libClangSharp are meta-packages which point to the platform-specific runtime packages ([e.g.](https://www.nuget.org/packages/libClangSharp.runtime.win-x64/14.0.0-beta1); see others owned by [tannergooding](https://www.nuget.org/profiles/tannergooding)). Several manual steps may be required to use them, see discussion in [#46](https://github.com/dotnet/ClangSharp/issues/46) and [#118](https://github.com/dotnet/ClangSharp/issues/118).
15
15
16
16
Nightly packages are available via the NuGet Feed URL: https://pkgs.clangsharp.dev/index.json
17
17
@@ -116,7 +116,7 @@ This program will take a given set of C or C++ header files and generate C# bind
116
116
117
117
The simplest and recommended setup is to install the generator as a .NET tool and then use response files:
-a, --additional <additional> An argument to pass to Clang when parsing the input files. [default: ]
136
-
-c, --config <config> A configuration option that controls how the bindings are generated. Specify 'help' to see the available options. [default: ]
137
-
-D, --define-macro <define-macro> Define <macro> to <value> (or 1 if <value> omitted). [default: ]
138
-
-e, --exclude <exclude> A declaration name to exclude from binding generation. [default: ]
139
-
-f, --file <file> A file to parse and generate bindings for. [default: ]
140
-
-F, --file-directory <file-directory> The base path for files to parse. [default: ]
141
-
-h, --headerFile <headerFile> A file which contains the header to prefix every generated file with. [default: ]
142
-
-i, --include <include> A declaration name to include in binding generation. [default: ]
143
-
-I, --include-directory <include-directory> Add directory to include search path. [default: ]
135
+
-a, --additional <additional> An argument to pass to Clang when parsing the input files. []
136
+
-c, --config <config> A configuration option that controls how the bindings are generated. Specify 'help' to see the available options. []
137
+
-D, --define-macro <define-macro> Define <macro> to <value> (or 1 if <value> omitted). []
138
+
-e, --exclude <exclude> A declaration name to exclude from binding generation. []
139
+
-f, --file <file> A file to parse and generate bindings for. []
140
+
-F, --file-directory <file-directory> The base path for files to parse. []
141
+
-h, --headerFile <headerFile> A file which contains the header to prefix every generated file with. []
142
+
-i, --include <include> A declaration name to include in binding generation. []
143
+
-I, --include-directory <include-directory> Add directory to include search path. []
144
144
-x, --language <language> Treat subsequent input files as having type <language>. [default: c++]
145
-
-l, --libraryPath <libraryPath> The string to use in the DllImport attribute used when generating bindings. [default: ]
145
+
-l, --libraryPath <libraryPath> The string to use in the DllImport attribute used when generating bindings. []
146
146
-m, --methodClassName <methodClassName> The name of the static class that will contain the generated method bindings. [default: Methods]
147
-
-n, --namespace <namespace> The namespace in which to place the generated bindings. [default: ]
147
+
-n, --namespace <namespace> The namespace in which to place the generated bindings. []
148
148
-om, --output-mode <CSharp|Xml> The mode describing how the information collected from the headers are presented in the resultant bindings. [default: CSharp]
149
-
-o, --output <output> The output location to write the generated bindings to. [default: ]
150
-
-p, --prefixStrip <prefixStrip> The prefix to strip from the generated method bindings. [default: ]
151
-
-r, --remap <remap> A declaration name to be remapped to another name during binding generation. [default: ]
152
-
-std <std> Language standard to compile for. [default: ]
153
-
-to, --test-output <test-output> The output location to write the generated tests to. [default: ]
154
-
-t, --traverse <traverse> A file name included either directly or indirectly by -f that should be traversed during binding generation. [default: ]
149
+
-o, --output <output> The output location to write the generated bindings to. []
150
+
-p, --prefixStrip <prefixStrip> The prefix to strip from the generated method bindings. []
151
+
-r, --remap <remap> A declaration name to be remapped to another name during binding generation. []
152
+
-std <std> Language standard to compile for. []
153
+
-to, --test-output <test-output> The output location to write the generated tests to. []
154
+
-t, --traverse <traverse> A file name included either directly or indirectly by -f that should be traversed during binding generation. []
155
155
-v, --version <version> Prints the current version information for the tool and its native dependencies.
156
-
-was, --with-access-specifier <with-access-specifier> An access specifier to be used with the given qualified or remapped declaration name during binding generation. [default: ]
157
-
-wa, --with-attribute <with-attribute> An attribute to be added to the given remapped declaration name during binding generation. [default: ]
158
-
-wcc, --with-callconv <with-callconv> A calling convention to be used for the given declaration during binding generation. [default: ]
159
-
-wc, --with-class <with-class> A class to be used for the given remapped constant or function declaration name during binding generation. [default: ]
160
-
-wlb, --with-librarypath <with-librarypath> A library path to be used for the given declaration during binding generation. [default: ]
161
-
-wn, --with-namespace <with-namespace> A namespace to be used for the given remapped declaration name during binding generation. [default: ]
162
-
-wsle, --with-setlasterror <with-setlasterror> Add the SetLastError=true modifier to a given DllImport or UnmanagedFunctionPointer. [default: ]
163
-
-wts, --with-transparent-struct <with-transparent-struct> A remapped type name to be treated as a transparent wrapper during binding generation. [default: ]
164
-
-wt, --with-type <with-type> A type to be used for the given enum declaration during binding generation. [default: ]
165
-
-wu, --with-using <with-using> A using directive to be included for the given remapped declaration name during binding generation. [default: ]
156
+
-was, --with-access-specifier <with-access-specifier> An access specifier to be used with the given qualified or remapped declaration name during binding generation. []
157
+
-wa, --with-attribute <with-attribute> An attribute to be added to the given remapped declaration name during binding generation. []
158
+
-wcc, --with-callconv <with-callconv> A calling convention to be used for the given declaration during binding generation. []
159
+
-wc, --with-class <with-class> A class to be used for the given remapped constant or function declaration name during binding generation. []
160
+
-wg, --with-guid <with-guid> A GUID to be used for the given declaration during binding generation. []
161
+
-wlb, --with-librarypath <with-librarypath> A library path to be used for the given declaration during binding generation. []
162
+
-wmi, --with-manual-import <with-manual-import> A remapped function name to be treated as a manual import during binding generation. []
163
+
-wn, --with-namespace <with-namespace> A namespace to be used for the given remapped declaration name during binding generation. []
164
+
-wsle, --with-setlasterror <with-setlasterror> Add the SetLastError=true modifier to a given DllImport or UnmanagedFunctionPointer. []
165
+
-wsgct, --with-suppressgctransition <with-suppressgctransition> Add the SuppressGCTransition calling convention to a given DllImport or UnmanagedFunctionPointer. []
166
+
-wts, --with-transparent-struct <with-transparent-struct> A remapped type name to be treated as a transparent wrapper during binding generation. []
167
+
-wt, --with-type <with-type> A type to be used for the given enum declaration during binding generation. []
168
+
-wu, --with-using <with-using> A using directive to be included for the given remapped declaration name during binding generation. []
166
169
-?, -h, --help Show help and usage information
167
170
```
168
171
@@ -196,10 +199,12 @@ Options:
196
199
generate-cpp-attributes [CppAttributeList("")] should be generated to document the encountered C++ attributes.
197
200
generate-doc-includes <include> xml documentation tags should be generated for declarations.
198
201
generate-file-scoped-namespaces Namespaces should be scoped to the file to reduce nesting.
202
+
generate-guid-member Types with an associated GUID should have a corresponding member generated.
199
203
generate-helper-types Code files should be generated for various helper attributes and declared transparent structs.
200
204
generate-macro-bindings Bindings for macro-definitions should be generated. This currently only works with value like macros and not function-like ones.
201
205
generate-marker-interfaces Bindings for marker interfaces representing native inheritance hierarchies should be generated.
202
206
generate-native-inheritance-attribute [NativeInheritance("")] attribute should be generated to document the encountered C++ base type.
207
+
generate-setslastsystemerror-attribute [SetsLastSystemError] attribute should be generated rather than using SetLastError = true.
203
208
generate-template-bindings Bindings for template-definitions should be generated. This is currently experimental.
204
209
generate-unmanaged-constants Unmanaged constants should be generated using static ref readonly properties. This is currently experimental.
205
210
generate-vtbl-index-attribute [VtblIndex(#)] attribute should be generated to document the underlying VTBL index for a helper method.
0 commit comments