Documentation, fix tmath on Windows

This commit is contained in:
Ganesh Viswanathan 2019-01-24 22:59:51 -06:00 • committed by genotrance
commit 44b529f5f5
2 changed files with 19 additions and 0 deletions

View file

@ -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")

View file

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