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

Building pthreads inline with gcc and enable optional posix threads in libgcc #958

Merged
merged 2 commits into from
Nov 1, 2015

Conversation

tonytheodore
Copy link
Member

Firstly, build pthreads inline and enable libgomp:

  • fixes "~winpthreads changes ~pthread_signal.h" etc. reported by build-pkg.
    mingw-w64 installs dummy headers if winpthreads isn't built
  • enables libgomp to avoid double-build (see openmp #331)
  • no change in openmp-validation (still 20 failures - taken with a grain of
    salt as the batch file test runner isn't a reliable perl substitute)
  • pthreads virtual package kept for future testing

Then enbale MXE_GCC_THREADS and allow target spec <triplet>.<link>.<threads>:

Current builds will continue to use the win32 threading default, to enable posix threads:

make MXE_TARGETS=i686-w64-mingw32.static.posix

@tonytheodore
Copy link
Member Author

See the Qt wiki and stack overflow question for some discussion on threading.

Maybe we should do the exception variants at the same time?

@starius
Copy link
Member

starius commented Oct 27, 2015

Thank you! Let me build all packages to make sure that nothing was broken.

Maybe we should do the exception variants at the same time?

These changes seem to be unrelated.

@tonytheodore
Copy link
Member Author

Let me build all packages to make sure that nothing was broken.

Thanks, I saw some issues with cegui, ffmpeg, and opencsg but can't replicate them - seem to be affected by some other package being built earlier.

Maybe we should do the exception variants at the same time?

These changes seem to be unrelated.

Agreed, enabling them isn't hard but we have no way of testing every combination. It's also not yet clear if threads should be options or defaults.

@starius
Copy link
Member

starius commented Oct 29, 2015

opencv is broken

@starius
Copy link
Member

starius commented Oct 29, 2015

The build is completed.
grep build-pkg log > https://gist.github.com/starius/01db21c22331a2701f7c
Only opencv and cimg (which depends on opencv) are broken.

@tonytheodore
Copy link
Member Author

opencv is broken

It was missing the mingww-64 patch.

@starius
Copy link
Member

starius commented Oct 31, 2015

Let me build all packages again.

…libgomp

* fixes "~winpthreads changes ~pthread_signal.h" etc. reported by build-pkg
  mingw-w64 installs dummy headers if winpthreads isn't built
* enables libgomp to avoid double-build (see mxe#331)
* no change in openmp-validation (still 20 failures - taken with a grain of
  salt as the batch file test runner isn't a reliable perl substitute)
* pthreads virtual package kept for future testing
* enables optional c++11 <thread>, <mutex>, and <future> in libgcc
* avoid double build advice:
  http://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/mingw/README;h=248af546f939a81855dda33142d834eecf2979c2;hb=HEAD#l44
* not heavily tested but should be released for feedback
@starius
Copy link
Member

starius commented Nov 1, 2015

All packages were built successfully.

@tonytheodore
Copy link
Member Author

Thanks! I'll merge this for now so we can start experimenting with target specs.

tonytheodore added a commit that referenced this pull request Nov 1, 2015
Building pthreads inline with gcc and enable optional posix threads in libgcc
@tonytheodore tonytheodore merged commit 96ca43c into mxe:master Nov 1, 2015
@tonytheodore tonytheodore deleted the threads branch November 20, 2015 03:38
tonytheodore added a commit to tonytheodore/mxe that referenced this pull request Jun 18, 2016
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