> > Where's the source for this automated build recipe? I'd like to look it > > over to determine if I've got enough time to work up patch series for your > > review that does the following: > > Hi; sorry about the delay. The automated builds are done via this makefile: > > http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/experimental/buildsystem/makebuildroot.mk?view=markup > > That is in term driven by buildbot, the configuration is here: > > http://mingw-w64.svn.sourceforge.net/viewvc/mingw-w64/experimental/buildbot/
@Mook...thank you. > > 1) Strip -s on all exes. I maintain a build recipe at > > https://github.com/oneclick/rubyinstaller which aggregates MSys and the > > latest mingw-w32-1.0-bin_i686-mingw_* download into what we call the > > DevKit. Currently this explodes to ~758MB on-disk. After stripping just the > > mingw-w64 exes using something similar to the following, the on-disk size > > shrinks to ~328MB. > > > > for /r mingw %F in (*.exe) do strip -s %F > > This is what the install-strip make target is for. Don't do it > manually. Just call make install-strip instead of make install. For the automated mingw downloads, I believe the exes should be stripped either as part of a deployment target or `make install` given the massive size differences. Download users (rather than source builders) will never run `make install-strip`. The only reason I see not to `strip -s` the exes for the downloads is if the missing info causes problems. For me, the real issue is what are the benefits of keeping all the info in the exes, and is it worth the large storage and download sizes? Your call of course, but so far in my use cases I get negative benefit from the large exes. > > 2) Add prefix-stripped (eg - gcc) exes to the download to accompany the > > prefixed (eg - i686-w64-mingw32-gcc) exes. > > Why? Not all downstream packages or users play well with the prefixing http://hg.python.org/cpython/file/4feb889d3bed/Lib/distutils/cygwinccompiler.py#l296 and when building packages that do play well http://code.google.com/p/vim/source/browse/src/Make_ming.mak#317 it's unnecessarily cumbursome (and an unexpected cross compile when building-for-win-on-win) to have to have to build like the following make -f Make_mingw.mak gvim.exe xxd/xxd.exe CC=i686-w64-mingw32-gcc WINDRES=i686-w64-mingw32-windres And if you're trying to automate the building of a package with multiple dependencies and support multiple toolchains, you can get into the situation of doing truly horrific things like https://github.com/oneclick/rubyinstaller/blob/master/recipes/devkit/devkit.rake#L63-71 That's why I think shrinking the download size by stripping and having both prefixed (prefixed binutils exes probably not needed at all a la Ruben's build) and non-prefixed exes in bin/ is better than the current situation for the mingw (build-win-on-win) download flavor. > > 3) Compress the final download using LZMA2 to a *.7z similar to what Ruben > > provides. Given the robustness and availability of the 7-Zip project, I > > don't believe there's a good reason to stick with zip's for Windows users. > > zip on windows is available without any 3rd party utilities. Any > windows user can extract a zip, and zip is understood everwhere to be > a windows archive. I see no reason to change that just to gain a few > megs off an archive. The bigger issue, and the one we should > concentrate on, is the duplicated lib directory. Valid point, and I agree with the higher priority issue. That said, IMO it would be a big win to do both as (a) mingw-w64 users are developers rather than normal users so 7z being a 3rd party utility is really a don't care, (b) it's more than a few megs savings as I've shown, and less compellingly, (c) other developer focused downloads including mingw.org are switching to *.lzma and *.7z for their windows downloads. Jon --- blog: http://jonforums.github.com/ twitter: @jonforums "Anyone who can only think of one way to spell a word obviously lacks imagination." - Mark Twain ------------------------------------------------------------------------------ BlackBerry® DevCon Americas, Oct. 18-20, San Francisco, CA The must-attend event for mobile developers. Connect with experts. Get tools for creating Super Apps. See the latest technologies. Sessions, hands-on labs, demos & much more. Register early & save! http://p.sf.net/sfu/rim-blackberry-1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public