Skip to content

Instantly share code, notes, and snippets.

@zacharycarter
Last active November 5, 2018 01:59
Show Gist options
  • Save zacharycarter/9c61ce86123ab597ec0e43f493323862 to your computer and use it in GitHub Desktop.
Save zacharycarter/9c61ce86123ab597ec0e43f493323862 to your computer and use it in GitHub Desktop.
➜ NimFastNoiseSIMD nim cpp foo.nim
Hint: used config file '/Users/zachcarter/.choosenim/toolchains/nim-0.18.0/config/nim.cfg' [Conf]
Hint: system [Processing]
Hint: foo [Processing]
Hint: FastNoiseSIMD [Processing]
Hint: strutils [Processing]
Hint: parseutils [Processing]
Hint: math [Processing]
Hint: algorithm [Processing]
CC: FastNoiseSIMD
CC: FastNoiseSIMD_avx2
CC: FastNoiseSIMD_avx512
CC: FastNoiseSIMD_internalCC: FastNoiseSIMD_neonCC: FastNoiseSIMD_sse2CC: FastNoiseSIMD_sse41CC: fooCC: stdlib_system
CC: FastNoiseSIMD
CC: stdlib_strutils
CC: stdlib_parseutils
CC: stdlib_math
CC: stdlib_algorithm
Hint: [Link]
Undefined symbols for architecture x86_64:
"_unknown_FastNoiseSIMDDatInit000", referenced from:
PreMainInner() in foo.o
"_unknown_FastNoiseSIMDInit000", referenced from:
PreMainInner() in foo.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: execution of an external program failed: 'clang++ -o /Users/zachcarter/projects/NimFastNoiseSIMD/foo /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD_avx2.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD_avx512.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD_internal.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD_neon.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD_sse2.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD_sse41.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/foo.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/stdlib_system.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/FastNoiseSIMD.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/stdlib_strutils.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/stdlib_parseutils.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/stdlib_math.o /Users/zachcarter/projects/NimFastNoiseSIMD/nimcache/stdlib_algorithm.o -lm -ldl'
import strutils
const sourcePath = currentSourcePath().split({'\\', '/'})[0..^2].join("/")
{.passC: "-I\"" & sourcePath & "/FastNoiseSIMD\"".}
const headerFastNoiseSIMD = sourcePath & "/FastNoiseSIMD/FastNoiseSIMD.h"
{.passC: "-std=c++11 -march=core-avx2".}
{.compile: "nimFastNoiseSIMD/FastNoiseSIMD/FastNoiseSIMD.cpp".}
{.compile: "nimFastNoiseSIMD/FastNoiseSIMD/FastNoiseSIMD_avx2.cpp".}
{.compile: "nimFastNoiseSIMD/FastNoiseSIMD/FastNoiseSIMD_avx512.cpp".}
{.compile: "nimFastNoiseSIMD/FastNoiseSIMD/FastNoiseSIMD_internal.cpp".}
{.compile: "nimFastNoiseSIMD/FastNoiseSIMD/FastNoiseSIMD_neon.cpp".}
{.compile: "nimFastNoiseSIMD/FastNoiseSIMD/FastNoiseSIMD_sse2.cpp".}
{.compile: "nimFastNoiseSIMD/FastNoiseSIMD/FastNoiseSIMD_sse41.cpp".}
...
import nimFastNoiseSIMD/FastNoiseSIMD
echo "Hello World!"
[n.global]
output = nimFastNoiseSIMD
[n.include]
nimFastNoiseSIMD/FastNoiseSIMD
[n.prepare]
gitremote = "https://github.com/Auburns/FastNoiseSIMD"
gitsparse = """
FastNoiseSIMD/*
"""
[FastNoiseSIMD.h]
preprocess = true
defines = true
recurse = true
flags = "--stdcall --cpp --suffix:_"
ppflags = "-std=c++11 -march=core-avx2"
compile = nimFastNoiseSIMD/FastNoiseSIMD
pragma-mac = "passC: \"-std=c++11 -march=core-avx2\""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment