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

Projects
None yet
2 participants
@tonytheodore
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

This comment has been minimized.

Show comment
Hide comment
@tonytheodore

tonytheodore Oct 27, 2015

Member

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

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

Member

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?

This was referenced Oct 27, 2015

@starius

This comment has been minimized.

Show comment
Hide comment
@starius

starius Oct 27, 2015

Member

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.

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

This comment has been minimized.

Show comment
Hide comment
@tonytheodore

tonytheodore Oct 27, 2015

Member

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.

Member

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

This comment has been minimized.

Show comment
Hide comment
@starius

starius Oct 29, 2015

Member

opencv is broken

Member

starius commented Oct 29, 2015

opencv is broken

@starius

This comment has been minimized.

Show comment
Hide comment
@starius

starius Oct 29, 2015

Member

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

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

This comment has been minimized.

Show comment
Hide comment
@tonytheodore

tonytheodore Oct 31, 2015

Member

opencv is broken

It was missing the mingww-64 patch.

Member

tonytheodore commented Oct 31, 2015

opencv is broken

It was missing the mingww-64 patch.

@starius

This comment has been minimized.

Show comment
Hide comment
@starius

starius Oct 31, 2015

Member

Let me build all packages again.

Member

starius commented Oct 31, 2015

Let me build all packages again.

tonytheodore added some commits Oct 27, 2015

gcc pthreads: build pthreads and mingw-w64 headers 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
enbale MXE_GCC_THREADS and allow target spec <triplet>.<link>.<threads>
* 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

This comment has been minimized.

Show comment
Hide comment
@starius

starius Nov 1, 2015

Member

All packages were built successfully.

Member

starius commented Nov 1, 2015

All packages were built successfully.

@tonytheodore

This comment has been minimized.

Show comment
Hide comment
@tonytheodore

tonytheodore Nov 1, 2015

Member

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

Member

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

Merge pull request #958 from tonytheodore/threads
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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment