summaryrefslogtreecommitdiff
path: root/mac
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2005-03-06 13:31:20 +0000
committerKaroly Lorentey <lorentey@elte.hu>2005-03-06 13:31:20 +0000
commita0d878a9ccbfb7c68dd7cfbe05c2b71b9bd5c830 (patch)
tree79ba80d6f6c4b787c60b36ebcd87c1b26f0906e1 /mac
parentab455350da7728b0f8e1daf92c084092d8a04c29 (diff)
parentbe6e87e51aaa3a114bc4ff2ceccbc7c9aa2b30d0 (diff)
downloademacs-a0d878a9ccbfb7c68dd7cfbe05c2b71b9bd5c830.tar.gz
Merged from miles@gnu.org--gnu-2005 (patch 34-36, 142-158)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-142 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-143 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-144 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-145 (make-text-button): Default button type if not specified * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-146 quick-install-emacs: Use mkdir --verbose only when requested * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-147 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-148 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-149 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-150 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-151 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-152 Add info/dir to arch branch * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-153 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-154 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-155 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-156 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-157 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-158 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-34 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-35 Update from CVS * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-36 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-303
Diffstat (limited to 'mac')
-rw-r--r--mac/ChangeLog14
-rw-r--r--mac/INSTALL6
-rw-r--r--mac/inc/config.h2
-rw-r--r--mac/makefile.MPW45
-rw-r--r--mac/src/EmacsMPW.r14
5 files changed, 65 insertions, 16 deletions
diff --git a/mac/ChangeLog b/mac/ChangeLog
index a12d8bc4673..a0083af7e43 100644
--- a/mac/ChangeLog
+++ b/mac/ChangeLog
@@ -1,3 +1,17 @@
+2005-03-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * INSTALL: Mention new target `NonCarbon'.
+
+2005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ * makefile.MPW (NonCarbon): New target. The target `Emacs' is now
+ used for the Carbon build that defines HAVE_CARBON.
+
+ * inc/config.h (HAVE_STDLIB_H): Define to 1.
+
+ * src/EmacsMPW.r (SIZE): Increase preferred memory size to 32MB.
+ [HAVE_CARBON] (crfg): New resource for extra stack space.
+
2004-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW: Add dependencies for fringe.c.x, image.c.x, and
diff --git a/mac/INSTALL b/mac/INSTALL
index 88306ae0573..4463b8f32e2 100644
--- a/mac/INSTALL
+++ b/mac/INSTALL
@@ -182,6 +182,12 @@ makefile.mpw. I.e., execute the commands
make Emacs -f makefile.MPW > Emacs.MakeScript
Emacs.MakeScript
+The above commands create an executable that uses the Carbon API. The
+non-Carbon version can also be created by replacing all the
+occurrences of `Emacs' above with `NonCarbon'. Not that the
+non-Carbon version does not support some features such as file
+dialogs, drag-and-drop, and unicode menus.
+
To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose
File->Import Project... and select the file cw6-mcp.xml. When
prompted to save the project, navigate to same directory as the file
diff --git a/mac/inc/config.h b/mac/inc/config.h
index 4f9d36c030c..c996cce4bfd 100644
--- a/mac/inc/config.h
+++ b/mac/inc/config.h
@@ -184,7 +184,7 @@ Boston, MA 02111-1307, USA. */
/* #undef HAVE_TERMIOS_H */
#define HAVE_LIMITS_H 1
#define HAVE_STRING_H 1
-/* #undef HAVE_STDLIB_H */
+#define HAVE_STDLIB_H 1
/* #undef HAVE_TERMCAP_H */
/* #undef HAVE_TERM_H */
/* #undef HAVE_STDIO_EXT_H */
diff --git a/mac/makefile.MPW b/mac/makefile.MPW
index 870052996b7..bd7ced4a14f 100644
--- a/mac/makefile.MPW
+++ b/mac/makefile.MPW
@@ -21,7 +21,8 @@
# Boston, MA 02111-1307, USA. */
#
# Defines the following targets:
-# Emacs (default) - normal Emacs build.
+# Emacs (default) - normal Carbon Emacs build.
+# NonCarbon - non-Carbon Emacs build.
# Clean - remove all object and executable files to prepare for a fresh build.
# Doc - generate the "DOC" file in ~emacs/etc/.
# Make-DocFile - build the make-docfile tool, utility for generating "DOC".
@@ -38,7 +39,9 @@ Lisp = ::lisp: # emacs's lisp directory
Make-DocFileDir = {Lib-Src} # directory containing make-docfile tool
Makefile = makefile.MPW # self reference
+NonCarbonMakeOut = NonCarbon.MakeOut # temporary file for non-Carbon build script
+CarbonOption = -d HAVE_CARBON
SymOption = # -sym on # remove hash mark before "-sym on" to enable source debugging
OptOption = # -opt speed # alternatively set to -opt off or -opt size
@@ -47,7 +50,7 @@ OptOption = # -opt speed # alternatively set to -opt off or -opt size
PPCCOptions = {SymOption} {OptOption} -noMapCR -enum int -alloca ¶
-typecheck relaxed -w off ¶
-includes unix -i {Includes},{Src} ¶
- -d emacs=1 -d HAVE_CONFIG_H -d MAC_OS -d MAC_OS8
+ -d emacs=1 -d HAVE_CONFIG_H -d MAC_OS -d MAC_OS8 {CarbonOption}
LinkOptions = {SymOption} -d
@@ -132,29 +135,42 @@ MacObjects = ¶
"{Src}macmenu.c.x" ¶
"{Src}macterm.c.x"
+StdLibraries = ¶
+ "{SharedLibraries}CarbonLib" ¶
+ "{SharedLibraries}StdCLib" ¶
+ "{PPCLibraries}StdCRuntime.o" ¶
+ "{PPCLibraries}PPCCRuntime.o"
+
+NonCarbonLibs = ¶
+ "{SharedLibraries}InterfaceLib" ¶
+ "{SharedLibraries}StdCLib" ¶
+ "{SharedLibraries}MathLib" ¶
+ "{SharedLibraries}AppleScriptLib" ¶
+ "{SharedLibraries}TextEncodingConverter" ¶
+ "{SharedLibraries}AppearanceLib" ¶
+ "{SharedLibraries}QuickTimeLib" ¶
+ "{PPCLibraries}StdCRuntime.o" ¶
+ "{PPCLibraries}PPCCRuntime.o" ¶
+ "{PPCLibraries}PPCToolLibs.o"
+
# The next two are the dependency rules for building Emacs.
Emacs ÄÄ {Makefile} {DocTarget}DOC {EmacsObjects} {MacObjects}
PPCLink ¶
{LinkOptions} ¶
{EmacsObjects} {MacObjects} ¶
- "{SharedLibraries}InterfaceLib" ¶
- "{SharedLibraries}StdCLib" ¶
- "{SharedLibraries}MathLib" ¶
- "{SharedLibraries}AppleScriptLib" ¶
- "{SharedLibraries}TextEncodingConverter" ¶
- "{SharedLibraries}AppearanceLib" ¶
- "{SharedLibraries}QuickTimeLib" ¶
- "{PPCLibraries}StdCRuntime.o" ¶
- "{PPCLibraries}PPCCRuntime.o" ¶
- "{PPCLibraries}PPCToolLibs.o" ¶
+ {StdLibraries} ¶
-o "{EmacsTarget}"
Emacs ÄÄ {Makefile} "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r
- Rez -a "{Source}"Emacs.maclf.r -o "{EmacsTarget}"
- Rez -a "{Source}"EmacsMPW.maclf.r -o "{EmacsTarget}"
+ Rez {CarbonOption} -a "{Source}"Emacs.maclf.r -o "{EmacsTarget}"
+ Rez {CarbonOption} -a "{Source}"EmacsMPW.maclf.r -o "{EmacsTarget}"
SetFile "{EmacsTarget}" -t APPL -c 'EMAx' -a B
+NonCarbon Ä
+ Make -f "{Makefile}" -d CarbonOption="" -d StdLibraries='{NonCarbonLibs}' > "{NonCarbonMakeOut}"
+ "{NonCarbonMakeOut}"
+
# Rez cannot handle files with Unix style end lines at all. So generate
# them. It does not hurt if Emacs.r and EmacsMPW.r already have Mac end
# lines.
@@ -951,6 +967,7 @@ Clean Ä
Delete -i stdout stderr
Delete -i {Make-DocFile-Objects} {Make-DocFileDir}make-docfile
Delete -i "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r
+ Delete -i "{NonCarbonMakeOut}"
DistClean Ä Clean
Delete -i "Emacs CW"Å
diff --git a/mac/src/EmacsMPW.r b/mac/src/EmacsMPW.r
index ad49ab3b76d..7db45ca4f80 100644
--- a/mac/src/EmacsMPW.r
+++ b/mac/src/EmacsMPW.r
@@ -42,6 +42,18 @@ resource 'SIZE' (-1) {
reserved,
reserved,
reserved,
- 16777216,
+ 33554432,
16777216
};
+
+#ifdef HAVE_CARBON
+resource 'cfrg' (0) {
+ {
+ kPowerPCCFragArch, kIsCompleteCFrag, kNoVersionNum, kNoVersionNum,
+ 311296, /* 48K (default) + 256K (EXTRA_STACK_ALLOC in macterm.c) */
+ kNoAppSubFolder,
+ kApplicationCFrag, kDataForkCFragLocator, kZeroOffset, kCFragGoesToEOF,
+ "",
+ }
+};
+#endif