diff --git a/configure.ac b/configure.ac index 80f51e09a..ddfbb92d8 100644 --- a/configure.ac +++ b/configure.ac @@ -280,7 +280,12 @@ import sys print(pathlib.Path(shutil.which(sys.argv@<:@1@:>@) or sys.argv@<:@1@:>@).resolve().parent.parent / "include") ' "$LEX") if test -f "$flex_include/FlexLexer.h"; then - CPPFLAGS="$CPPFLAGS -I$flex_include" + if test -n "$MSYSTEM"; then + # Search MSYS Flex headers after the active toolchain's system headers. + CPPFLAGS="$CPPFLAGS -idirafter $flex_include" + else + CPPFLAGS="$CPPFLAGS -I$flex_include" + fi fi AC_CHECK_PROG(YACC,bison,bison) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 000e63e1d..1d9211f1e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -565,9 +565,18 @@ set_target_properties( MSVC_RUNTIME_LIBRARY MultiThreaded$,,DebugDLL> #JOB_POOL_LINK one_job # Linking takes lots of resources INTERPROCEDURAL_OPTIMIZATION_RELEASE $ - INCLUDE_DIRECTORIES ${FLEX_INCLUDE_DIR} ) +if(MINGW) + # Search MSYS Flex headers after the active toolchain's system headers. + target_compile_options( + ${verilator} + PRIVATE -idirafter "${FLEX_INCLUDE_DIR}" + ) +else() + target_include_directories(${verilator} PRIVATE "${FLEX_INCLUDE_DIR}") +endif() + add_dependencies( ${verilator} V3Lexer_yy_cpp${CMAKE_BUILD_TYPE}