Commit Graph

107 Commits

Author SHA1 Message Date
Michael Reed
73137e0a84 deps: Update unibilium 1.12 -> 1.14 #2665
From here[1]:

1.1.4   2015-04-26
        - move maintainer options from GNUmakefile to maint.mk
        - compile with -O2 by default

1.1.3   2015-04-25
        - fix permission error when installing into existing directory
          (gh PR #7)
        - relicense tools/*.c under MIT (gh #9)
        - add change log in Changes

[1]: https://github.com/mauke/unibilium/compare/v1.1.2...v1.1.4
2015-05-18 20:31:57 -04:00
Florian Walch
945186be2e deps: Update LuaJIT to 2.0.4. #2688
Changes since 2.0.3:

 - Fix stack check in narrowing optimization.
 - Fix Lua/C API typecheck error for special indexes.
 - Fix string to number conversion.
 - Fix lexer error for chunks without tokens.
 - Don't compile IR_RETF after CALLT to ff with-side effects.
 - Fix BC_UCLO/BC_JMP join optimization in Lua parser.
 - Fix corner case in string to number conversion.
 - Gracefully handle lua_error() for a suspended coroutine.
 - Avoid error messages when building with Clang.
 - Fix snapshot #0 handling for traces with a stack check on entry.
 - Fix fused constant loads under high register pressure.
 - Invalidate backpropagation cache after DCE.
 - Fix ABC elimination.
 - Fix debug info for main chunk of stripped bytecode.
 - Fix FOLD rule for string.sub(s, ...) == k.
 - Fix FOLD rule for STRREF of SNEW.
 - Fix frame traversal while searching for error function.
 - Prevent GC estimate miscalculation due to buffer growth.
 - Prevent adding side traces for stack checks.
 - Fix top slot calculation for snapshots with continuations.
 - Fix check for reuse of SCEV results in FORL.
 - Add PS Vita port.
 - Fix compatibility issues with Illumos.
 - Fix DragonFly build (unsupported).
 - OpenBSD/x86: Better executable memory allocation for W^X mode.
 - x86: Fix argument checks for ipairs() iterator.
 - x86: lj_math_random_step() clobbers XMM regs on OSX Clang.
 - x86: Fix code generation for unused result of math.random().
 - x64: Allow building with LUAJIT_USE_SYSMALLOC and LUAJIT_USE_VALGRIND.
 - x86/x64: Fix argument check for bit shifts.
 - x86/x64: Fix code generation for fused test/arith ops.
 - ARM: Fix write barrier check in BC_USETS.
 - PPC: Fix red zone overflow in machine code generation.
 - PPC: Don't use mcrxr on PPE.
 - Various archs: Fix excess stack growth in interpreter.
 - FFI: Fix FOLD rule for TOBIT + CONV num.u32.
 - FFI: Prevent DSE across ffi.string().
 - FFI: No meta fallback when indexing pointer to incomplete struct.
 - FFI: Fix initialization of unions of subtypes.
 - FFI: Fix cdata vs. non-cdata arithmetic and comparisons.
 - FFI: Fix __index/__newindex metamethod resolution for ctypes.
 - FFI: Fix compilation of reference field access.
 - FFI: Fix frame traversal for backtraces with FFI callbacks.
 - FFI: Fix recording of indexing a struct pointer ctype object itself.
 - FFI: Allow non-scalar cdata to be compared for equality by address.
 - FFI: Fix pseudo type conversions for type punning.

Taken from http://luajit.org/changes.html
2015-05-18 10:09:09 +03:00
Rui Abreu Ferreira
cca32e64cc CMake: Build third-party deps in Windows
- Update recipes to build with MSVC or cross compile in Unix with Mingw
- For recipes that need to be reused, wrap recipe in CMake function
  using cmake_parse_arguments
- New directory .deps/host is the install root for HOST targets, the old
  .deps/usr is used for TARGET
- In windows disable builds for terminal libraries and jemalloc
- Added cmake script CopyFilesGlob.cmake to copy files using glob
    cmake -DFROM_GLOB=*.h -DTO=/usr/include -P CopyFilesGlob.cmake
- New CMake variables HOSTDEPS_* can be used in cross compile recipes.
  Except when the target is UNIX, since that would break 32bit builds
  in 64bit Unix systems using the Travis 32bit toolchain
2015-05-15 17:55:01 +03:00
Rui Abreu Ferreira
73dbd14283 CMake: Dont search for Make in Windows 2015-05-15 17:55:01 +03:00
John Szakmeister
7ff582f86c Merge pull request #2616 from jszakmeister/update-busted-dependencies
build: update dependencies for busted
2015-05-11 07:04:41 -04:00
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
John Szakmeister
765b478b5e third-party: update a couple busted dependencies to newer versions 2015-05-09 09:38:55 -04:00
John Szakmeister
be70f0d2e6 third-party: update dependencies for busted
We didn't have ansicolors pegged, and several others were below the
minimum required versions causing busted to go out and grab newer
versions anyways.  Let's peg them all to useful versions.
2015-05-09 09:38:48 -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