Skip to content

Conversation

neuschaefer
Copy link
Contributor

@neuschaefer neuschaefer commented Jul 15, 2025

TODO list, copied from the documentation:

  • compiler/platform.nim Add os/cpu properties.
  • lib/system.nim Add os/cpu to the documentation for system.hostOS and system.hostCPU.
  • compiler/options.nim Add special os/cpu property checks in isDefined. seems unnecessary; isn't dont for most CPUs
  • compiler/installer.ini Add os/cpu to Project.Platforms field.
  • lib/system/platforms.nim Add os/cpu.
  • std/private/osseps.nim Add os specializations.
  • lib/pure/distros.nim Add os, package handler.
  • tools/niminst/makefile.nimf Add os/cpu compiler/linker flags. already done in Support IBM Z architecture #20943
  • tools/niminst/buildsh.nimf Add os/cpu compiler/linker flags.

For csource:

  • have compiler/platform.nim updated
  • have compiler/installer.ini updated
  • have tools/niminst/buildsh.nimf updated
  • 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:

Possible future work:

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

@neuschaefer
Copy link
Contributor Author

neuschaefer commented Jul 16, 2025

Pushing the new csources would make it possible to build Nim on s390x without any tricks and manual edits, but I don't know how to re-generate the csources from the Nim repo.

@neuschaefer neuschaefer changed the title Add s390x CPU support Improve s390x CPU support Jul 16, 2025
@Araq Araq merged commit f4497c6 into nim-lang:devel Sep 26, 2025
18 checks passed
Copy link
Contributor

Thanks for your hard work on this PR!
The lines below are statistics of the Nim compiler built from f4497c6

Hint: mm: orc; opt: speed; options: -d:release
183134 lines; 8.233s; 661.637MiB peakmem

@neuschaefer neuschaefer deleted the s390x branch September 26, 2025 18:12
narimiran pushed a commit that referenced this pull request Sep 29, 2025
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 #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 #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 f4497c6)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants