Forums : XPCom

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2 3

# Re: XPCOM et SDL

Envoyé par : guillaume

Date : 16/04/2007 15:13

Toujours dans l'optique de programmer un plugin vidéo, je suis face à un problème :

où puis-je trouver un exemple complet de la COMPILATION d'un plugin (écriture du configure.in ou du makefile.am par exemple) ?

Car les plugins fournis par mozilla/modules/plugin/samples sont intéressants mais ils ne fournissent QUE le makefile.in.

J'aimerais connaitre les règles à respecter dans l'écriture d'un tel makefile.in.

Pour ma part, j'ai généré un configure.in à l'aide d'autoscan, puis réalisé les opérations standards de compilation (aclocal, autoconf, autoheader, ./configure, make).

Tout se passe bien jusqu'au ./configure. Puis, l'appel à "make" (utilisant donc le makefile.in livré par mozilla/modules/plugin/samples ) me donne :

Makefile:27: ../../../../../../config/autoconf.mk: Aucun fichier ou >répertoire de ce type
Makefile:51: config/rules.mk: Aucun fichier ou répertoire de ce type
make: *** Pas de règle pour fabriquer la cible « config/rules.mk ». >Arrêt.

Quels sont ces fichiers ? Sont-ils necessaires à la compilation de la "shared library" contenant mon plugin et mon composant XPCOM ?

Merci pour vos réponses.

# Re: XPCOM et SDL

Envoyé par : Paul Rouget

Date : 16/04/2007 15:35

Utilise le processus de compilation de Firefox. Crée un répertoire foobar par exemple dans le répertoire extensions, ensuite, compile en ajoutant l'option '--enable-extensions=default,foobar' et dans ton répertoire foobar, mets ton Makefile.in

# Re: XPCOM et SDL

Envoyé par : guillaume

Date : 16/04/2007 16:26

J'ai du mal à saisir : il faut ajouter cette option lors de la compilation de mon plugin+composant XPCOM ?

L'option "enable..." est à ajouter à quel moment ? Lors de l'appel du make ? Du ./configure ?

# Re: XPCOM et SDL

Envoyé par : Paul Rouget

Date : 16/04/2007 18:42

dans le mozconfig

# Re: XPCOM et SDL

Envoyé par : guillaume

Date : 17/04/2007 14:31

J'ai suivi vos indications. J'ai crée un dossier "simple" dans le dossier extensions de Xulrunner. Dans ce dossier, on trouve le makefile.in, les sources, le .mozconfig. J'ai bien ajouté l'option "--enable-extensions=default,simple".

Mais j'ai toujours le même message lors de l'appel de make :

>Makefile:27: ../../../../../../config/autoconf.mk: Aucun fichier ou        
>répertoire de ce type
>Makefile:51: config/rules.mk: Aucun fichier ou répertoire de ce type
>make: *** Pas de règle pour fabriquer la cible « config/rules.mk ».   
>Arrêt.

J'ai cherhcé et je ne dispose pas de ces fichiers dans ma machine. Sont-ils necessaires à la compilation ? (mozilla ou pas)

Si oui, où les trouver ?

Merci pour vos réponses

# Re: XPCOM et SDL

Envoyé par : Paul Rouget

Date : 17/04/2007 15:17

Adapte le Makefile.in pour que le DEPTH pointe au bon endroit. Certainement:

DEPTH	= ../..

# Re: XPCOM et SDL

Envoyé par : guillaume

Date : 17/04/2007 17:29

Le problème, c'est que mon plugin doit fonctionner sous Xulrunner.

Or, l'appel à autoconf.mk et rules.mk implique que nous compilions dans le repertoire d'une version de Mozilla contenant un dossier "config", qui lui-même contient une arborescence de fichiers .mk utilisés entre eux pour la compilation (exemple : rules.mk a besoin de config.mk qui a besoin de insure.mk qui a besoin ...etc...)

J'ai donc téléchargé une version de Mozilla présentant cette arborescence : Mozilla v.1.5.0.7. Et j'ai essayé de compiler les exemples de plugins (présents dans /mozilla/modules/plugin/tools/sdk/samples), mais il subsiste toujours des problèmes liés aux dépendances entre tous ces fichiers .mk...

En bref, je trouve tout ce procédé fort complexe : il n'est vraiment pas possible de compiler un composant plugin+XPCOM "normalement" à l'aide d'un makefile.in ? Connaissez-vous un tutorial expliquant la compilation d'un plugin ? (developper.mozilla.org explique plutôt la compilation de mozilla, et non d'un plugin !) Le developpement de plugin est-il si peu pratiqué ?!

J'ai déjà developpé des composants XPCOM, et la compilation était fort simple : il suffisait de partir du template du makefile. Il n'y a pas de templates de makefile pour la compilation de plugin ?

Je suis vraiment perdu sur ce point : pouvez-vous m'aider ?

# Re: XPCOM et SDL

Envoyé par : Paul Rouget

Date : 17/04/2007 18:09

Regarde dans le répertoire extensions de XulRunner pour voir comment fonctionnent les autres extensions, particulièrement celles en C++. À mon avis, c'est vraiment la méthode la plus propre et la plus simple car le processus de build gère un paquet de trucs à ta place.

Je compile moi même des plugins dans un répertoire extension de xulrunner (celui de la branch 1_8, ton Mozilla v.1.5.0.7 est completement outdated). Je fais mon Makefile.in en suivant exactement l'architecture des Makefile.in présents dans les sources de xulrunner.

Ça ressemble à ça:

REQUIRES	+= xpcom \
					 caps \
					 plugin \
					 dom \
					 java \
					 layout \
					 gfx \
					 widget \
					 necko \
					 content \
					 string \
					 mimetype \
					 exthandler \
					 $(NULL)


EXTRA_DSO_LDOPTS = \
	-lXi -lXext -lX11 -lm -lXt `pkg-config --libs gtk+-2.0 gthread-2.0` \
 	$(MOZ_COMPONENT_LIBS) \
	$(NULL)

CXXFLAGS += `pkg-config --cflags gtk+-2.0`

# Re: XPCOM et SDL

Envoyé par : guillaume

Date : 18/04/2007 10:55

Merci beaucoup pour toutes ces réponses !

Donc, pour récapituler, pour compiler un composant plugin/XPCOM, il faut :

  • télécharger les sources de Xulrunner
  • mettre le code source de mon composant dans le repertoire extensions du source de Xulrunner
  • compiler Xulrunner COMPLETEMENT, en n'oubliant pas d'ajouter dans le .mozconfig l'option "--enable-extensions=default,MonPlugin"

C'est bien ça ? (je n'avais pas saisi qu'il fallait re-compiler Xulrunner complètement afin de compiler mon plugin) Ai-je bien saisi l'idée ?

Merci encore pour ces reponses !

# Re: XPCOM et SDL

Envoyé par : Paul Rouget

Date : 18/04/2007 16:45

oui.

Aller à la page :  1 2 3

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.