aboutsummaryrefslogtreecommitdiff
path: root/config/CMakeLists.txt
Commit message (Collapse)AuthorAge
* build: rename build-related dirsJustin M. Keyes2022-06-28
| | | | | | | | | | | | | | Problem: Dirs "config", "packaging", and "third-party" are all closely related but this is not obvious from the layout. This adds friction for new contributors. Solution: - rename config/ to cmake.config/ - rename test/config/ to test/cmakeconfig/ because it is used in Lua tests: require('test.cmakeconfig.paths'). - rename packaging/ to cmake.packaging/ - rename third-party/ to cmake.deps/ (parallel with .deps/)
* refactor: change type of linenr_T from long to int32_tDundar Goc2022-06-10
| | | | | | | | | | | | | The size of long varies depending on architecture, in contrast to the MAXLNUM constant which sets the maximum allowable number of lines to 2^32-1. This discrepancy may lead to hard to detect bugs, for example https://github.com/neovim/neovim/issues/18454. Setting linenr_T to a fix maximum size of 2^32-1 will prevent this type of errors in the future. Also change the variables `amount` and `amount_after` to be linenr_T since they're referring to "the line number difference" between two texts.
* fix(build): missing definitions for sizeof macros #16393kylo2522022-04-26
| | | | | Verified with -Wundef Fixes #16392
* fix: add forkpty for SunOS variantsClaes Nästén2021-12-12
| | | | | forkpty is missing on Solaris < 11 and Illumos, provide fallback implementation for non Solaris 11 users.
* fix: add STRNLEN compatability macroClaes Nästén2021-12-06
| | | | | Older SunOS systems come without strnlen, add STRNLEN macro in line with the other str* compat macros.
* chore: fix typos (#16361)dundargoc2021-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: István Donkó <istvan.donko@gmail.com> Co-authored-by: Julian Berman <Julian@GrayVines.com> Co-authored-by: bryant <bryant@users.noreply.github.com> Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com> Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com> Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com> Co-authored-by: Jesse Wertheim <jaawerth@gmail.com> Co-authored-by: dm1try <me@dmitry.it> Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl> Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com> Co-authored-by: Brede Yabo Sherling Kristensen <bredeyabo@hotmail.com> Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: István Donkó <istvan.donko@gmail.com> Co-authored-by: Julian Berman <Julian@GrayVines.com> Co-authored-by: bryant <bryant@users.noreply.github.com> Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com> Co-authored-by: nlueb <9465658+nlueb@users.noreply.github.com> Co-authored-by: Leonhard Saam <leonhard.saam@yahoo.com> Co-authored-by: Jesse Wertheim <jaawerth@gmail.com> Co-authored-by: dm1try <me@dmitry.it> Co-authored-by: Jakub Łuczyński <doubleloop@o2.pl> Co-authored-by: Louis Lebrault <louis.lebrault@gmail.com>
* fix(eval): fix has('wsl') #16153erw72021-10-29
| | | | | | | | Problem: has('wsl') is decided at build-time. Solution: Check os_uname(). Fixes #12642, #16143
* vim-patch:8.1.2326: cannot parse a date/time stringJan Edmund Lazo2021-03-27
| | | | | | | | | | | | | | | Problem: Cannot parse a date/time string. Solution: Add strptime(). (Stephen Wall, closes #) https://github.com/vim/vim/commit/10455d43fef041309ce0613fa792c635dd71e3a8 N/A patches for version.c: vim-patch:8.1.2344: Cygwin: warning for using strptime() Problem: Cygwin: warning for using strptime(). Solution: Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata, closes vim/vim#5265) Use 700 for _XOPEN_SOURCE for mkdtemp(). https://github.com/vim/vim/commit/6a228c6463935a73c8f21142cb7368545cfee317
* basic support for usdt probesZachary P. Landau2020-10-10
|
* build: match WSL2 kernel name (#12425)Luis Hagenauer2020-06-04
|
* Fix/revisit git-describe enhancement (#11124)Daniel Hahler2019-10-02
| | | | | | | | | | | | | | | | | | | | | | * Fix/keep massaging git-describe result Ref: https://github.com/neovim/neovim/pull/11117#issuecomment-536416223 * build: revisit generation of version from Git Fixes "make clean && make", where "auto/versiondef.h" would be missing since b18b84d - because BYPRODUCTS are apparently removed when cleaning. This includes the following improvements/changes: - do not run git-describe during CMake's configure phase just for reporting - do not print with changed Git version (too noisy, simplifies code) * Move to src/nvim (included before config) for easier flow * fallback to describe always, write empty include file * update_version_stamp.lua: use prefix always
* build: run git-describe for dev version during build (#11117)Daniel Hahler2019-09-30
| | | | | | | | This avoids invoking CMake after a new commit, which might take 15s on some systems. Skipped on CMake < 3.2.0 (missing BYPRODUCTS support). Co-Authored-By: Justin M. Keyes <justinkz@gmail.com>
* remove DYNAMIC_ICONVerw72019-08-06
|
* fileio.c: eliminate set_file_time() #10357Justin M. Keyes2019-06-30
| | | Introduce os_file_settime(), remove cruft.
* os: remove uv_translate_sys_error impl #9652Justin M. Keyes2019-03-01
| | | Since libuv minimum version is now v1.12, we can use libuv's impl.
* os/env: use libuv v1.12 getenv/setenv APIJustin M. Keyes2019-02-27
| | | | | | | | | | | - Minimum required libuv is now v1.12 - Because `uv_os_getenv` requires allocating, we must manage a map (`envmap` in `env.c`) to maintain the old behavior of `os_getenv` . - free() map-items after removal. khash.h does not make copies of anything, so even its keys must be memory-managed by the caller. closes #8398 closes #9267
* Remove support for using jemalloc instead of the system allocatorJames McCoy2019-01-19
| | | | | | There was never any investigation done to determine whether using jemalloc was actually a net benefit for nvim. It has been a portability limitation and adds another factor to consider when triaging issues.
* win: has("wsl") on Windows Subsystem for Linux #7330Mahmoud Al-Qudsi2018-01-30
| | | | | | | | | | | | | Per CMAKE docs, CMAKE_HOST_SYSTEM_VERSION is the result of `uname -r`: https://cmake.org/cmake/help/v3.4/variable/CMAKE_HOST_SYSTEM_VERSION.html?highlight=uname A numeric version string for the system. On systems that support uname, this variable is set to the output of uname -r. On other systems this is set to major-minor version numbers. On Windows it is something like "6.1", so it won't match ".*-Microsoft". Closes #7329
* build: Do not check for obsolete <termio.h>Justin M. Keyes2016-12-24
|
* tui: check stty/termios for kbsJustin M. Keyes2016-12-23
| | | | | | | | | | | Requires libtermkey 0.19+ Closes #2048 Closes #5693 See https://github.com/neovim/libtermkey/compare/a9b61424aae9f7548162ff112393c5f706cf54f1%5E...c0eb4e4a05f49ad8fee0195c77f2c29d09cc36af See https://bugzilla.redhat.com/show_bug.cgi?id=142659 See https://github.com/tmux/tmux/blob/fe4e9470bb504357d073320f5d305b22663ee3fd/tty-keys.c#L625-L632
* config: Allow setting USERNAME/HOSTNAME from the environmentJames McCoy2016-10-08
| | | | | | | | | Allowing this to be controlled externally improves reproducibility, as well as provides a more useful address to report for "Compiled by". For example, I intend to set it to the packaging list when building the Debian package. Signed-off-by: James McCoy <jamessan@jamessan.com>
* file: Add buffered reading and writingZyX2016-06-23
| | | | Still no busted tests. Not tested without HAVE_PREADV.
* file,os/fs,shada: Separate opening, closing, writing and reading filesZyX2016-06-23
| | | | | | | | Moves low-level functions handling to os/fs.c. Adds file.c with a proxy interface. Target: while leaving syscalls handling is os.c (partially handled by libuv), add buffering for reading and writing to file.c.
* Fix be64toh() detection on BSDs.John Szakmeister2016-05-14
| | | | | | | | | | | | | | | | This was noticed due to a user issue (#4750) when building Neovim 0.1.4 via ports. The crux of the issue is that we did not detect the be64toh() macro, because there is no endian.h on FreeBSD (along with several other BSDs). So we were defaulting to our builtin version of be64toh(). However, it appears that sys/endian.h was being picked up by an include (likely msgpack.h) and so be64toh() was actually defined and corrupting our definition of it. So the answer here was to use the correct include file in our check, and export that information in the config.h. Then we use that information to include the right header in shada.c. This fixes #4750.
* config: Remove HAVE_UNISTD_H.Seth Jackson2016-01-18
| | | | | | | | | Unix systems must have this header but Windows does not have it at all. Since src/nvim/os/unix_defs.h includes <unistd.h> without the guard in order to avoid including this in the numerous places we would need <unistd.h> on Unix we just include src/nvim/os/os.h which will pull in <unistd.h> for us.
* config: Remove duplicate check for HAVE_UTIME_H.Seth Jackson2016-01-18
|
* config: Remove HAVE_FCNTL_H.Seth Jackson2016-01-17
| | | | We do not use it and all systems we support have <fcntl.h>.
* misc: UNIX => Unix #4022Seth Jackson2016-01-16
| | | | | | | | | | Although UNIX is a registered trademark of The Open Group, it doesn't really matter whether we refer to these systems as UNIX, Unix, or Unix-like. So, for consistency, refer to them collectively as Unix. Related: http://www.greens.org/about/unix.html http://www.unixica.com/html/unixunix.html
* config: Cleanup unused identifiers.Seth Jackson2016-01-12
| | | | | | HAVE_CRT_EXTERNS_H is unused since a3ec68c. SIZEOF_OFF_T is unused since f916cf0. HAVE_LIBGEN_H was never used.
* Stop using <stropts.h>Michael Reed2016-01-12
| | | | | | | | | | In Vim, at least the constant `I_PUSH` is used from <stropts.h>, but Neovim doesn't seem to use anything from said header. Besides that, POSIX.1-2008[1] marks this header as obsolescent, and there don't seem to be many platforms that even have it. [1]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stropts.h.html#tag_13_52_11
* os/*_defs.h: MAXNAMLEN cleanupMichael Reed2016-01-12
| | | | | | | | | | | | | For non-Windows systems, we assume that NAME_MAX is in <limits.h>, as specified in POSIX.1-2008[1]. For Windows, which doesn't have NAME_MAX, just define it ourselves to _MAX_PATH[2]. Also, remove two (now unused) HAVE_*_H checks. [1]: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html [2]: https://msdn.microsoft.com/en-us/library/930f87yf.aspx Helped-by: Seth Jackson
* Port fsync() to libuv.Seth Jackson2016-01-01
|
* Windows: Implement os_setenv() using _putenv_s()Rui Abreu Ferreira2015-12-12
| | | | | | | | | Windows does not have setenv(), instead the _putenv_s() function is used - added a function check and fatal errors. Implemented os_setenv() for Windows. Vim supports the original putenv() function if no alternative is available. Neovim only supports systems where safer alternatives exist, so the check for putenv() was removed from config/CMakeLists.txt.
* config: Check order and endianess even when cross-compilingZyX2015-10-08
|
* shada,config: Use CMake to determine endianess and be64toh existenceZyX2015-10-08
|
* Small cleanup after #3227Michael Reed2015-08-25
| | | | HAVE_SYS_TIME_H isn't being used by anything, remove it.
* cmake: Remove unneeded platform checksRui Abreu Ferreira2015-05-21
| | | | | | | | | | | Removed unneeded platform checks from config/config.h.in and config/CMakeLists.txt - HAVE_OSPEED and HAVE_UP_BC_PC were used by the old UI, and are no longer needed. - sigvec() was used as part of the signal handling code in os_unix.c, but it is no longer used in Neovim. - The function lstat() is no longer used, replaced with libuv.
* Dont require setenv() in non Unix systemsRui Abreu Ferreira2015-05-21
| | | | | | config/CMakeLists.txt failed with a fatal error if the functions setenv could not be found, however this functions only exist in Unix systems.
* jemalloc: Force use of prefixed functions.Florian Walch2015-04-29
| | | | | | | | * 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.
* Implement os_unsetenv()Rui Abreu Ferreira2015-04-14
| | | | | | | - In UNIX systems where unsetenv() is available, it is used. Otherwise the variables are set with the empty string. - New check HAVE_UNSETENV for unsetenv() - Added unit test to env_spec.lua
* config: split out versiondef.h from config.hBjörn Linse2015-03-08
| | | | This avoids recompiling every c file after comitting.
* ui: Remove/adapt some old code for a big UI refactorThiago de Arruda2015-02-16
| | | | | | | | | | | | | - Remove abstract_ui global, now it is always active - Remove some terminal handling code - Remove unused functions - Remove HAVE_TGETENT/TERMINFO/TERMIOS/IOCTL #ifdefs - Remove tgetent/terminfo from version.c - Remove curses/terminfo dependencies - Only start/stop termcap when starting/exiting the program - msg_use_printf will return true if there are no attached UIs( messages will be written to stdout) - Remove `ex_winpos`(implement `:winpos` with `ex_ni`)
* coverity/13745: Argument cannot be negative: RI.Eliseo Martínez2015-02-02
| | | | | | | | | | | Problem : Argument cannot be negative @ 1165. Diagnostic : Real issue. Rationale : len can be assigned a negative value @ 1162; len is passed as an unsigned argument @ 1165. Resolution : Refactor variable's types: - Use ftello instead of ftell to avoid using long. - Assert ftello result is safely convertible to size_t. - Introduce variable read_size to avoid using i (int).
* coverity/100248: Operands don't affect result: HI.Eliseo Martínez2015-01-16
| | | | | | | | Problem : Operands don't affect results (CONSTANT_EXPRESSION_RESULT). Diagnostic : Harmless issue. Rationale : n >= LONG_MIN, n being intmax_t, is always true for architectures where sizeof(intmax_t) == sizeof(long). Resolution : Add sizes check.
* Remove long_u: Passing-by: put_time(): Refactor implementation.Eliseo Martínez2014-12-24
| | | | | | put_time() had a complicated implementation, because of having to shift an 8-byte value in a portable way with old means. That can be greatly simplified now, using a C99 fixed-size type.
* build: pull iconv detection into its own FindIconv.cmake fileJohn Szakmeister2014-11-08
| | | | | This will provide better control for those who may want to alter which one gets used.
* iconv: re-enableNicolas Hillegeer2014-11-06
| | | | | This seems to have been disabled in the transition from vim to neovim, re-enable it.
* os_fchown: impl and remove HAVE_FCHOWNPavel Platto2014-08-13
|
* cmake: remove check for gettimeofdayNicolas Hillegeer2014-07-21
| | | | There are no more uses of gettimeofday, so remove the check in CMake.
* Add cmake platform checksRui Abreu Ferreira2014-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | - Defined CMake checks for all headers in config.h.in - Removed headers checks that are not used anymore: sgtty.h sys/statfs.h libintl.h poll.h - Added UNIX check - Add some fatal checks + Check for setenv() and fail if it does not exist since our os layer just assumes it does + lstat is required by os_unix.c + sys/wait.h is required in UNIX - Removed entries for functions that are not being used: getcwd, getrlimit, getwd, nanosleep, sigaltstack, getwd, sigstack, fseeko - Replaced nearly all defines in config.h.in for functions with compile time checks - Add check for symbol FD_CLOEXEC - Add check for langinfo CODESET - HAVE_ICONV_H and HAVE_ICONV hold the expected checks but Neovim uses USE_ICONV define to actually decide whether to enable it - Removed checks that are no longer needed + USEMEMMOVE + _FILE_OFFSET_BITS + HAVE_ST_BLKSIZE + dlfcn.h