On 2019/10/22 21:45, Travis Cole wrote:
> On Mon, Oct 21, 2019, at 06:10, Edd Barrett wrote:
> > Hi Stuart,
> > 
> > Thanks for looking at this is more detail.
> > 
> > On Mon, Oct 21, 2019 at 01:12:57PM +0100, Stuart Henderson wrote:
> > > Then I looked again at Neovim's "following head" page. "Nvim core
> > > requires libluv. This may require building with -DUSE_BUNDLED_LUV=ON if
> > > you were previously using -DUSE_BUNDLED_LUV=OFF". Since libluv is a bit
> > > of an awkward port in several ways, would it be a better idea to just
> > > use the bundled libluv instead?
> > 
> > I don't object as long as we have a comment in the neovim port
> > describing this decision.
> > 
> 
> Thanks for looking at this again!
> 
> I went to see if I could just add -DUSE_BUNDLED_LOV=ON to
> MAKE_FLAGS and sadly, it doesn't seem so simple. The configure step fails
> because it can't find luv.
> 
> -- Found Msgpack: /usr/local/lib/libmsgpackc.so.1.0 (found suitable version 
> "2.1.5", minimum required is "1.0.0")
> CMake Error at 
> /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 
> (message):
>   Could NOT find LibLUV (missing: LIBLUV_LIBRARY LIBLUV_INCLUDE_DIR)
>   (Required is at least version "1.30.0")
> Call Stack (most recent call first):
>   /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 
> (_FPHSA_FAILURE_MESSAGE)
>   cmake/FindLibLUV.cmake:29 (find_package_handle_standard_args)
>   CMakeLists.txt:375 (find_package)
> 
> 
> -- Configuring incomplete, errors occurred!
> 
> 
> I'm a bit new to cmake, but from my reading of this, the USE_BUNDLED
> is all or nothing. 
> 
> from: neovim-0.4.2/third-party/CMakeLists.txt
> 
> option(USE_BUNDLED "Use bundled dependencies." ON)
> 
> option(USE_BUNDLED_GPERF "Use the bundled version of gperf." ${USE_BUNDLED})
> option(USE_BUNDLED_UNIBILIUM "Use the bundled unibilium." ${USE_BUNDLED})
> option(USE_BUNDLED_LIBTERMKEY "Use the bundled libtermkey." ${USE_BUNDLED})
> option(USE_BUNDLED_LIBVTERM "Use the bundled libvterm." ${USE_BUNDLED})
> option(USE_BUNDLED_LIBUV "Use the bundled libuv." ${USE_BUNDLED})
> option(USE_BUNDLED_MSGPACK "Use the bundled msgpack." ${USE_BUNDLED})
> option(USE_BUNDLED_LUAJIT "Use the bundled version of luajit." ${USE_BUNDLED})
> option(USE_BUNDLED_LUAROCKS "Use the bundled version of luarocks." 
> ${USE_BUNDLED})
> option(USE_BUNDLED_LUV "Use the bundled version of luv." ${USE_BUNDLED})
> 
> And hard coding USE_BUNDLED_LUV to ON didn't do it either.
> 
> Similar with their included Makefile:
> 
> deps: | build/.ran-third-party-cmake
> ifeq ($(call filter-true,$(USE_BUNDLED)),)
>  +$(BUILD_CMD) -C $(DEPS_BUILD_DIR)
> endif
> 
> Setting USE_BUNDLED=ON doesn't even work... I think neovim is actually using 
> gmake 
> AND cmake for much of the 3rd party deps. So some of that may have to be 
> replicated.
> 
> So I think it will require some more surgery to make this work.
> 
> I'll see what headway I can make in evenings this week, unless someone else 
> has
> a smarter solution.

So you should be able to do

        -DUSE_BUNDLED_GPERF=Off \
        -DUSE_BUNDLED_UNIBILIUM=Off \
        -DUSE_BUNDLED_LIBTERMKEY=Off \
        -DUSE_BUNDLED_LIBVTERM=Off \
        -DUSE_BUNDLED_LIBUV=Off \
        -DUSE_BUNDLED_MSGPACK=Off \
        -DUSE_BUNDLED_LUAJIT=Off \
        -DUSE_BUNDLED_LUAROCKS=Off \
        -DUSE_BUNDLED_LUV=On

Reply via email to