Commit Graph

100 Commits

Author SHA1 Message Date
John Szakmeister
f0ab7c2ec1 third-party: use the official jemalloc tarball
This avoids messages to stderr about VERSION being missing, and allows
us to skip the autogen step.
2015-05-11 07:02:47 -04:00
Rui Abreu Ferreira
1721e115b4 Require pkg-config to build bundled libtermkey #2606
Libtermkey can be linked against unibilium or curses. For the bundled
dependencies Neovim links against static versions of libtermkey and
unibilium, after building both libraries.

However libtermkey requires pkg-config to be installed in order to detect
and link against unibilium, otherwise it falls back to curses by default.
In systems where pkg-config is not installed building Neovim against the
bundled libtermkey caused a linking error (#2484).

So pkg-config needs to be installed for the bundled libtermkey to build
properly.
2015-05-08 16:14:15 -04:00
Michael Reed
0d90b5c36c Update to libuv 1.5.0 #2604
Contains some Windows-specific fixes:
https://github.com/libuv/libuv/pull/329

https://github.com/libuv/libuv/releases/tag/v1.5.0
2015-05-08 03:31:36 -04:00
Florian Walch
8337cd957e deps: Update lua-client. #2590 2015-05-05 23:29:22 +03:00
Rui Abreu Ferreira
8fcff0370c third-party: Update lua-xml to release 1.1.2 #2586 2015-05-05 15:37:51 -04:00
Florian Walch
8130eb1191 jemalloc: Force use of prefixed functions.
* Set JEMALLOC_NO_DEMANGLE to be able to use `je_*` functions,
  regardless of how jemalloc was compiled (--with-jemalloc-prefix)
* Show jemalloc information in Neovim's version output.

Resolve #2449.
2015-04-29 22:26:55 +03:00
Florian Walch
9a08aa80f7 deps: Remove shared libraries. 2015-04-29 22:26:55 +03:00
Rui Abreu Ferreira
f67c3e67ab Update busted version to 2.0.rc8-0 2015-04-22 14:07:10 +01:00
Rui Abreu Ferreira
78460bdf04 Refactor luarocks third-party recipe
- Replace repeated use of the luarocks command and build arguments
  with variables ${LUAROCKS_BINARY} and ${LUAROCKS_BUILDARGS}
2015-04-22 13:45:57 +01:00
Rui Abreu Ferreira
fe9ec9c299 Add option USE_BUNDLED_BUSTED to third-party
- When not running the unit tests, building the third-party busted,
  nvim-client and other dependencies can be skipped by passing
  -DUSE_BUNDLED_BUSTED=FALSE to the third-party project.
2015-04-22 13:45:57 +01:00
Michael Reed
74fbd10e57 Revert "third-party: temporarily drop back to an old version of the busted spec"
No longer needed after
aab5d19d0c

This reverts commit d22f2f9404.
2015-04-16 20:24:15 -04:00
John Szakmeister
d22f2f9404 third-party: temporarily drop back to an old version of the busted spec
The new one contains a clone url that does not work correctly.  Once
that is fixed, we can go back to tracking master.
2015-04-14 05:59:24 -04:00
John Szakmeister
53ba38d806 third-party: remove stray argument
This was missed when dropping our custom output handler.
2015-04-14 05:22:11 -04:00
Thiago de Arruda
8a1a9b9558 deps: Add jemalloc as an optional dependency
Jemalloc will be used if the cmake option `USE_JEMALLOC` is enabled(which is the
default). To avoid trouble with clang's ASAN, it is disabled by default if the
`SANITIZE` option is enabled.

Since jemalloc has thread cache for small objects, it fills the gap created by
removing klib memory pools.

The `xstrdup` funciton(memory.c) had to be reimplemented on top of `xmalloc` to
make it work with a custom allocator.
2015-04-13 08:22:59 -03:00
Thiago de Arruda
484fd734ab build: Remove busted output handler utfTerminalDetailed
Busted now contains "gtest", which can be used for the same purpose as
utfTerminalDetailed.
2015-04-11 08:46:59 -03:00
Thiago de Arruda
5874bc28ea deps: Update busted and dependencies 2015-03-24 12:46:15 -03:00
John Szakmeister
afae3e25d5 build: add support for running the tests in junit format
This requires a couple of extra modules that are not installed by
default, and it requires capturing stdout of the tests--otherwise CMake
output is intermixed with the XML output of busted.
2015-03-21 09:47:49 -04:00
Michael Reed
4fc0291c73 Update to libuv 1.4.2 2015-03-21 09:21:51 -03:00
Florian Walch
29b6fc57e8 deps: Use released versions for unibilium, msgpack-c. 2015-03-20 13:18:53 -03:00
Thiago de Arruda
9af193bc5c deps: Replace cp by ${CMAKE_COMMAND} -E copy for portability 2015-03-15 14:31:03 -03:00
Thiago de Arruda
dbe719317c deps: Add utfTerminalDetailed busted output handler
This is a variant of the utfTerminal output handler that will:

- Output the file name before each suite is executed
- Output the test name before each test is executed

This will make it simpler to identify crashing/hanging tests.
2015-03-15 09:13:26 -03:00
John Szakmeister
dda914fd6a build: fix a missing reference to libunibilium missed in #2125 2015-03-13 16:26:13 -04:00
John Szakmeister
f7332273cc third-party: change all references to libunibilium to just unibilium 2015-03-10 18:38:41 -04:00
John Szakmeister
e1ad8ae724 third-party: fix some whitespace issues from the recent splitting 2015-03-10 06:04:06 -04:00
Rui Abreu Ferreira
85492e86bd Split third-party recipes into multiple files 2015-03-09 13:24:21 +00:00
Thiago de Arruda
d2e13d3b3d deps: Update libvterm 2015-03-08 20:37:02 -03:00
Xu Cheng
d11e5b5d0d Switch to SHA256 for third-party bundles downloading
Closes #2107
2015-03-06 15:31:08 +08:00
Florian Walch
a4b96f2f11 deps: Fix building 32-bit Lua rocks.
* Force building Lua rocks instead of trying to install a binary.
 * Set the CC and LD environment variables to pass
   CMAKE_C_COMPILER_ARG1 (contains `-m32` for 32-bit builds)
   to `luarocks build`.
2015-03-02 09:54:24 +01:00
Thiago de Arruda
4bebdd1cd9 deps: Small fix for PR #2072
A newer version of luafilesystem than the one reported by busted rockspec is
required for the unit tests.

Also update libvterm sha1/url
2015-02-28 11:12:51 -03:00
Thiago de Arruda
81a346553c deps: Add libvterm to the project dependencies
libvterm is a terminal emulation library with abstract display. It will be used
to implement builtin terminal emulation into Nvim.
2015-02-28 10:41:53 -03:00
Thiago de Arruda
585e5d32a3 deps: Add custom target for pinning busted dependencies
busted depends on a number of libraries that sometimes introduce crashing bugs.
The new custom target makes sure only stable versions of those dependencies are
installed.
2015-02-28 10:30:29 -03:00
Mike Zeller
f28941b96d illumos requires the use of limits.h for things like INT_MAX #2049 2015-02-26 11:42:05 -05:00
Thiago de Arruda
0ed3d66bef deps: Update unibilium version to add OSX support 2015-02-21 22:17:47 -03:00
John Szakmeister
0505bb0de8 Update message pack to include the FreeBSD and OpenBSD byteswap fix. 2015-02-19 03:05:48 -05:00
Thiago de Arruda
9e75b2e18b deps: Remove libtickit as a project dependency
Also update libtermkey version and fix the pkg-config search scripts.
2015-02-11 12:40:50 -03:00
Thiago de Arruda
daba57c512 deps: Update lua-client
The new version sets a custom panic function that prints the lua traceback
before exiting.
2015-02-10 10:57:15 -03:00
Thiago de Arruda
4c92a0baca deps: Add Luajit compilation flags to improve debugging 2015-02-10 09:57:24 -03:00
John Szakmeister
b0044fa5c3 Merge pull request #1922 from jszakmeister/fix-build-under-opensuse-x64
Fix #1920: Unable to build on openSUSE 13.2 x64
2015-02-10 05:46:05 -05:00
Michael Reed
ec5e94518e build: upgrade msgpack-c #1900
closes #1899
closes #1967

refs https://github.com/msgpack/msgpack-c/pull/194
2015-02-09 23:51:02 -05:00
John Szakmeister
aa45a2c6cf build: allow SKIP or skip to be used as the SHA1
This will skip hash checking, just like the all zeros hash.
2015-02-09 06:30:17 -05:00
John Szakmeister
2019380bfa build: split hash checking from the download step
It turns out that `file(DOWNLOAD ...)` is not very user friendly with
it's error message, and only supports MD5 on v2.8.10 of CMake (the
default for Ubuntu 12.04).  If CMake is built without SSL support,
users are left hanging with a message that the hashes don't match.

