* This acts as an optimization barrier, limiting the rewriting allowed
* For now this forbids all optimization, but attributes can be added to
opt in to specific optimizations as required
When `run_command` reads subprocess output via `fgets` in a multi-threaded process, incoming signals can interrupt the underlying `read` syscall with `EINTR`. Previously, `while (fgets(...) != NULL)` exited the read loop immediately on `EINTR` and called `pclose`, closing the pipe early while the child was still running (or causing the child to die with `SIGPIPE`). Additionally, `run_command` returned `WEXITSTATUS(ret)` without checking `WIFEXITED(ret)`, which evaluates to `0` when a child terminates due to an unhandled signal.
Retry `fgets` after clearing the stream error state when `ferror(f) && errno == EINTR`, and return `-1` if `!WIFEXITED(ret)`.
[core] debug yosys version extraction
[core] debug
[core] now cache the cmake source dir
[core] debug
[core] debug kernel dependencies
[core] debug common include directories
[core] debug
[core] debug simlib_help.inc
[core] debug pmgen py path in cmake
[core] syntax
[core] debug flex source
[core] restore
[core] debug executable output as it now shows linking to .
[core] debug yosys-abc directory
[core] debug cmake share directory
[core] debug yosys abc
[core] restore shared directory location as yosys requires fixed location
[core] rework link target to yosys sub dir under build
[core] fixed the bug on yosys-config.install location for install
[core] cmake syntax
[core] correct the location for share directory
[core] debug
[core] debug
[core] debug
[core] enforce internal attributes; rename the YOSYS_ENABLE_UNIT_TESTS; use YOSYS_CMAKE_BINARY_DIR for all
[core] apply review comments
[core] rename
[core] change all the CMAKE_BINARY_DIR to YOSYS_CMAKE_BINARY_DIR
[core] replace CMAKE_SOURCE_DIR to YOSYS_CMAKE_SOURCE_DIR