Commit Graph

83 Commits

Author SHA1 Message Date
Tomohiro
61a6098f2d Limit number of error messages from gcc/clang backend (#14852)
* Limit number of error messages from backend

* Avoid duplication of -fmax-errors

* make tests/misc/trunner.nim success
2020-07-07 10:22:10 +02:00
Juan Carlos
74d1f25010 Clean out oldast (#14837)
* Clean out old Deprecated CLI switch
* Update to remove --oldast CLI option
2020-06-30 10:01:25 +02:00
Euan
1bc2e19498 Set cincludes and clibdir for FreeBSD, OpenBSD and NetBSD. (#14680) 2020-06-16 11:44:28 +02:00
cooldome
e86a6d24d5 vcc fix (#14222)
Co-authored-by: cooldome <ariabushenko@bk.ru>
2020-05-04 19:42:29 +02:00
Keithcat1
d27bc03b21 Add LTO support for most compilers and do some VCC fixes (#14013)
* Added LTO in nim.cfg, added /link in extccomp.nim and other fixes

* Fix line endings

* Fix line endings, for real this time. Almost certainly. Like, 95% certain.

* Removed /MD from extccom.nim VCC comiler
2020-04-22 23:56:43 +02:00
Euan
7828199827 #12103 - CI for OpenBSD (#12105)
* Working on OpenBSD CI
* Condense steps into 2 steps to make output easier to follow.
* Move up one directory after csources build.
* Remove FreeBSD build manifest and add OpenBSD test ignores for coroutines and hot code reloading.
* If runCI fails, run the test results script.
* Add email trigger for build failure
* Remove .git from repository URL
* Disable SFML test on OpenBSD
* Disable tgetaddrinfo on OpenBSD as only UDP and TCP protocols are supported.
* Remove getFilePermissions as it causes CI test failures with NimScript.
* Set clang as cc in nim.cfg and use gmake to build csources.
* Add getCurrentDir to nimscript.
* Remove duplicate getCurrentDir and check for not weirdTarget.
* Add CI badge for OpenBSD.
* Disable tests which allocate lots of memory for OpenBSD.
* Use `CORO_BACKEND_SETJMP` on OpenBSD rather than ucontext.
* Simplify building of koch
* Disable t8657 on OpenBSD. See issue #13760.
* Fix #12142 - tarray_of_channels fails on OpenBSD
* Disable thhtpclient_ssl and tosprocterminate on OpenBSD. These tests can be enabled at a later date after fixing them.
* Install libffi.
* Set path to libc for openbsd.
* Disable tevalffi for now.
* Remove tevalffi.nim.
* Use ncpuonline sysctl rather than ncpu.
* Disable tacceptcloserace and tasynchttpserver on OpenBSD.
* Enable tacceptcloserace and tasynchttpserver.
* Fix #13775 as suggested by @alaviss - use /bin/cat on OpenBSD rather than /bin/sh.
* Enable test on OpenBSD.
* Disable tflowvar on OpenBSD.
2020-04-21 15:05:21 +02:00
Araq
5300baae06 use nimEmulateOverflowChecks for ARM/ARM64 2020-03-24 09:46:54 +01:00
Miran
c6d5f0df8d [backport] -d:danger should imply -d:release (#13336) 2020-02-05 13:41:16 +01:00
genotrance
7cc03b43f8 Fix #10717, fix #13284 (#13307) 2020-02-04 17:38:24 +01:00
genotrance
010067f3cc Substitute $nimbleDir in --path flags (#12750) 2019-11-28 13:58:38 +01:00
Tomohiro
f3b56e7ac0 Add /nologo option when nim call cl.exe (#12524) 2019-10-27 11:36:38 +01:00
Tomohiro
6b157e5f73 Fix vcc linker option name (#12422) 2019-10-18 16:20:18 +02:00
Juan Carlos
4a0debfe87 Add no-ident for GCC when -d:release (#12454) 2019-10-18 14:13:55 +02:00
alaviss
e9a23cee0a nim.cfg: disable excessiveStackTrace on release (#11575) 2019-06-25 00:22:30 +02:00
Andreas Rumpf
7215341190 make fullpaths the default in error messages and stack traces for mor… (#11385)
* make fullpaths the default in error messages and stack traces for more convenient development
* split up -d:release into -d:release and -d:danger flags
* workaround a Nim config parser bug
* fixes an old nim config parser bug
* make megatest green again
* make nimpretty tests work again
* make nimsuggest green
2019-06-05 08:02:54 +02:00
ehmry
7072eaad73 Genode compiler configuration for arm64 and riscv64 (#11389)
Add compiler for arm64 and riscv64, remove path to compiler binaries.
2019-06-03 16:30:55 +02:00
Araq
dc5fa90b43 switch should be nimOldShiftRight with the nim prefix 2019-05-29 17:06:39 +02:00
Araq
13505c3be2 added a -d:nimv019 define for compiling 0.19 code with 0.20 2019-05-29 12:01:43 +02:00
Araq
d67a9f024e fixes #11306 2019-05-24 15:25:09 +02:00
cooldome
374a85bb9c Review of vcc command line arguments (#11003)
* fixes #11000

* trigger commit

* Trigger build
2019-04-16 08:47:31 +02:00
Tomohiro
df3d08b58b Fixes #10387 (#10743) 2019-03-04 12:15:07 +01:00
Emery Hemingway
15422a3e5a Genode fixes (#10491)
Readline pasthru, add linker to config, do not pass -lm to linker.
2019-01-29 15:08:43 +01:00
alaviss
ca0ef62c9e config/nim.cfg: disable tlsEmulation on Haiku (#10092) [backport]
As of hrev52662, TLS support in Haiku is usable again. This has since
been backported to R1/Beta1, so we can flip the switch upstream.
2018-12-27 22:27:23 +01:00
Neelesh Chandola
642ce799ec Add support for clang-cl (#9977) 2018-12-19 09:35:25 +01:00
Neelesh Chandola
303ef57b15 Fix clang not producing debug info in cpp mode (#9976)
* Fix clang on windows to produce debug info

* Fix clang not producing debug info in cpp mode
2018-12-16 09:08:31 +01:00
Araq
0ab1229c69 resolve merge conflicts 2018-12-12 18:16:53 +01:00
genotrance
8500076651 Make Windows cross-compilation simpler (#9485) 2018-10-24 13:12:08 +02:00
Emery Hemingway
2da0341b4d Genode fixes (#8501)
* Genode fixes

- wrap strings in "Genode::Cstring" when logging
- define SIGABRT for Genode
- disable GCC -fstack-protector
- use log RPC for fatal messages
- add --os:genode build to appveyor
- define paramStr and paramCount

* Select fixups for Genode POSIX
2018-08-16 18:12:37 +02:00
alaviss
7ef268274f Haiku support for Nim (#8542)
* posix_other: Haiku now has spawn.h

This is added per https://dev.haiku-os.org/ticket/13446

* posix_other: Add Haiku specific Dirent members

* cpuinfo: Add an implementation for Haiku

* distros: Add basic Haiku support

* encodings: update Haiku support

* fenv, math: Haiku now provides libm

* times: Add Haiku struct members

* ansi_c, osalloc: Add Haiku constants

* threads: Add Haiku support

* testament: Haiku uses LIBRARY_PATH

* nim.cfg: Update Haiku support

libnetwork should only be linked if network functions are used

* threads: Haiku does not support -pthread switch

* tworkingdir: Haiku's env is in /bin

* posix_other: add SIGKILLTHR for Haiku

* sockets: link with libnetwork on Haiku

* coro: correct ucontext.h location

http://pubs.opengroup.org/onlinepubs/009696699/basedefs/ucontext.h.html

* coro: ucontext backend is not available on Haiku

Haiku doesn't provide the <ucontext.h> header, as it was removed from POSIX

* coro: fix setjmp backend

The compiler does not allow statements after a noreturn function

* nativesockets: Haiku doesn't support AI_V4MAPPED

* system: hostOS can contains "haiku"

* os: add support for Haiku's packagefs

packagefs is read-only, but there are writable holes to the underlying
file system as well

* os: update constant for Haiku
2018-08-14 09:35:07 +02:00
Joey
ab840f445e Remove cross-platform breaking env var in Nintendo Switch config
This was bad to put in here, so my bad. It doesn't work on anything except platforms with shell support. Users can use `--passC` and `--passL` options for customization.
2018-07-15 10:54:50 +09:00
Joey
559a7615ad Nintendo switch support (#8069)
* Add config section for Nintendo Switch
* Add compiler configuration for Nintendo Switch and it's CPU
* Add specific lib code for Nintendo Switch
* Add GC support for Nintendo Switch
* Update changelog for Nintendo Switch
* Update changelog with more info about fixed paths
* Cleaned up GC memory management a bit
* Relocate docs for Switch
* Rename aarch64NoneElfGcc to nintendoSwitchGCC
* Remove armv8a57
* Fix installer.ini
* Reuse code in linux and amd64
* Add posix defs for nintendo switch
* Add more defined sections for nintendo switch
* Remove old comment
* Add what's not supported for Nintendo Switch docs
* Make nintendoswitch == posix
* Remove DEVKITPRO references from nim.cfg
* Make PR extccomp changes
* Remove Result type alias
* Add separate switch consts file
* Update docs for nintendo switch
* Fix travis errors with undefined consts and add correct wait.h procs
2018-06-27 12:35:09 +02:00
Emery Hemingway
5b176f14a2 Provide configuration for Genode toolchain 2018-05-18 16:52:08 +02:00
Ganesh Viswanathan
6ca8478548 Minor fixes to enable tcc 2018-05-14 11:40:59 +02:00
Michał Zieliński
1a0f8fd4e6 Change default ARM compiler name
In most distros (Ubuntu, Debian, Arch Linux) the only available Linux ARM toolchain uses arm-linux-gnueabihf- prefix. That's also the correct compiler for cross-compiling code for Raspberry Pi, which is what most people will probably want.
2018-01-21 16:26:22 +01:00
jcosborn
399c5e38b7 don't make optNilCheck default to on for now (#7058)
* don't make optNilCheck default to on for now

* add conditional symbol nimHasNilChecks
2018-01-17 01:32:40 +01:00
Fredrik Høisæther Rasch
de97f381fa Fix path for sh on Android (#6661) 2017-11-03 21:09:01 +01:00
Fredrik Høisæther Rasch
eda9b303d2 VCC always creates debug symbols when not in release (#6397)
Use the `/Z7` option instead of `/Zi /FS` to store all debug info in the `.obj` file instead of a shared `.pdb` file
2017-11-01 14:48:46 +01:00
Andreas Rumpf
786f9315e3 android target: use clang 2017-08-30 20:44:40 +02:00
Andreas Rumpf
28da04c1f7 Android support: put Termux specific dependencies behind a -d:termux switch 2017-08-30 13:33:09 +02:00
Fredrik Høisæther Rasch
3ce8bec359 Nim Configuration cleanup for VCC (#6261) 2017-08-21 11:20:24 +02:00
Fredrik Høisæther Rasch
a71f780253 Added missing C++ options for VCC (#6195) 2017-08-08 12:06:48 +02:00
Fredrik Høisæther Rasch
c39e202976 Introduce first class support for Android (#5772) 2017-08-06 02:18:15 +02:00
Araq
91eba77b96 fixes #4763 2017-07-17 09:28:03 +02:00
Fredrik Høisæther Rasch
513b0fed4d vcvarsallpath explaination no longer needed with vccdiscover
This reverts commit 7c4911d
2017-03-21 12:18:32 +01:00
Fredrik Høisæther Rasch
86206b2533 Added explanatory comments about vccexe and its path argument in nim.cfg 2017-03-21 12:18:29 +01:00
Fredrik Høisæther Rasch
4002bdf873 Added missing VCC C++ options to nim.cfg 2017-03-21 12:17:09 +01:00
Araq
2e65b48b62 nim.cfg: happy new year 2017-02-07 00:49:12 +01:00
Axel Pahl
8071648129 revert nim.cfg to version before b26e6e3 (#5306)
... to enable building of koch on Linux again
2017-01-31 11:32:08 +01:00
Araq
b26e6e3589 fixes #5301 2017-01-30 19:01:03 +01:00
mfxmfx
88f95a2f7e nim.cfg: update comments about the stack size to match reality (#5206) 2017-01-11 05:23:38 +01:00