> On March 22, 2014, 8:14 a.m., Adam B wrote:
> > configure.ac, line 250
> > <https://reviews.apache.org/r/18957/diff/2/?file=522715#file522715line250>
> >
> >     +1 on making this easier to read. Just decoded it and here's my 
> > pseudocode interpretation:
> >     if (enable-proper) {
> >       if (with-foo) { add path to flags; }
> >       if (canFind(foo, flags-path)) {
> >         disable building the bundled lib;
> >         set -lfoo to use the preinstalled lib;
> >       } else { Error; }
> >       // Ditto for with-bar, etc.
> >     } else {
> >       use only bundled libs;
> >     }
> >     Two problems with this:
> >     1. Right now we always error&abort if --enable-proper and the external 
> > leveldb cannot be found. We should fall back to bundled if 
> > --with-leveldb=path is not set.
> >     2. Also, it seems weird that the --with-leveldb=path parameter gets 
> > ignored unless I also set --enable-proper. I propose that --enable-proper 
> > (or whatever we call it) only applies to auto-detecting preinstalled 
> > libraries; explicit --with-foo=path parameters are always used, and we 
> > won't fall back to auto-detecting or bundled libraries if it can't be found 
> > at the provided path.
> >     Here's what I suggest:
> >     if (with-foo) { add path to flags; }
> >     if (with-foo || enable-system-dependencies) {
> >       if (canFind(foo, flags-path)) {
> >         disable building the bundled lib; set -lfoo;
> >       } else if (with-foo) {
> >         Error(Could not find foo in the given path, aborting);
> >       } else { // enable-system-dependencies
> >         Warn(Could not find foo in system paths, using bundled);
> >         use bundled lib;
> >       }
> >     } else {
> >       use bundled lib;
> >     }
> >     // Ditto for with-bar, etc.

I really like this approach and it seems as if it does fit all demands. Awesome 
comment Adam, thanks!


- Till


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18957/#review38247
-----------------------------------------------------------


On March 17, 2014, 7:51 p.m., Till Toenshoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18957/
> -----------------------------------------------------------
> 
> (Updated March 17, 2014, 7:51 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Bugs: MESOS-1071
>     https://issues.apache.org/jira/browse/MESOS-1071
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Allows preventing the use of bundled libraries in favor of preinstalled 
> versions, where possible.
> 
> --enable-proper generally switches from bundled to preinstalled libraries. 
> This review only implements this preinstalled library usage on LevelDB. For 
> using the preinstalled LevelDB from a location that is not part of the 
> standard include and linker paths, you may specify --with-leveldb=PREFIX_PATH.
> 
> If --enable-proper is supplied, the configuration phase will attempt to 
> locate the needed headers as well as the library itself.
> 
> If --enable-proper is not supplied, the bundled library is built and used.
> 
> NOTE: Subsequent review requests for other bundled libraries will follow as 
> soon as this implementation has been accepted.
> 
> 
> Diffs
> -----
> 
>   3rdparty/Makefile.am 23ff1fa 
>   configure.ac 9a6de87 
>   src/Makefile.am 0775a0d 
>   src/python/setup.py.in 02f00ef 
> 
> Diff: https://reviews.apache.org/r/18957/diff/
> 
> 
> Testing
> -------
> 
> ../configure
> make check
> 
> installed leveldb in custom location
> ../configure --enable-proper --with-leveldb=/CUSTOM_LOCATION
> make check
> 
> installed leveldb in common location
> ../configure --enable-proper
> make check
> 
> 
> Thanks,
> 
> Till Toenshoff
> 
>

Reply via email to