It turns out that `file(SHA1 ...)` exists in v2.8.10, and we
can use that to compute the hash ourselves.  So this splits the hash
checking into a separate step, where we can provide some additional
advice if the SHA1 is the hash for an empty file.  Additionally, it also
allows us to drop the MD5 hashes and maintain only SHA1 hashes for our
dependencies.
2015-02-09 06:30:17 -05:00
Thiago de Arruda
f90c9b9105 deps: Fix libuv md5sum 2015-02-02 15:36:13 -03:00
John Szakmeister
75d5fcce04 Fix #1920: Unable to build on openSUSE 13.2 x64
The issue is that libuv decides to use ${PREFIX}/lib64 as the lib
directory instead of ${PREFIX}/lib.  Since we're just installing it to
provide access to the static library, let's just force the libdir to be
${PREFIX}/lib.
2015-02-01 07:09:21 -05:00
John Szakmeister
ed03d43d8b Fall back to libuv 1.2.0 and fix #1914.
It appears that commit 393c1c59a27591d705648919b2d7fb921cba37bc (unix:
set non-block mode in uv_{pipe,tcp,udp}_open) has broken Neovim's
drawing under OSX.  Let's revert to 1.2.0 until we can figure out what
is happening and get it fixed.
2015-02-01 06:53:28 -05:00
Michael Reed
d4354759d3 Update to libuv 1.3.0 2015-01-30 09:30:59 -03:00
Thiago de Arruda
c472e3af64 deps: Update lua client
The latest version works around a libuv bug that can leave zombie nvim processes
despite the event loop being properly cleaned up. This can lead to functional
tests being aborted depending on the maximum number of child processes
configured for a platform.
2015-01-23 18:52:55 -03:00
Thiago de Arruda
14ebe608e2 deps: Update libtickit URL 2015-01-15 09:01:44 -03:00
Thiago de Arruda
ac193d86fd deps: Use versioned URLs for libtickit and dependencies 2015-01-09 07:56:56 -03:00
Florian Walch
745c462ed3 Update busted to 2.0.rc4. 2014-12-18 18:22:08 +01:00
Rui Abreu Ferreira
64d78c0b7d Dont force ../.deps in third-party/CMakeLists.txt
- third-party is built under .deps by default instead of using its own
  ${CMAKE_BINARY_DIR}, move this default setting out of the cmake
  settings and into the Makefile.
- As a consequence the workflow of building third-party using CMake
  should feel more natural, avoid the additional folder or setting
  DEPS_DIR from the command line.
- This commit does not change the default behaviour when calling the
  Makefile wrapper.
2014-12-16 10:28:43 +00:00