Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[22704] Support compiler MSYS2-MinGW (backport #5600) #5635

Open
wants to merge 1 commit into
base: 2.10.x
Choose a base branch
from

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Feb 7, 2025

Support compilation using MinGW. Version: MSYS2-MinGW-V14.2, x86_64-w64-mingw32.

Description

  1. The ‘COMPILE_TOOLS’ compilation option is turned off when compiling with MinGW because there are still some issues that have not been resolved here, but it does not affect the use of the main body of fastdds.
  2. The import and export settings in thefastdds_dll.hpp file were changed to adapt to the symbol import and export rules of mingw. Tests found that these changes were effective.
  3. The macro definition 'MINGW_COMPILER' has been added in cmakelists.txt to control some code to move towards new branches, which are used to resolve library dependency differences between compilers.
  4. Some compile-time warnings that do not affect use have been canceled. 'ws2_32' and 'mswsock' libraries have been manually linked. The above changes are written in cmakelists.txt and will only take effect when the compiler is MinGW.
  5. Almost all changes only take effect when the compiler is MinGW. Before compiling Fast-DDS with MinGW, it was best to use MinGW to compile its dependent libraries, such as fastcdr, tinyxml2 and foonathan_memory.

@Mergifyio backport 3.1.x 3.0.x 2.14.x 2.10.x

Fixes #5575

Contributor Checklist

  • Commit messages follow the project guidelines.

  • The code follows the style guidelines of this project.

  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally

  • Any new/modified methods have been properly documented using Doxygen.

  • Any new configuration API has an equivalent XML API (with the corresponding XSD extension)

  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.

  • Changes are API compatible.

  • _N/A_New feature has been added to the versions.md file (if applicable).

  • New feature has been documented/Current behavior is correctly described in the documentation.

  • N/A Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

This is an automatic backport of pull request #5600 done by [Mergify](https://mergify.com).

* feature: support compiler MSYS2-MinGW #5575

Signed-off-by: RookieCLY <[email protected]>

* feature: support compiler MSYS2-MinGW #5575

Signed-off-by: RookieCLY <[email protected]>

* feature: support compiler MSYS2-MinGW and fix some format problem  #5575

Signed-off-by: RookieCLY <[email protected]>

---------

Signed-off-by: RookieCLY <[email protected]>
(cherry picked from commit 28b11ca)

# Conflicts:
#	include/fastdds/fastdds_dll.hpp
#	src/cpp/fastdds/xtypes/serializers/json/dynamic_data_json.cpp
#	src/cpp/utils/TimedConditionVariable.cpp
@mergify mergify bot added the conflicts Backport PR wich git cherry pick failed label Feb 7, 2025
Copy link
Contributor Author

mergify bot commented Feb 7, 2025

Cherry-pick of 28b11ca has failed:

On branch mergify/bp/2.10.x/pr-5600
Your branch is up to date with 'origin/2.10.x'.

You are currently cherry-picking commit 28b11cab.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   CMakeLists.txt
	modified:   include/fastrtps/utils/TimedMutex.hpp
	modified:   src/cpp/utils/SystemInfo.cpp
	modified:   src/cpp/utils/shared_memory/RobustExclusiveLock.hpp
	modified:   src/cpp/utils/shared_memory/RobustSharedLock.hpp
	modified:   thirdparty/filewatch/FileWatch.hpp

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	deleted by us:   include/fastdds/fastdds_dll.hpp
	deleted by us:   src/cpp/fastdds/xtypes/serializers/json/dynamic_data_json.cpp
	both modified:   src/cpp/utils/TimedConditionVariable.cpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@mergify mergify bot mentioned this pull request Feb 7, 2025
14 tasks
@MiguelCompany MiguelCompany added this to the v2.10.7 milestone Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conflicts Backport PR wich git cherry pick failed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants