Commit graph

14 commits

Author SHA1 Message Date
Ricardo Bánffy
2bb425addf Add MacPorts as an option for the travis/deps.sh script 2024-09-04 16:32:06 -04:00
B. Scott Michel
a011507fe9 MAKEFILE: Add zlib to macOS deps
Zlib is no longer packaged as part of macOS, now needs to be installed
by HomeBrew.
2024-06-28 12:45:49 -04:00
Olaf Seibert
3ffd20c1fa Non-letters are not allowed in shell function names. 2024-06-03 16:48:50 -04:00
Ender Wiggin
8c1fb2ea3a Update deps.sh
Changed "arch" to "arch-linux"
2024-05-21 15:58:12 -04:00
Ender Wiggin
2102b01f2d Update deps.sh 2024-05-21 15:58:12 -04:00
Ender Wiggin
4edbd76c85 Added an option for Arch Linux.
Added an option that uses pacman to install everything, therefore making setup simpler for Arch users.
2024-05-21 15:58:12 -04:00
B. Scott Michel
ae9e57f659 SCP: sprint_val comma bug, GH: Remnant symlinks
- Fix comma separator code segmentation fault: "ndigit - 3" can become a
  very large unsigned number for ndigit < 3.

- dir_cmd: Allocate WildName from heap to reduce stack pressure.

- Github CI/CD: Remnant symlink issue reappeared, afflicting the
  makefile-based build. For better or worse, the workaround is now
  dependent on specific Python versions that must be removed, unlinked
  and any remnant symlinks that HomeBrew decided it needed to install in
  /usr/local/bin. The Python upgrade is triggered by the sdl2_ttf
  package.

  According to the Github image maintainers, this is an old, known issue
  in macOS images that originates inside of Homebrew.
2024-03-12 11:51:19 -07:00
B. Scott Michel
d9d0e8bd74 CMake: Updates
Issue #294: "apple silicon build problem(s?)": If the "--flavor/-f" flag
is not specified on the command line, then complain loudly, print help
and exit. The script used to default to "Unix Makefiles".

Updates:

- Add missing "-DHAVE_LIBPNG" compiler command line define when the PNG
  library is detected/present for screen capture support.

- Add "clang64" to the list of MinGW64 platforms for which the
  .travis/deps.sh script can install build dependencies.

- Add PThread4W_FOUND to the condition that sets async I/O for Win32
  when using vcpkg for build dependencies.

- Add vs2022-x64, vs2019-x64 and vs2017-x64 build environments to
  build 64-bit Windows executables.

- Use simulator AIO only where needed by the simulator (i.e., the
  simulator calls/uses AIO_CHECK_EVENT in sim_instr())

  - Add "USES_AIO" flag to add_simulator() to mark a simulator that
    acutally uses asynchronous I/O.

  - Build "_aio" SIMH core library variants that have AIO turned on,
    link with the "_aio" variant when a simulator sets USES_AIO.

  - Emit a warning message when WITH_ASYNC is False (CMake configuration
    option) to notify the user/developer that some functionality will be
    crippled.

  Affected simulator builds: 3b2 family, PDP-6, PDP-11, VAX family,
  IMLAC and TT2500. The makefile and cmake/generate.py also updated
  to remain in sync with CMake.

  N.B.: Simulators still link with the underlying platform's threading
  library. SEL32 requires pthreads or equivalent threading library,
  independent of AIO.

- cmake/cmake-builder.sh

  - New "--no-aio" flag: Build simulators without async I/O.

  - New "--no-aio-intrinsics" flag: Don't build async I/O using compiler
    compare-exchange, atomic load intrinsics.

- cmake/cmake-builder.ps1

  - New "-noaio" flag: Build simulators without async I/O.

  - New "-noaiointrinsics" flag: Don't build async I/O using compiler
    compare-exchange, atomic load intrinsics.

CMake 3.28.1 INTERFACE_LINK_LIBRARIES behavior change: The file name
must now be an absolute path. Relative paths no longer accepted.
Internally, SIMH enforces this if CMAKE_VERSION >= 3.19, when REAL_PATH
was first implemented.
2024-02-01 12:51:13 -05:00
B. Scott Michel
8b14bb69be
CMake build infrastructure II (#53)
* CMake build infrastructure

The squashed commit that builds and packages releases for the SIMH
simulator suite with CMake, version 3.14 or newer.

See README-CMake.md for documentation.
2023-05-17 20:18:42 -04:00
Paul Koning
110183e258 simh ui: replace "readline" by "editline".
This avoids infecting SIMH with the GPL license, since readline,
very surprisingly, is GPL rather than LGPL.

The replacement package is "editline", which has a useable license.
2022-10-01 16:38:55 -04:00
Lars Brinkhoff
fcc7c37d5a CI: Build using GitHub Actions. 2020-12-11 10:38:07 +01:00
Lars Brinkhoff
34a133ce2e travis: On OS/X run 'brew update' before installing packages.
This is to work around a bug in Homebrew, but it may be a good idea
anyway.
2019-10-29 08:07:58 -07:00
Mark Pizzolato
e7a0c38ea3 makefile, travis: Update to advise install of HomeBrew sdl2_ttf package 2018-03-19 12:43:47 -07:00
Lars Brinkhoff
567f703131 Install prerequisite libraries for Travis CI. 2018-03-19 18:58:38 +01:00