Difference between revisions of "Development:Building:Building Dependencies from Source"

From Camino Wiki
Jump to navigation Jump to search
(clean up some notes)
(→‎libIDL-0.8: add documentfoundation docs, which are more explicit for the 10.6 situation)
 
Line 36: Line 36:
 
<code>libIDL-0.8</code> ends up having three dependencies beyond software installed by Xcode, so we will build and install from the dependencies upward.
 
<code>libIDL-0.8</code> ends up having three dependencies beyond software installed by Xcode, so we will build and install from the dependencies upward.
  
On Mac OS X 10.6, <code>libIDL</code> must be 32-bit (or 32/64-bit Universal) while autotools will by default, build 64-bit binaries.  As a result, additional flags must be passed to <code>configure</code> for <code>libIDL</code> '''and''' all of its dependencies. ([http://code.google.com/p/macfuse/source/browse/trunk/core/macfuse_buildtool.sh#1357 This section] of the MacFUSE build script has useful information for compiling <code>libIDL</code>’s <code>glib2</code> dependencies as Universal Binaries.)
+
On Mac OS X 10.6, <code>libIDL</code> must be 32-bit (or 32/64-bit Universal) while autotools will by default, build 64-bit binaries.  As a result, additional flags must be passed to <code>configure</code> for <code>libIDL</code> '''and''' all of its dependencies. ([http://code.google.com/p/macfuse/source/browse/trunk/core/macfuse_buildtool.sh#1357 This section] of the MacFUSE build script has useful information for compiling <code>libIDL</code>’s <code>glib2</code> dependencies as Universal Binaries; also, The Document Foundation provides full commands for compiling <code>libIDL</code> and its dependencies, as well as other software not required by libIDL, as 32/64-bit binaries on Mac OS X 10.6 on [http://wiki.documentfoundation.org/Development/Install_Mac_OS_10.6.4_Dependencies this page on its wiki].)
  
 
====<code>pkg-config</code>====
 
====<code>pkg-config</code>====

Latest revision as of 21:00, 16 March 2011

Some people prefer to build their dependencies (libIDL-0.8, autoconf-2.13) from source instead of using Fink or MacPorts and the megabytes of extra software those port systems install by default. Fortunately, it is rather trivial to build the required dependencies from source.

Dependency Tree

Building the Packages

You can install all these packages in /usr/local (where they should be picked up by your $PATH automatically). You should be very careful when building autoconf-2.13 so that you do not create an autoconf binary that will be used accidentally when scripts want the version of autoconf installed with Xcode; make sure you use the --program-suffix=213 argument.

autoconf-2.13

autoconf-2.13 has no dependencies aside from software installed with Xcode.

  1. Download the autoconf-2.13 tarball and unpack.
  2. cd to the unpacked directory.
  3. ./configure --program-suffix=213
  4. make clean all; sudo make install

yasm

yasm (required for WebM and libjpeg-turbo assembly in Gecko 2.0 and up) has no dependencies aside from software installed with Xcode.

  1. Download the yasm-1.1.0 tarball and unpack.
  2. cd to the unpacked directory.
  3. ./configure
  4. make; sudo make install

libIDL-0.8

libIDL-0.8 ends up having three dependencies beyond software installed by Xcode, so we will build and install from the dependencies upward.

On Mac OS X 10.6, libIDL must be 32-bit (or 32/64-bit Universal) while autotools will by default, build 64-bit binaries. As a result, additional flags must be passed to configure for libIDL and all of its dependencies. (This section of the MacFUSE build script has useful information for compiling libIDL’s glib2 dependencies as Universal Binaries; also, The Document Foundation provides full commands for compiling libIDL and its dependencies, as well as other software not required by libIDL, as 32/64-bit binaries on Mac OS X 10.6 on this page on its wiki.)

pkg-config

pkg-config has no external dependencies.

  1. Download the latest source tarball from http://pkgconfig.freedesktop.org/releases/ and unpack.
  2. cd to the unpacked directory.
  3. ./configure
  4. make clean all; sudo make install

gettext

gettext has no external dependencies.

  1. Download the latest source tarball from ftp://ftp.gnu.org/gnu/gettext/ and unpack.
  2. cd to the unpacked directory.
  3. ./configure
  4. make clean all; sudo make install

glib2

glib2 depends on both pkg-config and gettext, which have just been installed.

  1. Download the latest source tarball from ftp://ftp.gtk.org/pub/glib/ and unpack.
  2. cd to the unpacked directory.
  3. need to set CFLAGS and LDFLAGS to point to the include dir, and possibly pkg-config path…