|
@@ -1,49 +1,58 @@
|
|
|
-Instructions for building various rpms on various architectures
|
|
|
-
|
|
|
-This will build various architecture and cpu tuned versions of tor
|
|
|
-bundled in a convenient rpm. Each rpm will require glibc on the target
|
|
|
-system (which any rpm based linux distro should have already installed
|
|
|
-by default). These are the exact same steps used to build the
|
|
|
-official rpms of tor
|
|
|
-
|
|
|
-If you wish to further tune tor rpms beyond this list, see the GCC doc
|
|
|
-page for further options:
|
|
|
-http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/i386-and-x86_002d64-Options.html
|
|
|
-
|
|
|
-i386 with zero tuning (most compatible, should run on a true i386 cpu):
|
|
|
- 1) download tor source tarball
|
|
|
- 2) at shell prompt, export CFLAGS="-march=i386 -mtune=i386"
|
|
|
- 3) in the extracted tor source dir, configure as follows:
|
|
|
- ./configure --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=i386-pc-linux-gnu
|
|
|
- 4) Edit tor.spec.in, find the following line:
|
|
|
- %configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}
|
|
|
- add to it:
|
|
|
- --build=i386-pc-linux-gnu --host=i386-pc-linux-gnu --target=i386-pc-linux-gnu
|
|
|
- 5) make dist-rpm
|
|
|
- 6) Install from the .i386.rpm file.
|
|
|
-
|
|
|
-i686 with i686 tuning (best for pentium pro, pentium2, pentium3, and
|
|
|
-pentium4-class CPUS including the pentium4):
|
|
|
- 1) download tor source tarball
|
|
|
- 2) at shell prompt, export CFLAGS="-march=i686 -mtune=i686"
|
|
|
- 3) in the extracted tor source dir, configure as follows:
|
|
|
- ./configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu
|
|
|
- 4) Edit tor.spec.in, find the following line:
|
|
|
- %configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}
|
|
|
- add to it:
|
|
|
- --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu
|
|
|
- 5) make dist-rpm
|
|
|
- 6) Install from the .i686.rpm file.
|
|
|
-
|
|
|
-athlon64 with athlon64 tuning (best for Athlon64 and Opteron):
|
|
|
- 1) download tor source tarball
|
|
|
- 2) at shell prompt, export CFLAGS="-march=athlon64 -mtune=athlon64"
|
|
|
- 3) in the extracted tor source dir, configure as follows:
|
|
|
- ./configure --build=athlon64-pc-linux-gnu --host=athlon64-pc-linux-gnu --target=athlon64-pc-linux-gnu
|
|
|
- 4) Edit tor.spec.in, find the following line:
|
|
|
- %configure --with-tor-user=%{toruser} --with-tor-group=%{torgroup}
|
|
|
- add to it:
|
|
|
- --build=athlon64-pc-linux-gnu --host=athlon64-pc-linux-gnu --target=athlon64-pc-linux-gnu
|
|
|
- 5) make dist-rpm
|
|
|
- 6) Install from the .athlon64.rpm file.
|
|
|
+These are instructions for building Tor binaries in the rpm format on
|
|
|
+various cpu architectures and operating systems. Each rpm will require
|
|
|
+glibc on the target system. It is believed that any rpm-based linux
|
|
|
+distribution should have semi-current glibc installed by default.
|
|
|
+If you run into a distribution that does not work with glibc, or does
|
|
|
+not contain it, please let us know the details.
|
|
|
+
|
|
|
+These are the exact same steps used to build the official rpms of Tor.
|
|
|
+
|
|
|
+If you wish to further tune Tor binaries in rpm format beyond this list,
|
|
|
+see the GCC doc page for further options:
|
|
|
+http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/
|
|
|
+
|
|
|
+The tor.spec.in file contains the basic info needed to tune the binaries
|
|
|
+produced in rpm format. The key parameters to tune are located in the
|
|
|
+third section of the tor.spec.in file. Locate the section similar to
|
|
|
+this:
|
|
|
+
|
|
|
+## Target a specific arch and OS
|
|
|
+#
|
|
|
+# default is i386 linux
|
|
|
+%define target gnu
|
|
|
+%define target_cpu i386
|
|
|
+%define target_os linux
|
|
|
+
|
|
|
+
|
|
|
+The three parameters: target, target_cpu, and target_os are used
|
|
|
+throughout the "make dist-rpm" process. They control the parameters
|
|
|
+passed to "configure" and the final tuning of the binaries produced.
|
|
|
+The default settings, as shown above, create binaries for the widest
|
|
|
+range of Intel x86 or compatible architectures.
|
|
|
+
|
|
|
+The paramters can be set as follows:
|
|
|
+
|
|
|
+The "target" parameter:
|
|
|
+This should be "gnu", "redhat", or the short name of your linux distribution.
|
|
|
+Other possibilities are "mandrake" or "suse". This is passed to
|
|
|
+"configure" through the --host, --build, and --target parameters.
|
|
|
+Therefore, this "target" parameter must be a valid OS for "configure" as
|
|
|
+well.
|
|
|
+
|
|
|
+
|
|
|
+The "target_cpu" parameter:
|
|
|
+This parameter controls the optimization and tuning of your binaries via
|
|
|
+gcc and "configure". This parameter is passed to gcc via the -mtune= or
|
|
|
+-mcpu= options. The "configure" script will also receive this parameter
|
|
|
+through the --host, --build, and --target parameters. Therefore, this
|
|
|
+"target_cpu" parameter must be valid for both gcc and "configure". A
|
|
|
+few common options for this parameter may be "athlon64, i686, pentium4" or
|
|
|
+others.
|
|
|
+
|
|
|
+
|
|
|
+The "target_os" parameter:
|
|
|
+This parameter controls the target operating system. Normally, this is
|
|
|
+only "linux". If you wish to build rpms for a non-linux operating
|
|
|
+system, you can replace "linux" with your operating system.
|
|
|
+
|
|
|
|