Compiling AbiWord on Mac

From AbiWiki

(Difference between revisions)
Jump to: navigation, search
(add XCode and AbiMacSDK)
([outdated] XCode)
 
(12 intermediate revisions not shown)
Line 4: Line 4:
= Requirements =
= Requirements =
-
You need Macports, the autotools, glib2, libpng, libjpeg, cairo, pangocairo and a few other things (to be listed here), and MacOS X 10.3 may no longer be enough albeit this is only tested on 10.4/PowerPC.
+
Firstly, download and install MacPorts (http://www.macports.org) that will be used to build the dependencies, that are:
 +
* cairo +quartz+no_x11
 +
* pango +quartz+no_x11
 +
* fribidi
 +
* libgsf +no_gnome
 +
* redland
 +
* wv +no_x11
 +
* enchant
 +
* boost
-
= AbiMacSDK =
+
= [outdated] AbiMacSDK =  
[[AbiMacSDK]] is a set of tools to build all at once the dependencies needed by AbiWord to build. If you use that, you likely don't need MacPort.
[[AbiMacSDK]] is a set of tools to build all at once the dependencies needed by AbiWord to build. If you use that, you likely don't need MacPort.
= Build system =
= Build system =
 +
After compile all dependencies, just get the code from AbiWord's SVN, using:
-
It use the same autotools based build system as used for the Gtk build on Linux. This is the only supported way. There is an XCode project that is NOT suited for building the binaries (see below).
+
svn co http://svn.abisource.com/abiword/trunk abiword
== Configure ==
== Configure ==
Line 20: Line 29:
Here is what I use
Here is what I use
-
./configure --enable-debug --with-darwinports --enable-maintainer-mode --disable-static --enable-plugins --enable-shave
+
    ./autogen.sh --with-darwinports --enable-maintainer-mode --disable-static --enable-debug --enable-plugins
Use --enable-debug only for developement. Deployment builds must not.
Use --enable-debug only for developement. Deployment builds must not.
Line 26: Line 35:
== Making the bundle ==
== Making the bundle ==
-
  cd src
+
  make
  DESTDIR=`pwd` make install
  DESTDIR=`pwd` make install
-
You now have AbiWord.app in the same directory. The binary is not portable as it require the same libraries installed from the ports.
+
AbiWord.app will be created, you can move it to Applications directory and execute normally. The binary is not portable as it require the same libraries installed from the ports.
If all you want is test the latest binary change, do:
If all you want is test the latest binary change, do:
Line 37: Line 46:
This is way faster.
This is way faster.
-
= Universal binary =
+
You must perform this before running AbiWord as lot of things are expected to be found within the bundle.
 +
 
 +
= [outdated] Universal binary =
Making a universal binary isn't supported yet.
Making a universal binary isn't supported yet.
Line 43: Line 54:
= XCode =
= XCode =
-
There is an Xcode project for use on MacOS X 10.4. It does only build the application and relies on having the AbiMacSDK installed and the regular tree configure.
+
There is two Xcode project available.
 +
 
 +
First, a Xcode project for use on MacOS X 10.4, called abixcode.xcodeproj. It does only build the application and relies on having the AbiMacSDK installed and the regular tree configure.
 +
 
 +
Second, an updated Xcode project for use on Mac OS X 10.6, called abixcode_macports.xcodeproj. It relies on having packages installed from MacPorts and is expected this folder structure:
 +
    ./AbiWord
 +
    | - ./abiword
 +
        | - ./src...
 +
    | - ./abixcode
 +
        | - ./abixcode_macports.xcodeproj
-
You can check it out from svn: http://svn.abisource.com/abimacsdk/trunk/abixcode/
+
You can check out both from svn: http://svn.abisource.com/abimacsdk/trunk/abixcode/
-
= Distributable image =
+
= [outdated] Distributable image =
For now we can not automatically make a self contained application bundle.
For now we can not automatically make a self contained application bundle.

Current revision as of 16:11, 26 June 2011

You can compile AbiWord on Mac with the Cocoa front-end. If you want the X11/Gtk version, check the regular UNIX build, but you are on your own. It is not supported.


Contents

Requirements

Firstly, download and install MacPorts (http://www.macports.org) that will be used to build the dependencies, that are:

  • cairo +quartz+no_x11
  • pango +quartz+no_x11
  • fribidi
  • libgsf +no_gnome
  • redland
  • wv +no_x11
  • enchant
  • boost

[outdated] AbiMacSDK

AbiMacSDK is a set of tools to build all at once the dependencies needed by AbiWord to build. If you use that, you likely don't need MacPort.

Build system

After compile all dependencies, just get the code from AbiWord's SVN, using:

svn co http://svn.abisource.com/abiword/trunk abiword

Configure

Once you have checkout the code, you can configure it.

Here is what I use

   ./autogen.sh --with-darwinports --enable-maintainer-mode --disable-static --enable-debug --enable-plugins

Use --enable-debug only for developement. Deployment builds must not.

Making the bundle

make
DESTDIR=`pwd` make install

AbiWord.app will be created, you can move it to Applications directory and execute normally. The binary is not portable as it require the same libraries installed from the ports.

If all you want is test the latest binary change, do:

DESTDIR=`pwd` make install-data-am

This is way faster.

You must perform this before running AbiWord as lot of things are expected to be found within the bundle.

[outdated] Universal binary

Making a universal binary isn't supported yet.

XCode

There is two Xcode project available.

First, a Xcode project for use on MacOS X 10.4, called abixcode.xcodeproj. It does only build the application and relies on having the AbiMacSDK installed and the regular tree configure.

Second, an updated Xcode project for use on Mac OS X 10.6, called abixcode_macports.xcodeproj. It relies on having packages installed from MacPorts and is expected this folder structure:

   ./AbiWord 
   | - ./abiword
       | - ./src...
   | - ./abixcode
       | - ./abixcode_macports.xcodeproj

You can check out both from svn: http://svn.abisource.com/abimacsdk/trunk/abixcode/

[outdated] Distributable image

For now we can not automatically make a self contained application bundle.

Personal tools