enigma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Enigma-devel] Patch to build Mac OS X disk image target


From: Sidney Markowitz
Subject: Re: [Enigma-devel] Patch to build Mac OS X disk image target
Date: Wed, 03 May 2006 14:18:31 +1200
User-agent: Thunderbird 1.5.0.2 (Macintosh/20060308)

On 5/3/06 6:45 AM, Ronald Lamprecht wrote:
> Would you please update your "building_enigma_in_MacOS10.3.9.txt" out of
> your first posting to be valid for 10.3.9 and 10.4 related to the
> current Enigma version including all of your patches?

Here it is. I'm sure it needs a proofreading, as I have had lots of
distractions from work I'm supposed to be doing while putting it
together :-) Johannes, how does it look?

 -- sidney
Here are steps I used to build Enigma under MacOS 10.3.9 that already
had X-11 installed (I use OpenOffice, so whatever that needs was there
already), using svn trunk. I can't say for sure if having X-11 installed
made any difference. I mention it in case that is a necessary prerequisite.

1. Very important for building a number of unix projects in 10.3.9 is
   to downgrade QuickTime 7.0.4 to version 7.0.1 using
   
http://www.apple.com/support/downloads/quicktime701reinstallerforquicktime704.html

   The QuickTime 7.0.4 upgrade was pushed out as part of a 10.3.9
   software update. It installs a version of libstdc++ that was built
   with a newer version of gcc than the 3.3 that ships with MacOS
   10.3.9, resulting in various linker errors when trying to build
   many projects ported from unix that used to build fine. The
   downgrade fixes that.
   
   The downgrade is not necessary to build in MacOS 10.4.

   If you continue to get mysterious linker errors you can also try
   reinstalling xcode 1.5. Some people said it restored some files
   messed up by a software update. I tried it at one point earlier
   before I found out about the QuickTime problem and it didn't by
   itself help, so I can't say for sure if it that really is also
   necessary.

2. I earlier installed, for some other projects, gettext, freetype,
   and libpng, so I can't say for sure if any of the other required
   libraries requires one or more of them. If you see errors about
   anything like that missing when you try the next steps, download the
   source of whichever you need from its project web site, and use
     ./configure ; make ; sudo make install

3. Download latest versions of autoconf (2.59) and automake
   (1.9.6). The versions included in 10.3.9 are too old. I don't know
   about the versions that are included with 10.4. Build and installed
   them from sources using
     ./configure ; make ; sudo make install 

4. Install binary packages of SDL, SDL-devel, SDL_mixer, SDL_image, and
   SDL_ttf, available from http://libsdl.org in the links under
   Download. I used SDL 1.2, the current stable build at the time,
   downloading http://www.libsdl.org/release/SDL-1.2.9.dmg and
   http://www.libsdl.org/release/SDL-devel-1.2.9.pkg.tar.gz and found
   the other packages at the Libraries link under Downloads:

   http://www.libsdl.org/projects/SDL_mixer
   http://www.libsdl.org/projects/SDL_image
   http://www.libsdl.org/projects/SDL_ttf

   In each case download both the source and the MacOSX binary
   package. For this step install the binary packages into the
   /Library directory (which is the default).

5. Download the source tarballs (see previous step) of SDL, SDL_mixer,
   SDL_image, and SDL_ttf. Unpack them somewhere convenient, then
   build and install each of them, starting with SDL.

   All of them installed fine using
     ./configure ; make ; sudo make install

IMPORTANT: If you are using DarwinPorts or Fink, you may want to stick
to using it for the source builds, which means the SDL* static link
libraries will be installed in, for example, /usr/fink instead of
/usr/local/lib.

6. Download and install the xerces-c library. If you are using
   DarwinPorts or Fink you may be able to get a binary development
   package or at least get a source version from DarwinPort or Fink to
   build under that environment. I use neither, so here is what I did: 
   Download the source tarball of xerces-c from
      http://xml.apache.org/dist/xerces-c/stable/
   I got version 2.7.0 and unpacked it in /usr/local/src. Change
   references to those in the following commands to match your
   circumstances:

   export XERCESCROOT=/usr/local/src/xerces-c-src_2_7_0
   cd /usr/local/src/xerces-c-src_2_7_0/src/xercesc
   ./configure
   make
   sudo make install

Then I had to do the following important step, which create a static
link library, as the MacOSX version of the xerces-c 2.7 build does not
do that. Put the following in an executable file in the
$XERCESCROOT/src/xercesc directory, cd to that
directory and run it.

 #!/bin/sh
 make -n XML_LIB_DIR=$XERCESCROOT/lib/dummy |
   grep 'c++ .*\.dylib' |
   tr \  \\n |
   grep '\.o$' |
   ( cd ../../obj ; xargs ar rcs $XERCESCROOT/lib/libxerces-c.a )
   
Then

  sudo cp $XERCESCROOT/lib/libxerces-c.a /usr/local/lib/

7. Once all the above are all installed, build a Mac
   application bundle from the command line by cd to the root directory of
   the Enigma source tree (i.e., the directory above src) and running the
   commands:

     ./autogen.sh
     ./configure
     make
     make macapp

  The first line is only necessary if you are starting from the svn
  sources. If you downloaded a release tarball, it should already have
  had autogen.sh run and you can start with ./configure.

  The final line builds a Mac OS X application bundle called
  Enigma.app and a compressed disk image containing it called
  enigma.dmg, both in the etc/ directory under the source tree root.

 You should be able to copy the enigma.dmg file to a Mac running
 10.3.9 that has not had the various libraries required for building
 Enigma installed, open the disk image, and drop the Enigma app into
 any disk folder, e.g., Applications, to install Enigma.

I have tested this only by building under 10.3.9 and running on
10.3.9. Someone should update this file once they have tried building
on 10.4 and tested the resulting application on both 10.3.9 and 10.4.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]