Difference between revisions of "Development:Building:Building Dependencies from Source"
(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.
Contents
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.
- Download the
autoconf-2.13
tarball and unpack. cd
to the unpacked directory../configure --program-suffix=213
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.
- Download the
yasm-1.1.0
tarball and unpack. cd
to the unpacked directory../configure
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.
- Download the latest source tarball from http://pkgconfig.freedesktop.org/releases/ and unpack.
cd
to the unpacked directory../configure
make clean all; sudo make install
gettext
gettext
has no external dependencies.
- Download the latest source tarball from ftp://ftp.gnu.org/gnu/gettext/ and unpack.
cd
to the unpacked directory../configure
make clean all; sudo make install
glib2
glib2
depends on both pkg-config
and gettext
, which have just been installed.
- Download the latest source tarball from ftp://ftp.gtk.org/pub/glib/ and unpack.
cd
to the unpacked directory.- need to set CFLAGS and LDFLAGS to point to the include dir, and possibly pkg-config path…