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

tonytheodore commented Oct 27, 2015

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 #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

tonytheodore commented Oct 27, 2015

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

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

@tonytheodore tonytheodore force-pushed the tonytheodore:threads branch 2 times, most recently from dd9e6cc to fcad34c Oct 27, 2015
This was referenced Oct 27, 2015
@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

tonytheodore commented Oct 27, 2015

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

tonytheodore commented Oct 31, 2015

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 #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
@tonytheodore tonytheodore force-pushed the tonytheodore:threads branch from 55e9c24 to 30b7b71 Oct 31, 2015
@starius
Copy link
Member

starius commented Nov 1, 2015

All packages were built successfully.

@tonytheodore
Copy link
Member Author

tonytheodore commented Nov 1, 2015

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 tonytheodore:threads branch Nov 20, 2015
tonytheodore added a commit to tonytheodore/mxe that referenced this pull request Jun 18, 2016
missing since mxe#958

fixes mxe#1384
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.