xref: /minix3/crypto/external/bsd/openssl/dist/INSTALL.MacOS (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
1*ebfedea0SLionel SambucOpenSSL - Port To The Macintosh OS 9 or Earlier
2*ebfedea0SLionel Sambuc===============================================
3*ebfedea0SLionel Sambuc
4*ebfedea0SLionel SambucThanks to Roy Wood <roy@centricsystems.ca> initial support for Mac OS (pre
5*ebfedea0SLionel SambucX) is now provided. "Initial" means that unlike other platforms where you
6*ebfedea0SLionel Sambucget an SDK and a "swiss army" openssl application, on Macintosh you only
7*ebfedea0SLionel Sambucget one sample application which fetches a page over HTTPS(*) and dumps it
8*ebfedea0SLionel Sambucin a window. We don't even build the test applications so that we can't
9*ebfedea0SLionel Sambucguarantee that all algorithms are operational.
10*ebfedea0SLionel Sambuc
11*ebfedea0SLionel SambucRequired software:
12*ebfedea0SLionel Sambuc
13*ebfedea0SLionel Sambuc- StuffIt Expander 5.5 or later, alternatively MacGzip and SUNtar;
14*ebfedea0SLionel Sambuc- Scriptable Finder;
15*ebfedea0SLionel Sambuc- CodeWarrior Pro 5;
16*ebfedea0SLionel Sambuc
17*ebfedea0SLionel SambucInstallation procedure:
18*ebfedea0SLionel Sambuc
19*ebfedea0SLionel Sambuc- fetch the source at ftp://ftp.openssl.org/ (well, you probably already
20*ebfedea0SLionel Sambuc  did, huh?)
21*ebfedea0SLionel Sambuc- unpack the .tar.gz file:
22*ebfedea0SLionel Sambuc	- if you have StuffIt Expander then just drag it over it;
23*ebfedea0SLionel Sambuc	- otherwise uncompress it with MacGzip and then unpack with SUNtar;
24*ebfedea0SLionel Sambuc- locate MacOS folder in OpenSSL source tree and open it;
25*ebfedea0SLionel Sambuc- unbinhex mklinks.as.hqx and OpenSSL.mcp.hqx if present (**), do it
26*ebfedea0SLionel Sambuc  "in-place", i.e. unpacked files should end-up in the very same folder;
27*ebfedea0SLionel Sambuc- execute mklinks.as;
28*ebfedea0SLionel Sambuc- open OpenSSL.mcp(***) and build 'GetHTTPS PPC' target(****);
29*ebfedea0SLionel Sambuc- that's it for now;
30*ebfedea0SLionel Sambuc
31*ebfedea0SLionel Sambuc(*)	URL is hardcoded into ./MacOS/GetHTTPS.src/GetHTTPS.cpp, lines 40
32*ebfedea0SLionel Sambuc        to 42, change appropriately.
33*ebfedea0SLionel Sambuc(**)	If you use SUNtar, then it might have already unbinhexed the files
34*ebfedea0SLionel Sambuc	in question.
35*ebfedea0SLionel Sambuc(***)	The project file was saved with CW Pro 5.3. If you have an earlier
36*ebfedea0SLionel Sambuc	version and it refuses to open it, then download
37*ebfedea0SLionel Sambuc	http://www.openssl.org/~appro/OpenSSL.mcp.xml and import it
38*ebfedea0SLionel Sambuc	overwriting the original OpenSSL.mcp.
39*ebfedea0SLionel Sambuc(****)	Other targets are works in progress. If you feel like giving 'em a
40*ebfedea0SLionel Sambuc	shot, then you should know that OpenSSL* and Lib* targets are
41*ebfedea0SLionel Sambuc	supposed to be built with the GUSI, MacOS library which mimics
42*ebfedea0SLionel Sambuc	BSD sockets and some other POSIX APIs. The GUSI distribution is
43*ebfedea0SLionel Sambuc	expected to be found in the same directory as the openssl source tree,
44*ebfedea0SLionel Sambuc	i.e., in the parent directory to the one where this very file,
45*ebfedea0SLionel Sambuc	namely INSTALL.MacOS, resides. For more information about GUSI, see
46*ebfedea0SLionel Sambuc	http://www.iis.ee.ethz.ch/~neeri/macintosh/gusi-qa.html
47*ebfedea0SLionel Sambuc
48*ebfedea0SLionel SambucFinally some essential comments from our generous contributor:-)
49*ebfedea0SLionel Sambuc
50*ebfedea0SLionel Sambuc"I've gotten OpenSSL working on the Macintosh. It's probably a bit of a
51*ebfedea0SLionel Sambuchack, but it works for what I'm doing. If you don't like the way I've done
52*ebfedea0SLionel Sambucit, then feel free to change what I've done. I freely admit that I've done
53*ebfedea0SLionel Sambucsome less-than-ideal things in my port, and if you don't like the way I've
54*ebfedea0SLionel Sambucdone something, then feel free to change it-- I won't be offended!
55*ebfedea0SLionel Sambuc
56*ebfedea0SLionel Sambuc... I've tweaked "bss_sock.c" a little to call routines in a "MacSocket"
57*ebfedea0SLionel Sambuclibrary I wrote. My MacSocket library is a wrapper around OpenTransport,
58*ebfedea0SLionel Sambuchandling stuff like endpoint creation, reading, writing, etc. It is not
59*ebfedea0SLionel Sambucdesigned as a high-performance package such as you'd use in a webserver,
60*ebfedea0SLionel Sambucbut is fine for lots of other applications. MacSocket also uses some other
61*ebfedea0SLionel Sambuccode libraries I've written to deal with string manipulations and error
62*ebfedea0SLionel Sambuchandling. Feel free to use these things in your own code, but give me
63*ebfedea0SLionel Sambuccredit and/or send me free stuff in appreciation! :-)
64*ebfedea0SLionel Sambuc
65*ebfedea0SLionel Sambuc...
66*ebfedea0SLionel Sambuc
67*ebfedea0SLionel SambucIf you have any questions, feel free to email me as the following:
68*ebfedea0SLionel Sambuc
69*ebfedea0SLionel Sambucroy@centricsystems.ca
70*ebfedea0SLionel Sambuc
71*ebfedea0SLionel Sambuc-Roy Wood"
72*ebfedea0SLionel Sambuc
73