blob: 71841ac6a550a1164a01a161751a5bc0fd8dd325 [file] [log] [blame]
Bram Moolenaaredf3f972016-08-29 22:49:24 +02001/* vi:set ts=8 sts=4 sw=4 noet:
Bram Moolenaar071d4272004-06-13 20:20:40 +00002 *
3 * VIM - Vi IMproved by Bram Moolenaar
4 *
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
7 */
8
9/*
10 * Amiga Machine-dependent things
11 */
12
13#define CASE_INSENSITIVE_FILENAME /* ignore case when comparing file names */
14#define SPACE_IN_FILENAME
15#define USE_FNAME_CASE /* adjust case of file names */
16#define USE_TERM_CONSOLE
17#define HAVE_AVAIL_MEM
18
19#ifndef HAVE_CONFIG_H
Bram Moolenaar5a6404c2006-11-01 17:12:57 +000020# if defined(AZTEC_C) || defined(__amigaos4__)
Bram Moolenaar071d4272004-06-13 20:20:40 +000021# define HAVE_STAT_H
22# endif
23# define HAVE_STDLIB_H
24# define HAVE_STRING_H
25# define HAVE_FCNTL_H
26# define HAVE_STRCSPN
27# define HAVE_STRICMP
28# define HAVE_STRNICMP
29# define HAVE_STRFTIME /* guessed */
30# define HAVE_SETENV
31# define HAVE_MEMSET
32# define HAVE_QSORT
33# if defined(__DATE__) && defined(__TIME__)
34# define HAVE_DATE_TIME
35# endif
36
Bram Moolenaar071d4272004-06-13 20:20:40 +000037#endif /* HAVE_CONFIG_H */
38
Bram Moolenaar5a6404c2006-11-01 17:12:57 +000039#ifndef DFLT_ERRORFILE
40# define DFLT_ERRORFILE "AztecC.Err" /* Should this change? */
41#endif
42
43#ifndef DFLT_RUNTIMEPATH
44# define DFLT_RUNTIMEPATH "home:vimfiles,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,home:vimfiles/after"
45#endif
Bram Moolenaar07268702018-03-01 21:57:32 +010046#ifndef CLEAN_RUNTIMEPATH
47# define CLEAN_RUNTIMEPATH "$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after"
48#endif
Bram Moolenaar5a6404c2006-11-01 17:12:57 +000049
50#ifndef BASENAMELEN
51# define BASENAMELEN 26 /* Amiga */
52#endif
53
54#ifndef TEMPNAME
55# define TEMPNAME "t:v?XXXXXX"
56# define TEMPNAMELEN 12
57#endif
58
Bram Moolenaar82881492012-11-20 16:53:39 +010059/* cproto fails on missing include files */
60#ifndef PROTO
61
Bram Moolenaar071d4272004-06-13 20:20:40 +000062#include <exec/types.h>
63#include <libraries/dos.h>
64#include <libraries/dosextens.h>
65
66/* Currently, all Amiga compilers except AZTEC C have these... */
67#ifndef AZTEC_C
68# include <proto/exec.h>
69# include <proto/dos.h>
70# include <proto/intuition.h>
71#endif
72
Bram Moolenaar82881492012-11-20 16:53:39 +010073#endif /* PROTO */
74
Bram Moolenaar071d4272004-06-13 20:20:40 +000075#define FNAME_ILLEGAL ";*?`#%" /* illegal characters in a file name */
76
77/*
78 * Manx doesn't have off_t, define it here.
79 */
80#ifdef AZTEC_C
81typedef long off_t;
82#endif
83
84#ifdef LATTICE
85# define USE_TMPNAM /* use tmpnam() instead of mktemp() */
86#endif
87
88#ifdef __GNUC__
89# include <sys/stat.h>
90# include <unistd.h>
Bram Moolenaar8531dc62019-07-01 22:28:20 +020091# include <limits.h>
92# include <errno.h>
Bram Moolenaar5e8e9672019-09-27 13:38:56 +020093# include <pwd.h>
Bram Moolenaar8531dc62019-07-01 22:28:20 +020094# include <dirent.h>
Bram Moolenaar071d4272004-06-13 20:20:40 +000095#endif
96
Bram Moolenaar80edda12019-07-03 22:53:06 +020097#include <time.h> // for strftime() and others
98
Bram Moolenaar82881492012-11-20 16:53:39 +010099#ifndef PROTO
Bram Moolenaar071d4272004-06-13 20:20:40 +0000100/*
101 * arpbase.h must be included before functions.h
102 */
103#ifdef FEAT_ARP
104# include <libraries/arpbase.h>
105#endif
106
Bram Moolenaar82881492012-11-20 16:53:39 +0100107#endif /* PROTO */
108
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109/*
110 * This won't be needed if you have a version of Lattice 4.01 without broken
111 * break signal handling.
112 */
113#include <signal.h>
114
115/*
116 * Names for the EXRC, HELP and temporary files.
117 * Some of these may have been defined in the makefile.
118 */
119#ifndef SYS_VIMRC_FILE
120# define SYS_VIMRC_FILE "$VIM/vimrc"
121#endif
122#ifndef SYS_GVIMRC_FILE
123# define SYS_GVIMRC_FILE "$VIM/gvimrc"
124#endif
125#ifndef SYS_MENU_FILE
126# define SYS_MENU_FILE "$VIMRUNTIME/menu.vim"
127#endif
128#ifndef DFLT_HELPFILE
129# define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt"
130#endif
131#ifndef FILETYPE_FILE
132# define FILETYPE_FILE "filetype.vim"
133#endif
134#ifndef FTPLUGIN_FILE
135# define FTPLUGIN_FILE "ftplugin.vim"
136#endif
137#ifndef INDENT_FILE
138# define INDENT_FILE "indent.vim"
139#endif
140#ifndef FTOFF_FILE
141# define FTOFF_FILE "ftoff.vim"
142#endif
143#ifndef FTPLUGOF_FILE
144# define FTPLUGOF_FILE "ftplugof.vim"
145#endif
146#ifndef INDOFF_FILE
147# define INDOFF_FILE "indoff.vim"
148#endif
149#ifndef SYNTAX_FNAME
150# define SYNTAX_FNAME "$VIMRUNTIME/syntax/%s.vim"
151#endif
152
153#ifndef USR_EXRC_FILE
154# define USR_EXRC_FILE "s:.exrc"
155#endif
156#ifndef USR_EXRC_FILE2
157# define USR_EXRC_FILE2 "home:.exrc"
158#endif
159
160#ifndef USR_VIMRC_FILE
161# define USR_VIMRC_FILE "s:.vimrc"
162#endif
163#ifndef USR_VIMRC_FILE2
164# define USR_VIMRC_FILE2 "home:.vimrc"
165#endif
166#ifndef USR_VIMRC_FILE3
Bram Moolenaar22971aa2013-06-12 20:35:58 +0200167# define USR_VIMRC_FILE3 "home:vimfiles:vimrc"
168#endif
169#ifndef USR_VIMRC_FILE4
170# define USR_VIMRC_FILE4 "$VIM/.vimrc"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000171#endif
Bram Moolenaar8c08b5b2016-07-28 22:24:15 +0200172#ifndef VIM_DEFAULTS_FILE
173# define VIM_DEFAULTS_FILE "$VIMRUNTIME/defaults.vim"
174#endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000175#ifndef EVIM_FILE
176# define EVIM_FILE "$VIMRUNTIME/evim.vim"
177#endif
178
179#ifndef USR_GVIMRC_FILE
180# define USR_GVIMRC_FILE "s:.gvimrc"
181#endif
182#ifndef USR_GVIMRC_FILE2
183# define USR_GVIMRC_FILE2 "home:.gvimrc"
184#endif
185#ifndef USR_GVIMRC_FILE3
Bram Moolenaar22971aa2013-06-12 20:35:58 +0200186# define USR_GVIMRC_FILE3 "home:vimfiles:gvimrc"
187#endif
188#ifndef USR_GVIMRC_FILE4
189# define USR_GVIMRC_FILE4 "$VIM/.gvimrc"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000190#endif
191
192#ifdef FEAT_VIMINFO
Bram Moolenaar5a6404c2006-11-01 17:12:57 +0000193# ifndef VIMINFO_FILE
194# define VIMINFO_FILE "s:.viminfo"
195# endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000196#endif /* FEAT_VIMINFO */
197
198#ifndef EXRC_FILE
199# define EXRC_FILE ".exrc"
200#endif
201
202#ifndef VIMRC_FILE
203# define VIMRC_FILE ".vimrc"
204#endif
205
206#ifndef GVIMRC_FILE
207# define GVIMRC_FILE ".gvimrc"
208#endif
209
210#ifndef DFLT_BDIR
211# define DFLT_BDIR ".,t:" /* default for 'backupdir' */
212#endif
213
214#ifndef DFLT_DIR
215# define DFLT_DIR ".,t:" /* default for 'directory' */
216#endif
217
218#ifndef DFLT_VDIR
219# define DFLT_VDIR "$VIM/vimfiles/view" /* default for 'viewdir' */
220#endif
221
222#ifndef DFLT_MAXMEM
223# define DFLT_MAXMEM 256 /* use up to 256Kbyte for buffer */
224#endif
225#ifndef DFLT_MAXMEMTOT
226# define DFLT_MAXMEMTOT 0 /* decide in set_init */
227#endif
228
229#if defined(SASC)
230int setenv(const char *, const char *);
231#endif
232
233#define mch_remove(x) remove((char *)(x))
234#define mch_rename(src, dst) rename(src, dst)
235#define mch_chdir(s) chdir(s)
236#define vim_mkdir(x, y) mch_mkdir(x)