diff options
author | Chris Reffett <creffett@gentoo.org> | 2013-01-01 19:25:58 +0000 |
---|---|---|
committer | Chris Reffett <creffett@gentoo.org> | 2013-01-01 19:25:58 +0000 |
commit | 8f099f1b0003112d2d09980e6cd507bb957ca8ba (patch) | |
tree | 6d36addbdd3666e8f4497b2b958c04582f13f5bc /dev-util/cmake | |
parent | Add webkit-gtk-1.10's build space check to 1.8.3. (diff) | |
download | gentoo-2-8f099f1b0003112d2d09980e6cd507bb957ca8ba.tar.gz gentoo-2-8f099f1b0003112d2d09980e6cd507bb957ca8ba.tar.bz2 gentoo-2-8f099f1b0003112d2d09980e6cd507bb957ca8ba.zip |
Revision bump. Add patch to fix stripping implicit include dirs, bug 444340. Add shell-script magic in ebuild to strip extra jobs values in MAKEOPTS (which causes build failures), bug 447040.
(Portage version: 2.2.0_alpha149/cvs/Linux x86_64, signed Manifest commit with key 42618354)
Diffstat (limited to 'dev-util/cmake')
-rw-r--r-- | dev-util/cmake/ChangeLog | 12 | ||||
-rw-r--r-- | dev-util/cmake/cmake-2.8.10.2-r1.ebuild (renamed from dev-util/cmake/cmake-2.8.10.2.ebuild) | 7 | ||||
-rw-r--r-- | dev-util/cmake/files/cmake-2.8.10.2-implicit-include.patch | 139 |
3 files changed, 153 insertions, 5 deletions
diff --git a/dev-util/cmake/ChangeLog b/dev-util/cmake/ChangeLog index 373156f4bc5c..1ef0e52a34aa 100644 --- a/dev-util/cmake/ChangeLog +++ b/dev-util/cmake/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for dev-util/cmake -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.228 2012/11/27 22:07:55 creffett Exp $ +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/ChangeLog,v 1.229 2013/01/01 19:25:58 creffett Exp $ + +*cmake-2.8.10.2-r1 (01 Jan 2013) + + 01 Jan 2013; Chris Reffett <creffett@gentoo.org> +cmake-2.8.10.2-r1.ebuild, + +files/cmake-2.8.10.2-implicit-include.patch, -cmake-2.8.10.2.ebuild: + Revision bump. Add patch to fix stripping implicit include dirs, bug 444340. + Add shell-script magic in ebuild to strip extra jobs values in MAKEOPTS (which + causes build failures), bug 447040. *cmake-2.8.10.2 (27 Nov 2012) diff --git a/dev-util/cmake/cmake-2.8.10.2.ebuild b/dev-util/cmake/cmake-2.8.10.2-r1.ebuild index 9dcbab2b7b81..0f26d5a35d11 100644 --- a/dev-util/cmake/cmake-2.8.10.2.ebuild +++ b/dev-util/cmake/cmake-2.8.10.2-r1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.10.2.ebuild,v 1.1 2012/11/27 22:07:55 creffett Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/cmake/cmake-2.8.10.2-r1.ebuild,v 1.1 2013/01/01 19:25:58 creffett Exp $ EAPI=4 @@ -56,6 +56,7 @@ PATCHES=( "${FILESDIR}"/${PN}-2.8.10-FindPythonLibs.patch "${FILESDIR}"/${PN}-2.8.10-libform.patch "${FILESDIR}"/${PN}-2.8.10-more-no_host_paths.patch + "${FILESDIR}"/${PN}-2.8.10.2-implicit-include.patch ) cmake_src_bootstrap() { @@ -63,7 +64,7 @@ cmake_src_bootstrap() { # Because bootstrap does not know anything else. echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null if [ $? -eq 0 ]; then - par_arg=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | egrep -o '[[:digit:]]+') + par_arg=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+') par_arg="--parallel=${par_arg}" else par_arg="--parallel=1" diff --git a/dev-util/cmake/files/cmake-2.8.10.2-implicit-include.patch b/dev-util/cmake/files/cmake-2.8.10.2-implicit-include.patch new file mode 100644 index 000000000000..f0ea5e814617 --- /dev/null +++ b/dev-util/cmake/files/cmake-2.8.10.2-implicit-include.patch @@ -0,0 +1,139 @@ +--- a/Source/cmLocalGenerator.cxx ++++ b/Source/cmLocalGenerator.cxx +@@ -1329,7 +1329,9 @@ std::string cmLocalGenerator::GetIncludeFlags( + void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs, + cmGeneratorTarget* target, + const char* lang, +- const char *config) ++ const char *config, ++ bool stripImplicitInclDirs ++ ) + { + // Need to decide whether to automatically include the source and + // binary directories at the beginning of the include path. +@@ -1404,18 +1406,21 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs, + return; + } + +- // Load implicit include directories for this language. +- std::string impDirVar = "CMAKE_"; +- impDirVar += lang; +- impDirVar += "_IMPLICIT_INCLUDE_DIRECTORIES"; +- if(const char* value = this->Makefile->GetDefinition(impDirVar.c_str())) ++ if (stripImplicitInclDirs) + { +- std::vector<std::string> impDirVec; +- cmSystemTools::ExpandListArgument(value, impDirVec); +- for(std::vector<std::string>::const_iterator i = impDirVec.begin(); +- i != impDirVec.end(); ++i) ++ // Load implicit include directories for this language. ++ std::string impDirVar = "CMAKE_"; ++ impDirVar += lang; ++ impDirVar += "_IMPLICIT_INCLUDE_DIRECTORIES"; ++ if(const char* value = this->Makefile->GetDefinition(impDirVar.c_str())) + { +- emitted.insert(*i); ++ std::vector<std::string> impDirVec; ++ cmSystemTools::ExpandListArgument(value, impDirVec); ++ for(std::vector<std::string>::const_iterator i = impDirVec.begin(); ++ i != impDirVec.end(); ++i) ++ { ++ emitted.insert(*i); ++ } + } + } + +--- a/Source/cmLocalGenerator.h ++++ b/Source/cmLocalGenerator.h +@@ -212,7 +212,8 @@ public: + /** Get the include flags for the current makefile and language. */ + void GetIncludeDirectories(std::vector<std::string>& dirs, + cmGeneratorTarget* target, +- const char* lang = "C", const char *config = 0); ++ const char* lang = "C", const char *config = 0, ++ bool stripImplicitInclDirs = true); + + /** Compute the language used to compile the given source file. */ + const char* GetSourceFileLanguage(const cmSourceFile& source); +--- a/Source/cmQtAutomoc.cxx ++++ b/Source/cmQtAutomoc.cxx +@@ -212,36 +212,11 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target) + } + + +- const char* qtIncDir = 0; +- const char* qtCoreIncDir = 0; +- +- // check whether ${QT_INCLUDE_DIR} is part of the implicit include dirs, +- // see http://public.kitware.com/Bug/view.php?id=13667 +- bool qtIncludeDirMayHaveBeenRemoved = false; +- if (makefile->IsSet("QT_INCLUDE_DIR")) +- { +- qtIncDir = makefile->GetDefinition("QT_INCLUDE_DIR"); +- std::string s = +- makefile->GetSafeDefinition("CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES"); +- std::vector<std::string> implIncDirs; +- cmSystemTools::ExpandListArgument(s, implIncDirs); +- if (std::find(implIncDirs.begin(), implIncDirs.end(),std::string(qtIncDir)) +- != implIncDirs.end()) +- { +- qtIncludeDirMayHaveBeenRemoved = true; +- if (makefile->IsSet("QT_QTCORE_INCLUDE_DIR")) +- { +- qtCoreIncDir = makefile->GetDefinition("QT_QTCORE_INCLUDE_DIR"); +- } +- } +- } +- +- bool haveQtCoreIncDir = false; +- bool haveQtIncDir = false; +- + std::vector<std::string> includeDirs; + cmGeneratorTarget gtgt(target); +- localGen->GetIncludeDirectories(includeDirs, >gt, "CXX"); ++ // Get the include dirs for this target, without stripping the implicit ++ // include dirs off, see http://public.kitware.com/Bug/view.php?id=13667 ++ localGen->GetIncludeDirectories(includeDirs, >gt, "CXX", 0, false); + std::string _moc_incs = ""; + const char* sep = ""; + for(std::vector<std::string>::const_iterator incDirIt = includeDirs.begin(); +@@ -251,37 +226,6 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target) + _moc_incs += sep; + sep = ";"; + _moc_incs += *incDirIt; +- +- if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir) // #13667 +- { +- if (*incDirIt == qtIncDir) +- { +- haveQtIncDir = true; +- qtIncludeDirMayHaveBeenRemoved = false; // it's here, i.e. not removed +- } +- if (*incDirIt == qtCoreIncDir) +- { +- haveQtCoreIncDir = true; +- } +- } +- } +- +- // Some projects (kdelibs, phonon) query the compiler for its default +- // include search dirs, and add those to +- // CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES. +- // These may include e.g./usr/lib/qt/include . This is typically also part +- // of ${QT_INCLUDES}. If this directory is then contained in the implicit +- // include dirs, it is removed from the include dirs returned from the +- // target above. So we add ${QT_INCLUDE_DIR} manually for moc if we detected +- // that ${QT_QTCORE_INCLUDE_DIR} is among the include dirs (there shouldn't +- // be a way to use Qt4 without using ${QT_QTCORE_INCLUDE_DIR} I think. +- // See #13646 and #13667. +- if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir +- && (haveQtCoreIncDir == true) && (haveQtIncDir == false)) +- { +- _moc_incs += sep; +- sep = ";"; +- _moc_incs += qtIncDir; + } + + const char* tmp = target->GetProperty("COMPILE_DEFINITIONS"); +-- +1.7.0 |