Netsurf 2.0 on PDA

Dmitry Artamonow mad_soft at inbox.ru
Fri May 15 16:19:19 BST 2009


Hello and thanks for your exellent work on Netsurf!

After two days of trial and error, I've finally succeeded in
crosscompiling gtk version of Netsurf 2.0 using OpenEmbedded.
Screenshots of Netsurf in action on ipaq hx4700 and h2200 are here:
http://mad.is-a-geek.org/netsurf/

On hx4700's VGA screen it feels perfect, but there's some problems with
QVGA (h2200) - for some reason URL bar is missing in portrait mode, and
you need to change icon size first (non-trivial task itself on QVGA)
for getting it at least in landscape mode.

Also I faced and solved some problems during cross-compilation:

 1. make doesn't detect LDFLAGS for openssl, which leads to following
    errors during linking:
content/fetchers/fetch_curl.c:879: undefined reference to `X509_free'
content/fetchers/fetch_curl.c:812: undefined reference to `ASN1_INTEGER_get'
 ...

 2. OE version of libxml2 is configured with --without-debug , which
    probably causes following:
gtk/gtk_scaffolding.c:1075: undefined reference to `xmlDebugDumpDocument'

    Full log for these two errors is here:
    http://tinderbox.openembedded.net/public/logs/5236611.txt

 3. make install for TARGET=gtk doesn't install some of the files in
    gtk/res that leads to various missing functionality and even crashes in
    run time

Both #1 and #3 are adressed by attached patch. I worked around #2 by
total removing "Save DOM tree" handler code - don't know how to fix it
properly.

BTW, what's the purpose of gtk/res/docs/about ? It seems to contain some
RISC OS files - do they used in gtk version at all? I can't find any
mentioning of them in gtk code.

-- 
Best regards,
Dmitry "MAD" Artamonow

-------------- next part --------------
Index: Makefile
===================================================================
--- Makefile	(revision 7513)
+++ Makefile	(working copy)
@@ -397,7 +397,7 @@
 # ----------------------------------------------------------------------------
 
 ifeq ($(TARGET),gtk)
-  LDFLAGS += $(shell $(PKG_CONFIG) --libs libxml-2.0 libcurl libhubbub)
+  LDFLAGS += $(shell $(PKG_CONFIG) --libs libxml-2.0 libcurl libhubbub openssl)
 
   # define additional CFLAGS and LDFLAGS requirements for pkg-configed libs here
   NETSURF_FEATURE_RSVG_CFLAGS := -DWITH_RSVG
@@ -809,10 +809,13 @@
 	mkdir -p $(DESTDIR)$(NETSURF_GTK_BIN)
 	@cp -v nsgtk $(DESTDIR)$(NETSURF_GTK_BIN)netsurf
 	@cp -vRL gtk/res/adblock.css $(DESTDIR)$(NETSURF_GTK_RESOURCES)
+	@cp -vRL gtk/res/arrow_down_8x32.png $(DESTDIR)$(NETSURF_GTK_RESOURCES)
+	@cp -vRL gtk/res/blankpage $(DESTDIR)$(NETSURF_GTK_RESOURCES)
 	@cp -vRL gtk/res/ca-bundle.txt $(DESTDIR)$(NETSURF_GTK_RESOURCES)
 	@cp -vRL gtk/res/default.css $(DESTDIR)$(NETSURF_GTK_RESOURCES)
 	@cp -vRL gtk/res/gtkdefault.css $(DESTDIR)$(NETSURF_GTK_RESOURCES)
 	@cp -vRL gtk/res/license $(DESTDIR)$(NETSURF_GTK_RESOURCES)
+	@cp -vRL gtk/res/languages $(DESTDIR)$(NETSURF_GTK_RESOURCES)
 	@cp -vRL gtk/res/netsurf.xpm $(DESTDIR)$(NETSURF_GTK_RESOURCES)
 	@cp -vRL gtk/res/netsurf-16x16.xpm $(DESTDIR)$(NETSURF_GTK_RESOURCES)
 	@cp -vRL gtk/res/throbber/*.png $(DESTDIR)$(NETSURF_GTK_RESOURCES)/throbber
@@ -823,6 +826,7 @@
 	gzip -9v < gtk/res/netsurf.glade > $(DESTDIR)$(NETSURF_GTK_RESOURCES)netsurf.glade
 	gzip -9v < gtk/res/options.glade > $(DESTDIR)$(NETSURF_GTK_RESOURCES)options.glade
 	gzip -9v < gtk/res/history.glade > $(DESTDIR)$(NETSURF_GTK_RESOURCES)history.glade
+	gzip -9v < gtk/res/source.glade > $(DESTDIR)$(NETSURF_GTK_RESOURCES)source.glade
 
 install-beos: NetSurf
 	# TODO:HAIKU -- not sure if throbber is needed.  being left out for now.


More information about the netsurf-dev mailing list