diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/build_config.txt | 6 | ||||
-rw-r--r-- | config/config.nims | 5 | ||||
-rw-r--r-- | config/nim.cfg | 49 | ||||
-rw-r--r-- | config/nimdoc.cfg | 17 |
4 files changed, 44 insertions, 33 deletions
diff --git a/config/build_config.txt b/config/build_config.txt index 15f44bb57..66390e695 100644 --- a/config/build_config.txt +++ b/config/build_config.txt @@ -1,5 +1,5 @@ nim_comment="key-value pairs for windows/posix bootstrapping build scripts" -nim_csourcesDir=csources_v1 -nim_csourcesUrl=https://github.com/nim-lang/csources_v1.git +nim_csourcesDir=csources_v2 +nim_csourcesUrl=https://github.com/nim-lang/csources_v2.git nim_csourcesBranch=master -nim_csourcesHash=561b417c65791cd8356b5f73620914ceff845d10 +nim_csourcesHash=86742fb02c6606ab01a532a0085784effb2e753e diff --git a/config/config.nims b/config/config.nims index 4f3e2b13f..b8979e8e3 100644 --- a/config/config.nims +++ b/config/config.nims @@ -11,7 +11,7 @@ cppDefine "NAN" when defined(nimStrictMode): # xxx add more flags here, and use `-d:nimStrictMode` in more contexts in CI. - # pending bug #14246, enable this: + # enable this: # when defined(nimHasWarningAsError): # switch("warningAsError", "UnusedImport") @@ -20,5 +20,4 @@ when defined(nimStrictMode): switch("hintAsError", "ConvFromXtoItselfNotNeeded") # future work: XDeclaredButNotUsed -switch("define", "nimVersion:" & NimVersion) - +switch("define", "nimVersion:" & NimVersion) # deadcode diff --git a/config/nim.cfg b/config/nim.cfg index 1601ebe08..7c9958139 100644 --- a/config/nim.cfg +++ b/config/nim.cfg @@ -14,15 +14,13 @@ cc = gcc # additional options always passed to the compiler: --parallel_build: "0" # 0 to auto-detect number of processors -hint[LineTooLong]=off -@if nimHasAmbiguousEnumHint: - # not needed if hint is a style check - hint[AmbiguousEnum]=off +@if not nimHasNolineTooLong: + hint[LineTooLong]=off @end + #hint[XDeclaredButNotUsed]=off threads:on -define:nimPreviewRangeDefault # Examples of how to setup a cross-compiler: # Nim can target architectures and OSes different than the local host @@ -39,7 +37,7 @@ arm64.linux.gcc.linkerexe = "aarch64-linux-gnu-gcc" riscv32.linux.gcc.exe = "riscv64-linux-gnu-gcc" riscv32.linux.gcc.linkerexe = "riscv64-linux-gnu-gcc" riscv64.linux.gcc.exe = "riscv64-linux-gnu-gcc" -riscv64.linux.gcc.linkerexe = "arm-linux-gnueabihf-gcc" +riscv64.linux.gcc.linkerexe = "riscv64-linux-gnu-gcc" # For OpenWRT, you will also need to adjust PATH to point to your toolchain. mips.linux.gcc.exe = "mips-openwrt-linux-gcc" @@ -100,6 +98,11 @@ nimblepath="$home/.nimble/pkgs/" gcc.options.always %= "${gcc.options.always} -fsanitize=null -fsanitize-undefined-trap-on-error" @end +# Turn off threads support when compiling for bare-metal targets (--os:any) +@if any: + threads:off +@end + @if unix and mingw: # Cross compile for Windows from Linux/OSX using MinGW i386.windows.gcc.exe = "i686-w64-mingw32-gcc" @@ -174,17 +177,19 @@ nimblepath="$home/.nimble/pkgs/" # Configuration for the GNU C/C++ compiler: @if windows: #gcc.path = r"$nim\dist\mingw\bin" - @if gcc or tcc: + @if gcc: + gcc.options.linker %= "-Wl,-Bstatic -lpthread" + @end + @if tcc: tlsEmulation:on @end @end gcc.maxerrorsimpl = "-fmax-errors=3" -@if freebsd: +@if freebsd or netbsd: tlsEmulation:off @elif bsd: - # at least NetBSD has problems with thread local storage: tlsEmulation:on @end @@ -326,24 +331,30 @@ tcc.options.always = "-w" vcc.cpp.options.always%= "${vcc.cpp.options.always} /GL /Gw /Gy" vcc.options.linker %= "${vcc.options.linker} /link /LTCG:incremental" vcc.cpp.options.linker %= "${vcc.cpp.options.linker} /link /LTCG:incremental" + clang_cl.options.always%= "${clang_cl.options.always} -flto=thin" + clang_cl.cpp.options.always%= "${clang.cpp.options.always} -flto=thin" + clang.options.always%= "${clang.options.always} -flto=thin" + clang.cpp.options.always%= "${clang.cpp.options.always} -flto=thin" + clang.options.linker %= "${clang.options.linker} -flto=thin" + clang.cpp.options.linker %= "${clang.cpp.options.linker} -flto=thin" @else: vcc.options.always%= "${vcc.options.always} /GL" vcc.cpp.options.always%= "${vcc.cpp.options.always} /GL" vcc.options.linker %= "${vcc.options.linker} /link /LTCG" vcc.cpp.options.linker %= "${vcc.cpp.options.linker} /link /LTCG" + clang_cl.options.always%= "${clang_cl.options.always} -flto" + clang_cl.cpp.options.always%= "${clang.cpp.options.always} -flto" + clang.options.always%= "${clang.options.always} -flto" + clang.cpp.options.always%= "${clang.cpp.options.always} -flto" + clang.options.linker %= "${clang.options.linker} -flto" + clang.cpp.options.linker %= "${clang.cpp.options.linker} -flto" @end - clang_cl.options.always%= "${clang_cl.options.always} -flto" - clang_cl.cpp.options.always%= "${clang.cpp.options.always} -flto" - clang.options.always%= "${clang.options.always} -flto" - clang.cpp.options.always%= "${clang.cpp.options.always} -flto" icl.options.always %= "${icl.options.always} /Qipo" icl.cpp.options.always %= "${icl.cpp.options.always} /Qipo" - gcc.options.always %= "${gcc.options.always} -flto" - gcc.cpp.options.always %= "${gcc.cpp.options.always} -flto" - clang.options.linker %= "${clang.options.linker} -fuse-ld=lld -flto" - clang.cpp.options.linker %= "${clang.cpp.options.linker} -fuse-ld=lld -flto" - gcc.options.linker %= "${gcc.options.linker} -flto" - gcc.cpp.options.linker %= "${gcc.cpp.options.linker} -flto" + gcc.options.always %= "${gcc.options.always} -flto=auto" + gcc.cpp.options.always %= "${gcc.cpp.options.always} -flto=auto" + gcc.options.linker %= "${gcc.options.linker} -flto=auto -Wno-stringop-overflow" # https://github.com/nim-lang/Nim/issues/21595 + gcc.cpp.options.linker %= "${gcc.cpp.options.linker} -flto=auto" @end @if strip: gcc.options.linker %= "${gcc.options.linker} -s" diff --git a/config/nimdoc.cfg b/config/nimdoc.cfg index abe039738..99751f79d 100644 --- a/config/nimdoc.cfg +++ b/config/nimdoc.cfg @@ -155,7 +155,7 @@ doc.body_toc_group = """ </div> <div id="searchInputDiv"> Search: <input type="search" id="searchInput" - onkeyup="search()" /> + oninput="search()" /> </div> $body_toc_groupsection $tableofcontents @@ -189,7 +189,7 @@ doc.body_toc_group = """ </ul> </div> <div id="searchInputDiv"> - Search: <input type="search" id="searchInput" onkeyup="search()"/> + Search: <input type="search" id="searchInput" oninput="search()"/> </div> <div> Group by: @@ -226,21 +226,25 @@ doc.listing_end = "</pre>" doc.file = """<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- This file is generated by Nim. --> -<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-theme="auto"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>$title</title> +<!-- Google fonts --> +<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> +<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/> + <!-- Favicon --> <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/> <link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII="> <!-- CSS --> -<link rel="stylesheet" type="text/css" href="$nimdoccss"> +<link rel="stylesheet" type="text/css" href="${nimdoccss}?v=$nimVersion"> <!-- JS --> -<script type="text/javascript" src="$dochackjs"></script> +<script type="text/javascript" src="${dochackjs}?v=$nimVersion"></script> </head> <body> <div class="document" id="documentId"> @@ -255,9 +259,6 @@ doc.file = """<?xml version="1.0" encoding="utf-8" ?> </div> </div> $analytics - <!-- Google fonts --> - <link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/> - <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/> </body> </html> """ |