You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Charles Reiss (Commented) (JIRA)" <ji...@apache.org> on 2011/11/17 22:28:51 UTC

[jira] [Commented] (MESOS-58) Migrate build system to Autotools (Automake and Libtool)

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

Charles Reiss commented on MESOS-58:
------------------------------------

A first step here is to get feature-equivalence using libtool/automake; this will still build a shared libmesos (_only_) and rely on linking that libmesos against .a's in third_party (which must be built with -fPIC). (Simply linking against .la's for the libtoolized parts of third_party won't work because libtool assumes they are going to be installed when anything that depends on them is installed, and we do not want to install third_party libraries at all. But not using the .la's means we are not taking advantage of libtool's portability support (e.g. specifying -fPIC or equivalent, handling library extensions, etc.) and can't build a static libmesos.)

A bunch of progress has been made towards this first step. The largest part of the remaining work is getting external tests and python working under automake/libtool.

A second step will be to get 'make dist' working so we can distribute packages easily (e.g. from the continuous build). third_party is a problem because we would need to have a Makefile.am list all the files to include in an archive; ideally, to avoid requiring such a huge list and to simply upgrading third_party, we should provide third_party packages as tarballs and create make rules to configure and build them from the tarballs. Some parts of third_party probably need special treatment: libprocess -- which we need to decide whether to make a formal part of Mesos (e.g. move it out of third_party) -- and leveldb -- whose Makefiles don't handle CC/CXX settings, dependency tracking, etc.

A third step is to support building against system libraries, so we can build a static libmesos and so we can use a system-provided libglog, etc. so developers using libraries in frameworks that link against libmesos do not have dependency problems.
                
> Migrate build system to Autotools (Automake and Libtool)
> --------------------------------------------------------
>
>                 Key: MESOS-58
>                 URL: https://issues.apache.org/jira/browse/MESOS-58
>             Project: Mesos
>          Issue Type: Improvement
>          Components: build
>            Reporter: Andy Konwinski
>            Assignee: Benjamin Hindman
>
> Ben has been leading the effort to move the build system to Autotools. This should lead to better dependency management, cleaner and easier to understand human written build input, and a faster build.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira