Annotation of OpenXM_contrib/gmp/macos/README, Revision 1.1.1.2
1.1 maekawa 1: ===========================================================================
2:
3: GMP port to Power Macintosh and MacOS
4:
5: Kent Boortz <kent@swox.se>
6:
7: ===========================================================================
8:
1.1.1.2 ! ohara 9: Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
1.1 maekawa 10:
1.1.1.2 ! ohara 11: This file is part of the GNU MP Library.
1.1 maekawa 12:
1.1.1.2 ! ohara 13: The GNU MP Library is free software; you can redistribute it and/or modify
! 14: it under the terms of the GNU Lesser General Public License as published by
! 15: the Free Software Foundation; either version 2.1 of the License, or (at your
! 16: option) any later version.
! 17:
! 18: The GNU MP Library is distributed in the hope that it will be useful, but
! 19: WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
! 20: or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
! 21: License for more details.
! 22:
! 23: You should have received a copy of the GNU Lesser General Public License
! 24: along with the GNU MP Library; see the file COPYING.LIB. If not, write to
! 25: the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! 26: 02111-1307, USA.
! 27:
! 28:
! 29:
! 30:
! 31: This is an unsupported port of GMP to Power Macintosh and MacOS. This
! 32: port is *not* for OS X which is a Unix derivative, that system can use
! 33: the normal configure and make described in the GMP manual.
! 34:
! 35: This port will use the optimized 'mpn' assembler routines written for
! 36: 32 bit PowerPC to gain speed. The BSD MP compatible library is not
! 37: built. The MacOS configuration uses the 'malloc-notreentrant' option
! 38: to optimize for speed.
1.1 maekawa 39:
40: The output is a library
41:
42: $GMP_SOURCE_DIR/macos/libgmp.$GMP_VERSION
43:
44: Not all tests pass
45:
46: We never run the 'io' test the source don't compile
47:
48: If using Apple's compilers we never run the mpz t-mul, mpf t-add
49: and mpf t-sub because they don't compile with MrC 4.1
50:
51:
52:
53: REQUIREMENTS
54: ============
55:
56: To compile into the library you need
57:
1.1.1.2 ! ohara 58: Apple MPW (free)
1.1 maekawa 59: MacPerl 5 for MPW
60:
1.1.1.2 ! ohara 61: GMP build was tested with MPW Shell 3.5.
1.1 maekawa 62:
1.1.1.2 ! ohara 63: MacPerl is free, download and install the MPW tool version from
! 64: any CPAN mirror. There is a list of mirrors at
1.1 maekawa 65:
1.1.1.2 ! ohara 66: http://www.cpan.org/SITES.html
! 67: http://mirror.cpan.org/
1.1 maekawa 68:
1.1.1.2 ! ohara 69: There is also a special site dedicated to MacPerl
1.1 maekawa 70:
71: http://www.macperl.com
72:
73: You need the "Appl" and "Tool" archive, for example
74:
75: http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_appl.bin
76: http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_tool.bin
77:
78:
79:
80: APPLE MPW INSTALLATION
81: ======================
82:
1.1.1.2 ! ohara 83: The MPW development system can be downloaded from
1.1 maekawa 84:
85: http://developer.apple.com/tools/mpw-tools/
86:
87: You need "StuffIt Expander" to unpack the source. You can download
88: "StuffIt Expander" for free from
89:
90: http://www.aladdinsys.com/expander/expander_mac_login.html
91:
92: This result is a PDF file that can be read with the free Acrobat Reader
93:
94: http://www.adobe.com/products/acrobat/readstep.html
95:
96: From the MPW development environment you need at least
97:
1.1.1.2 ! ohara 98: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./About_MPW_etc.sit.hqx
1.1 maekawa 99: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/MPW_Shell.sit.hqx
100: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Scripts.sit.hqx
1.1.1.2 ! ohara 101: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/GetFileName.sit.hqx
1.1 maekawa 102: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/Make.sit.hqx
103: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/MrC.sit.hqx
104: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/PPCAsm.sit.hqx
105: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/PPCLink.sit.hqx
106: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/Libraries.sit.hqx
107: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/RuntimeLibraries.sit.hqx
108: ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/Interfaces/CIncludes.sit.hqx
1.1.1.2 ! ohara 109:
1.1 maekawa 110: Put these into a folder and drag the whole folder to the "StuffIt
111: Expander" icon to unpack them.
112:
113: Move "Scripts" folder down into the "MPW_Shell Folder".
114:
115: Create a folder "Tools" inside the "MPW_Shell Folder" and move "Make",
116: "PPCAsm", "MrC", "PPCLink" and "GetFileName" down into the "Tools"
117: folder.
118:
119: Create a folder "Interfaces&Libraries" at the same level as the
1.1.1.2 ! ohara 120: "MPW_Shell Folder". Put Put "RuntimeLibraries", "Libraries" into the
! 121: "Interfaces&Libraries" folder. Inside the "Interfaces&Libraries"
! 122: folder create a new folder "Interfaces" and put "CInlcudes" into it.
1.1 maekawa 123:
124: In summary, the manually moved files/folders should be located at
125:
126: :MPW_Shell Folder:Tools:Make
127: :MPW_Shell Folder:Tools:PPCAsm
128: :MPW_Shell Folder:Tools:MrC
129: :MPW_Shell Folder:Tools:PPCLink
130: :MPW_Shell Folder:Tools:GetFileName
131: :Interfaces&Libraries:RuntimeLibraries:
132: :Interfaces&Libraries:Libraries:
133: :Interfaces&Libraries:Interfaces:CInlcudes:
134:
135: Follow the rest of the installation instructions in "About MPW etc.".
136:
137:
138:
1.1.1.2 ! ohara 139: MACPERL MPW INSTALLATION
! 140: ========================
! 141:
! 142: Drag these archives to the "StuffIt Expander" icon to unpack them.
! 143: The result is two installation programs. Run the "Mac_Perl_520r4_appl"
! 144: installer and let it install Perl into the default location, then run
! 145: the "Mac_Perl_520r4_tool" insaller.
1.1 maekawa 146:
1.1.1.2 ! ohara 147: To enable MPW to use MacPerl follow the instructions in the first
! 148: comment in the file "Install.MPW_Perl". For MacPerl 520r4 this is
1.1 maekawa 149:
1.1.1.2 ! ohara 150: - Double click on the "MPW Shell" icon to start MPW and change the
! 151: directory to the "MacPerl f" folder using the directory command or
! 152: the "Set Directory..." menu item.
1.1 maekawa 153:
1.1.1.2 ! ohara 154: - Execute the "Install.MPW_Perl" command, i.e. write the name of the
! 155: command at the end of the "Worksheet" window, select the command
! 156: text and hit the "Enter" key". This will create a configuration
! 157: file and open it.
1.1 maekawa 158:
1.1.1.2 ! ohara 159: - Execute the "Install.MPW_Perl" command again.
1.1 maekawa 160:
1.1.1.2 ! ohara 161: - Execute the text the script wrote to the "Worksheet" window, i.e.
! 162: drag select all the lines and hit the "Enter" key.
1.1 maekawa 163:
1.1.1.2 ! ohara 164: - You need to restart MPW to make Perl work.
1.1 maekawa 165:
166:
167:
168: BUILD PROCESS
169: =============
170:
171: The "macos" folder/directory should be inside the top directory in the
172: GMP source tree and should contain four files
173:
174: README This file.
175: configure Create files and directories needed.
176: unix2mac Used to convert "configure" end-of-line chars.
177: Makefile.in Source for the final "Makefile".
178:
179: Double click on the "MPW Shell" icon and set the directory using the
180: "Directory" menu to the "$GMP_SOURCE_DIR:macos:" folder/directory.
181:
182: You run "configure" in a two step process
183:
184: % perl unix2mac configure > configure.mac
185: % perl configure.mac
186:
187: Then run "Make"
188:
189: % make
190:
191: This will not execute the commands. It is like "make -n" on Unix, it
192: will display the commands to execute. You select the commands and
193: hit "enter" to actually execute the commands.
194:
195: To test the code you execute the output from
196:
1.1.1.2 ! ohara 197: % make check
1.1 maekawa 198:
199: If there is an error the test program will complain. Note that the
200: test programs can contain errors so a test failure doesn't always
201: mean that the library is broken.
202:
203: To cleanup to the state before configure you execute the output from
204:
1.1.1.2 ! ohara 205: % make clean
1.1 maekawa 206:
207: To remove the the resulting library as well you do
208:
1.1.1.2 ! ohara 209: % make distclean
1.1 maekawa 210:
211:
212:
213: PROBLEMS
214: ========
215:
1.1.1.2 ! ohara 216: Bug reports can be sent to bug-gmp@gnu.org. Unfortunately the
! 217: developers don't use this port and can offer only very general help.
! 218: Reports including any fixes or updates necessary would be welcomed.
1.1 maekawa 219:
220: There may be problems if the program you use for unpacking the source
221: use automatic conversion of end-of-line characters.
222:
223: This port may be out of sync with minor GMP releases or patches.
224: The MacOS build is very different from the Unix build process and
225: for some changes in the Unix build the build process for MacOS has
1.1.1.2 ! ohara 226: to be changed manually.
1.1 maekawa 227:
228: The library uses stream I/O operations for some of the GMP functions
229: and maybe for some error messages. This means that to link this
230: library to form a normal Mac application you may get link problems,
231: i.e. a Mac normally has no console/shell to write to.
232:
233: If you are unfamiliar with MPW note that the "return" key and the
234: "enter" key mean different things to MPW. The first just add a line
235: break, the second send the line your pointer is at or the selection
236: you have to the MPW command interpreter.
237:
238: If you mount the GMP source from a Unix netatalk server don't move or
239: remove files from the Unix side while MPW is running. MPW cache
240: information about what the file system looks like and gets very
241: confused or crash.
242:
243: Kent Boortz <kent@swox.se>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>