Commit Graph

2062 Commits

Author SHA1 Message Date
John Szakmeister
6e87557c08 build: allow installing into the root directory (/)
It turns out that CMake always canonicalizes `CMAKE_INSTALL_PREFIX` to
an absolute path--if it's a relative path, it canonicalizes it relative
to the build directory.  As a result, the only thing the DESTDIR and
relative directory check prevents is an installation into the root
directory since CMake strips the trailing slash, turning "/" into an
empty string.  Let's just remove the check all together, since it cannot
accomplish what we intended.
2014-11-09 17:48:19 -05:00
John Szakmeister
5714044617 Merge pull request #1441 from jszakmeister/remove-redundant-define
Remove redundant USE_ICONV define from config.h.in.
2014-11-09 14:51:25 -05:00
Justin M. Keyes
8a0074d9b8 Merge pull request #1403 from fwalch/version-flags
version: Add compilation info.
2014-11-09 13:54:43 -05:00
Justin M. Keyes
e9ac693bcd Merge pull request #1389 from elmart/clang-analysis-fixes
Fix clang analysis warnings.
2014-11-09 13:31:51 -05:00
Florian Walch
176930fa56 version: Add compilation info. 2014-11-09 18:34:57 +01:00
John Szakmeister
2513c5f648 Remove redundant USE_ICONV define from config.h.in.
This was noticed during a review of #1437.
2014-11-09 08:34:29 -05:00
John Szakmeister
dcccc1a50d Merge pull request #1437 from jszakmeister/build-search-fixes
A few fixes for some build-related issues.
2014-11-09 08:31:33 -05:00
John Szakmeister
c744bb8144 Merge pull request #1440 from jszakmeister/fix-og-flag-usage
build: only attempt to use -Og if it's supported
2014-11-09 08:17:31 -05:00
John Szakmeister
66f16619e4 Merge pull request #1428 from xu-cheng/relocate-formula
Homebrew: move formula to neovim/homebrew-neovim
2014-11-09 07:16:50 -05:00
Xu Cheng
0bc347d85d Homebrew: move formula to neovim/homebrew-neovim 2014-11-09 20:14:01 +08:00
John Szakmeister
d51c0a9471 build: only attempt to use -Og if it's supported
Commit a1d411f9c9 just assumes that gcc
will support the `-Og` option, but gcc that comes with Ubuntu 12.04 does
not.  Let's check to see if the flag is supported, and then decide
whether to enable it or not.
2014-11-09 06:58:17 -05:00
John Szakmeister
1ea90f6971 Merge pull request #1400 from jszakmeister/install-helpers-destdir
build: fix the usage of DESTDIR in InstallHelpers.cmake
2014-11-09 05:03:05 -05:00
Justin M. Keyes
c9df7ba308 Merge pull request #1383 from fwalch/nvim-buildtype
CMake: Set custom RelWithDebInfo compile flags.
2014-11-08 18:39:12 -05:00
John Szakmeister
938faf5e2d build: fix the usage of DESTDIR in InstallHelpers.cmake
It turns out that `file(INSTALL ...)` already accounts for `DESTDIR`, so
this wasn't creating the directory structure in the correct location.
Instead, we need to do our existence check with `DESTDIR`, but leave it
off when doing the install step.

While we're at it, add a check to make sure `ENV{DESTDIR}` is not being
used with a relative path, as that construct doesn't make much sense.

This fixes issue #1387 discovered while trying to make helptag
generation work correctly in #1381.
2014-11-08 16:55:15 -05:00
John Szakmeister
9344a40e74 build: pull iconv detection into its own FindIconv.cmake file
This will provide better control for those who may want to alter which
one gets used.
2014-11-08 16:22:35 -05:00
John Szakmeister
203a5166a0 build: give priority to /sw and /opt/local on Mac OS X
Unfortunately, we can't force the specific inclusion of a header file.
So if anything add /opt/local/include to the include path--such as
libintl--then other dependencies might be drawn from /opt/local at
compile time, even though we detected them elsewhere at configure time.
This, in turn, causes issues with mixed versions, such as the iconv.h
header being pulled from /opt/local/include, but linked against the
library in /usr/lib--which can be mismatched versions.

