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.
232 lines
5.6 KiB
CMake
232 lines
5.6 KiB
CMake
## PDP10 simulators
|
|
##
|
|
## This is an automagically generated file. Do NOT EDIT.
|
|
## Any changes you make will be overwritten!!
|
|
##
|
|
## Make changes to the SIMH top-level makefile and then run the
|
|
## "cmake/generate.py" script to regenerate these files.
|
|
##
|
|
## cd cmake; python -m generate --help
|
|
##
|
|
## ------------------------------------------------------------
|
|
|
|
if (HAVE_UNITY_FRAMEWORK AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/CMakeLists.txt")
|
|
add_subdirectory(unit-tests)
|
|
endif ()
|
|
|
|
add_simulator(pdp10
|
|
SOURCES
|
|
pdp10_fe.c
|
|
${PDP11D}/pdp11_dz.c
|
|
pdp10_cpu.c
|
|
pdp10_ksio.c
|
|
pdp10_lp20.c
|
|
pdp10_mdfp.c
|
|
pdp10_pag.c
|
|
pdp10_rp.c
|
|
pdp10_sys.c
|
|
pdp10_tim.c
|
|
pdp10_tu.c
|
|
pdp10_xtnd.c
|
|
${PDP11D}/pdp11_pt.c
|
|
${PDP11D}/pdp11_ry.c
|
|
${PDP11D}/pdp11_cr.c
|
|
${PDP11D}/pdp11_dup.c
|
|
${PDP11D}/pdp11_dmc.c
|
|
${PDP11D}/pdp11_kmc.c
|
|
${PDP11D}/pdp11_xu.c
|
|
${PDP11D}/pdp11_ch.c
|
|
INCLUDES
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${PDP11D}
|
|
DEFINES
|
|
VM_PDP10
|
|
FEATURE_INT64
|
|
LABEL PDP10
|
|
NO_INSTALL
|
|
TEST pdp10)
|
|
|
|
add_simulator(pdp10-ka
|
|
SOURCES
|
|
${KA10D}/kx10_cpu.c
|
|
${KA10D}/kx10_sys.c
|
|
${KA10D}/kx10_df.c
|
|
${KA10D}/kx10_dp.c
|
|
${KA10D}/kx10_mt.c
|
|
${KA10D}/kx10_cty.c
|
|
${KA10D}/kx10_lp.c
|
|
${KA10D}/kx10_pt.c
|
|
${KA10D}/kx10_dc.c
|
|
${KA10D}/kx10_rp.c
|
|
${KA10D}/kx10_rc.c
|
|
${KA10D}/kx10_dt.c
|
|
${KA10D}/kx10_dk.c
|
|
${KA10D}/kx10_cr.c
|
|
${KA10D}/kx10_cp.c
|
|
${KA10D}/kx10_tu.c
|
|
${KA10D}/kx10_rs.c
|
|
${KA10D}/ka10_pd.c
|
|
${KA10D}/kx10_rh.c
|
|
${KA10D}/kx10_imp.c
|
|
${KA10D}/ka10_tk10.c
|
|
${KA10D}/ka10_mty.c
|
|
${KA10D}/ka10_imx.c
|
|
${KA10D}/ka10_ch10.c
|
|
${KA10D}/ka10_stk.c
|
|
${KA10D}/ka10_ten11.c
|
|
${KA10D}/ka10_auxcpu.c
|
|
${KA10D}/ka10_pmp.c
|
|
${KA10D}/ka10_dkb.c
|
|
${KA10D}/pdp6_dct.c
|
|
${KA10D}/pdp6_dtc.c
|
|
${KA10D}/pdp6_mtc.c
|
|
${KA10D}/pdp6_dsk.c
|
|
${KA10D}/pdp6_dcs.c
|
|
${KA10D}/ka10_dpk.c
|
|
${KA10D}/kx10_dpy.c
|
|
${KA10D}/ka10_ai.c
|
|
${KA10D}/ka10_iii.c
|
|
${KA10D}/kx10_disk.c
|
|
${KA10D}/ka10_pclk.c
|
|
${KA10D}/ka10_tv.c
|
|
${DISPLAY340}
|
|
${DISPLAYIII}
|
|
INCLUDES
|
|
${KA10D}
|
|
DEFINES
|
|
KA=1
|
|
FEATURE_INT64
|
|
FEATURE_VIDEO
|
|
FEATURE_DISPLAY
|
|
LABEL PDP10
|
|
PKG_FAMILY pdp10_family
|
|
TEST ka10)
|
|
|
|
if (PANDA_LIGHTS)
|
|
target_sources(pdp10-ka PUBLIC ${PDP10D}/ka10_lights.c)
|
|
target_compile_definitions(pdp10-ka PUBLIC PANDA_LIGHTS)
|
|
target_link_libraries(pdp10-ka PUBLIC usb-1.0)
|
|
endif (PANDA_LIGHTS)
|
|
|
|
add_simulator(pdp10-ki
|
|
SOURCES
|
|
${KI10D}/kx10_cpu.c
|
|
${KI10D}/kx10_sys.c
|
|
${KI10D}/kx10_df.c
|
|
${KI10D}/kx10_dp.c
|
|
${KI10D}/kx10_mt.c
|
|
${KI10D}/kx10_cty.c
|
|
${KI10D}/kx10_lp.c
|
|
${KI10D}/kx10_pt.c
|
|
${KI10D}/kx10_dc.c
|
|
${KI10D}/kx10_rh.c
|
|
${KI10D}/kx10_rp.c
|
|
${KI10D}/kx10_rc.c
|
|
${KI10D}/kx10_dt.c
|
|
${KI10D}/kx10_dk.c
|
|
${KI10D}/kx10_cr.c
|
|
${KI10D}/kx10_cp.c
|
|
${KI10D}/kx10_tu.c
|
|
${KI10D}/kx10_rs.c
|
|
${KI10D}/kx10_imp.c
|
|
${KI10D}/kx10_dpy.c
|
|
${KI10D}/kx10_disk.c
|
|
${DISPLAY340}
|
|
INCLUDES
|
|
${KI10D}
|
|
DEFINES
|
|
KI=1
|
|
FEATURE_INT64
|
|
FEATURE_VIDEO
|
|
FEATURE_DISPLAY
|
|
LABEL PDP10
|
|
PKG_FAMILY pdp10_family
|
|
TEST ki10)
|
|
|
|
add_simulator(pdp10-kl
|
|
SOURCES
|
|
${KL10D}/kx10_cpu.c
|
|
${KL10D}/kx10_sys.c
|
|
${KL10D}/kx10_df.c
|
|
${KA10D}/kx10_dp.c
|
|
${KA10D}/kx10_mt.c
|
|
${KA10D}/kx10_lp.c
|
|
${KA10D}/kx10_pt.c
|
|
${KA10D}/kx10_dc.c
|
|
${KL10D}/kx10_rh.c
|
|
${KA10D}/kx10_dt.c
|
|
${KA10D}/kx10_cr.c
|
|
${KA10D}/kx10_cp.c
|
|
${KL10D}/kx10_rp.c
|
|
${KL10D}/kx10_tu.c
|
|
${KL10D}/kx10_rs.c
|
|
${KL10D}/kx10_imp.c
|
|
${KL10D}/kl10_fe.c
|
|
${KL10D}/ka10_pd.c
|
|
${KL10D}/ka10_ch10.c
|
|
${KL10D}/kl10_nia.c
|
|
${KL10D}/kx10_disk.c
|
|
INCLUDES
|
|
${KL10D}
|
|
DEFINES
|
|
KL=1
|
|
FEATURE_INT64
|
|
LABEL PDP10
|
|
PKG_FAMILY pdp10_family
|
|
TEST kl10)
|
|
|
|
add_simulator(pdp10-ks
|
|
SOURCES
|
|
${KS10D}/kx10_cpu.c
|
|
${KS10D}/kx10_sys.c
|
|
${KS10D}/kx10_disk.c
|
|
${KS10D}/ks10_cty.c
|
|
${KS10D}/ks10_uba.c
|
|
${KS10D}/kx10_rh.c
|
|
${KS10D}/kx10_rp.c
|
|
${KS10D}/kx10_tu.c
|
|
${KS10D}/ks10_dz.c
|
|
${KS10D}/ks10_tcu.c
|
|
${KS10D}/ks10_lp.c
|
|
${KS10D}/ks10_ch11.c
|
|
${KS10D}/ks10_kmc.c
|
|
${KS10D}/ks10_dup.c
|
|
${KS10D}/kx10_imp.c
|
|
INCLUDES
|
|
${KS10D}
|
|
${PDP11D}
|
|
DEFINES
|
|
KS=1
|
|
FEATURE_INT64
|
|
LABEL PDP10
|
|
PKG_FAMILY pdp10_family
|
|
TEST ks10)
|
|
|
|
add_simulator(pdp6
|
|
SOURCES
|
|
${PDP6D}/kx10_cpu.c
|
|
${PDP6D}/kx10_sys.c
|
|
${PDP6D}/kx10_cty.c
|
|
${PDP6D}/kx10_lp.c
|
|
${PDP6D}/kx10_pt.c
|
|
${PDP6D}/kx10_cr.c
|
|
${PDP6D}/kx10_cp.c
|
|
${PDP6D}/pdp6_dct.c
|
|
${PDP6D}/pdp6_dtc.c
|
|
${PDP6D}/pdp6_mtc.c
|
|
${PDP6D}/pdp6_dsk.c
|
|
${PDP6D}/pdp6_dcs.c
|
|
${PDP6D}/kx10_dpy.c
|
|
${PDP6D}/pdp6_slave.c
|
|
${DISPLAY340}
|
|
INCLUDES
|
|
${PDP6D}
|
|
DEFINES
|
|
PDP6=1
|
|
FEATURE_INT64
|
|
FEATURE_VIDEO
|
|
FEATURE_DISPLAY
|
|
USES_AIO
|
|
LABEL PDP10
|
|
PKG_FAMILY decpdp_family
|
|
TEST pdp6)
|