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

Reply via email to