Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apple silicon build problem(s?) #294

Open
at7heb opened this issue Sep 15, 2023 · 26 comments
Open

apple silicon build problem(s?) #294

at7heb opened this issue Sep 15, 2023 · 26 comments

Comments

@at7heb
Copy link

at7heb commented Sep 15, 2023

  • Context

I'm trying to build simh on a MacBook Pro with the M1 chip, Ventura 13.5.2. I use home-brew. There are build problems.

  • how you built the simulator or that you're using prebuilt binaries

First problem is accessing the GNU getopt. I get the following output (I've not included the output from the brew installations and updates; gnu-getopt is installed)

heb@howards-mbp simh % cmake/cmake-builder.sh
cmake/cmake-builder.sh: GNU getopt needed for this script to function properly.
cmake/cmake-builder.sh: Specifically, a 'getopt' that supports the '-T' flag (enhanced getopt)

That is an easy fix in cmake/cmake-builder.sh -- add this line

[[ -d /opt/homebrew/opt/gnu-getopt/bin ]] && PATH="/opt/homebrew/opt/gnu-getopt/bin:$PATH"

The next problem is

heb@howards-mbp simh % cmake/cmake-builder.sh
** cmake version 3.27.5

CMake suite maintained and supported by Kitware (kitware.com/cmake).
realpath: /Users/heb/Documents/dev/simh/cmake/build-unix: No such file or directory
cmake/cmake-builder.sh: SIMH top-evel directory: /Users/heb/Documents/dev/simh
cmake/cmake-builder.sh: Build directory:
usage: mkdir [-pv] [-m mode] directory_name ...
/opt/homebrew/bin/cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -S /Users/heb/Documents/dev/simh -B
CMake Error: No build directory specified for -B
CMake Error: Run 'cmake --help' for all supported options.
*** cmake/cmake-builder.sh: Errors detected during environment generation. Exiting.
heb@howards-mbp simh %

after running make with --help, I tried building with the --flavor xcode and ran into the next problem

heb@howards-mbp simh % cmake/cmake-builder.sh --flavor xcode
** cmake version 3.27.5

CMake suite maintained and supported by Kitware (kitware.com/cmake).
realpath: /Users/heb/Documents/dev/simh/cmake/build-xcode: No such file or directory
cmake/cmake-builder.sh: SIMH top-evel directory: /Users/heb/Documents/dev/simh
cmake/cmake-builder.sh: Build directory:
usage: mkdir [-pv] [-m mode] directory_name ...
/opt/homebrew/bin/cmake -G "Xcode" -DCMAKE_BUILD_TYPE=Release -S /Users/heb/Documents/dev/simh -B
CMake Error:
Xcode 1.5 not supported.

CMake Error: Could not create named generator Xcode

These may be the tip of the iceberg...

@pkoning2
Copy link
Member

I've used this stuff before on my M1 Macbook, without trouble. So I checked again.
Apparently I tinkered with my Homebrew setup because some of the builds are now failing in a way to that imply it isn't finding the PNG support. I thought it was supposed to be optional but if so the cmake files don't seem to handle that.

In any case, trying --target lgp just for a quick test shows that flavors unix, ninja, and xcode all work. I have Mac OS 12.6.8, Cmake 3.26.4, Xcode 14.2, Clang 14.0.0.

Do you have the xcode command line utilities installed? A quick test is "gcc --version", that should work and will tell you the Clang version number (masquerading as gcc, which of course it isn't).

@at7heb
Copy link
Author

at7heb commented Sep 15, 2023

MacOS (Ventura) 13.5.2 -- one difference
Xcode command line utilities installed:

heb@howards-mbp cmake % gcc --version
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
heb@howards-mbp cmake %

Reading the output, the mkdir usage message stands out; I added

echo "will mkdir ${buildSubdir}"
before the mkdir --
mkdir ${buildSubdir}

With that debug output, it looks like the buildSubdir shell variable is not set.

I've created a branch so it is easy to create the pull request, but my progress may be slow...

@at7heb
Copy link
Author

at7heb commented Sep 16, 2023

The errors running cmake-builder.sh were because I didn't have the proper configuration for the Xcode command line tools. I ran

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

and all the simulators built and passed all tests.

The hint for this came from looking at cmake/build-xcode/CMakeFiles/CMakeConfigureLog.yaml.

at7heb pushed a commit to at7heb/simh that referenced this issue Sep 16, 2023
- find gnu-getopt when installed by homebrew in /opt
- invoke realpath only on known path components
  (needed for some realpath implementation(s))
  (relevant when build-flavor directory does not yet exist)
@pkoning2
Copy link
Member

Thanks, that might make a good addition to the build documentation.

@at7heb
Copy link
Author

at7heb commented Sep 18, 2023

Should I do so? If so, I'll assume the same issue & pull request. A gentle hint on how I do that with GitHub would be appreciated. I'm a cooperative development neophyte.

@at7heb
Copy link
Author

at7heb commented Sep 18, 2023

Never mind on the gentle hint. I saw this:

Add more commits by pushing to the apple-silicon0 branch on at7heb/simh.

pkoning2 pushed a commit that referenced this issue Oct 10, 2023
- find gnu-getopt when installed by homebrew in /opt
- invoke realpath only on known path components
  (needed for some realpath implementation(s))
  (relevant when build-flavor directory does not yet exist)
bscottm pushed a commit to bscottm/open-simh that referenced this issue Oct 10, 2023
- find gnu-getopt when installed by homebrew in /opt
- invoke realpath only on known path components
  (needed for some realpath implementation(s))
  (relevant when build-flavor directory does not yet exist)
@juiceghost
Copy link

Not sure if they are related but i ran into issues trying to build opensimh commit b23cde9 on my M1 mac running Sonoma. I had a string of linker issues which in the end i solved with the following command
make LDFLAGS="-lz -ledit -lpcre -lpng" pdp11

Could very well be PEBCAK but i thought i'd throw this in here just in case. Also Sonoma.

@pkoning2
Copy link
Member

pkoning2 commented Nov 3, 2023

@juiceghost were you using cmake or the makefile? It's hard to comment on your report without seeing the full build log.

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

@pkoning2: -lpng is necessary when compiling with simulator video support for screen captures. I don't think there's an option in the code to turn that feature off (maybe there ought to be one?)

@juiceghost: -lz should appear at the end of the LDFLAGS string, i.e., -ledit -lpcre -lpng -lz.

@pkoning2
Copy link
Member

pkoning2 commented Dec 4, 2023

I thought the build script would recognize the presence or absence of libpng and supply a defined symbol accordingly. At least I did that on a (not yet published) simulator and I'm pretty sure it wasn't something new I added.

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

@pkoning2: I think I found the issue. -DHAVE_LIBPNG should be present on the compile command line if libpng16 was detected. I'll go see what happens when libpng16 isn't found and diagnose accordingly.

@pkoning2
Copy link
Member

pkoning2 commented Dec 4, 2023

Yes, and similarly there's supposed to be a Make symbol so files depending on that library can be conditionally included in the inputs for a given simulator.

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

@juiceghost: One issue with how you're invoking cmake/cmake-builder.sh: cmake-builder.sh does not try to detect the platform or developer environment. cmake-builder.sh needs to know the build's "flavor", which is what determines the build subdirectory. For example, my development environment is Win32 and MinGW64, which have separated build subdirectories.

This is how you ought to invoke it:

heb@howards-mbp simh % cmake/cmake-builder.sh -f xcode

I'll add a sanity check to ensure buildSubdir is set before proceeding further with the build.

@pkoning2
Copy link
Member

pkoning2 commented Dec 4, 2023

But why would you have to say -f Xocde if that's an optional switch, defaulting to "use make"? It should do the right thing for any flavor.

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

@pkoning2: It's not an optional switch, there just isn't a default (ok, need to fix that to default to Unix Makefiles.) There also isn't a check for an unset buildSubdir -- -f flavor is what sets buildSubdir (need to fix that too.)

@pkoning2
Copy link
Member

pkoning2 commented Dec 4, 2023

Hm, I thought Unix was the default, but you're right, it doesn't say that. So either it should be the default or omitting -f should be an error, but doing the wrong thing isn't desirable...

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

"Unix Makefiles" is a reasonable default? Could also probe for ninja or xcodebuild and prefer them to make if present? Thoughts?

@pkoning2
Copy link
Member

pkoning2 commented Dec 4, 2023

Perhaps I was thinking of other projects that use Cmake (like Wireshark). But actually, the cmake command is documented as defaulting to the Makefile generator. And that makes some sense; it's hard to imagine a Unix system without make, while build tools like Ninja are certainly readily available but not necessarily present by default.

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

@pkoning2: And you're correct that CMake defaults to the Makefile generator if not otherwise specified. The "nasty" that @juiceghost tripped on is the build subdirectory not being set if the -f flag is missing. Easy fix.

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

@pkoning2: Just how loudly should cmake-builder.sh complain if -f is missing?

@pkoning2
Copy link
Member

pkoning2 commented Dec 4, 2023

If you don't want to make -f unix (or some other flavor) the default, then the script should abort (do nothing) if -f is missing.

@bscottm
Copy link
Contributor

bscottm commented Dec 4, 2023

@pkoning2: I suspect @juiceghost might not be at the most current version of cmake-builder.sh. The line:

[[ -d /opt/homebrew/opt/gnu-getopt/bin ]] && PATH="/opt/homebrew/opt/gnu-getopt/bin:$PATH"

is in the most current version. However, earlier in the thread, he said he needed to add that line, unless I'm misreading the thread.

@juiceghost
Copy link

I think i might have had some intermittent issues, i compiled a later commit just fine with only
make pdp11

If i can reproduce it again on my end i will make sure to save the build log.

Thanks for looking into it.

@bscottm
Copy link
Contributor

bscottm commented Dec 6, 2023

@juiceghost: Couple of extra questions.

  • Is there a cmake/build-unix or cmake/build-ninja subdirectory?
  • Can you try the following from the top-level SIMH directory:
$ rm -rf cmake/build-unix
$ cmake/cmake-builder.sh -f unix --generate
$ (cd cmake/build-unix; make pdp11)

Does this result in a broken make?

@juiceghost
Copy link

I'll try it, but note that i did not use cmake (at least not knowingly), i do not have any build-* subfolders inside cmake/. I think that the original poster used it and i could've been more clearer when i jumped in, i've always just cloned the repo, cd into it and written make pdp11

@bscottm
Copy link
Contributor

bscottm commented Dec 7, 2023

@juiceghost: My bad...

@at7heb: Couple of extra questions.

Is there a cmake/build-unix or cmake/build-ninja subdirectory?
Can you try the following from the top-level SIMH directory:

$ rm -rf cmake/build-unix
$ cmake/cmake-builder.sh -f unix --generate
$ (cd cmake/build-unix; make pdp11)

Does this result in a broken make?

bscottm added a commit to bscottm/open-simh that referenced this issue Dec 26, 2023
Issue open-simh#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.

CMake 3.28.1 INTERFACE_LINK_LIBRARIES behavior change: The file name
must now be an absolute path. Relative paths no longer accepted.
bscottm added a commit to bscottm/open-simh that referenced this issue Dec 27, 2023
Issue open-simh#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.

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.
bscottm added a commit to bscottm/open-simh that referenced this issue Dec 29, 2023
Issue open-simh#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.

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.
bscottm added a commit to bscottm/open-simh that referenced this issue Dec 29, 2023
Issue open-simh#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.

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.
bscottm added a commit to bscottm/open-simh that referenced this issue Dec 30, 2023
Issue open-simh#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.

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.
bscottm added a commit to bscottm/open-simh that referenced this issue Dec 30, 2023
Issue open-simh#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.

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.
bscottm added a commit to bscottm/open-simh that referenced this issue Dec 30, 2023
Issue open-simh#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.

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.
bscottm added a commit to bscottm/open-simh that referenced this issue Dec 30, 2023
Issue open-simh#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.

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.
bscottm added a commit to bscottm/open-simh that referenced this issue Jan 13, 2024
Issue open-simh#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 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.
@bscottm bscottm mentioned this issue Jan 13, 2024
bscottm added a commit to bscottm/open-simh that referenced this issue Jan 19, 2024
Issue open-simh#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.
pkoning2 pushed a commit that referenced this issue Feb 1, 2024
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.
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

No branches or pull requests

4 participants