[OE-core] [PATCH] cmake-native: Depend on ncurses-native too

Mike Crowe mac at mcrowe.com
Wed Apr 2 09:14:04 UTC 2014


On Tuesday 01 April 2014 at 21:59:34 -0700, Khem Raj wrote:
> On Tue, Apr 1, 2014 at 3:11 AM, Mike Crowe <mac at mcrowe.com> wrote:
> > It seems to be possible to disable building the "CursesDialog" component to
> > remove the need for ncurses but I couldn't immediately see how to do that
> > for a bootstrap build.
> >
> > The non-native cmake recipe depends on ncurses even though it passes
> > -DBUILD_CursesDialog=0.
> 
> you need to disable it completely in CMakefile.txt, just that define
> does not suffice you might try something like
> http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-util/cmake/files/cmake-2.8.10-libform.patch?diff_format=f&view=markup

As far as I can tell (by poisoning curses.h in the sysroot) the non-native
cmake build does successfully avoid using curses by specifying
-DBUILD_CursesDialog=0. I have successfully tested removing the
ncurses dependency from the recipe too.

The cmake-native bootstrap procedure means that it is not possible to get
that parameter through to the ultimate cmake native build. So I came up
with this patch:

--- cmake-2.8.12.2/bootstrap~	2014-01-16 17:15:09.000000000 +0000
+++ cmake-2.8.12.2/bootstrap	2014-04-01 21:27:23.841996822 +0100
@@ -1578,6 +1578,7 @@ export MAKE
 
 # Run bootstrap CMake to configure real CMake
 cmake_options="-DCMAKE_BOOTSTRAP=1"
+cmake_options="${cmake_options} -DBUILD_CursesDialog=0"
 if [ -n "${cmake_verbose}" ]; then
   cmake_options="${cmake_options} -DCMAKE_VERBOSE_MAKEFILE=1"
 fi

If I apply this for cmake-native then it also doesn't require curses
(tested with the same poisoning.)

The Gentoo patch may be somewhat safer in the long term because it does a
better job of ensuring that the curses dependency can't come back with
newer cmake versions; it is more likely that the patch would not apply or
the link would fail.

Do you prefer the one line patch above or the Gentoo one?

Thanks.

Mike.



More information about the Openembedded-core mailing list