Commit Graph

44 Commits

Author SHA1 Message Date
Thomas Petazzoni
0904b80b47 cmake: pass HOST_CONFIGURE_OPTS at configure time
Since we bumped CMake from 3.5.2 to 3.6.3 in commit
99ed85d740, CMake uses pkg-config during
its configure step to find available libraries on the host.

If host-pkgconf was not built before host-cmake, everything was working
fine. However, if host-pkgconf was built before, the configure step of
host-cmake was finding pkg-config and used it to find
libraries. Unfortunately, since we were not passing
PKG_CONFIG_PATH/PKG_CONFIG_SYSROOT_DIR, pkg-config was behaving in its
"default" mode, i.e returning results valid when building things for the
target, not for the host. This lead to header paths pointing to the
staging directory being used when building native binary objects,
causing all sort of build failures.

This commit fixes that by passing $(HOST_CONFIGURE_OPTS) to the
environment of host-cmake configure step. This variable contains
HOST_MAKE_ENV, which itself contains the appropriate
PKG_CONFIG_PATH/PKG_CONFIG_SYSROOT_DIR definitions.

At the same time, we drop LDFLAGS="$(HOST_LDFLAGS)" because this
definition is already in $(HOST_CONFIGURE_OPTS).

Fixes:

  http://autobuild.buildroot.net/results/4e703ed8c2eb0f914794038b0ef7bd73a67f38ce/
  (and 424 similar build failures)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-03 16:24:23 +01:00
Vicente Olivert Riera
d96fafc3d3 cmake: bump version to 3.7.1
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-02 09:21:50 +01:00
Vicente Olivert Riera
1ffcf364b6 cmake: bump version to 3.7.0
libuv is now a required dependency.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Tested-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-25 23:49:52 +01:00
Vicente Olivert Riera
99ed85d740 cmake: bump version to 3.6.3
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-05 13:18:03 +01:00
Thomas Petazzoni
8428dbd88e Revert "cmake: bump version to 3.6.0"
This reverts commit b6ff742ca0.

This bump causes numerous build failures, so Vicente and Yann proposed
to revert it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-15 09:52:26 +02:00
Vicente Olivert Riera
b6ff742ca0 cmake: bump version to 3.6.0
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-14 12:23:14 +02:00
Luca Ceresoli
fc832dd126 cmake: add documentation about how it is built
Commit 7b17bafc5d by Davide Viti has a
detailed explanation of some unusual techniques used for building
host-cmake and (target-)cmake. This is useful information for whoever
starts hacking on it, so copy it in the makefile, where it will be
easily noticed.

Also remove the sentence about host-cmake having a runtime dependency
on host-pkgconfig (not true anymore: it's the specific cmake-packages
that depend on it) and fix typos.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Davide Viti <zinosat@tiscali.it>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-05 12:19:15 +02:00
Luca Ceresoli
6ab3383f76 cmake: move the host-pkgconf dependency from host-cmake to pkg-cmake
In 3d475ee0ba a dependency on
host-pkgconf was added to host-cmake. It is a workaround to fix build
failures for packages that use pkgconf through a cmake module, but do
not depend on host-pkgconf as they should.

Since it is the package that needs host-pkgconf and not host-cmake
itself, move the dependency to the proper place, in pkg-cmake.mk.

Also copy the explanation on the mentioned commit as a comment in
order to clarify why we do this.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Davide Viti <zinosat@tiscali.it>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas:
 - update on top of master
 - drop empty HOST_CMAKE_DEPENDENCIES, no longer needed since host
   dependencies are no longer derived from target dependencies.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-05 12:18:36 +02:00
Bernd Kuhls
4472bacef2 package/cmake: bump version to 3.5.2
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-17 16:45:05 +02:00
Gustavo Zacarias
688d0fbb75 cmake: bump to version 3.5.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-25 20:55:18 +01:00
Vicente Olivert Riera
ab067a2a4b cmake: bump version to 3.5.0
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-18 21:46:55 +01:00
Bernd Kuhls
4651c60185 package/cmake: bump version to 3.4.3
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-01-28 22:28:34 +01:00
Gustavo Zacarias
3cfc9b54e7 cmake: bump to version 3.4.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-01-20 15:45:58 +01:00
Gustavo Zacarias
626ad58b27 cmake: bump to version 3.4.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-12-03 19:58:39 +01:00
Gustavo Zacarias
7453c4bf60 cmake: bump to version 3.4.0
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-13 22:14:34 +01:00
Gustavo Zacarias
8fa604966c cmake: bump to version 3.3.2
xtensa patch is upstream so there's no need for it any longer.

Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-09-19 15:17:47 +02:00
Cédric Marie
4b67596023 host-cmake: Install with install/fast target
Use install/fast target in order to skip compilation in installation
step. The same trick has just been used in pkg-cmake.mk for all CMake
packages.

