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

Merged
merged 2 commits into from Nov 1, 2015

Projects

None yet

2 participants

@tonytheodore
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 #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
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?

This was referenced Oct 27, 2015
@starius
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
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.

@starius
Member
starius commented Oct 29, 2015

opencv is broken

@starius
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
Member

opencv is broken

It was missing the mingww-64 patch.

@starius
Member
starius commented Oct 31, 2015

Let me build all packages again.

tonytheodore added some commits Oct 27, 2015
@tonytheodore tonytheodore 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
05380b4
@tonytheodore tonytheodore 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
30b7b71
@starius
Member
starius commented Nov 1, 2015

All packages were built successfully.

@tonytheodore
Member

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

@tonytheodore tonytheodore merged commit 96ca43c into mxe:master Nov 1, 2015
@tonytheodore tonytheodore deleted the tonytheodore:threads branch Nov 20, 2015
@tonytheodore tonytheodore added a commit to tonytheodore/mxe that referenced this pull request Jun 18, 2016
@tonytheodore tonytheodore openblas: add pthreads dependency
missing since #958

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