comparison mac/INSTALL @ 32752:923b8d6d8277

Initial check-in: changes for building Emacs under Mac OS. 2000-10-23 Andrew Choi <akochoi@i-cable.com> * dispextern.h [macintosh]: Include macgui.h instead of macterm.h. * dispnew.c [macintosh]: Include macterm.h. (init_display) [macintosh]: initialization for window system. * emacs.c (main) [macintosh]: Call syms_of_textprop, syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm, syms_of_search, x_term_init, and init_keyboard before calling init_window_once. Also, call syms_of_xmenu. * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of default fontset to Monaco. * frame.c [macintosh]: Include macterm.h. Remove declarations of NewMacWindow and DisposeMacWindow. (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame instead of calling NewMacWindow and setting fields of f->output_data.mac directly. Call init_frame_faces. (Fdelete_frame) [macintosh]: Remove unused code. (Fmodify_frame_parameters) [macintosh]: Call x_set_frame_parameters instead of mac_set_frame_parameters. * frame.h [macintosh]: Define menu_bar_lines field in struct frame. Define FRAME_EXTERNAL_MENU_BAR macro. * keyboard.c [macintosh]: Include macterm.h. (kbd_buffer_get_event) [macintosh]: Generate delete_window_event and menu_bar_activate_event type events as for X and NT. (make_lispy_event) [macintosh]: Construct lisp events of type MENU_BAR_EVENT as for X and NT. * sysdep.c [macintosh]: Remove declaration for sys_signal. Include stdlib.h. Remove definition of Vx_bitmap_file_path. (sys_subshell) [macintosh]: Remove definition entirely. (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and Vwindow_system_version here. Remove initialization of Vx_bitmap_file_path. (read_input_waiting): Correct the number of parameters passed to read_socket_hook. Move all Macintosh functions to mac/mac.c. * term.c [macintosh]: Include macterm.h. * window.c [macintosh]: Include macterm.h. * xdisp.c [macintosh]: Include macterm.h. Declare set_frame_menubar and pending_menu_activation. (echo_area_display) [macintosh]: Do not return if terminal frame is the selected frame. (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f). Allow only the selected frame to set menu bar. (redisplay_window) [macintosh]: Obtain menu bar to redisplay by calling FRAME_EXTERNAL_MENU_BAR (f). (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f). * xfaces.c [macintosh]: Include macterm.h. Define x_display_info and check_x. Declare XCreateGC. Define x_create_gc and x_free_gc. Initialize font_sort_order. (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT, but call x_list_fonts instead of w32_list_fonts. (Finternal_face_x_get_resource) [macintosh]: Do not call display_x_get_resource. (prepare_face_for_display) [macintosh]: Set xgcv.font. (realize_x_face) [macintosh]: Load the font if it is specified in ATTRS. (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt. * cus-edit.el (custom-button-face): Use 3D look for mac. (custom-button-pressed-face): Likewise. * faces.el (set-face-attributes-from-resources): Handle mac frames in the same way as x and w32 frames. (face-valid-attribute-values): Likewise. (read-face-attribute): Likewise. (defined-colors): Likewise. (color-defined-p): Likewise. (color-values): Likewise. (display-grayscale-p): Likewise. (face-set-after-frame-default): Likewise. (mode-line): Same default face as for x and w32. (tool-bar): Likewise. * frame.el: Remove call to frame-notice-user-settings at end of the file. * info.el (Info-fontify-node): make underlines invisible for mac as for x, pc, and w32 frame types. * term/mac-win.el: New file.
author Andrew Choi <akochoi@shaw.ca>
date Sun, 22 Oct 2000 16:50:16 +0000
parents
children 59ce5f754d90
comparison
equal deleted inserted replaced
32751:2a657a9fae69 32752:923b8d6d8277
1 * BUILDING EMACS ON THE MAC OS -*- outline -*-
2
3 You can use either Metrowerks CodeWarrior Pro 5 or 6 or MPW-GM
4 (Aug. 2000) to build Emacs. MPW-GM can be downloaded free of charge
5 from Apple at
6
7 http://developer.apple.com/tools/mpw-tools/
8
9 You will need MPW-GM to build the make-docfile utility and to generate
10 the doc string file DOC.
11
12 To decompress files, you can use MacGzip from
13
14 http://persephone.cps.unizar.es/~spd/gzip
15
16 and to untar them, you can use tar 4.0 from
17
18 http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/tar-40b.hqx
19
20 (Optional) If you wish to fetch files from the Emacs CVS repository
21 directly to your Mac, you can use the CVS client MacCVS, which can be
22 downloaded from
23
24 http://www.wincvs.org/
25
26 (Optional) A subset of the fonts from the GNU intlfonts-1.2
27 distribution converted to NFNT format can be obtained from
28
29 ftp://mac-emacs.sourceforge.net/pub/mac-emacs/GNU-fonts.smi.bin
30
31 * BUILDING EMACS
32
33 To build Emacs in the MPW Shell, simply set the directory to
34 ...:emacs:mac: and build the target Emacs of the make file
35 makefile.mpw. I.e., execute the commands
36
37 make Emacs -f makefile.MPW > Emacs.MakeScript
38 Emacs.MakeScript
39
40 To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose
41 File->Import Project... and select the file emacs-cw5.mcp.xml or
42 emacs-cw6.mcp.xml, depending on which verison of CodeWarrior used.
43 When prompted to save the project, navigate to same directory as the
44 file emacs-cw[56].mcp.xml, name it emacs-cw5.mcp or emacs-cw6.mcp, and
45 save it there. Then choose Project->Make. Note that this does not
46 build the DOC file. To do so, use MPW and build the target "Doc" in
47 makefile.MPW.
48
49 Once built, the Emacs application (Emacs CW or Emacs MPW) can be
50 launched where it is created.
51
52 To build an optimized version of Emacs in CodeWarrior, change the
53 value in the Emacs Settings->Code Generation->Global Optimization
54 dialog. To build a version for profiling, check the Profiler
55 Information box in the Emacs Settings->Code Generation->PPC Processor
56 dialog and include the Profiler PPC.Lib library.
57
58 To build optimized or debugging version of Emacs in MPW, follow the
59 comment in makefile.MPW to enable the -opt speed or -sym on option
60 (see note below).
61
62 The Mac version requires compiled Lisp files to be present in the lisp
63 directory to run properly. It is cumbersome to bootstrap from only
64 the Lisp source files. One way of getting the compiled Lisp files is
65 to build Emacs once on, say, a Unix system and transfer that directory
66 to the Mac. Note that linefeed conversion must be disabled when
67 transferring compiled Lisp files.
68
69 An alternative is to unzip and untar the archive lisp-elc.tgz. An
70 older version of frame.elc in the archive may cause a problem when the
71 Mac version starts up. If this is the case, simply remove or rename
72 that file. Then once Emacs runs, you can invoke
73 byte-recompile-directory on the lisp directory to byte-compile all
74 out-of-date Lisp files.
75
76 You may also need to run update-autoloads-from-directories on the lisp
77 directory to bring loaddefs.el up-to-date.
78
79 * NOTES
80
81 Emacs should build and run on a PowerMac running Mac OS 8.1 - 9.0.
82
83 You will need around 100 MB of disk space for the source files and
84 intermediate files.
85
86 It will not run on machines with more than 256 MB of physical or
87 virtual memory.
88
89 Currently there is no support for building the LEIM directory on the
90 Mac. However, it can be built on another platform and transferred to
91 the Mac.
92
93 When Emacs is built with "-opt speed" enabled in makefile.MPW,
94 optimization causes the functions reset_buffer_local_variables in
95 buffer.c and syms_of_lread in lread.c to crash. Avoid this by
96 enclosing them in the following pragmas.
97
98 #pragma options opt off
99
100 <function definition...>
101
102 #pragma options opt reset
103
104 To use the same icon as when Emacs is built on Windows NT, define
105 GNU_ICON in mac/src/Emacs.r.