[oe] Firefox do_stage for gecko-mediaplayer package
Gregoire Gentil
gregoire at gentil.com
Mon Oct 20 18:00:50 UTC 2008
Hello,
I'm trying to create a recipe for gecko-mediaplayer which is a Firefox
plugin.
The recipe (http://pastebin.com/m5cd4d6ec) fails
(http://pastebin.com/m5a2c6a16) because firefox-plugin has not been
exported in the staging area:
configure: WARNING: firefox-plugin not found, trying another
checking for GECKO... no
...
checking for xpidl... no
configure: error: xpidl compiler not found
>From my investigations in the gecko-mediaplayer configure and hte
compilation logs, it seems that we are missing:
- firefox-plugin.pc and firefox-xpcom.pc
(take a look at the gecko-mediaplayer configure:
GECKO_HOME=`$PKG_CONFIG --variable=libdir firefox-plugin`
GECKO_IDLDIR=`$PKG_CONFIG --variable=idldir firefox-xpcom`)
- some headers
xpcom/base/*.idl
nsprpub/pr/include/*.h
- the xpidl program (host binary)
I copy the original Firefox-3.0.1 staging function for reference:
do_stage() {
install -d ${STAGING_INCDIR}/firefox-${PV}
cd dist/sdk/include
rm -rf obsolete
headers=`find . -name "*.h"`
for f in $headers
do
install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
done
# removes 2 lines that call absent headers
sed -e '178,179d'
${STAGING_INCDIR}/firefox-${PV}/nsIServiceManager.h
}
I suggest the following:
- remove the "rm -rf obsolete" as this folder contains important files
needed during the gecko-mediaplayer compilation
- add:
cd ../../../nsprpub/pr/include
headers=`find . -name "*.h"`
for f in $headers
do
install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
done
cd ../../../xpcom/base
headers=`find . -name "*.idl"`
for f in $headers
do
install -D -m 0644 $f ${STAGING_INCDIR}/firefox-${PV}/
done
Now, I still have a couple of problems:
- First, xpidl should be copied
to /OE/build/tmp/staging/i686-linux/usr/bin but it should be a host
binary. It's run at the last line of the configure to create a header
file. The one I found here:
tmp/work/armv7a-angstrom-linux-gnueabi/firefox-3.0.1-r7.1/mozilla/xpcom/typelib/xpidl/xpidl seems to be an ARM binary so I'm confused. How should I handle this situation?
- Secondly, how do I create those firefox-plugin.pc and
firefox-xpcom.pc so that it can be found by the gecko-mediaplayer
configure?
Perhaps, I'm not taking the problem on the right end. Any advice, code
or help would be appreciated. Thanks in advance,
Grégoire
More information about the Openembedded-devel
mailing list