ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ltib] [PATCH] Dillo2 Web Browser


From: Stuart Hughes
Subject: Re: [Ltib] [PATCH] Dillo2 Web Browser
Date: Fri, 17 Jul 2009 09:25:48 +0100
User-agent: Thunderbird 2.0.0.16 (X11/20080707)

Hi Alan,

Here's an update to the patch you submitted. This is against the latest Savannah CVS. Please can you review this and try it and let me know if it's okay to check-in or if any changes are needed.

Here's an explanation of (some) of what I changed (and a question for fltk2):

---+ packages.lkc

I found that 'select PKG_XORG_SERVER' does not work (as it's a choice list entry) so I modified the existing and the new items that try to select this. Instead I select what they directly depend on. This is a bit of a judgement call with respect to dillo in particular as although you can built it without the X-server I don't think you could run it. The alternative is to only make it visible if the X-server is enabled.

---+ libXi.spec

* license incorrect, was GPL -> MIT
* URL missing -> http://xorg.freedesktop.org/releases/individual/lib/

---+ libXfixes.spec
* license incorrect, was GPL -> MIT
* URL missing -> http://xorg.freedesktop.org/releases/individual/lib/

---+ libXcursor.spec
* license incorrect, was GPL -> MIT
* URL changed from http://www.X.org ->
http://xorg.freedesktop.org/releases/individual/lib/

---+ fltk2.spec
* license changed, was GPL (Distributable) -> LGPL with exceptions
* URL missing -> http://www.fltk.org/software.php
* name changed to fltk2 to avoid conflict with fltk v1
* Removed patch1 & 2 and replace with potential configuration points
Q: Any reason not to build shared libraries?

---+ dillo2.spec
* license changed, was GPL (Distributable) -> GPL
* URL missing -> http://www.dillo.org/download
* commented out dillo-2.1-fixbadinstruction.patch (not needed?)
* replaced dillo-2.1-fixfltkflags.patch with dillo-2.1-cross.patch,
* which removed /usr/ and fixes png refs to /usr

Regards, Stuart

Stuart Hughes wrote:
Hi Alan,

Alan Carvalho de Assis wrote:
Hi Stuart,

sic
Which arm compiler causes the error? I don't get any error on the imx27
build.  The toolchain I'm using is:

$ grep TOOLCHAIN config/platform/imx27ads/.config
CONFIG_TOOLCHAIN_ARMEABI_GLIBC1=y
# CONFIG_TOOLCHAIN_ARMEABI_CUSTOM is not set
CONFIG_TOOLCHAIN="tc-fsl-x86lnx-armeabi-nptl-4.1.2-3.i386.rpm"
CONFIG_TOOLCHAIN_PATH="/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi"
CONFIG_TOOLCHAIN_PREFIX="arm-none-linux-gnueabi-"
CONFIG_TOOLCHAIN_CFLAGS="-O2 -fsigned-char -msoft-float"


My crosscompiler is the same:
address@hidden:~/ltib$ grep TOOLCHAIN config/platform/imx27ads/.config
CONFIG_TOOLCHAIN_ARMEABI_GLIBC1=y
# CONFIG_TOOLCHAIN_ARMEABI_CUSTOM is not set
CONFIG_TOOLCHAIN="tc-fsl-x86lnx-armeabi-nptl-4.1.2-3.i386.rpm"
CONFIG_TOOLCHAIN_PATH="/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi"
CONFIG_TOOLCHAIN_PREFIX="arm-none-linux-gnueabi-"
CONFIG_TOOLCHAIN_CFLAGS="-O2 -fsigned-char -msoft-float"

Are you compiling dillo without the "htons" patch?

Correct, I'm not using that patch.


What Linux distro are you using?


DreamLinux 3.5, which is basically Debian Lenny.

I'll send you what I have for review with that patch commented out. Maybe you can try a fresh check-out with that patch. I've made some other changes (libpng was using /usr) so maybe that has had an effect?

Regards, Stuart


Index: config/userspace/packages.lkc
===================================================================
RCS file: /sources/ltib/ltib/config/userspace/packages.lkc,v
retrieving revision 1.29
diff -u -r1.29 packages.lkc
--- config/userspace/packages.lkc       15 Jul 2009 09:32:58 -0000      1.29
+++ config/userspace/packages.lkc       17 Jul 2009 07:41:04 -0000
@@ -530,6 +530,17 @@
 
       Install diffutils if you need to compare text files.
 
+config PKG_DILLO2
+    depends CAP_HAS_MMU
+    select PKG_LIBJPEG
+    select PKG_LIBPNG
+    select PKG_FREETYPE
+    select PKG_GIFLIB
+    select PKG_FLTK2
+    bool "dillo2 Web Browser"
+    help
+      Dillo is a simple and fast FLTK2 based web browser.
+
 config PKG_DIRECTFB
     depends CAP_HAS_MMU
     depends !KERNEL_NONE
@@ -880,6 +891,16 @@
       Flex was designed to work with both Yacc and Bison, and is used by many
       programs as part of their build process.
 
+config PKG_FLTK2
+    depends CAP_HAS_MMU
+    select PKG_LIBXCURSOR
+    bool "fltk2"
+    help
+      FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for 
+      UNIX/Linux (X11), Microsoft Windows, and MacOS X. FLTK provides 
+      modern GUI functionality without the bloat and supports 3D graphics 
+      via OpenGL® and its built-in GLUT emulation.
+
 config PKG_FONTCONFIG
    depends CAP_HAS_MMU
    select PKG_EXPAT
@@ -3321,6 +3342,32 @@
     bool "libXaw"
     help
       X.Org X11 libXaw runtime library
+
+config PKG_LIBXI
+    depends CAP_HAS_MMU
+    select PKG_LIBXEXT
+    bool "libXi"
+    help
+      X.Org X11 libXi runtime library
+
+config PKG_LIBXFIXES
+    depends CAP_HAS_MMU
+    select PKG_LIBXI
+    select PKG_FIXESPROTO
+    bool "libXfixes"
+    help
+      X.Org X11 libXfixes runtime library
+
+config PKG_LIBXCURSOR
+    depends CAP_HAS_MMU
+    select PKG_LIBXI
+    select PKG_LIBXFIXES
+    select PKG_RENDERPROTO
+    select PKG_LIBXRENDER
+    bool "libXcursor"
+    help
+      X.Org X11 libXfixes runtime library
+
 config PKG_LIBXXF86DGA
     depends CAP_HAS_MMU
     bool "libXxf86dga"
Index: config/userspace/pkg_map
===================================================================
RCS file: /sources/ltib/ltib/config/userspace/pkg_map,v
retrieving revision 1.17
diff -u -r1.17 pkg_map
--- config/userspace/pkg_map    8 Jul 2009 15:27:50 -0000       1.17
+++ config/userspace/pkg_map    17 Jul 2009 07:41:04 -0000
@@ -368,6 +368,14 @@
 PKG_XORG_X11_DRV_KEYBOARD        = xorg-x11-drv-keyboard
 PKG_LIBXXF86DGA                  = libXxf86dga
 PKG_XORG_X11_PROTO_DEVEL         = xorg-x11-proto-devel
+PKG_LIBXI                        = libXi
+PKG_LIBXFIXES                    = libXfixes
+PKG_LIBXCURSOR                   = libXcursor
+
+# dillo2 web browser
+PKG_FLTK2                        = fltk2
+PKG_DILLO2                       = dillo2
+
 # leave these as the last 3 packages in the build order
 PKG_SYSCONFIG                    = sysconfig
 PKG_MERGE                        = merge
Index: dist/lfs-5.1/dillo2/dillo2.spec
===================================================================
RCS file: dist/lfs-5.1/dillo2/dillo2.spec
diff -N dist/lfs-5.1/dillo2/dillo2.spec
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ dist/lfs-5.1/dillo2/dillo2.spec     17 Jul 2009 07:41:04 -0000
@@ -0,0 +1,41 @@
+%define pfx /opt/freescale/rootfs/%{_target_cpu}
+
+Summary         : Dillo2 Web Browser 
+Name            : dillo
+Version         : 2.1 
+Release         : 1
+License         : GPL
+Vendor          : Maxtrack
+Packager        : Alan Carvalho, Hamilton Vera
+Group           : Development/Libraries
+URL             : http://www.dillo.org/
+Source          : %{name}-%{version}.tar.bz2
+Patch1          : dillo-2.1-cross.patch
+#Patch2          : dillo-2.1-fixbadinstruction.patch
+BuildRoot       : %{_tmppath}/%{name}
+Prefix          : %{pfx}
+
+%Description
+%{summary}
+
+%Prep
+%setup
+%patch1 -p1
+#%patch2 -p1
+
+%Build
+
+./configure --prefix=%{_prefix} --host=$CFGHOST --build=%{_build} 
--disable-efence --disable-gprof
+make
+
+%Install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT/%{pfx}
+rm -f $RPM_BUILD_ROOT/%{pfx}/%{_prefix}/lib/*.la
+
+%Clean
+rm -rf $RPM_BUILD_ROOT
+
+%Files
+%defattr(-,root,root)
+%{pfx}/*
Index: dist/lfs-5.1/fltk2/fltk2.spec
===================================================================
RCS file: dist/lfs-5.1/fltk2/fltk2.spec
diff -N dist/lfs-5.1/fltk2/fltk2.spec
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ dist/lfs-5.1/fltk2/fltk2.spec       17 Jul 2009 07:41:05 -0000
@@ -0,0 +1,47 @@
+%define pfx /opt/freescale/rootfs/%{_target_cpu}
+
+Summary         : FLTK2 Graphic library
+Name            : fltk2
+Version         : 2.0.x 
+Release         : r6793
+License         : LGPL with exceptions
+Vendor          : Maxtrack
+Packager        : Alan Carvalho, Hamilton Vera
+Group           : Development/Libraries
+URL             : http://www.fltk.org/
+Source          : fltk-%{version}-%{release}.tar.bz2
+Patch3          : fltk-2.0.x-fixfontcrash.patch
+BuildRoot       : %{_tmppath}/%{name}
+Prefix          : %{pfx}
+
+%Description
+%{summary}
+
+%Prep
+%setup -q -n fltk-%{version}-%{release}
+%patch3 -p1
+
+%Build
+if [ -z "$PKG_FLTK2_WANT_FLUID" ]
+then
+    perl -pi.orig -e 's,^(DIRS.*)fluid ,$1,' Makefile
+fi
+if [ -z "$PKG_FLTK2_WANT_GLUTDEMOS" ]
+then
+    perl -pi.orig -e 's,(all:.*)\$\(DEMOS\),$1,' glut/Makefile
+fi
+./configure --prefix=%{_prefix} --host=$CFGHOST --build=%{_build} 
--disable-xft --disable-gl --with-x --disable-xinerama 
+make
+
+%Install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/%{pfx}
+make install DESTDIR=$RPM_BUILD_ROOT/%{pfx}
+rm -f $RPM_BUILD_ROOT/%{pfx}/%{_prefix}/lib/*.la
+
+%Clean
+rm -rf $RPM_BUILD_ROOT
+
+%Files
+%defattr(-,root,root)
+%{pfx}/*
Index: dist/lfs-5.1/libXcursor/libXcursor.spec
===================================================================
RCS file: dist/lfs-5.1/libXcursor/libXcursor.spec
diff -N dist/lfs-5.1/libXcursor/libXcursor.spec
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ dist/lfs-5.1/libXcursor/libXcursor.spec     17 Jul 2009 07:41:05 -0000
@@ -0,0 +1,37 @@
+%define pfx /opt/freescale/rootfs/%{_target_cpu}
+
+Summary         : libXcursor cursor lib for X11 
+Name            : libXcursor
+Version         : 1.1.9
+Release         : 1
+License         : MIT
+Vendor          : Maxtrack
+Packager        : Alan Carvalho, Hamilton Vera
+Group           : Development/Libraries
+URL             : http://xorg.freedesktop.org/releases/individual/lib/
+Source          : %{name}-%{version}.tar.bz2
+BuildRoot       : %{_tmppath}/%{name}
+Prefix          : %{pfx}
+
+%Description
+%{summary}
+
+%Prep
+%setup
+
+%Build
+
+./configure --prefix=%{_prefix} --host=$CFGHOST --build=%{_build} 
+make
+
+%Install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT/%{pfx}
+rm -f $RPM_BUILD_ROOT/%{pfx}/%{_prefix}/lib/*.la
+
+%Clean
+rm -rf $RPM_BUILD_ROOT
+
+%Files
+%defattr(-,root,root)
+%{pfx}/*
Index: dist/lfs-5.1/libXfixes/libXfixes.spec
===================================================================
RCS file: dist/lfs-5.1/libXfixes/libXfixes.spec
diff -N dist/lfs-5.1/libXfixes/libXfixes.spec
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ dist/lfs-5.1/libXfixes/libXfixes.spec       17 Jul 2009 07:41:05 -0000
@@ -0,0 +1,37 @@
+%define pfx /opt/freescale/rootfs/%{_target_cpu}
+
+Summary         : libXfixes  X Fixes extension library
+Name            : libXfixes
+Version         : 4.0.3
+Release         : 1
+License         : MIT
+Vendor          : Maxtrack
+Packager        : Alan Carvalho, Hamilton Vera
+Group           : Development/Libraries
+URL             : http://xorg.freedesktop.org/releases/individual/lib/
+Source          : %{name}-%{version}.tar.bz2
+BuildRoot       : %{_tmppath}/%{name}
+Prefix          : %{pfx}
+
+%Description
+%{summary}
+
+%Prep
+%setup
+
+%Build
+
+./configure --prefix=%{_prefix} --host=$CFGHOST --build=%{_build}  
+make
+
+%Install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT/%{pfx}
+rm -f $RPM_BUILD_ROOT/%{pfx}/%{_prefix}/lib/*.la
+
+%Clean
+rm -rf $RPM_BUILD_ROOT
+
+%Files
+%defattr(-,root,root)
+%{pfx}/*
Index: dist/lfs-5.1/libXi/libXi.spec
===================================================================
RCS file: dist/lfs-5.1/libXi/libXi.spec
diff -N dist/lfs-5.1/libXi/libXi.spec
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ dist/lfs-5.1/libXi/libXi.spec       17 Jul 2009 07:41:05 -0000
@@ -0,0 +1,37 @@
+%define pfx /opt/freescale/rootfs/%{_target_cpu}
+
+Summary         : libXi provides an X Window System client interface to the 
XINPUT extension
+Name            : libXi
+Version         : 1.1.4
+Release         : 1
+License         : MIT
+Vendor          : Maxtrack
+Packager        : Alan Carvalho, Hamilton Vera
+Group           : Development/Libraries
+URL             : http://xorg.freedesktop.org/releases/individual/lib/
+Source          : %{name}-%{version}.tar.bz2
+BuildRoot       : %{_tmppath}/%{name}
+Prefix          : %{pfx}
+
+%Description
+%{summary}
+
+%Prep
+%setup
+
+%Build
+
+./configure --prefix=%{_prefix} --host=$CFGHOST --build=%{_build} 
--enable-malloc0returnsnull 
+make
+
+%Install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT/%{pfx}
+rm -f $RPM_BUILD_ROOT/%{pfx}/%{_prefix}/lib/*.la
+
+%Clean
+rm -rf $RPM_BUILD_ROOT
+
+%Files
+%defattr(-,root,root)
+%{pfx}/*
20090717, Stuart Hughes <seh at zee2 dot com>

This patch allows dillo to be cross-compiled.  It avoids
/usr/{include,lib} which would get injected if the host side
config-probe tests were made.


diff --exclude CVS --exclude .git -uNr dillo-2.1/configure 
dillo-2.1.modified/configure
--- dillo-2.1/configure 2009-06-17 19:19:02.000000000 +0100
+++ dillo-2.1.modified/configure        2009-07-16 18:06:54.000000000 +0100
@@ -8072,19 +8072,9 @@
 
 { $as_echo "$as_me:$LINENO: checking FLTK2" >&5
 $as_echo_n "checking FLTK2... " >&6; }
-if sh -c "fltk2-config --version" >/dev/null 2>&1
-then { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-     LIBFLTK_CXXFLAGS=`fltk2-config --cxxflags`
-     LIBFLTK_CFLAGS=`fltk2-config --cflags`
-     LIBFLTK_LIBS=`fltk2-config --use-images --ldflags`
-else { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-     { { $as_echo "$as_me:$LINENO: error: FLTK2 must be installed!" >&5
-$as_echo "$as_me: error: FLTK2 must be installed!" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
+LIBFLTK_CXXFLAGS="-Wno-non-virtual-dtor"
+LIBFLTK_CFLAGS=
+LIBFLTK_LIBS="-lfltk2_images -lpng -lfltk2_images -ljpeg -lz -lfltk2 -lX11 
-lXi -lXcursor -lpthread -lm -lXext -lsupc++"
 
 if test "x$enable_jpeg" = "xyes"; then
   if test "${ac_cv_header_jpeglib_h+set}" = set; then
@@ -8543,44 +8533,10 @@
   { $as_echo "$as_me:$LINENO: checking for libpng-config" >&5
 $as_echo_n "checking for libpng-config... " >&6; }
 
-  if test -z "$PNG_CONFIG"; then
-    PNG_CONFIG=`which libpng12-config`
-    if test -z "$PNG_CONFIG"; then
-      PNG_CONFIG=`which libpng-config`
-    fi
-    if test -z "$PNG_CONFIG"; then
-      PNG_CONFIG=`which libpng10-config`
-    fi
-  fi
-
-  if test -n "$PNG_CONFIG" && test -x "$PNG_CONFIG"; then
-    { $as_echo "$as_me:$LINENO: result: $PNG_CONFIG" >&5
-$as_echo "$PNG_CONFIG" >&6; }
-    png_ok="yes"
-  else
-    { $as_echo "$as_me:$LINENO: result: missing" >&5
-$as_echo "missing" >&6; }
-    png_ok="no"
-  fi
-
-  if test "x$png_ok" = "xyes"; then
-    { $as_echo "$as_me:$LINENO: checking for libpng version" >&5
-$as_echo_n "checking for libpng version... " >&6; }
-    png_version=`$PNG_CONFIG --version`
-    case $png_version in
-      1.2.*) { $as_echo "$as_me:$LINENO: result: $png_version (newer version)" 
>&5
-$as_echo "$png_version (newer version)" >&6; } ;;
-      1.0.*) { $as_echo "$as_me:$LINENO: result: $png_version (older version)" 
>&5
-$as_echo "$png_version (older version)" >&6; } ;;
-          *) { $as_echo "$as_me:$LINENO: result: ERROR" >&5
-$as_echo "ERROR" >&6; } ;;
-    esac
-
-    LIBPNG_CFLAGS=`$PNG_CONFIG --cflags`
-    LIBPNG_LIBS=`$PNG_CONFIG --ldflags`
-    case $png_version in
-      1.2.4*) LIBPNG_LIBS="$LIBPNG_LIBS `$PNG_CONFIG --libs`" ;;
-    esac
+  if [ -n LTIB ] ; then
+    # hard-coded for LTIB, original code not good for cross compiling
+    LIBPNG_CFLAGS=
+    LIBPNG_LIBS="-lpng12"
   else
 
 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]