Ver Fonte

Revert "Use --sysroot when cross compiling."

This reverts commit de4da665d3205afa239749c41513a315c3831f51.

This feature is not yet ready for release. It needs to be
merged with the CMAKE_OSX_SYSROOT feature.
Stephen Kelly há 12 anos atrás
pai
commit
0416c94f64

+ 0 - 1
Modules/Compiler/GNU.cmake

@@ -30,7 +30,6 @@ macro(__compiler_gnu lang)
   endif()
   set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC")
   set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared")
-  set(CMAKE_SYSROOT_FLAG "--sysroot=")
 
   # Older versions of gcc (< 4.5) contain a bug causing them to report a missing
   # header file as a warning if depfiles are enabled, causing check_header_file

+ 2 - 9
Source/cmComputeLinkInformation.cxx

@@ -1884,8 +1884,6 @@ void cmComputeLinkInformation::GetRPath(std::vector<std::string>& runtimeDirs,
     }
   if(use_build_rpath || use_link_rpath)
     {
-    std::string rootPath = this->Makefile->GetSafeDefinition("CMAKE_SYSROOT");
-    cmSystemTools::ConvertToUnixSlashes(rootPath);
     std::vector<std::string> const& rdirs = this->GetRuntimeSearchPath();
     for(std::vector<std::string>::const_iterator ri = rdirs.begin();
         ri != rdirs.end(); ++ri)
@@ -1909,14 +1907,9 @@ void cmComputeLinkInformation::GetRPath(std::vector<std::string>& runtimeDirs,
            !cmSystemTools::IsSubDirectory(ri->c_str(), topSourceDir) &&
            !cmSystemTools::IsSubDirectory(ri->c_str(), topBinaryDir))
           {
-          std::string d = *ri;
-          if (d.find(rootPath) == 0)
+          if(emitted.insert(*ri).second)
             {
-            d = d.substr(rootPath.size());
-            }
-          if(emitted.insert(d).second)
-            {
-            runtimeDirs.push_back(d);
+            runtimeDirs.push_back(*ri);
             }
           }
         }

+ 0 - 10
Source/cmDocumentVariables.cxx

@@ -560,16 +560,6 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
      false,
      "Variables That Change Behavior");
 
