McCoy:Building: Difference between revisions

Update build docs
(Update build docs)
Line 1: Line 1:
McCoy includes binary components required for working with cryptographic keys. This means that it is unfortunately necessary to build as part of a regular Mozilla build process. The rest of this page assumes you have an understanding of how to build a Mozilla app, preferable XULRunner.
McCoy includes binary components required for working with cryptographic keys. This means that it is necessary to build using the Mozilla build system. The rest of this page assumes you have an understanding of how to build a Mozilla app, preferable XULRunner.


=Initial Requirements=
=Initial Requirements=
McCoy must be built against the Gecko 1.9 SDK, you can download this from http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/latest-trunk/. Extract it wherever you like. For OSX universal builds you need both SDKs, for normal OSX builds just the i386 SDK is needed. If you need to build McCoy on a powerpc Mac then you will need to create your own SDKs.


You must checkout a copy of the Mozilla trunk with XULRunner (MOZ_CO_PROJECTS=xulrunner), see [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(CVS) getting the source code by CVS] for further information.
You must checkout a copy of the Mozilla trunk with XULRunner (MOZ_CO_PROJECTS=xulrunner), see [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(CVS) getting the source code by CVS] for further information.
Line 15: Line 17:
For most platforms McCoy can be built using a single mozconfig:
For most platforms McCoy can be built using a single mozconfig:


   ac_add_options --disable-tests
   . $topsrcdir/mccoy/config/mozconfig
  ac_add_options --disable-debug
   mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mccoyobj
  ac_add_options --enable-optimize
   ac_add_options --with-libxul-sdk=$topsrcdir/../xulrunner-sdk
 
  mk_add_options MOZ_BUILD_PROJECTS="xulrunner mccoy"
   mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mccoybase
    
  ac_add_app_options xulrunner --enable-application=xulrunner
  ac_add_app_options xulrunner --disable-installer
 
  ac_add_app_options mccoy --enable-application=mccoy
  ac_add_app_options mccoy --with-libxul-sdk=../xulrunner/dist


This will build in two passes. The first being a full build of XULRunner in mccoybase/xulrunner, the second building McCoy into mccoybase/mccoy. Note that despite the argument name, a full build of XULRunner is required, the libxul-sdk is not enough on its own.
Change the paths as appropriate.


To package up McCoy change to mccoybase/mccoy and type <code>make package</code>
To package up McCoy change to mccoyobj and type <code>make package</code>


=OSX Universal Builds=
=OSX Universal Builds=


<div class="warning">This isn't actually working right yet, changes to the build system are necessary</div>
This requires a slightly more complicated mozconfig and requires both i386 and powerpc sdks to be available:
 
If you wish to build an OSX universal build then the process is complicated slightly. You need two mozconfig files, one to compile a universal XULRunner and the second to compile the universal McCoy:
 
For XULRunner:
 
  . $topsrcdir/build/macosx/universal/mozconfig
  ac_add_app_options ppc --enable-prebinding
 
  ac_add_options --disable-tests
  ac_add_options --disable-debug
  ac_add_options --enable-optimize
 
  mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mccoybase/xulrunner
 
  ac_add_options --enable-application=xulrunner
  ac_add_options --disable-installer
 
For McCoy:


  . $topsrcdir/mccoy/config/mozconfig
   . $topsrcdir/build/macosx/universal/mozconfig
   . $topsrcdir/build/macosx/universal/mozconfig
   ac_add_app_options ppc --enable-prebinding
   ac_add_app_options ppc --enable-prebinding
 
   mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mccoyobj
  ac_add_options --disable-tests
   ac_add_app_options ppc  --with-libxul-sdk=$topsrcdir/../xulrunner-sdk/powerpc
  ac_add_options --disable-debug
   ac_add_app_options i386 --with-libxul-sdk=$topsrcdir/../xulrunner-sdk/i386
  ac_add_options --enable-optimize
 
   mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mccoybase/mccoy
 
  ac_add_options --enable-application=mccoy
   ac_add_app_options ppc  --with-libxul-sdk=../../xulrunner/ppc/dist
   ac_add_app_options i386 --with-libxul-sdk=../../xulrunner/i386/dist
 
Packaging should be possible by running <code>make package</code> in mccoybase/mccoy/ppc
canmove, Confirmed users
1,567

edits