So, despite CMake's best effort to treat /sw and /opt/local as just
another system area, we really need to give them preferential treatment.
To do this, we add them to CMAKE_PREFIX_PATH.

This fixes an issue discovered while re-enabling iconv in #1370.
2014-11-08 16:21:47 -05:00
John Szakmeister
05f78d30ac build: use the proper libintl include variable
What was there worked, but it wasn't meant to be the variable that you
use for inclusion.
2014-11-08 16:11:12 -05:00
Florian Walch
a1d411f9c9 CMake: Set custom RelWithDebInfo compile flags. 2014-11-08 21:54:30 +01:00
John Szakmeister
2aeda4ba6f Merge pull request #1426 from jszakmeister/change-release-opt-default
build: default to using -O2 for release builds
2014-11-08 09:29:05 -05:00
John Szakmeister
7d0a689476 Merge pull request #1434 from xu-cheng/fix-1433
DownloadAndExtractFile.cmake: only skip if directory is not empty.
2014-11-08 09:28:14 -05:00
Xu Cheng
cca2c089cf build: don't download and extract tarball if source is already present
When building under Homebrew, we want to let Homebrew manage
downloading and extracting the tarballs. See PR #1411.

Also make sure to skip only if directory is not empty. Fix #1433.
2014-11-08 20:14:32 +08:00
John Szakmeister
5d0f8b63e3 Revert "build: don't download and extract tarball if source is already present"
This reverts commit 9065898264.

It failed to work correctly on a fresh clone.  See #1433.
2014-11-08 05:43:17 -05:00
Thiago de Arruda
847d5ffa7c Merge PR #1399 'Better handling for invalid msgpack-rpc' 2014-11-07 13:44:49 -03:00
Rui Abreu Ferreira
4e880f3f00 msgpack-rpc: Close channel on invalid msgpack RPC
- When an invalid msgpack RPC msg is received from a channel
  we now close that channel all calls on that channel fail with
  an error message.
2014-11-07 13:43:32 -03:00
Rui Abreu Ferreira
2729ad195b msgpack-rpc: Don't try to write into a closed channel 2014-11-07 13:43:21 -03:00
Rui Abreu Ferreira
da3f097807 msgpack-rpc: Fix typo in validation message 2014-11-07 13:43:01 -03:00
Rui Abreu Ferreira
214d54b42e msgpack-rpc: Return from msgpack_rpc_validate on error
- When validating a msgpack msg we need to return on the first error
  otherwise we can SEGFAULT with invalid checks
2014-11-07 13:42:43 -03:00
Thiago de Arruda
05ae9781b5 Merge PR #1255 '[RDY] Set v:job_data[2] line-wise and `jobsend(,[list]). (#1243)' 2014-11-07 13:35:49 -03:00
Scott Prager
ea3296ad85 job_spec: Fix bad test. 2014-11-07 13:34:56 -03:00
Scott Prager
fd36dc208e job: Let vimL jobsend() accept a list.
Use save_tv_as_string(), same as vimL system(). This also makes
jobsend() more liberal in what it can accept. For example,
`jobsend(j, 123)` is now valid.

Closes #1176
2014-11-07 13:34:56 -03:00
Scott Prager
e90973e035 job: Make v:job_data[2] a list.
Factor out string_to_list() from f_system()'s implementation
and use that to set job_data. This has the technical advantage of
preserving NULs, and may be more convenient for users.

