<html>
    <head>
      <base href="http://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - CMake: native llvm-tblgen: Endless reconfigure-loop in parallel build"
   href="http://llvm.org/bugs/show_bug.cgi?id=20435">20435</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>CMake: native llvm-tblgen: Endless reconfigure-loop in parallel build
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Build scripts
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>cmake
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>martin.zenzes@dfki.de
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>If calling cmake with "-DCMAKE_SYSTEM_NAME=Linux" (compiling in cross-mode
[1]), the "native llvm-tblgen" will be created. This will cause endless rerun
of the cmake-target for "ConfigureNativeTableGen" when compiling in parallel
build. The dependencies of later targets depending on the TableGen are not set
correctly?

Reproduce:
    cmake -DCMAKE_SYSTEM_NAME=Linux ../path/to/CMakeLists.txt
    make -j9
    ...endless-loop, finally build error...
Workaround:
    build single-threaded


Tested: "release_34", "release_33" and "master"

[1] CMake is setting "CMAKE_CROSSCOMPILING" to "True" if the CMAKE_SYSTEM_NAME
is set. Your CMakeLists then checks this Variable and creates the native
TableGen. 

->
<a href="https://github.com/Kitware/CMake/blob/master/Modules/CMakeDetermineSystem.cmake#L115">https://github.com/Kitware/CMake/blob/master/Modules/CMakeDetermineSystem.cmake#L115</a>

Greetings</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>