Installation of libgpg-error, libgcrypt, gnutls and gsasl under uClinux
=======================================================================

Written by Simon Josefsson on 2007-06-07.  Last updated 2008-01-12.
See link:http://josefsson.org/uclinux/[] for more information.

Note about Blackfin uClinux
---------------------------

link:http://blackfin.uclinux.org/gf/[Blackfin uClinux] has integrated
this work, thanks to Robin Getz.  If you are using Blackfin uClinux
you do not need to apply these patches manually.

Download the uClinux distribution
---------------------------------

   Get it from http://uclinux.org/pub/uClinux/dist/

   This was written for the 20070130 version,
   MD5 72926ff263c0499abd9004f631a2bb82.

   Unpack it as follows:

   ...........
   $ tar xfj uClinux-dist-20070130.tar.bz2
   ...........

Download the m68k/Coldfire cross compiler
-----------------------------------------

   Get it from http://www.uclinux.org/pub/uClinux/m68k-elf-tools/

   This was written for the 20061214 version,
   MD5 24776e2bc5fe27b35fac0c989029ee68.

   Install it as follows

   ...........
   # sh ./m68k-uclinux-tools-20061214.sh
   ...........

Download libgpg-error, libgcrypt, gnutls, gsasl.
------------------------------------------------

   ...........
   $ cd uClinux-dist/lib
   ...........

   ...........
   $ wget -q ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.5.tar.bz2
   $ sha1sum libgpg-error-1.5.tar.bz2
   1f83d9af8e8ed3bcbf3a5e9018db257dc6336655  libgpg-error-1.5.tar.bz2
   $ tar xfj libgpg-error-1.5.tar.bz2
   $ mv libgpg-error-1.5 libgpg-error
   ...........

   ...........
   $ wget -q ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.2.4.tar.gz
   $ sha1sum libgcrypt-1.2.4.tar.gz
   d279e7a4464cccf0cc4e29c374a1e8325fc65b9a  libgcrypt-1.2.4.tar.gz
   $ tar xfz libgcrypt-1.2.4.tar.gz
   $ mv libgcrypt-1.2.4 libgcrypt
   ...........

   ...........
   $ wget -q http://josefsson.org/gnutls/releases/gnutls-1.6.3.tar.bz2
   $ sha1sum gnutls-1.6.3.tar.bz2
   7553b9f7ddd4982c0759b814bc6d9bf892cf7347  gnutls-1.6.3.tar.bz2
   $ tar xfj gnutls-1.6.3.tar.bz2
   $ mv gnutls-1.6.3 gnutls
   ...........

   ...........
   $ wget -q http://josefsson.org/gsasl/releases/gsasl-0.2.18.tar.gz
   $ sha1sum gsasl-0.2.18.tar.gz
   4447b365d34b2e4c605c16c8bd6819be3c404679  gsasl-0.2.18.tar.gz
   $ tar xfz gsasl-0.2.18.tar.gz
   $ mv gsasl-0.2.18 gsasl
   ...........

Download patch
--------------

   Get it from http://josefsson.org/uclinux/

   This was written for the 20070607 version,
   SHA-1 01022c6fba6f9c480cb29ba35ba73bfbf2db3cdb.

   Apply it as follows:

   ...........
   $ patch -p 0 < 20070607.diff
   patching file uClinux-dist/config/Configure.help
   patching file uClinux-dist/config/config.in
   patching file uClinux-dist/lib/Makefile
   patching file uClinux-dist/lib/libgpg-error/makefile
   patching file uClinux-dist/lib/libgcrypt/makefile
   patching file uClinux-dist/lib/gnutls/makefile
   patching file uClinux-dist/lib/gsasl/makefile
   $
   ...........

Build uClinux
-------------

   ...........
   $ cd uClinux-dist
   $ make menuconfig
   ...........

   I changed the kernel to 'linux-2.4' and CPU to Freescale/M5407C3.

   Be sure to toggle 'Customize Vendor/User Settings' under
   'Kernel/Library/Defaults Selection' in the first dialog.

   Be sure to toggle libgpg-error, libgcrypt, gnutls and/or gsasl under
   'Library Configuration' in the second dialog.

   ...........
   $ make dep
   $ make
   ...........

   If you get build failures during ./configure of gnutls or gsasl
   related to missing 'libgcrypt-config' you need to do:

   ...........
   $ cd uClinux-dist/lib/libgcrypt/inst/bin
   $ ln -s m68k-elf-linux-libgcrypt-config libgcrypt-config
   ...........

Finished
--------

The packages, including in particular the libraries, should now be
available from:

   ...........
             uClinux-dist/lib/libgpg-error/inst/
             uClinux-dist/lib/libgcrypt/inst/
             uClinux-dist/lib/gnutls/inst/
             uClinux-dist/lib/gsasl/inst/
   ...........
