annotate src/m/macppc.h @ 59384:a1edc5959dcf

* macfns.c: Include sys/param.h. [TARGET_API_MAC_CARBON] (mac_nav_event_callback): New declaration and function. [TARGET_API_MAC_CARBON] (Fx_file_dialog): Use MAXPATHLEN for size of filename string. Set event callback function when creating dialog boxes. Add code conversions for filenames. Don't dispose apple event descriptor record if failed to create it. * macterm.c: Include sys/param.h. [USE_CARBON_EVENTS] (mac_handle_window_event): Add handler for kEventWindowUpdate. (install_window_handler) [USE_CARBON_EVENTS]: Register it. (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Get FSRef instead of FSSpec from apple event descriptor record. (do_ae_open_documents) [TARGET_API_MAC_CARBON]: Use MAXPATHLEN for size of filename string. [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise. [TARGET_API_MAC_CARBON] (mac_do_receive_drag): Return error when a file dialog is in action. [TARGET_API_MAC_CARBON] (mac_do_track_drag): Likewise. Reject only when there are no filename items. Set background color before (un)highlighting the window below the dragged items. (XTread_socket) [!USE_CARBON_EVENTS]: Don't call do_window_update.
author Steven Tamm <steventamm@mac.com>
date Thu, 06 Jan 2005 02:53:39 +0000
parents 695cf19ef79e
children d555a0a5114c 375f2633d815
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25834
Dave Love <fx@gnu.org>
parents:
diff changeset
1 /* machine description file For the powerpc Macintosh.
44601
4be8406ebef9 Don't define HAVE_ALLOCA, C_ALLOCA and STACK_DIRECTION, now set by autoconf.
Andreas Schwab <schwab@suse.de>
parents: 40198
diff changeset
2 Copyright (C) 1994, 2001, 2002 Free Software Foundation, Inc.
25834
Dave Love <fx@gnu.org>
parents:
diff changeset
3
Dave Love <fx@gnu.org>
parents:
diff changeset
4 This file is part of GNU Emacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
5
Dave Love <fx@gnu.org>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
Dave Love <fx@gnu.org>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
Dave Love <fx@gnu.org>
parents:
diff changeset
8 the Free Software Foundation; either version 1, or (at your option)
Dave Love <fx@gnu.org>
parents:
diff changeset
9 any later version.
Dave Love <fx@gnu.org>
parents:
diff changeset
10
Dave Love <fx@gnu.org>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
Dave Love <fx@gnu.org>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
Dave Love <fx@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Dave Love <fx@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
Dave Love <fx@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
Dave Love <fx@gnu.org>
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Dave Love <fx@gnu.org>
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
Dave Love <fx@gnu.org>
parents:
diff changeset
20
Dave Love <fx@gnu.org>
parents:
diff changeset
21 /* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
Dave Love <fx@gnu.org>
parents:
diff changeset
22 is the most significant byte. */
Dave Love <fx@gnu.org>
parents:
diff changeset
23
Dave Love <fx@gnu.org>
parents:
diff changeset
24 #define WORDS_BIG_ENDIAN
Dave Love <fx@gnu.org>
parents:
diff changeset
25
Dave Love <fx@gnu.org>
parents:
diff changeset
26 /* Define NO_ARG_ARRAY if you cannot take the address of the first of a
Dave Love <fx@gnu.org>
parents:
diff changeset
27 * group of arguments and treat it as an array of the arguments. */
Dave Love <fx@gnu.org>
parents:
diff changeset
28
Dave Love <fx@gnu.org>
parents:
diff changeset
29 #define NO_ARG_ARRAY
Dave Love <fx@gnu.org>
parents:
diff changeset
30
Dave Love <fx@gnu.org>
parents:
diff changeset
31 /* Define WORD_MACHINE if addresses and such have
Dave Love <fx@gnu.org>
parents:
diff changeset
32 * to be corrected before they can be used as byte counts. */
Dave Love <fx@gnu.org>
parents:
diff changeset
33
Dave Love <fx@gnu.org>
parents:
diff changeset
34 /* #define WORD_MACHINE */
Dave Love <fx@gnu.org>
parents:
diff changeset
35
Dave Love <fx@gnu.org>
parents:
diff changeset
36 /* Now define a symbol for the cpu type, if your compiler
Dave Love <fx@gnu.org>
parents:
diff changeset
37 does not define it automatically:
Dave Love <fx@gnu.org>
parents:
diff changeset
38 Ones defined so far include vax, m68000, ns16000, pyramid,
Dave Love <fx@gnu.org>
parents:
diff changeset
39 orion, tahoe, APOLLO and many others */
Dave Love <fx@gnu.org>
parents:
diff changeset
40
Dave Love <fx@gnu.org>
parents:
diff changeset
41 /* Use type EMACS_INT rather than a union, to represent Lisp_Object */
Dave Love <fx@gnu.org>
parents:
diff changeset
42 /* This is desirable for most machines. */
Dave Love <fx@gnu.org>
parents:
diff changeset
43
Dave Love <fx@gnu.org>
parents:
diff changeset
44 #define NO_UNION_TYPE
Dave Love <fx@gnu.org>
parents:
diff changeset
45
Dave Love <fx@gnu.org>
parents:
diff changeset
46 /* Data type of load average, as read out of kmem. */
Dave Love <fx@gnu.org>
parents:
diff changeset
47
Dave Love <fx@gnu.org>
parents:
diff changeset
48 #define LOAD_AVE_TYPE long
Dave Love <fx@gnu.org>
parents:
diff changeset
49
Dave Love <fx@gnu.org>
parents:
diff changeset
50 /* Convert that into an integer that is 100 for a load average of 1.0 */
Dave Love <fx@gnu.org>
parents:
diff changeset
51
Dave Love <fx@gnu.org>
parents:
diff changeset
52 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
Dave Love <fx@gnu.org>
parents:
diff changeset
53
Dave Love <fx@gnu.org>
parents:
diff changeset
54 /* Some really obscure 4.2-based systems (like Sequent DYNIX)
Dave Love <fx@gnu.org>
parents:
diff changeset
55 * do not support asynchronous I/O (using SIGIO) on sockets,
Dave Love <fx@gnu.org>
parents:
diff changeset
56 * even though it works fine on tty's. If you have one of
Dave Love <fx@gnu.org>
parents:
diff changeset
57 * these systems, define the following, and then use it in
Dave Love <fx@gnu.org>
parents:
diff changeset
58 * config.h (or elsewhere) to decide when (not) to use SIGIO.
Dave Love <fx@gnu.org>
parents:
diff changeset
59 *
Dave Love <fx@gnu.org>
parents:
diff changeset
60 * You'd think this would go in an operating-system description file,
Dave Love <fx@gnu.org>
parents:
diff changeset
61 * but since it only occurs on some, but not all, BSD systems, the
Dave Love <fx@gnu.org>
parents:
diff changeset
62 * reasonable place to select for it is in the machine description
Dave Love <fx@gnu.org>
parents:
diff changeset
63 * file.
Dave Love <fx@gnu.org>
parents:
diff changeset
64 */
Dave Love <fx@gnu.org>
parents:
diff changeset
65
Dave Love <fx@gnu.org>
parents:
diff changeset
66 /* #define NO_SOCK_SIGIO */
Dave Love <fx@gnu.org>
parents:
diff changeset
67
28646
61ea94b6ee1f (ORDINARY_LINK): Define for NetBSD.
Gerd Moellmann <gerd@gnu.org>
parents: 25834
diff changeset
68 #if defined(__OpenBSD__)
25834
Dave Love <fx@gnu.org>
parents:
diff changeset
69 #define ORDINARY_LINK
Dave Love <fx@gnu.org>
parents:
diff changeset
70 #endif
Dave Love <fx@gnu.org>
parents:
diff changeset
71
Dave Love <fx@gnu.org>
parents:
diff changeset
72 #define UNEXEC unexelf.o
Dave Love <fx@gnu.org>
parents:
diff changeset
73
Dave Love <fx@gnu.org>
parents:
diff changeset
74 #define NO_TERMIO
Dave Love <fx@gnu.org>
parents:
diff changeset
75
Dave Love <fx@gnu.org>
parents:
diff changeset
76 #if defined (LINUX) || defined (__NetBSD__) || defined (__OpenBSD__)
Dave Love <fx@gnu.org>
parents:
diff changeset
77 # define TEXT_END ({ extern int _etext; &_etext; })
Dave Love <fx@gnu.org>
parents:
diff changeset
78 #endif
Dave Love <fx@gnu.org>
parents:
diff changeset
79
Dave Love <fx@gnu.org>
parents:
diff changeset
80 #if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__)
Dave Love <fx@gnu.org>
parents:
diff changeset
81 #define HAVE_TEXT_START
Dave Love <fx@gnu.org>
parents:
diff changeset
82 #endif
30011
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
83
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
84 /* NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> says this is needed
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
85 For MkLinux/LinuxPPC. */
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
86
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
87 #ifdef LINUX
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
88 #define LINKER $(CC) -nostdlib
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
89 #define LD_SWITCH_MACHINE -Xlinker -m -Xlinker elf32ppc
40198
0bd966523c89 [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
Eli Zaretskii <eliz@gnu.org>
parents: 39492
diff changeset
90 /* s/gnu-linux.h defines this to `-z nocombreloc' which does not work here
0bd966523c89 [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
Eli Zaretskii <eliz@gnu.org>
parents: 39492
diff changeset
91 because prefix-args is not used. */
0bd966523c89 [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
Eli Zaretskii <eliz@gnu.org>
parents: 39492
diff changeset
92 #undef LD_SWITCH_SYSTEM_TEMACS
0bd966523c89 [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
Eli Zaretskii <eliz@gnu.org>
parents: 39492
diff changeset
93 #define LD_SWITCH_MACHINE_TEMACS -Xlinker -znocombreloc
30011
aa56df73f23a (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
Gerd Moellmann <gerd@gnu.org>
parents: 28646
diff changeset
94 #endif
39311
ac26c99a7a0c (DATA_SEG_BITS) [__linux__]: Define for GCC
Gerd Moellmann <gerd@gnu.org>
parents: 30011
diff changeset
95
39492
11c635084cb7 Put in #if 0 until we know what's
Gerd Moellmann <gerd@gnu.org>
parents: 39341
diff changeset
96 #if 0 /* This breaks things on PPC GNU/Linux ecept for Yellowdog,
11c635084cb7 Put in #if 0 until we know what's
Gerd Moellmann <gerd@gnu.org>
parents: 39341
diff changeset
97 even with identical GCC, as, ld. Let's take it out until we
11c635084cb7 Put in #if 0 until we know what's
Gerd Moellmann <gerd@gnu.org>
parents: 39341
diff changeset
98 know what's really going on here. */
39341
3c7fb43900bd (DATA_SEG_BITS): Also define for GCC 3.
Gerd Moellmann <gerd@gnu.org>
parents: 39311
diff changeset
99 /* GCC 2.95 and newer on GNU/Linux PPC changed the load address to
3c7fb43900bd (DATA_SEG_BITS): Also define for GCC 3.
Gerd Moellmann <gerd@gnu.org>
parents: 39311
diff changeset
100 0x10000000. */
3c7fb43900bd (DATA_SEG_BITS): Also define for GCC 3.
Gerd Moellmann <gerd@gnu.org>
parents: 39311
diff changeset
101 #if defined __linux__
3c7fb43900bd (DATA_SEG_BITS): Also define for GCC 3.
Gerd Moellmann <gerd@gnu.org>
parents: 39311
diff changeset
102 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
39311
ac26c99a7a0c (DATA_SEG_BITS) [__linux__]: Define for GCC
Gerd Moellmann <gerd@gnu.org>
parents: 30011
diff changeset
103 #define DATA_SEG_BITS 0x10000000
ac26c99a7a0c (DATA_SEG_BITS) [__linux__]: Define for GCC
Gerd Moellmann <gerd@gnu.org>
parents: 30011
diff changeset
104 #endif
39341
3c7fb43900bd (DATA_SEG_BITS): Also define for GCC 3.
Gerd Moellmann <gerd@gnu.org>
parents: 39311
diff changeset
105 #endif
39492
11c635084cb7 Put in #if 0 until we know what's
Gerd Moellmann <gerd@gnu.org>
parents: 39341
diff changeset
106 #endif /* 0 */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
107
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
108 /* arch-tag: 41913e4e-e7d1-4023-aadb-210cc31712ed
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 44601
diff changeset
109 (do not change this comment) */