version 1.1, 2000/09/09 14:12:20 |
version 1.1.1.2, 2003/08/25 16:06:11 |
|
|
|
|
=========================================================================== |
=========================================================================== |
|
|
|
Copyright 2000, 2001, 2002 Free Software Foundation, Inc. |
|
|
|
This file is part of the GNU MP Library. |
|
|
This is an unsupported port of GMP to Power Macintosh and MacOS. It |
The GNU MP Library is free software; you can redistribute it and/or modify |
will use the optimized 'mpn' assembler routines written for 32 bit |
it under the terms of the GNU Lesser General Public License as published by |
PowerPC to gain speed. The BSD MP compatible library is not built. |
the Free Software Foundation; either version 2.1 of the License, or (at your |
|
option) any later version. |
|
|
|
The GNU MP Library is distributed in the hope that it will be useful, but |
|
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY |
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public |
|
License for more details. |
|
|
|
You should have received a copy of the GNU Lesser General Public License |
|
along with the GNU MP Library; see the file COPYING.LIB. If not, write to |
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
|
02111-1307, USA. |
|
|
|
|
|
|
|
|
|
This is an unsupported port of GMP to Power Macintosh and MacOS. This |
|
port is *not* for OS X which is a Unix derivative, that system can use |
|
the normal configure and make described in the GMP manual. |
|
|
|
This port will use the optimized 'mpn' assembler routines written for |
|
32 bit PowerPC to gain speed. The BSD MP compatible library is not |
|
built. The MacOS configuration uses the 'malloc-notreentrant' option |
|
to optimize for speed. |
|
|
The output is a library |
The output is a library |
|
|
$GMP_SOURCE_DIR/macos/libgmp.$GMP_VERSION |
$GMP_SOURCE_DIR/macos/libgmp.$GMP_VERSION |
|
|
|
|
To compile into the library you need |
To compile into the library you need |
|
|
Apple MPW (free) or CodeWarrior MPW |
Apple MPW (free) |
MacPerl 5 for MPW |
MacPerl 5 for MPW |
|
|
GMP build was tested with CodeWarrior Pro 5 and MPW Shell 3.5. |
GMP build was tested with MPW Shell 3.5. |
|
|
For compiling with the free Apple MPW development system you need a |
MacPerl is free, download and install the MPW tool version from |
68K Macintosh with a 68020 or higher microprocessor, or any Power |
any CPAN mirror. There is a list of mirrors at |
Macintosh with at least 8 Mb of memory and MacOS 7.5 or later. |
|
|
|
See the CodeWarrior documentation for the CodeWarrior MPW requirements. |
http://www.cpan.org/SITES.html |
|
http://mirror.cpan.org/ |
|
|
MacPerl is free, download and install the MPW tool version from |
There is also a special site dedicated to MacPerl |
|
|
http://www.macperl.com |
http://www.macperl.com |
|
|
Line 50 You need the "Appl" and "Tool" archive, for example |
|
Line 75 You need the "Appl" and "Tool" archive, for example |
|
http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_appl.bin |
http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_appl.bin |
http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_tool.bin |
http://www.perl.com/CPAN-local/ports/mac/Mac_Perl_520r4_tool.bin |
|
|
See the file "Install.MPW_Perl" for MPW Perl installation instructions. |
|
|
|
|
|
|
|
APPLE MPW INSTALLATION |
APPLE MPW INSTALLATION |
====================== |
====================== |
|
|
The MPW development system can be found on February 2000 Apple developer |
The MPW development system can be downloaded from |
"tool chest" CD or be downloaded from |
|
|
|
http://developer.apple.com/tools/mpw-tools/ |
http://developer.apple.com/tools/mpw-tools/ |
|
|
Line 67 You need "StuffIt Expander" to unpack the source. You |
|
Line 89 You need "StuffIt Expander" to unpack the source. You |
|
|
|
http://www.aladdinsys.com/expander/expander_mac_login.html |
http://www.aladdinsys.com/expander/expander_mac_login.html |
|
|
Unpack the installation instructions |
|
|
|
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./About_MPW_etc.sit.hqx |
|
|
|
This result is a PDF file that can be read with the free Acrobat Reader |
This result is a PDF file that can be read with the free Acrobat Reader |
|
|
http://www.adobe.com/products/acrobat/readstep.html |
http://www.adobe.com/products/acrobat/readstep.html |
|
|
From the MPW development environment you need at least |
From the MPW development environment you need at least |
|
|
|
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./About_MPW_etc.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/MPW_Shell.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/MPW_Shell.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Scripts.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Scripts.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/GetFileName.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/GetFileName.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/Make.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/Make.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/MrC.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/MrC.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/PPCAsm.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/MPW/Tools/PPCAsm.sit.hqx |
Line 87 From the MPW development environment you need at least |
|
Line 106 From the MPW development environment you need at least |
|
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/Libraries.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/Libraries.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/RuntimeLibraries.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/RuntimeLibraries.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/Interfaces/CIncludes.sit.hqx |
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./MPW-GM/Interfaces&Libraries/Interfaces/CIncludes.sit.hqx |
|
|
Put these into a folder and drag the whole folder to the "StuffIt |
Put these into a folder and drag the whole folder to the "StuffIt |
Expander" icon to unpack them. |
Expander" icon to unpack them. |
|
|
Line 98 Create a folder "Tools" inside the "MPW_Shell Folder" |
|
Line 117 Create a folder "Tools" inside the "MPW_Shell Folder" |
|
folder. |
folder. |
|
|
Create a folder "Interfaces&Libraries" at the same level as the |
Create a folder "Interfaces&Libraries" at the same level as the |
"MPW_Shell Folder". Put Put "RuntimeLibraries", "Libraries" into |
"MPW_Shell Folder". Put Put "RuntimeLibraries", "Libraries" into the |
the "Interfaces&Libraries" folder. Inside the "Interfaces&Libraries" folder |
"Interfaces&Libraries" folder. Inside the "Interfaces&Libraries" |
create a new folder "Interfaces" and put "CInlcudes" into it. |
folder create a new folder "Interfaces" and put "CInlcudes" into it. |
|
|
In summary, the manually moved files/folders should be located at |
In summary, the manually moved files/folders should be located at |
|
|
Line 113 In summary, the manually moved files/folders should be |
|
Line 132 In summary, the manually moved files/folders should be |
|
:Interfaces&Libraries:Libraries: |
:Interfaces&Libraries:Libraries: |
:Interfaces&Libraries:Interfaces:CInlcudes: |
:Interfaces&Libraries:Interfaces:CInlcudes: |
|
|
You can see the expected file structure in |
|
|
|
ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./FileList.txt |
|
|
|
Follow the rest of the installation instructions in "About MPW etc.". |
Follow the rest of the installation instructions in "About MPW etc.". |
|
|
|
|
|
|
CODEWARRIOR MPW INSTALLATION |
MACPERL MPW INSTALLATION |
============================ |
======================== |
|
|
The CodeWarrior installer should install everything for you. |
Drag these archives to the "StuffIt Expander" icon to unpack them. |
|
The result is two installation programs. Run the "Mac_Perl_520r4_appl" |
|
installer and let it install Perl into the default location, then run |
|
the "Mac_Perl_520r4_tool" insaller. |
|
|
The CodeWarrior compiler search for headers in the directory |
To enable MPW to use MacPerl follow the instructions in the first |
"MWCInclude" (located inside the "Interfaces" folder, inside the |
comment in the file "Install.MPW_Perl". For MacPerl 520r4 this is |
"Interfaces&Libraries" folder inside the "CodeWarrior MPW" folder, if |
|
it doesn't exist you have to create it) |
|
|
|
Copy the content of the following folders inside the "MWCInclude" folder: |
- Double click on the "MPW Shell" icon to start MPW and change the |
|
directory to the "MacPerl f" folder using the directory command or |
|
the "Set Directory..." menu item. |
|
|
- "CIncludes" (path: Metrowerks CodeWarrior: MacOS Support: |
- Execute the "Install.MPW_Perl" command, i.e. write the name of the |
Universal: Interfaces: CIncludes) |
command at the end of the "Worksheet" window, select the command |
|
text and hit the "Enter" key". This will create a configuration |
|
file and open it. |
|
|
- "Include" (path: Metrowerks CodeWarrior: MSL: MSL_C: |
- Execute the "Install.MPW_Perl" command again. |
MSL_Common: Include) |
|
|
|
Copy the file "ansi_prefix.mac.h" inside the "MWCInclude" folder |
- Execute the text the script wrote to the "Worksheet" window, i.e. |
(path: Metrowerks CodeWarrior: MSL: MSL_C: MSL_MacOS: Include: |
drag select all the lines and hit the "Enter" key. |
ansi_prefix.mac.h) |
|
|
|
|
- You need to restart MPW to make Perl work. |
|
|
|
|
|
|
BUILD PROCESS |
BUILD PROCESS |
============= |
============= |
|
|
Line 163 You run "configure" in a two step process |
|
Line 183 You run "configure" in a two step process |
|
|
|
% perl unix2mac configure > configure.mac |
% perl unix2mac configure > configure.mac |
% perl configure.mac |
% perl configure.mac |
or % perl configure.mac cw |
|
|
|
If you use CodeWarrior MPW you need to add the argument "cw" to the |
|
configure script. |
|
|
|
Then run "Make" |
Then run "Make" |
|
|
% make |
% make |
or % make -f Makefile.cw |
|
|
|
This will not execute the commands. It is like "make -n" on Unix, it |
This will not execute the commands. It is like "make -n" on Unix, it |
will display the commands to execute. You select the commands and |
will display the commands to execute. You select the commands and |
Line 179 hit "enter" to actually execute the commands. |
|
Line 194 hit "enter" to actually execute the commands. |
|
|
|
To test the code you execute the output from |
To test the code you execute the output from |
|
|
% Make check |
% make check |
or % make check -f Makefile.cw |
|
|
|
If there is an error the test program will complain. Note that the |
If there is an error the test program will complain. Note that the |
test programs can contain errors so a test failure doesn't always |
test programs can contain errors so a test failure doesn't always |
Line 188 mean that the library is broken. |
|
Line 202 mean that the library is broken. |
|
|
|
To cleanup to the state before configure you execute the output from |
To cleanup to the state before configure you execute the output from |
|
|
% Make clean |
% make clean |
|
|
To remove the the resulting library as well you do |
To remove the the resulting library as well you do |
|
|
% Make distclean |
% make distclean |
|
|
|
|
|
|
PROBLEMS |
PROBLEMS |
======== |
======== |
|
|
Bug reports should be sent directly to Kent Boortz <kent@swox.se> and |
Bug reports can be sent to bug-gmp@gnu.org. Unfortunately the |
*not* to "bug-gmp@gnu.org". |
developers don't use this port and can offer only very general help. |
|
Reports including any fixes or updates necessary would be welcomed. |
|
|
There may be problems if the program you use for unpacking the source |
There may be problems if the program you use for unpacking the source |
use automatic conversion of end-of-line characters. |
use automatic conversion of end-of-line characters. |
Line 208 use automatic conversion of end-of-line characters. |
|
Line 223 use automatic conversion of end-of-line characters. |
|
This port may be out of sync with minor GMP releases or patches. |
This port may be out of sync with minor GMP releases or patches. |
The MacOS build is very different from the Unix build process and |
The MacOS build is very different from the Unix build process and |
for some changes in the Unix build the build process for MacOS has |
for some changes in the Unix build the build process for MacOS has |
to be changed manually. Swox has no build or test machine for this |
to be changed manually. |
port. |
|
|
|
The library uses stream I/O operations for some of the GMP functions |
The library uses stream I/O operations for some of the GMP functions |
and maybe for some error messages. This means that to link this |
and maybe for some error messages. This means that to link this |
Line 225 If you mount the GMP source from a Unix netatalk serve |
|
Line 239 If you mount the GMP source from a Unix netatalk serve |
|
remove files from the Unix side while MPW is running. MPW cache |
remove files from the Unix side while MPW is running. MPW cache |
information about what the file system looks like and gets very |
information about what the file system looks like and gets very |
confused or crash. |
confused or crash. |
|
|
If you really need a MacOS m68k version of GMP let me know and we may |
|
take the time to do the port. |
|
|
|
|
|
Kent Boortz <kent@swox.se> |
Kent Boortz <kent@swox.se> |