91 votes

Comment créer un script de configuration ?

Cette question peut sembler très générale, mais la voici.

J'ai une exigence pour créer une configure script pour mon application, le résultat de cette configure serait un généré makefile (de base configure , make , make install ). Ma question est la suivante : par où dois-je commencer pour construire ce système ? Existe-t-il un exemple que je peux suivre ?

89voto

dAm2K Points 3283

Pour créer le standard "configure" script vous avez besoin de GNU autoconf. Vous pouvez également avoir besoin de GNU automake et libtool.

Il existe des tonnes de documentation et de guides pratiques. Cherchez sur Google quelque chose comme "autoconf automake howto". La bonne documentation se trouve dans les pages de manuel officielles :

Autoconf créera votre configure script à partir du fichier "configure.ac". Le fichier "Makefile.am" indiquera à automake comment créer votre makefile à partir de la chaîne configure. Libtool est nécessaire pour simplifier la manipulation des bibliothèques autour de votre code.

Vous pouvez commencer à créer un fichier configure.ac à la main ou vous pouvez utiliser l'aide "autoscan" qui peut vous aider à créer quelque chose de semi-automatique pour vous.

Puis, quand vous serez prêt, celui-ci fera la magie :

autoreconf -i

39voto

haw3d Points 141

Il y a un flux de construction dans linux
enter image description here et il existe un très bon tutoriel
https://thoughtbot.com/blog/the-magic-behind-configure-make-make-install

7voto

Alan Jurgensen Points 127

Parfois, un logiciel est livré sans script configuré. Cherchez un autogen.sh script. il s'exécutera probablement :

aclocal || die "aclocal failed"
automake --add-missing --force-missing --copy --foreign || die "automake failed"
autoreconf || die "autoreconf failed"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X