Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.
[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Now that those values are passed at the autotools infrastructure
level, there's no need for every package to pass inconsistent values.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
The patch libglib2-mkenums-nowarn.patch is removed, since it has been
merged upstream.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that we have libtool-2.2.x patch support, we can get rid of a bunch
of _LIBTOOL_PATH = NO, fixing (potential) cross link issues.
Notice: php not changed, as it uses a very old 1.5 version for the
embedded sqlite, where our buildroot-libtool-v1.5.patch doesn't apply.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This patch was introduced in 0ec4298153
to fix a problem in libglib configure script when using the
configuration cache.
However, we decided that the shared configuration cache cannot work
reliably, to disable it by default, and probably to remove it
altogether. So just drop this patch, and don't autoreconfigure
libglib.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The test for clock_gettime() in configure.in doesn't work properly
when a previous package has loaded the shared configuration cache with
informations about the availability of clock_gettime. A package such
as ctorrent does so, which means that compiling ctorrent *then*
libglib2 currently fails.
According to people on the Autoconf mailing list, the libglib2 test is
likely the one that needs to be fixed. The problem is that the
AC_CHECK_FUNCS() test assumes that if it finds clock_gettime() it
means that there's no need to add any -lrt flag to the
build. Unfortunately, due to the shared configuration cache, this test
is already done with -lrt, so the test succeeds, and libglib2 does not
know that it needs to add -lrt to G_THREAD_LIBS and
G_THREAD_LIBS_FOR_GTHREAD.
So instead, we remplace the test with an AC_SEARCH_LIBS() test,
followed by a test on the result of this AC_SEARCH_LIBS() test to add
the necessary -lrt to G_THREAD_LIBS and
G_THREAD_LIBS_FOR_GTHREAD. Therefore, even if the result for the
AC_SEARCH_LIBS() test is cached due to the prior execution ctorrent
./configure script, libglib2 ./configure will properly add -lrt to the
appropriate variables.
Obviously, as this patch modifies the configure.in file, we enable the
autoreconf step for the libglib2 package.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Don't install libglib2 development binaries and to target unless
BR2_HAVE_DEVFILES is set
Signed-off-by: Malte Starostik <m-starostik@versanet.de>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
gettext needs WCHAR support in the toolchain, and as libglib2 depends on
gettext and lots of stuff depends on libglib2, quite a lot of packages
needs to have their dependencies adjusted.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
[Peter: updated to 2.22.4 instead which is so far only on ftp.gnome.org,
fixed build without IPv6 support]
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Packages which also build a host variant and have LIBTOOL_PATCH = NO,
should also disable libtool patching for the host build.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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>
A C library will have been built by the toolchain makefiles, so there is no
need for packages to explicitly depend on uclibc.
Signed-off-by: Will Newton <will.newton@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
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.
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>
The configure option --disable-nls is not supported anymore in glib
since version 2.0, see file ChangeLog.pre-2-0 line 544.
Patch by Markus Heidelberg.