Required for #1176.
2014-11-07 13:34:56 -03:00
Scott Prager
37cbafa5bb job: Read job data line-wise.
Only read up to the last newline in push_job_event().
2014-11-07 13:34:56 -03:00
Scott Prager
50f1c5db25 rstream: Expose rstream_read_ptr and _available.
Needed for accessing this information without direct access to the
rstream_buffer.
2014-11-07 13:34:56 -03:00
Scott Prager
4df884a611 memory: implement xmemrchr() 2014-11-07 13:34:56 -03:00
John Szakmeister
07775c07c0 Merge pull request #1411 from xu-cheng/homebrew-formula
Let homebrew handle external resources download
2014-11-07 08:50:13 -05:00
Thiago de Arruda
6f8c916d84 Merge PR #1424 'Only force-close stdout/stderr when the job exits' 2014-11-07 09:30:44 -03:00
Xu Cheng
9065898264 build: don't download and extract tarball if source is already present
When building under Homebrew, we want to let Homebrew manage downloading and
extracting the tarballs.
2014-11-07 20:19:00 +08:00
Xu Cheng
871e353fa8 Homebrew: let Homebrew handle external resources download 2014-11-07 20:18:28 +08:00
Thiago de Arruda
d3f81424e5 job: Only force-close stdout/stderr when the job exits
stdout/stderr should only be closed after the job truly exits, or else we can
lose data sent by it.
2014-11-07 09:12:42 -03:00
John Szakmeister
5d97f3fc2c build: default to using -O2 for release builds
The -O3 optimization level can often lead to dangerous (and sometimes
incorrect) optimizations being performed.  So let's use a level that's
more stable.
2014-11-07 06:21:54 -05:00
John Szakmeister
f7a468c1e7 Merge pull request #1414 from xu-cheng/sha1_md5
Prefer to SHA1 other than MD5 in third-party downloads
2014-11-07 05:26:46 -05:00
Xu Cheng
77fc32b311 Prefer to SHA1 other than MD5 in third-party downloads
If CMake version is less than 2.8.11, fallback to MD5
2014-11-07 16:07:26 +08:00
Thiago de Arruda
7edd68e635 Merge PR #1422 'Pass --show-possibly-lost=no to valgrind' 2014-11-07 02:01:48 -03:00
Thiago de Arruda
88a49148b3 test: Pass --show-possibly-lost=no to valgrind in helpers.lua
This command-line flag will suppress all warnings about interior pointers,
which are used in hashtab.c.
2014-11-07 01:40:18 -03:00
Thiago de Arruda
7ded32ad3b Merge PR #1421 'Improve test error handling and reporting' 2014-11-07 01:03:25 -03:00
Thiago de Arruda
168a46fd31 test: Improve test environment setup and error handling/reporting
During test setup, we used to call a vimscript function(BeforeEachTest) that
attempted to restore Nvim to it's initial state as much as possible in order to
provide a clean environment for running new tests. This approach has proven to
be unreliable, as some tests leave state that can affect other tests, eventually
causing failures that are difficult to debug.

This commit changes the 'clear' function so it will restart Nvim every time it
is called, which is a slower, but more reliable solution that will simplify
spotting bugs in the future.

Some other improvements/fixes were also performed:

- Whenever an error is detected in a handler passed to "run()", the event loop
  will be stopped and the error will be propagated to the main thread.
- Errors and the "cleanup()" function will always send a quit command to the
  current Nvim instance. This should prevent memory starvation when running
  tests under valgrind(where each Nvim instance can consume a lot of memory).
- Fixed a wrong assertion in server_requests_spec.lua. Previously the failure
  was undetected in a notification handler.
- Fixed some tests to expect fully clean registers. The deleted cleanup function
  used to put an empty string in every register, but that resulted in a extra
  line being added.
2014-11-07 00:55:58 -03:00
Thiago de Arruda
3e78fc9faf deps: Upgrade to latest version of lua-client 2014-11-06 22:45:15 -03:00
Justin M. Keyes
8455fd5e33 Merge pull request #1340 from elmart/remove-long_u
Remove project-specific integer types: long_u. (2)
2014-11-06 17:09:39 -05:00
Eliseo Martínez
8386255803 Review: Remove long_u: memfile: Add to clint. 2014-11-06 22:53:43 +01:00
Eliseo Martínez
09d4133a64 Review: Remove long_u: memfile: Refactor: blocknr_T: long -> int64_t.
Replace long with int64_t.
Apart from being convenient, not using long is required by clint.
2014-11-06 22:53:43 +01:00