[ 
https://issues.apache.org/jira/browse/MESOS-1071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13947731#comment-13947731
 ] 

Till Toenshoff commented on MESOS-1071:
---------------------------------------

Thanks guys, here comes my upcoming implementation scheme.

Phases:
1: Default behavior as current, using bundled dependencies, options to override 
and to specify locations.
2: Default behavior is using preinstalled dependencies, options to override and 
to specify locations
3: Default behavior is using preinstalled dependencies, options to specify 
locations only.

{{--disable-bundled}} uses preinstalled dependencies and does not fall back . 
In phase 1, that option has to be manually supplied to be effective. In phase 
2, it will be default and needs to overridden by {{--enable-bundled}} to 
achieve bundled library usage. In phase 3, it will become default without any 
overriding options.

{{--without-included-XYZ}} will be available for phase 1 and 2 only. In phase 
2, it will trump {{--enable-bundled}} for that specific dependency. 
{{without-included-XYZ}} appears to be more intuitive than {{--without-XYZ}} as 
it will not disable using that dependency but only prevent using the bundled 
version.

{{--with-XYZ=DIR}} will always be available to override a dependency location. 
Using it implicitly enables {{--without-included-XYZ}}.


> Enable building against installed third-party dependencies.
> -----------------------------------------------------------
>
>                 Key: MESOS-1071
>                 URL: https://issues.apache.org/jira/browse/MESOS-1071
>             Project: Mesos
>          Issue Type: Improvement
>          Components: build
>            Reporter: Benjamin Hindman
>         Attachments: modified_tillt.patch
>
>
> Most of our third-party dependencies are included in the project and 
> statically linked into our resulting binaries and libraries. We would like to 
> enable building Mesos but using system installed dependencies instead.
> In certain circumstances this is more difficult because we've actually needed 
> to "patch" these libraries (either for C++11 or to alter semantics).
> Rather than eliminating our internal copies of these third-party dependencies 
> the first step should be to just enable using external (i.e., system 
> installed) dependencies. We already do this for ZooKeeper by allowing people 
> to use the --without-included-zookeeper flag during compilation. We should do 
> this for other libraries as well. In fact, for the libraries that we have not 
> patched (and even for some that we have patched) we should check to see if an 
> appropriate system installed dependency exists and preferentially use that 
> unless --with-included-dependency is explicitly used.
> Note that this issue represents a stepping stone to removing our third-party 
> dependencies from our repository.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to