fix: resolve Linux FLAGS symbol conflicts by moving FLAGS_quiet to flags.cc and renaming emulator test flags

- Move FLAGS_quiet definition from cli_main.cc to flags.cc (shared flags location)
- Change FLAGS_quiet in cli_main.cc to ABSL_DECLARE_FLAG (declaration only)
- Rename emu_test.cc FLAGS_rom to FLAGS_emu_test_rom to avoid conflict with shared FLAGS_rom
- Update usage message in emu_test.cc to reflect renamed flag

This fixes multiple definition errors on Linux where FLAGS symbols were defined
in multiple translation units. FLAGS_quiet is now defined once in flags.cc and
declared where needed. The emulator test now uses unique flag names.

Fixes symbol conflicts identified in Windows build handoff analysis.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
scawful
2025-11-20 03:01:15 -05:00
parent ff0dd8f919
commit eb77bbeaff
5 changed files with 47 additions and 23 deletions

View File

@@ -38,6 +38,9 @@ if(_yaze_use_fetched_absl)
set(ABSL_ENABLE_INSTALL OFF CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(absl)
message(STATUS "Fetched Abseil ${YAZE_ABSL_GIT_TAG}")
# NEW: Export source directory for Windows builds that need explicit include paths
set(YAZE_ABSL_SOURCE_DIR "${absl_SOURCE_DIR}" CACHE INTERNAL "Abseil source directory")
endif()
endif()