mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mingw-cross-env-list] Custom package configuration (was: Variable JOBS)


From: Nikos Chantziaras
Subject: [Mingw-cross-env-list] Custom package configuration (was: Variable JOBS)
Date: Thu, 03 May 2012 11:37:48 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

On 02/05/12 22:04, Tony Theodore wrote:
Could you elaborate a little on what sort of local changes you'd put in 
"Makefile.local"?

Reading about local user settings gives me an idea. Not sure how practical it is to implement this. The biggest PITA for me in using MXE is that I modify every .mk file I build. Custom CFLAGS/CXXFLAGS/LDFLAGS and custom ./configure or cmake options. The reason being that with the modifications, the produced executables end up being only about 30% of the size I would get with the stock .mk files.

This result in me very, very rarely updating to new MXE versions. I only ever updated it 3 times in total since I started using it, since an update means I have to re-apply all my changes.

So perhaps it might make sense to offer a way to customize that stuff locally. In the past I mentioned the Gentoo package manager, Portage, but that's a bit of an overkill for MXE. But the idea is the same: what if the stock makefiles would always try to include a local variant (like localconf/basename.mk) in which we can place overrides. If no overrides are found, the defaults will be used. For example, imagine a localconf/qt.mk with:

  CONFIGURE_OPTS = -nomake demos -nomake docs -nomake examples \
                   -nomake tools -no-openssl -no-qt3support \
                   -no-libtiff (... etc, etc, I disable everything
                   I don't need; cuts down the size immensely.)

  DEPS = zlib libpng jpeg libmng

  CXXFLAGS = "-pipe -O2 -fomit-frame-pointer -march=i686 \
             -mtune=generic -fdata-sections -ffunction-sections"

The stock qt.mk would then start with the needed base settings (for example "gcc" is always needed in DEPS, "-prefix '$(PREFIX)/$(TARGET)'" always needs to be passed to configure, etc.) It then checks if custom variables are set in localconf/qt.mk, and if yes uses them. If not, it uses the defaults.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]