Signed-off-by: Cédric Marie <cedric.marie@openmailbox.org>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-23 22:59:43 +02:00
Gustavo Zacarias
f4716f79a0 packages: remove (non-)lfs dependencies and tweaks
Now that largefile is mandatory removes package dependencies and
conditionals.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01 22:47:22 +02:00
Davide Viti
7b17bafc5d package/cmake: make ctest a target package too
Useful for packages shipped with a testsuite which makes use of ctest

Since ctest is just a tool provided by the cmake sources, this change
introduces a hidden BR2_PACKAGE_CMAKE symbol which is automatically
selected by the BR2_PACKAGE_CMAKE_CTEST one.
This is like this mostly for consistency (cmake is the actual package,
not ctest).

CMake is a particular package:
* CMake can be built using the generic infrastructure or the cmake one.
  Since Buildroot has no requirement regarding the host system cmake
  program presence, it uses the generic infrastructure to build the
  host-cmake package, then the (target-)cmake package can be built
  using the cmake infrastructure;
* CMake bundles its dependencies within its sources. This is the reason
  why the host-cmake package only has host-pkgconf as (runtime)
  dependency, whereas the (target-)cmake package has a lot of
  dependencies, using only the system-wide libraries instead of
  rebuilding and staitcally linking with the ones bundles into the CMake
  sources.

[Thomas:
 - add missing C++ dependency.
 - add missing multiple 'select' in Config.in
 - add missing wchar dependency, inherited from selecting libarchive.]

Signed-off-by: Davide Viti <zinosat@tiscali.it>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-15 18:38:53 +01:00
Fabio Porcedda
46bf8e8fd2 cmake: don't use any header available in $(HOST_DIR)/usr/include
The -I<dir> options added to CMAKE_C_FLAGS are passed to the compiler
before the -I<dir> options of the cmake internal headers, so when the
host-xz package was already built, a #include <lzma.h> directive loads
the host-xz header instead of the cmake internal one.

Because we don't want to use any header avaiable in -I$(HOST_DIR)/usr/include,
just get rid of the -I<dir> options in the HOST_CFLAGS.

Fix build failure:
  make host-xz host-cmake

.../output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:17:1: error: conflicting types for ‘lzma_block_buffer_decode’
 lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator,
 ^
In file included from /home/tetsuya/buildroot/br2/output/host/usr/include/lzma.h:296:0,
                 from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/common.h:34,
                 from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_decoder.h:16,
                 from /home/tetsuya/buildroot/br2/output/build/host-cmake-3.1.3/Utilities/cmliblzma/liblzma/common/block_buffer_decoder.c:13:
/home/tetsuya/buildroot/br2/output/host/usr/include/lzma/block.h:577:27: note: previous declaration of ‘lzma_block_buffer_decode’ was here
 extern LZMA_API(lzma_ret) lzma_block_buffer_decode(
                           ^
Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/build.make:261: recipe for target 'Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o' failed
make[3]: *** [Utilities/cmliblzma/CMakeFiles/cmliblzma.dir/liblzma/common/block_buffer_decoder.c.o] Error 1

Fixes:
http://autobuild.buildroot.org/results/4edf6e169dc4a00d8a8bd16a86eba2316cbbd9e5
http://autobuild.buildroot.org/results/a9ff38b22a36a2f8427d33085d3263a8cbfbd746
http://autobuild.buildroot.org/results/ecaa0227249207b5450519832a193c1585ac8177

[Thomas:
 - simplify the sed expression. Instead of trying to remove '-I
   <something>' from $(HOST_CFLAGS), simply remove $(HOST_CPPFLAGS)
   from $(HOST_CFLAGS).
 - add the same logic for HOST_CXXFLAGS.]

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Samuel Martin <s.martin49@gmail.com>
Tested-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-07 11:05:12 +01:00
Fabio Porcedda
65f442a649 cmake: bump version to 3.1.3
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-22 22:23:41 +01:00
Vicente Olivert Riera
d09ad2620d cmake: bump version to 3.1.2
- Bump version to 3.1.2
- Add a hash file

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-09 22:38:54 +01:00
Jeremy Rosen
4aef37b683 cmake : bump to version 3.0.2
The
cmake-0001-FindQt4-do-not-prepend-CMake-root-path-when-searchin.patch
patch has been merged upstream as part of commit
e8b8b37ef6fef094940d3384df5a1d421b9fa568.

[Thomas: tweak commit log by adding details about the patch being
removed.]

Signed-off-by: Jérémy Rosen <jeremy.rosen@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-09-22 19:06:49 +02:00
Samuel Martin
3d475ee0ba package/cmake: add host-pkgconf as dependency
Since some CMake modules (even upstream ones) use pgk_check_modules
primitives to find {C,LD}FLAGS, add it to the dependency list.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-08-31 22:25:37 +02:00
Jerzy Grzegorek
c7f4b96471 package: remove the trailing slash sign from <PKG>_SITE variable
Since the trailing slash is stripped from $($(PKG)_SITE) by pkg-generic.mk:

$(call DOWNLOAD,$($(PKG)_SITE:/=)/$($(PKG)_SOURCE))

so it is redundant.
This patch removes it from $(PKG)_SITE variable for BR consistency.

Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-31 23:17:46 +02:00
Fabio Porcedda
e87c0ded4d cmake: disable building of ccmake
To speedup building disable ccmake because it's not needed by buildroot.
Also disabling ccmake get rid of the ncurses optional unspecified
dependency for the sake of reproducible builds.

Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Alexander Potashev <aspotashev@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-12 22:23:43 +02:00
Samuel Martin
f3b1b92d32 cmake: forward HOST_{C, LD}FLAGS as cmake flags
During the CMake bootstrap phase, the {C,LD}FLAGS set in the bootstrap
environment are not forwarded/converted as CMake flags.

The CMake build contains a bootstrap phase building a minimal CMake
program using a standard Makfile, then reconfigures itself with this
minimal program.

On system with no ncurses installed, and because the prefix option
points to $(HOST_DIR)/usr, if host-cmake was built after host-ncurses,
then ncurses libraries and headers are correctly found (in the host
tree) during the second configuration (because of the prefix). However,
it fails at building ccmake (the curses interface) because the
CMAKE_C_FLAGS, CMAKE_CXX_FLAGS and CMAKE_EXE_LINKER_FLAGS do not
point to the host tree.

Because these flags are needed when running the bootstrap script,
this patch makes sure the same flags are set when running the second
configuration.

Reported-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Cc: Fabio Porcedda <fabio.porcedda@gmail.com>
Cc: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-09 11:36:35 +02:00
Jerzy Grzegorek
b92099df62 cmake: bump to version 2.8.12.2
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-03-08 09:41:04 +01:00
Maxime Hadjinlian
1497e1b133 cmake: bump to version 2.8.12.1
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-12-25 10:25:19 +01:00
Jerzy Grzegorek
aa593ddbc1 package: add <pkg>_VERSION_MAJOR variable
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-19 21:37:39 +01:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Luca Ceresoli
be9e675ae3 cmake: bump to 2.8.10.2
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-10 21:28:20 +01:00
Luca Ceresoli
cea14a589a cmake: remove target package macro
The dummy target package is not needed anymore since commit 79bfcd5560.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-10 21:27:50 +01:00
Luca Ceresoli
a9b0023c5b cmake: convert spaces to tabs in make rules
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-10 21:27:21 +01:00
Thomas Petazzoni
63bd72508b cmake: add license informations
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 20:38:00 +01:00
Thiago Correa
cc77d6437d cmake: bump version to 2.8.9
Signed-off-by: Thiago A. Correa <thiago.correa@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 18:35:58 +01:00
Arnout Vandecappelle (Essensium/Mind)
e1502ebc0c all packages: rename XXXTARGETS to xxx-package
Also remove the redundant $(call ...).

This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS))/$(eval $(generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS))/$(eval $(autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS))/$(eval $(cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:23:05 +02:00
Arnout Vandecappelle (Essensium/Mind)
69e64c42b7 all packages: use new host-xxx-package macros
This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS,host))/$(eval $(host-generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS,host))/$(eval $(host-autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS,host))/$(eval $(host-cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:18:03 +02:00
Nathan Lynch
615645936c cmake: change use of BR2_JLEVEL to PARALLEL_JOBS
Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-24 11:10:04 +02:00
Thomas Petazzoni
0849e8193e package: remove useless arguments from GENTARGETS
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
GENTARGETS 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>
2011-09-29 23:09:58 +02:00
Peter Korsgaard
604b576854 cmake: bump version
qt4 patch is now upstream.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-18 22:25:39 +02:00
Thomas Petazzoni
33eac4b511 cmake: bump to 2.8.3
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-08 15:43:00 +01:00
Thomas Petazzoni
77b5b803c7 cmake: pass LDFLAGS/CFLAGS when building for the host
Passing LDFLAGS/CFLAGS when building for the host allows cmake to be
compiled with the proper -rpath value (the -rpath option is added to
HOST_LDFLAGS in a later commit).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-07 08:14:02 +02:00
Thomas Petazzoni
73b1ab73d7 cmake: new package
Only compilation for the host is supported, why explains why we don't
have a Config.in and the corresponding BR2_PACKAGE_CMAKE option.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-09 11:03:55 +02:00