aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Nicolaescu2008-07-17 13:57:13 +0000
committerDan Nicolaescu2008-07-17 13:57:13 +0000
commit2749d28e1bd80262749657ee4a60e5b1f75b6cb8 (patch)
tree91c13313ccdf107e1df4a206e184c1c488af3c2c /src
parent6fb5f7dad5ede99f033dbbfc8539764354a4177b (diff)
downloademacs-2749d28e1bd80262749657ee4a60e5b1f75b6cb8.tar.gz
emacs-2749d28e1bd80262749657ee4a60e5b1f75b6cb8.zip
* ecrt0.c: Remove code depending on m68000, not used anymore.
* fns.c (hash_remove): Make static. * lisp.h (hash_remove): Don't prototype. * m/ibmrs6000.h: * m/ibms390x.h: * m/macppc.h: Remove boilerplate comments. * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on Solaris, which does not need them. * m/vax.h: Remove comments about unsupported systems. * s/darwin.h: Reorganize ifdefs.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog20
-rw-r--r--src/ecrt0.c51
-rw-r--r--src/fns.c2
-rw-r--r--src/lisp.h1
-rw-r--r--src/m/ibmrs6000.h93
-rw-r--r--src/m/ibms390x.h24
-rw-r--r--src/m/macppc.h19
-rw-r--r--src/m/sparc.h15
-rw-r--r--src/m/vax.h18
-rw-r--r--src/s/darwin.h84
10 files changed, 78 insertions, 249 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2c4152d1dd6..a82e5c62968 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,4 +1,22 @@
12008-07-16 Adrian Robert <Adrian.B.Robert@gmail.com> 12008-07-17 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * ecrt0.c: Remove code depending on m68000, not used anymore.
4
5 * fns.c (hash_remove): Make static.
6 * lisp.h (hash_remove): Don't prototype.
7
8 * m/ibmrs6000.h:
9 * m/ibms390x.h:
10 * m/macppc.h: Remove boilerplate comments.
11
12 * m/sparc.h (A_TEXT_OFFSET, A_TEXT_SEEK): Remove, only used on
13 Solaris, which does not need them.
14
15 * m/vax.h: Remove comments about unsupported systems.
16
17 * s/darwin.h: Reorganize ifdefs.
18
192008-07-17 Adrian Robert <Adrian.B.Robert@gmail.com>
2 20
3 * config.in 21 * config.in
4 * dispextern.h 22 * dispextern.h
diff --git a/src/ecrt0.c b/src/ecrt0.c
index 7ef066ef22f..f835cf65c72 100644
--- a/src/ecrt0.c
+++ b/src/ecrt0.c
@@ -39,13 +39,6 @@ And always:
39 [next arg string]... 0 or more times 39 [next arg string]... 0 or more times
40*/ 40*/
41 41
42/* On the 16000, at least in the one 4.2 system I know about,
43 the initial data format is
44 sp -> word containing argc
45 word containing argp
46 word pointing to first arg string, and so on as above
47*/
48
49#ifdef emacs 42#ifdef emacs
50#include <config.h> 43#include <config.h>
51#endif 44#endif
@@ -97,31 +90,12 @@ asm(" global start ");
97asm(" start: "); 90asm(" start: ");
98#endif /* NODOT_GLOBAL_START */ 91#endif /* NODOT_GLOBAL_START */
99 92
100#ifdef m68000
101
102/* GCC 2.1, when optimization is turned off, seems to want to push a
103 word of garbage on the stack, which screws up the CRT0_DUMMIES
104 hack. So we hand-code _start in assembly language. */
105asm(".text ");
106asm(" .even ");
107asm(".globl __start ");
108asm("__start: ");
109asm(" link a6,#0 ");
110asm(" jbsr _start1 ");
111asm(" unlk a6 ");
112asm(" rts ");
113
114#else /* not m68000 */
115
116_start () 93_start ()
117{ 94{
118/* On vax, nothing is pushed here */ 95/* On vax, nothing is pushed here */
119/* On sequent, bogus fp is pushed here */
120 start1 (); 96 start1 ();
121} 97}
122 98
123#endif /* possibly m68000 */
124
125static 99static
126start1 (CRT0_DUMMIES argc, xargv) 100start1 (CRT0_DUMMIES argc, xargv)
127 int argc; 101 int argc;
@@ -140,9 +114,7 @@ start1 (CRT0_DUMMIES argc, xargv)
140} 114}
141#else /* not CRT0_DUMMIES */ 115#else /* not CRT0_DUMMIES */
142 116
143/* "m68k" and "m68000" both stand for m68000 processors, 117/* This is a kludge. Now that the CRT0_DUMMIES mechanism above exists,
144 but with different program-entry conventions.
145 This is a kludge. Now that the CRT0_DUMMIES mechanism above exists,
146 most of these machines could use the vax code above 118 most of these machines could use the vax code above
147 with some suitable definition of CRT0_DUMMIES. 119 with some suitable definition of CRT0_DUMMIES.
148 Then the symbol m68k could be flushed. 120 Then the symbol m68k could be flushed.
@@ -162,29 +134,10 @@ start1 (CRT0_DUMMIES argc, xargv)
162 asm (" jsr exit"); 134 asm (" jsr exit");
163 asm (" mov.l &1,%d0"); /* d0 = 1 => exit */ 135 asm (" mov.l &1,%d0"); /* d0 = 1 => exit */
164 asm (" trap &0"); 136 asm (" trap &0");
165#else /* m68000, not m68k */
166 137
167#ifdef m68000
168
169_start ()
170{
171#ifdef sun
172 finitfp_();
173#endif
174/* On 68000, _start pushes a6 onto stack */
175 start1 ();
176}
177#endif /* m68000 */
178#endif /* m68k */
179
180#if defined(m68k) || defined(m68000)
181/* ignore takes care of skipping the a6 value pushed in start. */ 138/* ignore takes care of skipping the a6 value pushed in start. */
182static 139static
183#if defined(m68k)
184start1 (argc, xargv) 140start1 (argc, xargv)
185#else
186start1 (ignore, argc, xargv)
187#endif
188 int argc; 141 int argc;
189 char *xargv; 142 char *xargv;
190{ 143{
@@ -196,7 +149,7 @@ start1 (ignore, argc, xargv)
196 exit (main (argc, argv, environ)); 149 exit (main (argc, argv, environ));
197} 150}
198 151
199#endif /* m68k or m68000 */ 152#endif /* m68k */
200 153
201#endif /* not CRT0_DUMMIES */ 154#endif /* not CRT0_DUMMIES */
202 155
diff --git a/src/fns.c b/src/fns.c
index df2e8dbebea..72f1c93fd29 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -4204,7 +4204,7 @@ hash_put (h, key, value, hash)
4204 4204
4205/* Remove the entry matching KEY from hash table H, if there is one. */ 4205/* Remove the entry matching KEY from hash table H, if there is one. */
4206 4206
4207void 4207static void
4208hash_remove (h, key) 4208hash_remove (h, key)
4209 struct Lisp_Hash_Table *h; 4209 struct Lisp_Hash_Table *h;
4210 Lisp_Object key; 4210 Lisp_Object key;
diff --git a/src/lisp.h b/src/lisp.h
index bdf45262ffe..7a0d2088f13 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2354,7 +2354,6 @@ Lisp_Object copy_hash_table P_ ((struct Lisp_Hash_Table *));
2354int hash_lookup P_ ((struct Lisp_Hash_Table *, Lisp_Object, unsigned *)); 2354int hash_lookup P_ ((struct Lisp_Hash_Table *, Lisp_Object, unsigned *));
2355int hash_put P_ ((struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object, 2355int hash_put P_ ((struct Lisp_Hash_Table *, Lisp_Object, Lisp_Object,
2356 unsigned)); 2356 unsigned));
2357void hash_remove P_ ((struct Lisp_Hash_Table *, Lisp_Object));
2358void hash_clear P_ ((struct Lisp_Hash_Table *)); 2357void hash_clear P_ ((struct Lisp_Hash_Table *));
2359void remove_hash_entry P_ ((struct Lisp_Hash_Table *, int)); 2358void remove_hash_entry P_ ((struct Lisp_Hash_Table *, int));
2360extern void init_fns P_ ((void)); 2359extern void init_fns P_ ((void));
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
index 7268cf64441..c3474254281 100644
--- a/src/m/ibmrs6000.h
+++ b/src/m/ibmrs6000.h
@@ -22,15 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 operating system this machine is likely to run. 22 operating system this machine is likely to run.
23 USUAL-OPSYS="aix3-1" */ 23 USUAL-OPSYS="aix3-1" */
24 24
25/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
26 is the most significant byte. */
27
28#ifdef USG5_4
29#undef WORDS_BIG_ENDIAN
30#else
31#define WORDS_BIG_ENDIAN
32#endif
33
34/* Define NO_ARG_ARRAY if you cannot take the address of the first of a 25/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
35 * group of arguments and treat it as an array of the arguments. */ 26 * group of arguments and treat it as an array of the arguments. */
36 27
@@ -49,33 +40,40 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
49 40
50#define NO_REMAP 41#define NO_REMAP
51 42
52#ifndef USG5_4
53#define TEXT_START 0x10000000
54#define TEXT_END 0
55#define DATA_START 0x20000000
56#define DATA_END 0
57#endif
58
59/* The data segment in this machine always starts at address 0x20000000. 43/* The data segment in this machine always starts at address 0x20000000.
60 An address of data cannot be stored correctly in a Lisp object; 44 An address of data cannot be stored correctly in a Lisp object;
61 we always lose the high bits. We must tell XPNTR to add them back. */ 45 we always lose the high bits. We must tell XPNTR to add them back. */
62 46
63#ifndef USG5_4 47#ifndef USG5_4
48#define TEXT_START 0x10000000
49#define TEXT_END 0
50#define DATA_START 0x20000000
51#define DATA_END 0
52#define WORDS_BIG_ENDIAN
64#define DATA_SEG_BITS 0x20000000 53#define DATA_SEG_BITS 0x20000000
65#else 54#define C_SWITCH_MACHINE -D_BSD
66#define DATA_SEG_BITS 0
67#endif
68 55
69#undef ADDR_CORRECT 56/* sfreed@unm.edu says add -bI:/usr/lpp/X11/bin/smt.exp for AIX 3.2.4. */
70#define ADDR_CORRECT(x) ((int)(x)) 57/* marc@sti.com (Marc Pawliger) says ibmrs6000.inp is needed to avoid
58 linker error for updated X11R5 libraries, which references pthread library
59 which most machines don't have. We use the name .inp instead of .imp
60 because .inp is a better convention to use in make-dist for naming
61 random input files. */
62#ifdef THIS_IS_MAKEFILE /* Don't use this in configure. */
63#define LD_SWITCH_MACHINE -Wl,-bnodelcsect
64#endif /* THIS_IS_MAKEFILE */
71 65
72/* Here override various assumptions in ymakefile */ 66/* Avoid gcc 2.7.x collect2 bug by using /bin/ld instead. */
67#if __GNUC__ == 2 && __GNUC_MINOR__ == 7
68#define LD_SWITCH_SITE -B/bin/
69#endif
73 70
74#ifndef USG5 71#ifndef NLIST_STRUCT
75#define C_SWITCH_MACHINE -D_BSD 72/* AIX supposedly doesn't use this interface, but on the RS/6000
73 it apparently does. */
74#define NLIST_STRUCT
76#endif 75#endif
77 76
78#ifdef AIX
79/* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless 77/* -lpthreads seems to be necessary for Xlib in X11R6, and should be harmless
80 on older versions of X where it happens to exist. */ 78 on older versions of X where it happens to exist. */
81#ifdef HAVE_LIBPTHREADS 79#ifdef HAVE_LIBPTHREADS
@@ -84,13 +82,15 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
84/* IBM's X11R5 use -lIM and -liconv in AIX 3.2.2. */ 82/* IBM's X11R5 use -lIM and -liconv in AIX 3.2.2. */
85#define LIBS_MACHINE -lrts -lIM -liconv 83#define LIBS_MACHINE -lrts -lIM -liconv
86#endif 84#endif
87#else 85
88#ifdef USG5_4 86#else /* USG5_4 */
87#undef WORDS_BIG_ENDIAN
88#define DATA_SEG_BITS 0
89#define LIBS_MACHINE 89#define LIBS_MACHINE
90#else 90#endif /* USG5_4 */
91#define LIBS_MACHINE -lIM 91
92#endif 92#undef ADDR_CORRECT
93#endif 93#define ADDR_CORRECT(x) ((int)(x))
94 94
95#define START_FILES 95#define START_FILES
96/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/ 96/*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
@@ -106,36 +106,5 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
106 106
107#define ORDINARY_LINK 107#define ORDINARY_LINK
108 108
109#ifndef USG5_4
110/* sfreed@unm.edu says add -bI:/usr/lpp/X11/bin/smt.exp for AIX 3.2.4. */
111/* marc@sti.com (Marc Pawliger) says ibmrs6000.inp is needed to avoid
112 linker error for updated X11R5 libraries, which references pthread library
113 which most machines don't have. We use the name .inp instead of .imp
114 because .inp is a better convention to use in make-dist for naming
115 random input files. */
116#ifdef THIS_IS_MAKEFILE /* Don't use this in configure. */
117#ifdef AIX
118#define LD_SWITCH_MACHINE -Wl,-bnodelcsect
119#else /* not AIX */
120#ifdef HAVE_AIX_SMT_EXP
121#define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp,-bI:/usr/lpp/X11/bin/smt.exp
122#else
123#define LD_SWITCH_MACHINE -Wl,-bnso,-bnodelcsect,-bI:/lib/syscalls.exp,-bI:$(srcdir)/m/ibmrs6000.inp
124#endif
125#endif /* not AIX */
126#endif /* THIS_IS_MAKEFILE */
127
128/* Avoid gcc 2.7.x collect2 bug by using /bin/ld instead. */
129#if __GNUC__ == 2 && __GNUC_MINOR__ == 7
130#define LD_SWITCH_SITE -B/bin/
131#endif
132
133#ifndef NLIST_STRUCT
134/* AIX supposedly doesn't use this interface, but on the RS/6000
135 it apparently does. */
136#define NLIST_STRUCT
137#endif
138#endif /* USG5_4 */
139
140/* arch-tag: 028318ee-a7ae-4a08-804d-cc1e6588d003 109/* arch-tag: 028318ee-a7ae-4a08-804d-cc1e6588d003
141 (do not change this comment) */ 110 (do not change this comment) */
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
index e7f9a98145f..bcddabd0aac 100644
--- a/src/m/ibms390x.h
+++ b/src/m/ibms390x.h
@@ -87,30 +87,6 @@ NOTE-END */
87 87
88#undef NO_REMAP 88#undef NO_REMAP
89 89
90/* Some really obscure 4.2-based systems (like Sequent DYNIX)
91 * do not support asynchronous I/O (using SIGIO) on sockets,
92 * even though it works fine on tty's. If you have one of
93 * these systems, define the following, and then use it in
94 * config.h (or elsewhere) to decide when (not) to use SIGIO.
95 *
96 * You'd think this would go in an operating-system description file,
97 * but since it only occurs on some, but not all, BSD systems, the
98 * reasonable place to select for it is in the machine description
99 * file.
100 */
101
102#undef NO_SOCK_SIGIO
103
104
105/* After adding support for a new system, modify the large case
106 statement in the `configure' script to recognize reasonable
107 configuration names, and add a description of the system to
108 `etc/MACHINES'.
109
110 If you've just fixed a problem in an existing configuration file,
111 you should also check `etc/MACHINES' to make sure its descriptions
112 of known problems in that configuration should be updated. */
113
114/* On the 64 bit architecture, we can use 60 bits for addresses */ 90/* On the 64 bit architecture, we can use 60 bits for addresses */
115 91
116#define VALBITS 60 92#define VALBITS 60
diff --git a/src/m/macppc.h b/src/m/macppc.h
index eeb9990562e..fc2c8f9d361 100644
--- a/src/m/macppc.h
+++ b/src/m/macppc.h
@@ -27,11 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
27 27
28#define NO_ARG_ARRAY 28#define NO_ARG_ARRAY
29 29
30/* Now define a symbol for the cpu type, if your compiler
31 does not define it automatically:
32 Ones defined so far include vax, m68000, ns16000, pyramid,
33 orion, tahoe, APOLLO and many others */
34
35/* Data type of load average, as read out of kmem. */ 30/* Data type of load average, as read out of kmem. */
36 31
37#define LOAD_AVE_TYPE long 32#define LOAD_AVE_TYPE long
@@ -40,20 +35,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
40 35
41#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 36#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
42 37
43/* Some really obscure 4.2-based systems (like Sequent DYNIX)
44 * do not support asynchronous I/O (using SIGIO) on sockets,
45 * even though it works fine on tty's. If you have one of
46 * these systems, define the following, and then use it in
47 * config.h (or elsewhere) to decide when (not) to use SIGIO.
48 *
49 * You'd think this would go in an operating-system description file,
50 * but since it only occurs on some, but not all, BSD systems, the
51 * reasonable place to select for it is in the machine description
52 * file.
53 */
54
55/* #define NO_SOCK_SIGIO */
56
57#if defined (GNU_LINUX) || defined (__NetBSD__) || defined (__OpenBSD__) 38#if defined (GNU_LINUX) || defined (__NetBSD__) || defined (__OpenBSD__)
58# define TEXT_END ({ extern int _etext; &_etext; }) 39# define TEXT_END ({ extern int _etext; &_etext; })
59#endif 40#endif
diff --git a/src/m/sparc.h b/src/m/sparc.h
index e75094fa7de..c4d7c0698f4 100644
--- a/src/m/sparc.h
+++ b/src/m/sparc.h
@@ -55,21 +55,6 @@ NOTE-END */
55 55
56#define SEGMENT_MASK (SEGSIZ - 1) 56#define SEGMENT_MASK (SEGSIZ - 1)
57 57
58#if !defined (__NetBSD__) && !defined (__linux__) && !defined (__OpenBSD__)
59/* This really belongs in s/sun.h. */
60
61/* Say that the text segment of a.out includes the header;
62 the header actually occupies the first few bytes of the text segment
63 and is counted in hdr.a_text. */
64
65#define A_TEXT_OFFSET(HDR) sizeof (HDR)
66
67/* This is the offset of the executable's text, from the start of the file. */
68
69#define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr))
70
71#endif /* not __NetBSD__ and not __linux__ and not __OpenBSD__ */
72
73#ifdef __arch64__ /* GCC, 64-bit ABI. */ 58#ifdef __arch64__ /* GCC, 64-bit ABI. */
74#define BITS_PER_LONG 64 59#define BITS_PER_LONG 64
75#ifdef __linux__ 60#ifdef __linux__
diff --git a/src/m/vax.h b/src/m/vax.h
index 7a08deb6830..d412deacd99 100644
--- a/src/m/vax.h
+++ b/src/m/vax.h
@@ -25,24 +25,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25NOTE-START 25NOTE-START
26The vax (-machine=vax) runs zillions of different operating systems. 26The vax (-machine=vax) runs zillions of different operating systems.
27 27
28Vax running Berkeley Unix (-opsystem=bsd4-1, -opsystem=bsd4-2 or
29 -opsystem=bsd4-3)
30
31 Works.
32
33Vax running Ultrix (-opsystem=bsd4-2)
34
35 Works. See under Ultrix in share-lib/MACHINES for problems using X
36 windows on Ultrix.
37
38Vax running System V rel 2 (-opsystem=usg5-2)
39
40 18.27 Works.
41
42Vax running System V rel 0 (-opsystem=usg5-0)
43
44 Works as of 18.36.
45
46Vax running VMS (-opsystem=vms) 28Vax running VMS (-opsystem=vms)
47 29
48 18.36 believed to work. Addition of features is necessary to make 30 18.36 believed to work. Addition of features is necessary to make
diff --git a/src/s/darwin.h b/src/s/darwin.h
index 9fcf2ca6dff..73b7aade95f 100644
--- a/src/s/darwin.h
+++ b/src/s/darwin.h
@@ -26,16 +26,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
26#define BSD4_2 26#define BSD4_2
27/* BSD4_3 and BSD4_4 are already defined in sys/param.h */ 27/* BSD4_3 and BSD4_4 are already defined in sys/param.h */
28#define BSD_SYSTEM 28#define BSD_SYSTEM
29/* #define VMS */
30 29
31/* MAC_OS is used to conditionally compile code common to both MAC_OS8 30/* MAC_OS is used to conditionally compile code common to both MAC_OS8
32 and MAC_OSX. */ 31 and MAC_OSX. */
33#ifdef MAC_OSX 32#ifdef MAC_OSX
34#ifdef HAVE_CARBON 33#ifdef HAVE_CARBON
35#define MAC_OS 34#define MAC_OS
36/* We need a little extra space, see ../../lisp/loadup.el. */
37#define SYSTEM_PURESIZE_EXTRA 30000
38
39#endif 35#endif
40#endif 36#endif
41 37
@@ -85,7 +81,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
85 */ 81 */
86 82
87#define HAVE_TERMIOS 83#define HAVE_TERMIOS
88/* #define HAVE_TERMIO */
89 84
90#define NO_TERMIO 85#define NO_TERMIO
91 86
@@ -128,27 +123,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
128 123
129#define CLASH_DETECTION 124#define CLASH_DETECTION
130 125
131/* ============================================================ */
132
133/* Here, add any special hacks needed
134 to make Emacs work on this system. For example,
135 you might define certain system call names that don't
136 exist on your system, or that do different things on
137 your system and must be used only through an encapsulation
138 (Which you should place, by convention, in sysdep.c). */
139
140/* ============================================================ */
141
142/* After adding support for a new system, modify the large case
143 statement in the `configure' script to recognize reasonable
144 configuration names, and add a description of the system to
145 `etc/MACHINES'.
146
147 If you've just fixed a problem in an existing configuration file,
148 you should also check `etc/MACHINES' to make sure its descriptions
149 of known problems in that configuration should be updated. */
150
151
152/* Avoid the use of the name init_process (process.c) because it is 126/* Avoid the use of the name init_process (process.c) because it is
153 also the name of a Mach system call. */ 127 also the name of a Mach system call. */
154#define init_process emacs_init_process 128#define init_process emacs_init_process
@@ -198,27 +172,36 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
198 172
199/* Definitions for how to compile & link. */ 173/* Definitions for how to compile & link. */
200 174
201/* This is for the Carbon port. Under the NeXTstep port, this is still picked
202 up during preprocessing, but is undone in config.in. */
203#ifndef HAVE_NS
204#define C_SWITCH_SYSTEM -fpascal-strings -DMAC_OSX
205#endif
206
207/* Link in the Carbon or AppKit lib. */ 175/* Link in the Carbon or AppKit lib. */
208#ifdef HAVE_NS 176#ifdef HAVE_NS
177/* PENDING: can this target be specified in a clearer way? */
178#define OTHER_FILES ns-app
209/* XXX: lresolv is here because configure when testing #undefs res_init, 179/* XXX: lresolv is here because configure when testing #undefs res_init,
210 a macro in /usr/include/resolv.h for res_9_init, not in stdc lib. */ 180 a macro in /usr/include/resolv.h for res_9_init, not in stdc lib. */
211#define LIBS_MACGUI -framework AppKit -lresolv 181#define LIBS_MACGUI -framework AppKit -lresolv
212#define SYSTEM_PURESIZE_EXTRA 200000 182#define SYSTEM_PURESIZE_EXTRA 200000
213#define HEADERPAD_EXTRA 6C8 183#define HEADERPAD_EXTRA 6C8
214#else 184#else /* !HAVE_NS */
215#define HEADERPAD_EXTRA 690 185#define HEADERPAD_EXTRA 690
216 186
187/* This is for the Carbon port. Under the NeXTstep port, this is still picked
188 up during preprocessing, but is undone in config.in. */
189#define C_SWITCH_SYSTEM -fpascal-strings -DMAC_OSX
190
217#ifdef HAVE_CARBON 191#ifdef HAVE_CARBON
218 192
193/* We need a little extra space, see ../../lisp/loadup.el. */
194#define SYSTEM_PURESIZE_EXTRA 30000
195
196/* Link in the Carbon lib. */
197#define LIBS_MACGUI -framework Carbon LIBS_IMAGE
198
219#ifdef HAVE_AVAILABILITYMACROS_H 199#ifdef HAVE_AVAILABILITYMACROS_H
220#include <AvailabilityMacros.h> 200#include <AvailabilityMacros.h>
221#endif 201#endif
202/* Tell src/Makefile.in to create files in the Mac OS X application
203 bundle mac/Emacs.app. */
204#define OTHER_FILES macosx-app
222 205
223/* Whether to use the Image I/O framework for reading images. */ 206/* Whether to use the Image I/O framework for reading images. */
224#ifndef USE_MAC_IMAGE_IO 207#ifndef USE_MAC_IMAGE_IO
@@ -234,14 +217,17 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
234#define LIBS_IMAGE -framework QuickTime 217#define LIBS_IMAGE -framework QuickTime
235#endif 218#endif
236 219
237#endif /* HAVE_CARBON */ 220/* Reroute calls to SELECT to the version defined in mac.c to fix the
221 problem of Emacs requiring an extra return to be typed to start
222 working when started from the command line. */
223#if defined (emacs) || defined (temacs)
224#define select sys_select
225#endif
238 226
239/* Link in the Carbon lib. */ 227#else /* !HAVE_CARBON */
240#ifdef HAVE_CARBON
241#define LIBS_MACGUI -framework Carbon LIBS_IMAGE
242#else
243#define LIBS_MACGUI 228#define LIBS_MACGUI
244#endif /* !HAVE_CARBON */ 229#endif /* HAVE_CARBON */
230
245#endif /* !HAVE_NS */ 231#endif /* !HAVE_NS */
246 232
247/* The -headerpad option tells ld (see man page) to leave room at the 233/* The -headerpad option tells ld (see man page) to leave room at the
@@ -271,18 +257,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
271/* Adding -lm confuses the dynamic linker, so omit it. */ 257/* Adding -lm confuses the dynamic linker, so omit it. */
272#define LIB_MATH 258#define LIB_MATH
273 259
274/* Tell src/Makefile.in to create files in the Mac OS X application
275 bundle mac/Emacs.app. */
276#ifdef HAVE_CARBON
277#define OTHER_FILES macosx-app
278#endif
279
280/* PENDING: can this target be specified in a clearer way? */
281#ifdef HAVE_NS
282#define OTHER_FILES ns-app
283#endif
284
285
286/* Define the following so emacs symbols will not conflict with those 260/* Define the following so emacs symbols will not conflict with those
287 in the System framework. Otherwise -prebind will not work. */ 261 in the System framework. Otherwise -prebind will not work. */
288 262
@@ -292,7 +266,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
292/* Do not define matherr in floatfns.c. */ 266/* Do not define matherr in floatfns.c. */
293#define NO_MATHERR 267#define NO_MATHERR
294 268
295
296/* The following solves the problem that Emacs hangs when evaluating 269/* The following solves the problem that Emacs hangs when evaluating
297 (make-comint "test0" "/nodir/nofile" nil "") when /nodir/nofile 270 (make-comint "test0" "/nodir/nofile" nil "") when /nodir/nofile
298 does not exist. */ 271 does not exist. */
@@ -314,13 +287,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
314 handlers correctly. Suggested by Nozomu Ando.*/ 287 handlers correctly. Suggested by Nozomu Ando.*/
315#define POSIX_SIGNALS 288#define POSIX_SIGNALS
316 289
317/* Reroute calls to SELECT to the version defined in mac.c to fix the
318 problem of Emacs requiring an extra return to be typed to start
319 working when started from the command line. */
320#if defined (HAVE_CARBON) && (defined (emacs) || defined (temacs))
321#define select sys_select
322#endif
323
324/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the 290/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the
325 stack. */ 291 stack. */
326#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 292#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS