diff options
author | Yamakaky <yamakaky@gmail.com> | 2015-05-06 18:30:51 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-07-06 08:23:21 -0400 |
commit | 2e46765849e504cd961fc98195d5e5dff443f09a (patch) | |
tree | 9608edd2ec8e75521167f5a8ad68c8979ee42290 /src/nvim/os | |
parent | e949c2bd62f399a04ae23570203d61344bdd69e9 (diff) | |
download | rneovim-2e46765849e504cd961fc98195d5e5dff443f09a.tar.gz rneovim-2e46765849e504cd961fc98195d5e5dff443f09a.tar.bz2 rneovim-2e46765849e504cd961fc98195d5e5dff443f09a.zip |
Split os_unix_defs.h into os/
Diffstat (limited to 'src/nvim/os')
-rw-r--r-- | src/nvim/os/os_defs.h | 134 | ||||
-rw-r--r-- | src/nvim/os/unix_defs.h | 73 | ||||
-rw-r--r-- | src/nvim/os/win_defs.h | 15 |
3 files changed, 222 insertions, 0 deletions
diff --git a/src/nvim/os/os_defs.h b/src/nvim/os/os_defs.h index ec94324df4..c7266c1162 100644 --- a/src/nvim/os/os_defs.h +++ b/src/nvim/os/os_defs.h @@ -1,10 +1,144 @@ #ifndef NVIM_OS_OS_DEFS_H #define NVIM_OS_OS_DEFS_H +#include <ctype.h> +#include <stdio.h> +#include <stdlib.h> +#include <sys/stat.h> +#include <sys/types.h> + #ifdef WIN32 # include "nvim/os/win_defs.h" #else # include "nvim/os/unix_defs.h" #endif +/* The number of arguments to a signal handler is configured here. */ +/* It used to be a long list of almost all systems. Any system that doesn't + * have an argument??? */ +#define SIGHASARG + +/* List 3 arg systems here. I guess __sgi, please test and correct me. jw. */ + +#ifdef SIGHASARG +# ifdef SIGHAS3ARGS +# define SIGDEFARG(s) (int s, int sig2, struct sigcontext *scont) +# define SIGDUMMYARG 0, 0, (struct sigcontext *)0 +# else +# define SIGDEFARG(s) (int s) +# define SIGDUMMYARG 0 +# endif +#else +# define SIGDEFARG(s) (void) +# define SIGDUMMYARG +#endif + +// On some systems, time.h should not be +// included together with sys/time.h. +#if !defined(HAVE_SYS_TIME_H) || defined(TIME_WITH_SYS_TIME) +# include <time.h> +#endif + +#ifdef HAVE_SYS_TIME_H +# include <sys/time.h> +#endif + +#if defined(DIRSIZ) && !defined(MAXNAMLEN) +# define MAXNAMLEN DIRSIZ +#endif + +#if defined(UFS_MAXNAMLEN) && !defined(MAXNAMLEN) +# define MAXNAMLEN UFS_MAXNAMLEN /* for dynix/ptx */ +#endif + +#if defined(NAME_MAX) && !defined(MAXNAMLEN) +# define MAXNAMLEN NAME_MAX +#endif + +// Default value. +#ifndef MAXNAMLEN +# define MAXNAMLEN 512 +#endif + +#define BASENAMELEN (MAXNAMLEN - 5) + +// Use the system path length if it makes sense. +#if defined(PATH_MAX) && (PATH_MAX > 1000) +# define MAXPATHL PATH_MAX +#else +# define MAXPATHL 1024 +#endif + +#ifndef FILETYPE_FILE +# define FILETYPE_FILE "filetype.vim" +#endif + +#ifndef FTPLUGIN_FILE +# define FTPLUGIN_FILE "ftplugin.vim" +#endif + +#ifndef INDENT_FILE +# define INDENT_FILE "indent.vim" +#endif + +#ifndef FTOFF_FILE +# define FTOFF_FILE "ftoff.vim" +#endif + +#ifndef FTPLUGOF_FILE +# define FTPLUGOF_FILE "ftplugof.vim" +#endif + +#ifndef INDOFF_FILE +# define INDOFF_FILE "indoff.vim" +#endif + +#ifndef SYS_MENU_FILE +# define SYS_MENU_FILE "$VIMRUNTIME/menu.vim" +#endif + +#define DFLT_ERRORFILE "errors.err" + +// Unix has plenty of memory, use large buffers. +// Size of the command processing buffer. +#define CMDBUFFSIZE 1024 + +// Use up to 5 Mbyte for a buffer. +#ifndef DFLT_MAXMEM +# define DFLT_MAXMEM (5*1024) +#endif +// use up to 10 Mbyte for Vim. +#ifndef DFLT_MAXMEMTOT +# define DFLT_MAXMEMTOT (10*1024) +#endif + +#if !defined(S_ISDIR) && defined(S_IFDIR) +# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#endif +#if !defined(S_ISREG) && defined(S_IFREG) +# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) +#endif +#if !defined(S_ISBLK) && defined(S_IFBLK) +# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) +#endif +#if !defined(S_ISSOCK) && defined(S_IFSOCK) +# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK) +#endif +#if !defined(S_ISFIFO) && defined(S_IFIFO) +# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) +#endif +#if !defined(S_ISCHR) && defined(S_IFCHR) +# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) +#endif + +// Note: Some systems need both string.h and strings.h (Savage). However, +// some systems can't handle both, only use string.h in that case. +#include <string.h> +#if defined(HAVE_STRINGS_H) && !defined(NO_STRINGS_WITH_STRING_H) +# include <strings.h> +#endif + +// For dup(3). +#define HAVE_DUP + #endif // NVIM_OS_OS_DEFS_H diff --git a/src/nvim/os/unix_defs.h b/src/nvim/os/unix_defs.h index 28ae89ff77..de5dac3369 100644 --- a/src/nvim/os/unix_defs.h +++ b/src/nvim/os/unix_defs.h @@ -1,7 +1,80 @@ #ifndef NVIM_OS_UNIX_DEFS_H #define NVIM_OS_UNIX_DEFS_H +#include <unistd.h> +#include <signal.h> + +// Defines BSD, if it's a BSD system. +#ifdef HAVE_SYS_PARAM_H +# include <sys/param.h> +#endif + + #define TEMP_DIR_NAMES {"$TMPDIR", "/tmp", ".", "~"} #define TEMP_FILE_PATH_MAXLEN 256 +#define HAVE_ACL (HAVE_POSIX_ACL || HAVE_SOLARIS_ACL) + +// Special wildcards that need to be handled by the shell. +#define SPECIAL_WILDCHAR "`'{" + +#ifndef SYS_VIMRC_FILE +# define SYS_VIMRC_FILE "$VIM/nvimrc" +#endif + +#ifndef DFLT_HELPFILE +# define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt" +#endif + +#ifndef SYNTAX_FNAME +# define SYNTAX_FNAME "$VIMRUNTIME/syntax/%s.vim" +#endif + +#ifndef USR_EXRC_FILE +# define USR_EXRC_FILE "~/.exrc" +#endif + +#ifndef USR_VIMRC_FILE +# define USR_VIMRC_FILE "~/.nvimrc" +#endif + +#ifndef USR_VIMRC_FILE2 +# define USR_VIMRC_FILE2 "~/.nvim/nvimrc" +#endif + +#ifndef EXRC_FILE +# define EXRC_FILE ".exrc" +#endif + +#ifndef VIMRC_FILE +# define VIMRC_FILE ".nvimrc" +#endif + +#ifndef VIMINFO_FILE +# define VIMINFO_FILE "~/.nviminfo" +#endif + +// Default for 'backupdir'. +#ifndef DFLT_BDIR +# define DFLT_BDIR ".,~/tmp,~/" +#endif + +// Default for 'directory'. +#ifndef DFLT_DIR +# define DFLT_DIR ".,~/tmp,/var/tmp,/tmp" +#endif + +// Default for 'viewdir'. +#ifndef DFLT_VDIR +# define DFLT_VDIR "~/.nvim/view" +#endif + +#ifdef RUNTIME_GLOBAL +# define DFLT_RUNTIMEPATH "~/.nvim," RUNTIME_GLOBAL ",$VIMRUNTIME," \ + RUNTIME_GLOBAL "/after,~/.nvim/after" +#else +# define DFLT_RUNTIMEPATH \ + "~/.nvim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,~/.nvim/after" +#endif + #endif // NVIM_OS_UNIX_DEFS_H diff --git a/src/nvim/os/win_defs.h b/src/nvim/os/win_defs.h index bea147ad2d..19d796bd08 100644 --- a/src/nvim/os/win_defs.h +++ b/src/nvim/os/win_defs.h @@ -6,4 +6,19 @@ #define TEMP_DIR_NAMES {"$TMP", "$TEMP", "$USERPROFILE", ""} #define TEMP_FILE_PATH_MAXLEN _MAX_PATH +// Defines needed to fix the build on Windows: +// - USR_EXRC_FILE +// - USR_VIMRC_FILE +// - VIMINFO_FILE +// - DFLT_DIR +// - DFLT_BDIR +// - DFLT_VDIR +// - DFLT_RUNTIMEPATH +// - EXRC_FILE +// - VIMRC_FILE +// - SYNTAX_FNAME +// - DFLT_HELPFILE +// - SYS_VIMRC_FILE +// - SPECIAL_WILDCHAR + #endif // NVIM_OS_WIN_DEFS_H |