diff options
| author | Ganesh Viswanathan <dev@genotrance.com> | 2019-01-24 22:59:51 -0600 |
|---|---|---|
| committer | Ganesh Viswanathan <dev@genotrance.com> | 2019-01-24 22:59:51 -0600 |
| commit | f4d8ee1c5cf8b7422b8cb66811fa0d9518cee787 (patch) | |
| tree | e77c644f169cecddc161d0c8cedb74f26ad57001 | |
| parent | fb997526de2aec135199d4d088f89bfc0c6b827d (diff) | |
| download | nimterop-f4d8ee1c5cf8b7422b8cb66811fa0d9518cee787.tar.gz nimterop-f4d8ee1c5cf8b7422b8cb66811fa0d9518cee787.zip | |
Documentation, fix tmath on Windows
| -rw-r--r-- | nimterop/cimport.nim | 12 | ||||
| -rw-r--r-- | tests/tmath.nim | 7 |
2 files changed, 19 insertions, 0 deletions
diff --git a/nimterop/cimport.nim b/nimterop/cimport.nim index 8fcf66e..330654f 100644 --- a/nimterop/cimport.nim +++ b/nimterop/cimport.nim @@ -174,6 +174,18 @@ macro cSkipSymbol*(skips: varargs[string]): untyped = gStateCT.symOverride.add skip.strVal macro cPlugin*(body): untyped = + ## When `cOverride() <cimport.html#cOverride.m,>`_ and `cSkipSymbol() <cimport.html#cSkipSymbol.m%2Cvarargs[string]>`_ + ## are not adequate, the `cPlugin() <cimport.html#cPlugin.m,>`_ macro can be used to customize the generated Nim output. + ## The following callbacks are available at this time. + ## + ## .. code-block:: nim + ## + ## cPlugin: + ## import strutils + ## + ## proc onSymbol*(sym: string): string {.exportc, dynlib.} = + ## return sym.strip(chars={'_'}) + let data = body.repr path = getTempDir() / "nimterop" & ($data.hash() & ".nim") diff --git a/tests/tmath.nim b/tests/tmath.nim index f32a1f5..5e98968 100644 --- a/tests/tmath.nim +++ b/tests/tmath.nim @@ -10,6 +10,13 @@ cDebug() cDisableCaching() cAddStdDir() + +cPlugin: + import strutils + + proc onSymbol*(sym: string): string {.exportc, dynlib.} = + return sym.strip(chars={'_'}) + cImport cSearchPath("math.h") check sin(5) == -0.9589242746631385 |
