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

Add Meson build system support #300

Merged
merged 1 commit into from
Jul 5, 2019
Merged

Add Meson build system support #300

merged 1 commit into from
Jul 5, 2019

Conversation

lgrahl
Copy link
Contributor

@lgrahl lgrahl commented Feb 17, 2019

Adds Meson build system support. Tested with:

  • Linux x64 (Arch, Ubuntu Trusty/Xenial/Bionic)
  • Linux ARMv6 and ARMv7 (cross-compiled)
  • Mac OS X Xcode 9.4 and Xcode 10.1
  • Android API level 28 (cross-compiled)
  • Windows x86 and x64 (cross-compiled via MinGW)
  • Windows x86 and x64

@lgrahl lgrahl marked this pull request as ready for review March 2, 2019 21:20
@lgrahl
Copy link
Contributor Author

lgrahl commented Mar 2, 2019

Updated the previous post with my build results.

@tuexen
Copy link
Member

tuexen commented Jun 28, 2019

@lgrahl MinGW support has been added by @weinrank . Can you check if your Meson build works on MinGW. It might be necessary to add something like 111e0ca to work around a gcc issue on Windows.

Let me know when you think this is ready to merge.

@lgrahl
Copy link
Contributor Author

lgrahl commented Jul 1, 2019

Will rebase and test again. 👍

@tuexen
Copy link
Member

tuexen commented Jul 1, 2019

Will rebase and test again. 👍

Great, thanks.

@lgrahl
Copy link
Contributor Author

lgrahl commented Jul 5, 2019

Updated. Results are here (122-136), here and here.

This should be good to merge now. A couple of notes:

  • Android builds only work with meson configure -Dsctp_build_programs=false since it does not support pthread_cancel. And there are a few warnings but nothing that raises any eyebrows.
  • When building with MinGW, inet_pton was not available. I have resolved this by defining _WIN32_WINNT=0x601. You may want to copy this to the CMake and autotools variants.
  • Building with MSVC on Windows only works with meson configure -Dsctp_build_programs=false or meson configure --default-library=static since usrsctp currently does not explicitly export symbols.

You can also take (and extend) my CI files of the meson-ci branch if you want to. I'd imagine continuous integration would greatly help in maintaining support for all platforms.

@tuexen tuexen merged commit 70f675c into sctplab:master Jul 5, 2019
@tuexen
Copy link
Member

tuexen commented Jul 5, 2019

Updated. Results are here (122-136), here and here.

This should be good to merge now. A couple of notes:

Merged. Thanks for providing it.

  • Android builds only work with meson configure -Dsctp_build_programs=false since it does not support pthread_cancel. And there are a few warnings but nothing that raises any eyebrows.

OK. The test programs are not really intended to be used on Android. So this is acceptable.

  • When building with MinGW, inet_pton was not available. I have resolved this by defining _WIN32_WINNT=0x601. You may want to copy this to the CMake and autotools variants.

@weinrank Do you observe the same problem? Why does defining _WIN32_WINNT=0x601 makes a difference? According to MSDN, the function is supported on Windows 8.1 and Vista. That doesn't fit to using 0x601, which is according to MSDN _WIN32_WINNT_WIN7.

  • Building with MSVC on Windows only works with meson configure -Dsctp_build_programs=false or meson configure --default-library=static since usrsctp currently does not explicitly export symbols.

@weinrank Is this need on Windows? Should we do that?

You can also take (and extend) my CI files of the meson-ci branch if you want to. I'd imagine continuous integration would greatly help in maintaining support for all platforms.

@weinrank Any interest?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants