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

Update libxml2 to version 2.11.4. #1216

Merged
merged 7 commits into from
Jul 18, 2023

Conversation

mahge
Copy link
Contributor

@mahge mahge commented Jul 14, 2023

  • This version comes with CMake support and many other fixes and improvements.

    • It is taken from https://github.com/GNOME/libxml2
    • The folders: doc, fuzz, m4, result, and test are removed to save space since they are not needed.
    • The required CMake version has been downgraded from 3.18 to 3.15. Ubuntu focal, one of our supported platforms, comes with CMake 3.16 so that is the maximum CMake version we can require right now. The libxml required CMake version was upgraded by GNOME/libxml2@a5bc460 in order to use check_linker_flag CMake utility function. We do not need that so it is removed and the CMake version is downgraded.
  • The CMake support allows OMSimulator to move one step closer to complete CMake based build.

@mahge mahge added CI/Update Submodules Allow a pull request to update submodules CI/MINGW32 Activate mingw32 build and test in PR labels Jul 14, 2023
@mahge mahge self-assigned this Jul 14, 2023
@mahge mahge force-pushed the update_libxml2_to_2.11.4 branch 2 times, most recently from 18be1f4 to e158344 Compare July 18, 2023 09:59
  - This version comes with CMake support and many other fixes and improvements.

    - It is taken from https://github.com/GNOME/libxml2
    - The folders: `doc`, `fuzz`, `m4`, `result`, and `test` are removed to save space since they are not needed.
    - The required CMake version has been downgraded from 3.18 to 3.15.
      Ubuntu focal, one of our supported platforms, comes with CMake 3.16 so that is the maximum CMake version we can require right now.
      The libxml required CMake version was upgraded by GNOME/libxml2@a5bc460 in order to use `check_linker_flag` CMake utility function. We do not need that so it is removed and the CMake version is downgraded.

  - The CMake support allows OMSimulator to move one step closer to complete CMake based build.
  - We are intersted in building only the static library. No shared version.
    That means there is not going to be any name conflict. So just output
    the library without any posfix (just libxml2.lib instead of libxml2s.lib).

    This saves us from having to updated the expected library name in
    other places.

  - Debug builds still get the 'd' postfix for now. Perhaps this should
    be removed as well.
  - This will tell libxml2 headers not to add dll direction specifiers
    (`__declspec(dllimport)` and `__declspec(dllexport)`)
  - This seems to be what is picked by default by cmake. OMTLMSimulator
    does not need or use CMake right now, however it links to libraries
    built by CMake (within OMSimulator, e.g., libxml2) which get compiled
    with /MD. So set it here as well to avoid link time failures.
  - It is built as a static library now even on Windows with MSVC.
@mahge mahge removed the CI/MINGW32 Activate mingw32 build and test in PR label Jul 18, 2023
@mahge mahge merged commit d89f397 into OpenModelica:master Jul 18, 2023
@mahge mahge deleted the update_libxml2_to_2.11.4 branch July 18, 2023 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/Update Submodules Allow a pull request to update submodules
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant