Skip to content

Conversation

@FrankOu2001
Copy link
Contributor

@FrankOu2001 FrankOu2001 commented Oct 29, 2025

Description

Add picker support for macOS

Type of change

Please delete options that are not relevant.

  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Copilot AI review requested due to automatic review settings October 29, 2025 13:41
@FrankOu2001 FrankOu2001 added the enhancement New feature or request label Oct 29, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds macOS support and improves cross-platform compatibility across the codebase. The changes focus on replacing Linux-specific constructs with platform-agnostic alternatives and adding conditional logic for macOS-specific configurations.

  • Replaces <bits/stdc++.h> with specific standard library headers for better portability
  • Adds macOS-specific build configurations (rpath, linker flags, library suffixes)
  • Introduces platform detection and shared library suffix handling (get_shared_lib_suffix())

Reviewed Changes

Copilot reviewed 47 out of 48 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
template/python/cmake/verilator.cmake Added macOS rpath support and moved rpath configuration from link options to CMAKE_BUILD_RPATH
template/python/Makefile Updated to use platform-agnostic shared library suffix variable
template/python/CMakeLists.txt Changed from generic Python to Python3 package and added macOS rpath logic
template/mem_direct/gen_addr.hpp Replaced bits/stdc++.h with specific standard headers
template/mem_direct/Makefile Added macOS-specific linker flags and unified LDFLAGS/LDLIBS usage
template/lib/dut_base.hpp Replaced bits/stdc++.h with specific standard headers
template/lib/dut_base.cpp Added macOS-specific dlopen logic and replaced get_current_dir_name with std::filesystem
template/lib/cmake/verilator.cmake Added AppleClang-specific force_load linker flags
template/lib/Makefile Made nproc command cross-platform compatible
template/java/dut.java Updated library suffix handling and improved error message
template/java/cmake/verilator.cmake Added macOS rpath support and consolidated rpath configuration
template/java/CMakeLists.txt Added macOS-specific rpath configuration
template/cpp/cmake/verilator.cmake Added macOS rpath support and undefined symbol handling
template/cpp/Makefile Updated to use platform-agnostic shared library suffix
template/cpp/CMakeLists.txt Removed PARENT_SCOPE from variable settings and fixed C++17 standard flag
src/picker.cpp Added explicit includes for codegen and parser headers
src/parser/parser_map.cpp Added explicit includes for parser headers
src/codegen/*.cpp Replaced bits/stdc++.h with specific headers and renamed replace_all to str_replace_all
src/appimage/configuration.cpp Removed non-portable header includes
include/*.hpp Replaced bits/stdc++.h with specific headers and improved platform detection macros
Makefile Made nproc command cross-platform compatible
example/*.cpp Replaced bits/stdc++.h with specific standard headers

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@FrankOu2001 FrankOu2001 force-pushed the macos_support branch 3 times, most recently from 05c6c7b to b2d9433 Compare November 2, 2025 04:21
@FrankOu2001 FrankOu2001 changed the title Add cpp, python, java support for macOS Add support for macOS Nov 2, 2025
Makiras
Makiras previously approved these changes Nov 3, 2025
@FrankOu2001 FrankOu2001 merged commit 4b58423 into master Nov 3, 2025
12 checks passed
@FrankOu2001 FrankOu2001 deleted the macos_support branch November 3, 2025 02:38
@FrankOu2001 FrankOu2001 mentioned this pull request Nov 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants