Alex Clemmer created MESOS-6814:
-----------------------------------

             Summary: Make sure compilation configuration is propagated 
correctly to third party dependencies
                 Key: MESOS-6814
                 URL: https://issues.apache.org/jira/browse/MESOS-6814
             Project: Mesos
          Issue Type: Bug
            Reporter: Alex Clemmer
            Assignee: Alex Clemmer


Currently compilation flags are not correctly propagated to all third-party 
dependencies, because in many of these cases, we shell out to `configure` and 
`make` on Unix, without propagating the correct flags and configuration we're 
using for the rest of the build.

For example, if you request to compile Mesos with clang:

```
cmake -DCMAKE_C_COMPILER=clang-3.6 -DCMAKE_CXX_COMPILER=clang++-3.6 
-DCMAKE_BUILD_TYPE=Release ..
```

we end up with a bunch of lines like:

```
libtool: compile:  g++ -DHAVE_CONFIG_H -I. 
-I/home/joris/projects/mesos/cmake-build/3rdparty/protobuf-2.6.1/src/protobuf-2.6.1/src/../src
 -I.. -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -O2 
-g -DNDEBUG -MT google/protobuf/compiler/command_line_interface.lo -MD -MP -MF 
google/protobuf/compiler/.deps/command_line_interface.Tpo -c 
/home/joris/projects/mesos/cmake-build/3rdparty/protobuf-2.6.1/src/protobuf-2.6.1/src/../src/google/protobuf/compiler/command_line_interface.cc
 -o google/protobuf/compiler/command_line_interface.o >/dev/null 2>&1
```

A better solution is probably to use a CMake-based build system for these 
dependencies, or at least propagate important flags to `configure`.

Another possibility is that it actually is desired behavior to compile with GCC 
in this case. If that's true, we should develop good reasons, add them to the 
comments, and close this issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to