Junqian Gordon Xu wrote:
> ============================================================
> --- conf/distro/include/angstrom-2007-preferred-versions.inc
> d0ef2c36f1b3189c7ab640814486bc42402933b7
> +++ conf/distro/include/angstrom-2007-preferred-versions.inc
> 5c4c13baff9f942bf49f38356a436936e225abbc
>
> +PREFERRED_VERSION_roadmap-gtk2 ?= "1.1.0"
>
Hi Gordon,
I have a few questions about the changes you made to the recipe.
-----
require roadmap.inc
DEPENDS = "agg expat gtk+"
---
you don't seem to actually be building against AGG (see below), but if
you were, I think you would find there is also a dependency for freetype.
---
PR = "r0"
SRC_URI = "${SOURCEFORGE_MIRROR}/roadmap/roadmap-${PV}-src.tar.gz \
file://cross.patch;patch=1;pnum=2 \
file://roadmap.desktop.patch;patch=1 \
http://roadmap.digitalomaha.net/maps/usdir.rdm.tgz \
file://zroadgps.png"
S = "${WORKDIR}/roadmap-${PV}/src"
DESKTOP = "GTK2"
POPT = "NO"
AGG = "rgba32"
---
You never call AGG later in the recipe, so this isn't being used (?)
Also, the correct value for _most_ (all?) portable devices is rgb565 (16
bit high color) - the above is only suitable for a (=some, not all)
standard desktop environment.
Or, upon thinking about it a bit more, is oe_runmake sophisticated
enough to take variables that are just defined in the bitbake recipe and
pass them to the makefile? If so, then it is working, but is set wrong
for 'standard' portable devices.
It doesn't look like it is actually building against agg at all, as if I
remove the dependency and leave the definition in place, there is no error.
I unfortunately was unable to determine how to force agg to determine
bitdepth at runtime, so we hacked in a build-time bitdepth configuration
(patches against roadmap are welcome :P)
---
CFLAGS += " -I${STAGING_INCDIR}/atk-1.0 -I${STAGING_INCDIR}/cairo
-I${STAGING_I
NCDIR}/pango-1.0 \
-I${STAGING_INCDIR}/glib-2.0 -I${STAGING_INCDIR}/gtk-2.0
-I${STAGING
_LIBDIR}/gtk-2.0/include -I${S} "
do_compile() {
oe_runmake libguiroadmap.a libguiroadgps.a libroadmap.a
oe_runmake -C gpx libgpx.a
oe_runmake -C unix libosroadmap.a
oe_runmake -C gtk2 gtkroadmap gtkroadgps
}
---
My recipe (which doesn't entirely work, so caveats apply, but it does
build and execute, just doesn't install everything perfectly yet), uses:
-
do_compile() {
oe_runmake DESKTOP=GTK2 AGG=rgb565
}
-
This seems more straightforward to me, but may be specific to
'roadmapisms' and the other way may be more proper (my values above just
override options set in config.mk) - even your 'gtk2' target is (I
believe) a 'convenience target' in the makefile. gtkroadmap and
gtkroadgps are real targets IIRC.
---
do_install() {
install -d ${D}${bindir}
install -d ${D}${datadir}/applications
install -d ${D}${datadir}/pixmaps
install -d ${D}${datadir}/roadmap
install -m 0755 gtk2/gtkroadmap ${D}${bindir}/roadmap
install -m 0755 gtk2/gtkroadgps ${D}${bindir}/roadgps
install -m 0644 icons/*png ${D}${datadir}/pixmaps/
install -m 0644 ${WORKDIR}/zroadgps.png
${D}${datadir}/pixmaps/roadgps.p
ng
install -m 0644 roadmap.desktop ${D}${datadir}/applications/
install -m 0644 sprites preferences ${D}${datadir}/roadmap/
install -m 0644 ${WORKDIR}/usdir.rdm ${D}${datadir}/roadmap/
}
FILES_${PN} += "${datadir}/roadmap"
---
we are definitely missing some installation targets here, as roadmap
will not execute when installed on a 'fresh' device (i.e. one that
doesn't have roadmap config files lying around). I have started to work
on fixing this and can send you patches of what I have when it totally
works.
Thanks for bumping the recipe - roadmap changed a LOT between 1.0.12 and
1.1.0 so it isn't quite totally ironed out yet.
Best Regards,
Josh
_______________________________________________
Angstrom-distro-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel