Commit dfbface3 authored by Andrew Lewman's avatar Andrew Lewman Committed by Nick Mathewson
Browse files

clean up the documentation, break out sections for osx compiles.

parent fe182755
Loading
Loading
Loading
Loading
+37 −25
Original line number Diff line number Diff line
## Instructions for building the official dmgs for OSX.
##
## The loose table of contents:
## Summary
## Single Architecture Binaries for PPC or X86, not both.
## Backwards compatible single-architecture binaries for OSX x86 10.4 from newer versions of OS X.
## Universal Binaries for OSX PPC and X86
## Single Architecture Binaries for PowerPc or i386 architecture, not both.
## Backwards compatible single-architecture binaries for OSX i386 10.4 from newer versions of OS X.
## Universal Binaries for OSX PPC and i386
## Each section is delineated by ###.

The following steps are the exact steps used to produce the "official"
OSX builds of tor.

### Summary:
1) Compile and install a static version of the latest release of
libevent.
2) Acquire and install your preferred version of tor. Extract.
3) "make dist-osx"
4) You now have a dmg from which you can install Tor.

### Single Architecture Binaries for PPC or X86, not both.
### This method works in all versions of OSX 10.3 through 10.6
#######################################
#
# Section 1
#
# Single Architecture Binaries for PPC or i386, not both.
# This method works in all versions of OSX 10.3 through 10.6
#######################################

## Compiling libevent ##

@@ -39,13 +33,18 @@ tarball.

5) In the top level, this means /path/to/tor/, not tor/contrib/osx,
do a configure with these parameters:
     CONFDIR=/Library/Tor ./configure --prefix=/Library/Tor \
     --bindir=/Library/Tor --sysconfdir=/Library

CONFDIR=/Library/Tor ./configure --prefix=/Library/Tor --bindir=/Library/Tor --sysconfdir=/Library

6) In same top level dir, do a "make dist-osx".  There now exists a
.dmg file in the same directory.  Install from this dmg.

### Backwards compatible single-architecture binaries for OSX x86 10.4 from newer versions of OS X.
#######################################
#
# Section 2
# Backwards compatible single-architecture binaries for OSX x86 10.4 from newer versions of OS X.
#
#######################################

1) Install the latest XCode updates available from http://developer.apple.com.

@@ -56,6 +55,7 @@ http://www.monkey.org/~provos/libevent/

3) The first step of compiling libevent is to configure it as
follows:

CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386" \ 
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \ 
./configure --enable-static --disable-shared --disable-dependency-tracking
@@ -65,16 +65,19 @@ or sudo -s, to complete the "make install".

5) Check for a successful universal binary of libevent.a in, by default,
/usr/local/lib by using the following command:

	"file /usr/local/lib/libevent.a"

	Your output should be:
/usr/local/lib/libevent.a (for architecture i386):      current ar archive random library

"/usr/local/lib/libevent.a (for architecture i386):      current ar archive random library"

6) Get your preferred version of the tor source from https://www.torproject.org/download.  
Extract the tarball.

7) In the top level, this means /path/to/tor/, not tor/contrib/osx,
do a configure with these parameters:

CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386" \
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
CONFDIR=/Library/Tor \
@@ -88,12 +91,18 @@ CONFDIR=/Library/Tor \
src/or/tor (for architecture i386):     Mach-O executable i386

10) There should exist in the top-level directory a
Tor-$VERSION-universal-Bundle.dmg
Tor-$VERSION-i386-Bundle.dmg

11) Congrats.  You have a backwards-compatible binary. You are now ready to install Tor.

### Universal Binaries for OSX PPC and X86
### This method works in OSX 10.4 (Tiger) and newer OSX versions.
####################################################################
#
# Section 3
# 
# Universal Binaries for OSX PPC and X86
# This method works in OSX 10.4 (Tiger) and newer OSX versions.
#
####################################################################

1) Install the latest XCode updates available from http://developer.apple.com.

@@ -116,6 +125,7 @@ or sudo -s, to complete the "make install".
	"file /usr/local/lib/libevent.a"

	Your output should be:

/usr/local/lib/libevent.a: Mach-O fat file with 2 architectures
/usr/local/lib/libevent.a (for architecture i386):      current ar archive random library
/usr/local/lib/libevent.a (for architecture ppc):       current ar archive
@@ -125,6 +135,7 @@ Extract the tarball.

7) In the top level, this means /path/to/tor/, not tor/contrib/osx,
do a configure with these parameters:

CFLAGS="-O -g -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" \
LDFLAGS="-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" \
CONFDIR=/Library/Tor \
@@ -135,6 +146,7 @@ CONFDIR=/Library/Tor \

9) Confirm you have created a universal binary by issuing the follow command:
"file src/or/tor".  Its output should be as follows:

src/or/tor: Mach-O fat file with 2 architectures
src/or/tor (for architecture i386):     Mach-O executable i386
src/or/tor (for architecture ppc):      Mach-O executable ppc