aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/os
diff options
context:
space:
mode:
authorYamakaky <yamakaky@gmail.com>2015-05-06 18:30:51 +0200
committerJustin M. Keyes <justinkz@gmail.com>2015-07-06 08:23:21 -0400
commit2e46765849e504cd961fc98195d5e5dff443f09a (patch)
tree9608edd2ec8e75521167f5a8ad68c8979ee42290 /src/nvim/os
parente949c2bd62f399a04ae23570203d61344bdd69e9 (diff)
downloadrneovim-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.h134
-rw-r--r--src/nvim/os/unix_defs.h73
-rw-r--r--src/nvim/os/win_defs.h15
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