McCoy:Building: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
 
(2 intermediate revisions by 2 users not shown)
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=


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.
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_PROJECT=xulrunner), see [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_(CVS) getting the source code by CVS] for further information.


You must also checkout a copy of McCoy into mozilla/mccoy. To do this from the mozilla directory type:
You must also checkout a copy of McCoy into mozilla/mccoy. To do this from the mozilla directory type:


   svn co http://svn.mozilla.org/projects/mccoy/trunk mccoy
   hg clone http://hg.mozilla.org/projects/mccoy


Or change trunk to the appropriate branch/tag you need.
If you wish to build a specific version of mccoy then change to the mccoy directory and <code>hg update -C <tag></code>


=Regular Builds=
=Regular Builds=
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

Latest revision as of 10:55, 25 June 2009

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

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_PROJECT=xulrunner), see getting the source code by CVS for further information.

You must also checkout a copy of McCoy into mozilla/mccoy. To do this from the mozilla directory type:

 hg clone http://hg.mozilla.org/projects/mccoy

If you wish to build a specific version of mccoy then change to the mccoy directory and hg update -C <tag>

Regular Builds

For most platforms McCoy can be built using a single mozconfig:

 . $topsrcdir/mccoy/config/mozconfig
 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mccoyobj
 ac_add_options --with-libxul-sdk=$topsrcdir/../xulrunner-sdk

Change the paths as appropriate.

To package up McCoy change to mccoyobj and type make package

OSX Universal Builds

This requires a slightly more complicated mozconfig and requires both i386 and powerpc sdks to be available:

 . $topsrcdir/mccoy/config/mozconfig
 . $topsrcdir/build/macosx/universal/mozconfig
 ac_add_app_options ppc --enable-prebinding
 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mccoyobj
 ac_add_app_options ppc  --with-libxul-sdk=$topsrcdir/../xulrunner-sdk/powerpc
 ac_add_app_options i386 --with-libxul-sdk=$topsrcdir/../xulrunner-sdk/i386