summaryrefslogtreecommitdiff
path: root/tools/libtomcrypt.nim
blob: bb15c89df16301425365dc9daa1f45289ba6f86b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import os
import strutils

import builder

# Import for tommathIncDir
import tommath / private / config

let sourceDir = expandFilename("/tmp/source-libtomcrypt")

let libtomcrypt = newStaticLibrary("tomcrypt", sourceDir)

add(libtomcrypt.defines, "USE_LTM")
add(libtomcrypt.defines, "LTM_DESC")
add(libtomcrypt.defines, "LTC_SOURCE")

when not defined(vcc):
    add(libtomcrypt.compilerOptions, "-O3 -funroll-loops -fomit-frame-pointer")

for file in walkDirRec(sourceDir / "src", {pcFile}, {pcDir}):
    if endsWith(file, ".c"):
        addSourceFiles(libtomcrypt, file)

addIncludeDirectory(libtomcrypt, sourceDir / "src" / "headers")
addIncludeDirectory(libtomcrypt, tommathIncDir)

for file in walkFiles(sourceDir / "src" / "headers" / "*.h"):
    addPublicHeaders(libtomcrypt, "include", expandFilename(file))

if build(libtomcrypt):
    install(libtomcrypt, getAppDir() / ".." / "src" / "tomcrypt" / "private")