Commit Graph

100 Commits

Author SHA1 Message Date
ringabout
48d71e7ead fixes nightlies due to UB errors; increase maxCPU hard limits (#25219)
ref https://github.com/nim-lang/Nim/pull/25217

The issues is actually that there is a hard limit for max cpus in
niminst: https://github.com/nim-lang/Nim/pull/25219, which set to 20
while there is a 21 cpus now

(cherry picked from commit c0fa86872b)
2025-10-14 11:37:24 +02:00
ringabout
83b9c834e8 nightlies regressions: CPU order matters for C sources? (#25217)
ref https://github.com/nim-lang/Nim/pull/25056

https://github.com/nim-lang/nightlies/actions/runs/18053288396/job/51378922406#step:12:1572

```
bin/nim compile -f --incremental:off --compileonly --gen_mapping --cc:gcc --skipUserCfg --os:windows --cpu:loongarch64 -d:danger -d:gitHash:f4497c61584dca8acd489ceb7ba862b150f5cf55 compiler/nim.nim
```

`loongarch64` is applied to all the platforms wrongly. Presumably it was
caused by the order?

(cherry picked from commit 3962264c35)
2025-10-13 09:18:26 +02:00
J. Neuschäfer
3774f84e8c Improve s390x CPU support (#25056)
TODO list, copied from the documentation:

- [x] compiler/platform.nim Add os/cpu properties.
- [x] lib/system.nim Add os/cpu to the documentation for system.hostOS
and system.hostCPU.
- [x] ~~compiler/options.nim Add special os/cpu property checks in
isDefined.~~ seems unnecessary; isn't dont for most CPUs
- [x] compiler/installer.ini Add os/cpu to Project.Platforms field.
- [x] lib/system/platforms.nim Add os/cpu.
- [x] ~~std/private/osseps.nim Add os specializations.~~
- [x] ~~lib/pure/distros.nim Add os, package handler.~~
- [x] ~~tools/niminst/makefile.nimf Add os/cpu compiler/linker flags.~~
already done in https://github.com/nim-lang/Nim/pull/20943
- [x] tools/niminst/buildsh.nimf Add os/cpu compiler/linker flags.

For csource:

- [x] have compiler/platform.nim updated
- [x] have compiler/installer.ini updated
- [x] have tools/niminst/buildsh.nimf updated
- [x] have tools/niminst/makefile.nimf updated
- [ ] be backported to the Nim version used by the csources
- [ ] the new csources must be pushed
- [ ] the new csources revision must be updated in
config/build_config.txt

Additionally:

- [x] check relation to https://github.com/nim-lang/Nim/pull/20943

Possible future work:

- Porting Nim to s390x-specific operating systems, notably z/OS

Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
(cherry picked from commit f4497c6158)
2025-09-29 08:45:30 +02:00
qiangxuhui
77c04092e0 Add linux/loongarch64 support in 'compiler/installer.ini' (#23672)
The files(like `build/build.sh`)generated by the command `koch csource`
do not contain complete `linux/loongarch64` support. This patch will fix
it.
2024-06-04 09:50:35 +02:00
PHO
0ba932132e Support NetBSD/aarch64 (#23616)
I could trivially port Nim to NetBSD/aarch64 because it already
supported NetBSD and aarch64. I only needed to generate `c_code` for
this combination.
2024-05-16 23:22:49 +02:00
daylin
fe98032d3d fix(#23231): add nimdoc.cls to installer script (#23232)
Change to `compiler/installer.ini` to add `nimdoc.cls` to files copied
by installer script.

Closes #23231
2024-01-18 21:12:13 +01:00
ringabout
2c5b94bbfd fixes #22692; ships ci/funs.sh (#22721)
fixes #22692
2023-09-18 22:57:03 +02:00
Andreas Rumpf
21d941c16a Atlas: now in its own repository (#22066)
* Atlas: now in its own repository

* progress
2023-06-10 17:32:11 +02:00
Miguel Madrid-Mencía
85d8ee2cee Fix typo in installer.ini (#22002) 2023-06-04 16:07:29 +02:00
ringabout
767fec1640 fixes nightlies regression caused by atlas moving out of the tools dir (#21999)
fixes nightlies caused by atlas moving out of the tools dir
2023-06-04 13:51:03 +02:00
ringabout
c2abcb06cc ship atlas and build documentation (#21945)
* ship atlas and build documentation

* move atlas.md and link it in tools' index
2023-05-28 08:28:49 +02:00
ringabout
afc30ca879 fixes #19863; move sha1, md5 to nimble packages for 2.0 (#21702)
* move sha1, md5 to nimble packages

* boot the compiler

* fixes tests

* build the documentation

* fixes docs

* lol, I forgot koch.nim

* add `nimHasChecksums` define

* clone checksums but maybe copying is better

* bump nimble hash

* use ChecksumsStableCommit

* fixes tests

* deprecate them

* fixes paths

* fixes koch
2023-05-02 10:49:17 +02:00
Arnaud Moura
b2c5f8a05f fixes #21461 (#21463)
* fixes #21461; Move nim-gdb.py and add nim-lldb.py

* fixes bad path for nim-gdb.py
2023-03-03 23:37:12 +01:00
ringabout
fc5b7a01ec fixes #21243; ships build_all.sh on Unix [backport] (#21264)
fixes #21243; ships `build_all.sh` on Unix
2023-01-18 13:10:34 -05:00
ringabout
e602ebeb66 fixes #19997; ships changelogs directory for a release (#21200)
fixes #19997; ship changelogs directory for a release
2022-12-29 08:29:40 +01:00
ringabout
1699ba1c93 fixes nightlies build regression (#20322)
fixes nightlies build
2022-09-08 22:30:03 +02:00
flywind
73330711a3 make choosenim work on windows [backport] (#18993) 2021-10-14 23:55:05 +08:00
Andreas Rumpf
5d315ebcc2 ported Nim to proprietary CrossOS [backport] (#18889) 2021-09-24 13:24:41 +02:00
alaviss
d35f366d6f compiler/installer.ini: package cacert.pem on Windows [backport:1.2] (#17172)
Follow up of 5dc544e1f5

After updating windeps.zip, it appears that Windows' build was
unchanged. As it turns out, cacert.pem is not set for packaging by the
compiler package manifest.

This commit add cacert.pem to the Windows package.
2021-02-24 17:57:19 +01:00
Timothee Cour
b7dd8e7dff unbundle fusion (#16925)
* unbundle fusion
* changelog
* address comment: `./koch fusion` calls nimble install fusion (at a fixed hash)
2021-02-11 07:24:53 +01:00
Andreas Rumpf
94bb816de3 OSX: support for M1 [backport:1.0] (#16279) 2020-12-07 10:50:30 +01:00
Alf-André Walla
545c406cbe Add 32-bit RISC-V support (#16231) 2020-12-03 17:33:42 +01:00
lenoil98
63c559e781 Add support for FreeBSD/PowerPC64 Little Endian (#15927)
* Update installer.ini

Add support for powerpc64 little endian

* Update buildsh.nimf

Add support for powerpc64 little endian

* Update makefile.nimf

Add support for freebsd/powerpc64 little endian
2020-11-12 10:43:13 +01:00
alaviss
d4892e9388 koch, compiler: bundle fusion as part of the source archive (#15409)
This allows distributions to build Nim from the downloaded source
archive without an Internet connection.
2020-09-26 09:31:55 +02:00
lbartoletti
5c1fa142d6 New freebsd platforms (#14801)
* add riscv as riscv64

* add all platforms supported by FreeBSD
2020-06-29 10:31:25 +02:00
Miran
6bf2990f66 [backport] fix #14748, move gdb files to other section of installer.ini (#14772) 2020-06-23 20:36:59 +02:00
lbartoletti
30c09e4607 [OpenBSD] Add arm support (#14608)
* add arm support to openbsd

* use clang on openbsd
2020-06-08 20:06:04 +02:00
Andreas Rumpf
f3e17e7c77 fixes #13104 [backport] 2020-05-13 22:29:02 +02:00
Timothee Cour
ee15437aed fix root cause of https://github.com/dom96/choosenim/issues/193; config/config.nims should get installed 2020-05-07 15:01:46 -07:00
lbartoletti
567af54baf Add arm/arm64 for FreeBSD (#13822)
* Add arm and arm64 for FreeBSD

* Add arm64 with aarch64 and reorder to avoid conflict with arm
2020-03-31 22:55:25 +02:00
Timothee Cour
1b54be7779 fixes #12998 nim doc regression (#13117) 2020-01-16 14:19:58 +01:00
Andreas Rumpf
8b00586488 fixes #13104 [backport] (#13142) 2020-01-14 15:16:36 +01:00
John Paul Adrian Glaubitz
944fcc0e62 Add build support for Linux/hppa (#12271)
* build.sh: Enable CPU detection for hppa
* compiler: Add hppa as target architecture on Linux
* lib/system: Add platform support for hppa
2019-09-26 15:45:05 +02:00
Andreas Rumpf
82d5e773e3 make testament a tool we ship with Nim; fixes #12084 (#12088)
* make testament a tool we ship with Nim; fixes #12084
* moved config to fit
* adapt testament tests to use the testament binary
2019-08-30 15:43:07 +02:00
lenoil98
2212a90458 Add build support for FreeBSD PowerPC64 2019-08-23 07:56:56 -04:00
John Paul Adrian Glaubitz
65d1140d11 Add build support for Linux/ia64 (#11880) [feature]
* compiler: Add ia64 as target architecture on Linux
* build.sh: Enable CPU detection for ia64
2019-08-04 23:16:30 +02:00
Araq
de69e1856f installer: ship nimpretty.exe on Windows 2019-07-19 16:48:27 +02:00
John Paul Adrian Glaubitz
4a485cb7ef Add build support for Linux/alpha (#11386)
* compiler: Add alpha as target architecture on Linux

* build.sh: Enable CPU detection for alpha
2019-06-03 08:18:15 +02:00
John Paul Adrian Glaubitz
ec038998f0 Add build support for Linux/m68k (#11366)
* compiler: Add m68k as target architecture on Linux

* build.sh: Enable CPU detection for m68k
2019-06-02 00:20:28 +02:00
John Paul Adrian Glaubitz
af0ae5830f Add build support for Linux/sparc64 (#11365)
* compiler: Add sparc64 as target architecture on Linux

* build.sh: Use getconf for bitness detection on Linux/sparc

The isainfo utility is specific to Solaris and not available
on Linux/sparc. While getconf exists on Solaris as well, it
does not always seem to match the bitness reported by isainfo
on Solaris and isainfo should therefore be preferred on Solaris.
2019-06-01 10:45:44 +02:00
Neelesh Chandola
e377c55c10 Cleanup installer.ini (#9558) 2018-10-30 06:31:17 +01:00
Utwo
a68a4bfaf2 Remove install.txt and readme.txt (#9521)
* Remove install.txt and readme.txt

* Refactor tests that use readme.txt

* Tests open own source code
2018-10-28 13:36:52 +01:00
Araq
00f84d3d22 tar.xz building: also ship with the moved testament tool 2018-10-23 17:52:18 +02:00
Andreas Rumpf
6b5e2adfd0 niminst: don't depend on NIMINSTDEPS environment variable anymore 2018-09-21 09:09:52 +02:00
Andreas Rumpf
7ee6774fb7 travis: run 'koch testinstall' on OSX 2018-09-18 15:27:54 +02: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
Federico Ceratto
1ee5f1e36a Enable RISC-V 64bit platform (#7541)
Related to  #7417
2018-04-11 16:45:37 +02:00
Araq
2db96d4f7b make install.txt part of the zips 2017-09-04 11:22:50 +02:00
Fredrik Høisæther Rasch
c39e202976 Introduce first class support for Android (#5772) 2017-08-06 02:18:15 +02:00
James Cowgill
fed1b0a077 Add mips64 and mips64el CPU platforms (#5866) 2017-08-03 18:37:02 +02:00