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.
70 lines
1.9 KiB
Bash
Executable file
70 lines
1.9 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
install_osx() {
|
|
brew update
|
|
brew install pkg-config
|
|
brew install pcre libpng libedit
|
|
brew install sdl2 freetype2 sdl2_ttf
|
|
brew install vde
|
|
brew install cmake gnu-getopt coreutils
|
|
}
|
|
|
|
install_linux() {
|
|
sudo apt-get update -yqqm
|
|
sudo apt-get install -ym pkg-config
|
|
sudo apt-get install -ym libpcre3-dev libpng-dev libedit-dev
|
|
sudo apt-get install -ym libegl1-mesa-dev libgles2-mesa-dev
|
|
sudo apt-get install -ym libsdl2-dev libfreetype6-dev libsdl2-ttf-dev
|
|
sudo apt-get install -ym libpcap-dev libvdeplug-dev
|
|
sudo apt-get install -ym cmake cmake-data
|
|
}
|
|
|
|
install_mingw64() {
|
|
pacman -S --needed mingw-w64-x86_64-ninja \
|
|
mingw-w64-x86_64-cmake \
|
|
mingw-w64-x86_64-extra-cmake-modules \
|
|
mingw-w64-x86_64-gcc \
|
|
mingw-w64-x86_64-make \
|
|
mingw-w64-x86_64-pcre \
|
|
mingw-w64-x86_64-freetype \
|
|
mingw-w64-x86_64-SDL2 \
|
|
mingw-w64-x86_64-SDL2_ttf \
|
|
mingw-w64-x86_64-libpcap
|
|
}
|
|
|
|
install_ucrt64() {
|
|
pacman -S --needed mingw-w64-ucrt-x86_64-ninja \
|
|
mingw-w64-ucrt-x86_64-cmake \
|
|
mingw-w64-ucrt-x86_64-extra-cmake-modules \
|
|
mingw-w64-ucrt-x86_64-gcc \
|
|
mingw-w64-ucrt-x86_64-make \
|
|
mingw-w64-ucrt-x86_64-pcre \
|
|
mingw-w64-ucrt-x86_64-freetype \
|
|
mingw-w64-ucrt-x86_64-SDL2 \
|
|
mingw-w64-ucrt-x86_64-SDL2_ttf \
|
|
mingw-w64-ucrt-x86_64-libpcap
|
|
}
|
|
|
|
install_clang64() {
|
|
pacman -S --needed mingw-w64-clang-x86_64-ninja \
|
|
mingw-w64-clang-x86_64-cmake \
|
|
mingw-w64-clang-x86_64-extra-cmake-modules \
|
|
mingw-w64-clang-x86_64-clang \
|
|
mingw-w64-clang-x86_64-make \
|
|
mingw-w64-clang-x86_64-pcre \
|
|
mingw-w64-clang-x86_64-freetype \
|
|
mingw-w64-clang-x86_64-SDL2 \
|
|
mingw-w64-clang-x86_64-SDL2_ttf \
|
|
mingw-w64-clang-x86_64-libpcap
|
|
}
|
|
|
|
|
|
case "$1" in
|
|
osx|linux|mingw64|ucrt64|clang64)
|
|
install_"$1"
|
|
;;
|
|
*)
|
|
echo "$0: Need an operating system name: osx, linux, mingw64 or ucrt64"
|
|
exit 1
|
|
;;
|
|
esac
|