-    cm->DefineProperty
-    ("CMAKE_SYSROOT",  cmProperty::VARIABLE,
-     "Path to pass to the compiler in the --sysroot flag.",
-     "The CMAKE_SYSROOT content is passed to the compiler in the --sysroot "
-     "flag, if supported.  The path is also stripped from the RPATH if "
-     "necessary on installation.  The CMAKE_SYSROOT is also used to prefix "
-     "paths searched by the find_* commands.",
-     false,
-     "Variables That Change Behavior");
-
     cm->DefineProperty
     ("CMAKE_FIND_LIBRARY_PREFIXES",  cmProperty::VARIABLE,
      "Prefixes to prepend when looking for libraries.",

+ 4 - 20
Source/cmFindCommon.cxx

@@ -62,15 +62,10 @@ void cmFindCommon::GenerateDocumentation()
     "The CMake variable CMAKE_FIND_ROOT_PATH specifies one or more "
     "directories to be prepended to all other search directories. "
     "This effectively \"re-roots\" the entire search under given locations. "
-    "By default it is empty.  "
-    "The variable CMAKE_SYSROOT can also be used to specify exactly one "
-    "directory to use as a prefix.  Setting CMAKE_SYSROOT also has other "
-    "effects.  See the documentation for that variable for more.  "
-    "These are especially useful when "
+    "By default it is empty. It is especially useful when "
     "cross-compiling to point to the root directory of the "
     "target environment and CMake will search there too. By default at first "
-    "the CMAKE_SYSROOT directory is searched, then the directories listed in "
-    "CMAKE_FIND_ROOT_PATH and then the non-rooted "
+    "the directories listed in CMAKE_FIND_ROOT_PATH and then the non-rooted "
     "directories will be searched. "
     "The default behavior can be adjusted by setting "
     "CMAKE_FIND_ROOT_PATH_MODE_XXX.  This behavior can be manually "
@@ -192,27 +187,16 @@ void cmFindCommon::RerootPaths(std::vector<std::string>& paths)
     {
     return;
     }
-  const char* sysroot =
-    this->Makefile->GetDefinition("CMAKE_SYSROOT");
   const char* rootPath =
     this->Makefile->GetDefinition("CMAKE_FIND_ROOT_PATH");
-  const bool noSysroot = !sysroot || !*sysroot;
-  const bool noRootPath = !rootPath || !*rootPath;
-  if(noSysroot && noRootPath)
+  if((rootPath == 0) || (strlen(rootPath) == 0))
     {
     return;
     }
 
   // Construct the list of path roots with no trailing slashes.
   std::vector<std::string> roots;
-  if (sysroot)
-    {
-    roots.push_back(sysroot);
-    }
-  if (rootPath)
-    {
-    cmSystemTools::ExpandListArgument(rootPath, roots);
-    }
+  cmSystemTools::ExpandListArgument(rootPath, roots);
   for(std::vector<std::string>::iterator ri = roots.begin();
       ri != roots.end(); ++ri)
     {

+ 1 - 5
Source/cmLocalGenerator.cxx

@@ -1467,8 +1467,6 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
     return;
     }
 
-  std::string rootPath = this->Makefile->GetSafeDefinition("CMAKE_SYSROOT");
-
   std::vector<std::string> implicitDirs;
   // Load implicit include directories for this language.
   std::string impDirVar = "CMAKE_";
@@ -1481,9 +1479,7 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
     for(std::vector<std::string>::const_iterator i = impDirVec.begin();
         i != impDirVec.end(); ++i)
       {
-      std::string d = rootPath + *i;
-      cmSystemTools::ConvertToUnixSlashes(d);
-      emitted.insert(d);
+      emitted.insert(*i);
       if (!stripImplicitInclDirs)
         {
         implicitDirs.push_back(*i);

+ 0 - 16
Source/cmMakefileExecutableTargetGenerator.cxx

@@ -365,22 +365,6 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
   vars.TargetVersionMajor = targetVersionMajor.c_str();
   vars.TargetVersionMinor = targetVersionMinor.c_str();
 
-  if (const char *rootPath =
-                    this->Makefile->GetDefinition("CMAKE_SYSROOT"))
-    {
-    if (*rootPath)
-      {
-      if (const char *sysrootFlag =
-                      this->Makefile->GetDefinition("CMAKE_SYSROOT_FLAG"))
-        {
-        flags += " ";
-        flags += sysrootFlag;
-        flags += this->LocalGenerator->EscapeForShell(rootPath);
-        flags += " ";
-        }
-      }
-    }
-
   vars.LinkLibraries = linkLibs.c_str();
   vars.Flags = flags.c_str();
   vars.LinkFlags = linkFlags.c_str();

+ 0 - 20
Source/cmMakefileLibraryTargetGenerator.cxx

@@ -589,26 +589,6 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
                          cmLocalGenerator::SHELL);
   vars.ObjectDir = objdir.c_str();
   vars.Target = targetOutPathReal.c_str();
-
-  if(this->Target->GetType() == cmTarget::SHARED_LIBRARY)
-    {
-    if (const char *rootPath =
-                    this->Makefile->GetSafeDefinition("CMAKE_SYSROOT"))
-      {
-      if (*rootPath)
-        {
-        if (const char *sysrootFlag =
-                        this->Makefile->GetDefinition("CMAKE_SYSROOT_FLAG"))
-          {
-          linkFlags += " ";
-          linkFlags += sysrootFlag;
-          linkFlags += this->LocalGenerator->EscapeForShell(rootPath);
-          linkFlags += " ";
-          }
-        }
-      }
-    }
-
   vars.LinkLibraries = linkLibs.c_str();
   vars.ObjectsQuoted = buildObjs.c_str();
   if (this->Target->HasSOName(this->ConfigName))

+ 0 - 17
Source/cmMakefileTargetGenerator.cxx

@@ -644,23 +644,6 @@ cmMakefileTargetGenerator
                             cmLocalGenerator::START_OUTPUT,
                             cmLocalGenerator::SHELL);
   vars.ObjectDir = objectDir.c_str();
-
-  if (const char *rootPath =
-                    this->Makefile->GetSafeDefinition("CMAKE_SYSROOT"))
-    {
-    if (*rootPath)
-      {
-      if (const char *sysrootFlag =
-                      this->Makefile->GetDefinition("CMAKE_SYSROOT_FLAG"))
-        {
-        flags += " ";
-        flags += sysrootFlag;
-        flags += this->LocalGenerator->EscapeForShell(rootPath);
-        flags += " ";
-        }
-      }
-    }
-
   vars.Flags = flags.c_str();
 
   std::string definesString = "$(";

+ 1 - 21
Source/cmNinjaNormalTargetGenerator.cxx

@@ -224,27 +224,7 @@ cmNinjaNormalTargetGenerator
     vars.TargetVersionMajor = targetVersionMajor.c_str();
     vars.TargetVersionMinor = targetVersionMinor.c_str();
 
-
-    std::string flags = "$FLAGS";
-
-    if (const char *rootPath =
-                      this->GetMakefile()->GetSafeDefinition("CMAKE_SYSROOT"))
-      {
-      if (*rootPath)
-        {
-        if (const char *sysrootFlag =
-                    this->GetMakefile()->GetDefinition("CMAKE_SYSROOT_FLAG"))
-          {
-          flags += " ";
-          flags += sysrootFlag;
-          flags += this->GetLocalGenerator()->EscapeForShell(rootPath);
-          flags += " ";
-          }
-        }
-      }
-
-    vars.Flags = flags.c_str();
-
+    vars.Flags = "$FLAGS";
     vars.LinkFlags = "$LINK_FLAGS";
 
     std::string langFlags;

+ 1 - 17
Source/cmNinjaTargetGenerator.cxx

@@ -384,23 +384,7 @@ cmNinjaTargetGenerator
     cmSystemTools::ReplaceString(depFlagsStr, "<CMAKE_C_COMPILER>",
                        mf->GetDefinition("CMAKE_C_COMPILER"));
     flags += " " + depFlagsStr;
-
-    if (const char *rootPath =
-                      this->Makefile->GetSafeDefinition("CMAKE_SYSROOT"))
-      {
-      if (*rootPath)
-        {
-        if (const char *sysrootFlag =
-                        this->Makefile->GetDefinition("CMAKE_SYSROOT_FLAG"))
-          {
-          flags += " ";
-          flags += sysrootFlag;
-          flags += this->LocalGenerator->EscapeForShell(rootPath);
-          flags += " ";
-          }
-        }
-      }
-    }
+  }
   vars.Flags = flags.c_str();