aboutsummaryrefslogtreecommitdiffstats
path: root/src/s
diff options
context:
space:
mode:
authorRichard M. Stallman1996-04-10 03:48:14 +0000
committerRichard M. Stallman1996-04-10 03:48:14 +0000
commit7a05f3c7d4d2ee8a9bfdc5b5af2f424f984c7ef1 (patch)
treeaf29cf57dee004366b8fc1403a0081eb0bea2fc5 /src/s
parent57ceaa8a70a029d0f673c63768428d19d1b946fe (diff)
downloademacs-7a05f3c7d4d2ee8a9bfdc5b5af2f424f984c7ef1.tar.gz
emacs-7a05f3c7d4d2ee8a9bfdc5b5af2f424f984c7ef1.zip
(DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
(POSIX_SIGNALS): Define if DJGPP v2. (LIBS_SYSTEM, chdir, NO_MODE_T, TEXT_START, NO_MATHERR) (LOCALTIME_CACHE, tzset): Don't define if DJGPP v2.
Diffstat (limited to 'src/s')
-rw-r--r--src/s/msdos.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/s/msdos.h b/src/s/msdos.h
index 1af7aa2cf15..cb454a3b52f 100644
--- a/src/s/msdos.h
+++ b/src/s/msdos.h
@@ -44,8 +44,6 @@ Boston, MA 02111-1307, USA. */
44#ifdef __GO32__ 44#ifdef __GO32__
45#ifndef __DJGPP__ 45#ifndef __DJGPP__
46#define __DJGPP__ 1 /* V2 defines __DJGPP__ == 2 */ 46#define __DJGPP__ 1 /* V2 defines __DJGPP__ == 2 */
47#else
48You lose; /* Emacs for DOS must be compiled with DJGPP V1 */
49#endif 47#endif
50#else 48#else
51You lose; /* Emacs for DOS must be compiled with DJGPP */ 49You lose; /* Emacs for DOS must be compiled with DJGPP */
@@ -157,19 +155,37 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
157#define _setjmp setjmp 155#define _setjmp setjmp
158#define _longjmp longjmp 156#define _longjmp longjmp
159 157
158#if __DJGPP__ < 2
159
160#define NO_MODE_T 160#define NO_MODE_T
161 161
162/* New chdir () routine. */ 162/* New chdir () routine.
163 DJGPP v2.0 and later doesn't need it because its chdir() does
164 set the drive itself. */
163#ifdef chdir 165#ifdef chdir
164#undef chdir 166#undef chdir
165#endif 167#endif
166#define chdir sys_chdir 168#define chdir sys_chdir
167 169
168#define LIBS_SYSTEM -lpc 170#define LIBS_SYSTEM -lpc /* isn't required in DJGPP v2.0, either */
171
172#endif /* __DJGPP__ < 2 */
173
174#if __DJGPP__ > 1
175
176#define DATA_START (&etext + 1)
177#define TEXT_START &start
178#define TEXT_END &etext
179
180#define _NAIVE_DOS_REGS
181
182#else /* not __DJGPP__ > 1 */
169 183
170/* This somehow needs to be defined even though we use COFF. */ 184/* This somehow needs to be defined even though we use COFF. */
171#define TEXT_START -1 185#define TEXT_START -1
172 186
187#endif /* not __DJGPP__ > 1 */
188
173#define ORDINARY_LINK 189#define ORDINARY_LINK
174 190
175/* command.com does not understand `...` so we define this. */ 191/* command.com does not understand `...` so we define this. */
@@ -180,6 +196,7 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
180#define NULL_DEVICE "nul" 196#define NULL_DEVICE "nul"
181#define EXEC_SUFFIXES ".exe:.com:.bat:" 197#define EXEC_SUFFIXES ".exe:.com:.bat:"
182 198
199#if __DJGPP__ < 2
183#define O_RDONLY 0x0001 200#define O_RDONLY 0x0001
184#define O_WRONLY 0x0002 201#define O_WRONLY 0x0002
185#define O_RDWR 0x0004 202#define O_RDWR 0x0004
@@ -189,10 +206,11 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
189#define O_APPEND 0x0800 206#define O_APPEND 0x0800
190#define O_TEXT 0x4000 207#define O_TEXT 0x4000
191#define O_BINARY 0x8000 208#define O_BINARY 0x8000
209#define NO_MATHERR
210#endif
192 211
193#define HAVE_INVERSE_HYPERBOLIC 212#define HAVE_INVERSE_HYPERBOLIC
194#define FLOAT_CHECK_DOMAIN 213#define FLOAT_CHECK_DOMAIN
195#define NO_MATHERR
196 214
197/* When $TERM is "internal" then this is substituted: */ 215/* When $TERM is "internal" then this is substituted: */
198#define INTERNAL_TERMINAL "pc|bios|IBM PC with colour display:\ 216#define INTERNAL_TERMINAL "pc|bios|IBM PC with colour display:\
@@ -210,8 +228,10 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
210#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) 228#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
211 229
212/* Call init_gettimeofday when TZ changes. */ 230/* Call init_gettimeofday when TZ changes. */
231#if __DJGPP__ < 2
213#define LOCALTIME_CACHE 232#define LOCALTIME_CACHE
214#define tzset init_gettimeofday 233#define tzset init_gettimeofday
234#endif
215 235
216/* bcopy under djgpp is quite safe */ 236/* bcopy under djgpp is quite safe */
217#define GAP_USE_BCOPY 237#define GAP_USE_BCOPY
@@ -221,6 +241,11 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
221/* Mode line description of a buffer's type. */ 241/* Mode line description of a buffer's type. */
222#define MODE_LINE_BINARY_TEXT(buf) (NILP(buf->buffer_file_type) ? "T" : "B") 242#define MODE_LINE_BINARY_TEXT(buf) (NILP(buf->buffer_file_type) ? "T" : "B")
223 243
244/* Do we have POSIX signals? */
245#if __DJGPP__ > 1
246#define POSIX_SIGNALS
247#endif
248
224/* We have (the code to control) a mouse. */ 249/* We have (the code to control) a mouse. */
225#define HAVE_MOUSE 250#define HAVE_MOUSE
226 251