cosmo0920 / homebrew-mingw_w64

unofficial mingw-w64 Homebrew sub-command and Formulae. These formulae have been superseded by homebrew's mingw-w64.rb.
MIT License
50 stars 14 forks source link

Combine x86 and i686 build scripts #12

Closed stephengroat closed 8 years ago

stephengroat commented 8 years ago

Let me know if you have any comments or changes.

Is there any reason that you haven't combine gcc and binutils? Or pushed this to homebrew? seems like something they would LOVE to have

cosmo0920 commented 8 years ago

Hi, thanks for try to tackle for this.

Is there any reason that you haven't combine gcc and binutils?

Because normal Windows users do not compile from source by themselves. I want to use both of x86 and x64 versions of mingw toolchain at same time. (20% of Windows users still use 32bit version of Windows.)

Or pushed this to homebrew? seems like something they would LOVE to have

BTW, I think that this PR's formulae patches should apply into this repository when doing pull request Homebew mainline.

I have a question for this PR − Can your macOS environment compile mingw with gcc 5.0 or later?

stephengroat commented 8 years ago

to combine the i686 and x86_64, look at the binutils script in c208ffc. i should be able to do something very similar in gcc

i haven't tried mingw with gcc 5.0 or later, something important i should try?

cosmo0920 commented 8 years ago

i haven't tried mingw with gcc 5.0 or later, something important i should try?

If you strongly want to send PR this formula into Homebrew mainline, you should try to build with latest gcc.

cosmo0920 commented 8 years ago

And I enabled Travis CI in this repository. Doesn't this formula excess build time limit in Travis CI?

cosmo0920 commented 8 years ago

I've found the upgrading way to gcc 6.2.0. Could you rebase at master and squash into a few commits?

stephengroat commented 8 years ago

i'm currently struggling trying to get x86_64 and i686 builds to run sequentially in the same directory

you can see the travis logs (https://travis-ci.org/stephengroat/homebrew-mingw_w64/builds/169967542)

any advice? i'm guessing that homebrew will want them to run directory

stephengroat commented 8 years ago

Currently take ~75 mins, seems to complete.

cosmo0920 commented 8 years ago

This is just a my thought:

Combine into single formula improves maintainability? If not, I will not be acceptable this change.

cosmo0920 commented 8 years ago

Currently take ~75 mins, seems to complete.

But, travis job limit will exceeded every time: https://travis-ci.org/cosmo0920/homebrew-mingw_w64/jobs/170004127

Travis job running time limit seems to be set up to 45min.

stephengroat commented 8 years ago

found the build timeouts: https://docs.travis-ci.com/user/customizing-the-build/#Build-Timeouts

It is very common for test suites or build scripts to hang. Travis CI has specific time limits for each job, and will stop the build and and add an error message to the build log in the following situations:

A job takes longer than 50 minutes on travis-ci.org A job takes longer than 120 minutes on travis-ci.com A job takes longer than 50 minutes on OSX infrastructure or travis-ci.org or travis-ci.com A job produces no log output for 10 minutes

cosmo0920 commented 8 years ago

I don't want to concatenate into all-in-one formula. Because my macOS machine does not have enough machine power to build it within reasonable time (~50min).

Could you send these patches into Homebrew mainline instead of this repository? It is preferable for me.

stephengroat commented 8 years ago

sure. hopefully they'll get a keg build going so individual builds aren't necessary

On Sun, Oct 23, 2016 at 7:02 PM Hiroshi Hatake notifications@github.com wrote:

I don't want to concatenate into all-in-one formula. Because my macOS machine does not have enough machine power to build it within reasonable time (~50min).

Could you send these patches into Homebrew mainline instead of this repository? It is preferable for me.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cosmo0920/homebrew-mingw_w64/pull/12#issuecomment-255632552, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGv4pSlQdBPlO7w8Xok1c3gFfkdyqQ-ks5q3BGugaJpZM4Kdrsv .

stephengroat commented 8 years ago

will look into the newer mingw builds

you can cheat with travis, travis_wait can be set higher (90 minutes seems to be ok) or you can only compile x86_64, which takes ~30 mins

On Sat, Oct 22, 2016 at 10:35 PM Hiroshi Hatake notifications@github.com wrote:

And I enabled Travis CI in this repository. Doesn't this formula excess build time limit in Travis CI?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cosmo0920/homebrew-mingw_w64/pull/12#issuecomment-255570801, or mute the thread https://github.com/notifications/unsubscribe-auth/ABGv4qOkQFhKM7ck3F7mZoPUPyrhzrCGks5q2vIjgaJpZM4Kdrsv .

cosmo0920 commented 8 years ago

you can cheat with travis, travis_wait can be set higher (90 minutes seems to be ok) or you can only compile x86_64, which takes ~30 mins

But I couldn't succeeded to build within time limit in Travis. Because Travis CI environment is slow and have to install dependent Formulae in every time.

stephengroat commented 8 years ago

@cosmo0920 I know that i closed this pr, but i've still been working on the script and I think I'm super close. any idea with this error message? is the program ld not finding libgcc.a or is hello-c.c not finding libgcc.a?

==> x86_64-w64-mingw32-gcc -o hello-c hello-c.c
Last 15 lines from /Users/sgroat/Library/Logs/Homebrew/mingw-w64/test.01.x86_64-w64-mingw32-gcc:
2016-10-26 13:39:30 -0700

x86_64-w64-mingw32-gcc
-o
hello-c
hello-c.c

/usr/local/Cellar/mingw-w64/4.0.6/libexec/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/local/Cellar/mingw-w64/4.0.6/libexec/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_eh
/usr/local/Cellar/mingw-w64/4.0.6/libexec/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/local/Cellar/mingw-w64/4.0.6/libexec/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_eh
collect2: error: ld returned 1 exit status