Introduction
FreeType est un moteur portable de polices de caractères utilisé dans de
nombreux produits graphiques comme libgd, cairo, gnuplot
…
La compilation de FreeType 2.4.6 en 64 bits sur Sun Solaris 10 x86 avec Sun
Studio 12.1 est relativement simple. L’installation est réalisée dans un
répertoire personnalisé afin de ne pas polluer les répertoires systèmes /usr
.
Pour plus d’informations sur l’installation des compilateurs SunStudio 12.1 :
Installation de Sun Studio 12 sur Sun
Solaris 10 X86 pour les compilations.
Unique particularité lors de la compilation : FreeType 2.4.6 impose GNU make >= 3.80 ou makepp >= 1.19 lors de la compilation :
% ./configure --help
GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2. Please try `GNUMAKE=<GNU make command name> ./configure'. or >&2 `GNUMAKE="makepp --norc-substitution" ./configure'.
Pour compiler, installer et utiliser GNU Make 3.82 sur Sun Solaris 10 X86 64 bits : GNU Make 3.82, compilation sur Sun Solaris 10 X86.
Téléchargement et préparation de l’environnement pour la compilation de FreeType 2.4.6
Le code source de FreeType 2.4.6 est disponible en téléchargement pour
Solaris 10 sous la forme d’une archive compressée (freetype-2.4.6.tar.gz
) à
cette adresse : SourceForge - FreeType 2.4.6.
L’archive freetype-2.4.6.tar.gz
est transférée avec ftp
sur la machine cible
dans le répertoire /Software/tools/temp
puis décompressée et désarchivée avec
les utilitaires gunzip
et tar
/
% cd /Software/tools/temp
% gunzip -c freetype-2.4.6.tar.gz | tar xvf -
Le code source est alors désarchivé avec la commande tar
dans le sous
répertoire ./freetype-2.4.6
.
La variable $PATH
est mise à jour avant la compilation pour référencer
/usr/ccs/bin
, répertoire qui contient les binaires ld
et ar
, indispensables
pour la génération des librairies statiques et dynamiques.
% PATH=/usr/ccs/bin:$PATH
% export PATH
Si les liens de SunStudio n’ont pas été installés dans /usr/bin
lors de
l’installation, la variable $PATH
doit référencer également le répertoire
<répertoire de sunstudio 12.1>/bin
pour trouver les compilateurs.
% PATH=/opt/sunstudio12.1/bin:$PATH
% export PATH
Il s’agit d’une compilation en 64 bits, la variable $CFLAGS
est donc mise à
jour à -m64
:
% CFLAGS=-m64
% export CFLAGS
L’exécutable GNU make 3.82 est installé dans le répertoire
/Software/tools/gnutools/bin
. Afin que celui-ci soit sélectionné à la
compilation, ce répertoire est référencé en premier dans la variable $PATH
:
% PATH=/Software/tools/gnutools/bin:$PATH
% export PATH
Configuration, compilation et installation de FreeType 2.4.6
Une fois l’environnement préparé (variables $PATH, $CFLAGS
), la
configuration de la compilation peut être déclenchée. L’option --help
renvoie
les options de configuration (la sortie de l’option --help
est allégée pour la
lisibilité).
% cd /Software/tools/temp/freetype-2.4.6 % ./configure --help
`configure' configures GNU FreeType 2.4.6 to adapt to many kinds of systems. ... Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'. ...
L’option --prefix
est spécifiée dans cet article afin de délocaliser
l’installation des binaires et librairies de FreeType dans le répertoire
/Software/tools/misc
(DIR). L’installation n’est pas réalisée dans son
répertoire par défaut /usr/local
.
La ligne de configuration de la compilation est la suivante dans cet exemple pratique :
% cd /Software/tools/temp/freetype-2.4.6
% ./configure --prefix=/Software/tools/misc
La compilation et l’installation de freetype-2.4.6 sont réalisées avec les
commandes make
et make install
.
% cd /Software/tools/temp/freetype-2.4.6
% make
% make install
Architecture de FreeType 2.4.6
La compilation génère dans le répertoire DIR/lib
la librairie archive
statique libfreetype.a
et la librairie dynamique libfreetype.so.6.7.1
. Les
liens symboliques libfreetype.so
et libfreetype.so.6
pointent sur la librairie
libfreetype.so.6.7.1
.
Les fichiers d’entête (*.h
) de FreeType sont installés dans le répertoire
DIR/include/freetype2
, répertoire à inclure lors de la compilation de produits
qui dépendent de FreeType.