Making a full build of libgtk2 for the host is a pain, since it
requires host-cairo, which it turns requires a full X.org stack to be
compiled for the host.
Moreover, building libgtk2 for the host completely is useless: we only
need gdk-pixbuf-csource and gtk-update-icon-cache.
In this patch, we add a new
host-libgtk2-2.12.12-reduce-dependencies.patch, that is only applied
to libgtk2 when being built for the host. This patch removes a lot of
dependencies in configure.in, which allows to:
* run make and make install in gdk-pixbuf/, which compiles and
installs the gdk-pixbuf library and the gdk-pixbuf-csource utility
* run make gtk-update-icon-cache in gtk/, which compiles the
gtk-update-icon-cache utility, which is then installed manually
The compilation and installation steps of libgtk2 for the host are
therefore overriden, so as to not use the default behaviour, which
would attempt to build the full gtk library.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Those are already in TARGET_CONFIGURE_ARGS. Also get rid of unused
BR2_AC_CV_FUNC_MALLOC_0_NONNULL variable.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
We have been passing -q to ./configure when using 'make -s' for
packages using Makefile.autotools.in for some time. Do the same
for packages using autotools, but not using the
Makefile.autotools.in infrastructure, taking care to not do it
for packages with hand written configure scripts.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The XSERVER variable used to be defined by package/Makefile.in because
the X server package name was different depending on the type of X
server that was choosen. Nowadays, the name of the package is always
xserver_xorg-server, so there's no point in having this XSERVER
intermediate variable.
This patch makes all packages use xserver_xorg-server directly as a
dependency, and removes the XSERVER variable from package/Makefile.in.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The BR2_PACKAGE_XSERVER_none option has gone, so use BR2_PACKAGE_XORG7
instead. It is more logical to test if BR2_PACKAGE_XORG7 is set to
know if an X.org server is available, than testing if
BR2_PACKAGE_XSERVER_none is set to know if an X.org server is *not*
available.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Many packages used to depend on BR2_PACKAGE_XORG||BR2_PACKAGE_XORG7,
but this is useless since BR2_PACKAGE_XORG is a non-existing
configuration option. So, these depencies gets simplified to
BR2_PACKAGE_XORG7 only.
Some others were depending on BR2_PACKAGE_TINYX (which doesn't) exist
or BR2_PACKAGE_XSERVER_xorg || BR2_PACKAGE_XSERVER_tiny ||
BR2_PACKAGE_XSERVER_x11r7. Replace all that mess by a simple
dependency on BR2_PACKAGE_XORG7.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Move stamp (dependency) files outside the (version specific) source
directories, so other packages can hardcode dependencies on them instead
of having to use <PACKAGE>_VERSION variables.
This is important as the variables in the make rules are evaluated when
the rules is seen, which might be before the dependent makefile is parsed
(and hence <PACKAGE>_VERSION variable is known, screwing up stuff.
The downside of this is that the package isn't automatically rebuilt
when the version changes (E.G. by a svn update) and you now also have to
remove the stamp files next to $(BUILD_DIR)/<PACKAGE>-* to force a rebuild.
This matches upstream tarball, doesn't screw up existing .config's with
BR2_PACKAGE_PKGCONFIG and makes sure the patch gets applied for target
compilation.
The host versions shouldn't be visible in Kconfig, so remove the
reference to BR2_PACKAGE_PKGCONFIG everywhere and prefix the host targets
with host-.
At the same time add pkgconfig for the target (E.G. for development) and
let BR2_PACKAGE_PKGCONFIG control that package.
Notice: all defconfigs in the tree have been updated, but make sure to
disable the pkgconfig package (unless you want it) if you use an external
config, otherwise you'll end up with pkgconfig and glib2 in the target.
The following changes allow for use of a central configure cache
file. This speeds up configuration of packages.
Its use is configurable at the top level (BR2_CONFIG_CACHE - default n).
Old style makefiles can use it if they use the following MACRO in makefiles:
$(AUTO_CONFIGURE_TARGET) see my change to directfb.mk.
New style Autotools.in will use it if you set the global option.
However you can enable the global option and on a per package overrule it by doing
the following: $(PKGNAME)_USE_CONFIG_CACHE = NO see fontconfig.mk for an example
of this.
Finally I have removed a few config variable settings which indicated no CXX compiler
as this is wrong and breaks the build when using this central cache.
Config.in | 8 ++++++++
package/Makefile.autotools.in | 5 ++++-
package/Makefile.in | 28 +++++++++++++++++++++++++++-
package/atk/atk.mk | 2 +-
package/directfb/directfb.mk | 7 +------
package/fontconfig/fontconfig.mk | 3 +++
package/libglib2/libglib2.mk | 2 +-
package/libgtk2/libgtk2.mk | 1 -
8 files changed, 45 insertions(+), 11 deletions(-)
I would appreciate feedback on this change (I have been testing for 2-3 weeks)
But I can never test all cases! If you enable the BR2_CONFIG_CACHE option some
Makefile.autotools.in based packages may now break - I cannot build them all.
In this case you may need to remove config options that are being hardcoded all
over the place (like gtk saying we have 2 CXX compiler) or disable the use
of CONFIG CACHE file like I have done in fontconfig.
I can build all packages required to get WebKit on DirectFB up and running
and it runs fine.
I will try to resolve any issues this creates as fast as I can.
Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
libpng used to have the 'png' Makefile alias, which some packages used
in their dependencies list.
With the move to Makefile.autotools.in this is now gone, so update the
packages to match.
Rely on the sane default values of Makefile.autotools.in for the
staging and target installs. The immediate benefit is that the target
install will use install-strip instead of install, leading to a quite
nice size reduction in the libraries.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Bump up libgtk2 version
The version of libgtk2 currently used doesn't build when built against
DirectFB. The issue has been fixed in a later version of the 2.12.x
series, so let's upgrade to this version.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Should be no different for X builds.
Config.in | 3 +--
libgtk2.mk | 7 +++----
2 files changed, 4 insertions(+), 6 deletions(-)
Signed-off-by: daniel.j.laird@nxp.com
package/libgtk2/Config.in
Allow DirectFB to turn on LIBGTK2 support without X being enabled.
Disable autoselection of cups. May not be wanted (Can cause crosscompilation issues).
package/libgtk2/libgtk2.mk
Remove unnessary redefine of PKG_CONFIG_*
Pass $(DISABLE_LARGEFILE) to configure (supports large file or not)
Move 'cups' to X extra dependencies instead of general.