Subject: Re: minimo
To: None <acruhl@gmail.com>
From: Masahiko Ito <m-ito@mbox.kyoto-inet.or.jp>
List: port-hpcmips
Date: 03/11/2005 19:54:22
Hello all.

From: Andy Ruhl <acruhl@gmail.com>
Subject: Re: minimo
Date: Thu, 10 Mar 2005 21:27:55 -0700
Message-ID: <78a2305a05031020273f135b7b@mail.gmail.com>

acruhl> I tried to build minimo a few times on my Qube, but it never worked.
acruhl> There is a lot of conflicting info about how to build it, but the
acruhl> problems I was getting didn't look like config problems, they looked
acruhl> like code compatibility problems (from what my feeble mind can
acruhl> comprehend anyway).
acruhl> 
acruhl> Went back to the above mentioned page and it looks like this guy may
acruhl> be joining us to tell us about his exploits soon. I can't wait, I'd
acruhl> really like to see how minimo works on my Mobilepro 880. Dillo is just
acruhl> about infuriating... mMosaic is slightly better.
acruhl> 
acruhl> Andy
acruhl> 

Befor I build minimo (with gtk+-1.2.10) on NetBSD/hpcmips, I 
had to install followings.

1. glib-1.2.10.tar.gz
=====================

    * patch for glib-1.2.10

-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --
*** config.sub.ORG      Sat Jan 29 20:00:02 2005
--- config.sub  Sat Jan 29 20:01:23 2005
***************
*** 212,218 ****
              | mipstx39-* | mipstx39el-* | mcore-* \
              | f301-* | armv*-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
!             | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
--- 212,218 ----
              | mipstx39-* | mipstx39el-* | mcore-* \
              | f301-* | armv*-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
!             | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* | hpcmips-*)
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --

    * tar xvzf glib-1.2.10.tar.gz
    * cd glib-1.2.10
    * patch <patch_for_glib-1.2.10
    * ./configure
    * make
    * make install 

2. gtk+-1.2.10.tar.gz
=====================

    * patch1 for gtk+-1.2.10

-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --
*** config.sub.ORG      Sat Jan 29 20:36:10 2005
--- config.sub  Sat Jan 29 20:36:49 2005
***************
*** 212,218 ****
              | mipstx39-* | mipstx39el-* | mcore-* \
              | f301-* | armv*-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
!             | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* )
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
--- 212,218 ----
              | mipstx39-* | mipstx39el-* | mcore-* \
              | f301-* | armv*-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
!             | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* | hpcmips-* )
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --

    * patch2 for gtk+-1.2.10
      If you don't use multibyte character, this patch is not needed.

-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --
*** configure.ORG       Wed Feb 23 13:05:21 2005
--- configure   Wed Feb 23 13:46:31 2005
***************
*** 76,81 ****
--- 76,83 ----
    --disable-glibtest       Do not try to compile and run a test GLIB program"
  ac_help="$ac_help
    --with-x                use the X Window System"
+ ac_help="$ac_help
+   --with-xlocale          force use X_LOCALE"

  # Initialize some variables set by options.
  # The variables have the same names as the options, with
***************
*** 427,432 ****
--- 429,437 ----
      # Obsolete; use --with-x.
      with_x=yes ;;

+   --with-xlocale)
+     with_xlocale=yes ;;
+
    -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
    | --x-incl | --x-inc | --x-in | --x-i)
      ac_prev=x_includes ;;
***************
*** 5845,5850 ****
--- 5850,5859 ----
    need_x_locale=yes
  fi
  rm -fr conftest*
+ fi
+
+ if test "x$with_xlocale" = xyes; then
+   need_x_locale=yes
  fi

  echo "$ac_t""$need_x_locale" 1>&6
-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --

    * tar xvzf gtk+-1.2.10.tar.gz
    * cd gtk+-1.2.10
    * patch <patch1_for_gtk+-1.2.10
    * patch <patch2_for_gtk+-1.2.10
    * ./configure --with-locale=ja_JP.eucJP --with-xlocale
      It seem that locale function of NetBSD/hpcmips is broken :-<, so `--with-xlocale'
      option use X_LOCALE force.
      If you don't use multibyte character, `--with-xlocale' option is not needed.
    * make
    * make install

3. libIDL-0.6.8.tar.gz
======================

    * patch for libIDL-0.6.8

-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --
*** config.sub.ORG      Sun Jan 30 01:04:19 2005
--- config.sub  Sun Jan 30 01:05:10 2005
***************
*** 207,213 ****
              | mipstx39-* | mipstx39el-* \
              | f301-* | armv*-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
!             | thumb-* | v850-* | d30v-* | tic30-* | c30-* )
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
--- 207,213 ----
              | mipstx39-* | mipstx39el-* \
              | f301-* | armv*-* | t3e-* \
              | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
!             | thumb-* | v850-* | d30v-* | tic30-* | c30-* | hpcmips-*)
                ;;
        # Recognize the various machine names and aliases which stand
        # for a CPU type and a company and sometimes even an OS.
-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --

    * tar xvzf libIDL-0.6.8.tar.gz
    * cd libIDL-0.6.8
    * patch <patch_for_libIDL-0.6.8
    * ./configure
    * make
    * make install 

4. unzip551.tar.gz
==================

    * tar xvzf unzip551.tar.gz
    * cd unzip-5.51
    * ln -s unix/Makefile .
    * make
    * make install 

5. zip23.tar.gz
===============

    * tar xvzf zip23.tar.gz
    * cd zip-2.3
    * ln -s unix/Makefile .
    * make
    * make install 

I think the biggest problem to build minimo for NetBSD/hpcmips that
gcc(2.95.3) generate broken assembler source when combination of -fPIC
option and switch-case sentence. and as got error like

 {standard input}: Assembler messages:
 {standard input}:2218: Fatal error: {standard input}:997: bad return from bfd_install_relocation
 gmake[1]: *** [nsObsoleteAStringThunk.o] Error 1

so I changed switch-case sentence to if-else sentence when
`bfd_install_relocation' error happened. This is my main work to
resolve problems of building minimo.

patch is here.

-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --
begin 644 firefox-1.0-netbsd-hpcmips.diff.gz
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
8_FOR_61_^P<+OU4;AZ[M/[LQA;WW,0``
`
end
-- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE -- CUT HERE --


    * tar xvzf  firefox-1.0-source.tar.bz2
    * cd mozilla
    * zcat /somewhere/firefox-1.0-netbsd-hpcmips.diff.gz | patch -p1
    * vi .mozconfig

export MOZ_PHOENIX=1
mk_add_options MOZ_PHOENIX=1

ac_add_options --disable-ldap
ac_add_options --disable-mailnews
ac_add_options --enable-extensions=cookie,xmlextras
ac_add_options --enable-crypto
ac_add_options --disable-composer
ac_add_options --enable-single-profile
ac_add_options --disable-profilesharing
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --enable-default-toolkit=gtk
ac_add_options --disable-xft
ac_add_options --disable-freetype2
ac_add_options --disable-profilesharing
ac_add_options --disable-profilelocking
ac_add_options --enable-single-profile
ac_add_options --disable-accessibility
ac_add_options --disable-composer
ac_add_options --enable-plaintext-editor-only
ac_add_options --disable-postscript
ac_add_options --disable-mathml
ac_add_options --disable-jsd
ac_add_options --disable-installer
ac_add_options --disable-xprint
ac_add_options --disable-necko-disk-cache
ac_add_options --enable-necko-small-buffers
ac_add_options --disable-logging
ac_add_options --disable-tests
ac_add_options --enable-crypto
ac_add_options --enable-necko-protocols=http,file,res,jar
ac_add_options --enable-image-decoders=png,gif,jpeg
ac_add_options --enable-strip
ac_add_options --enable-reorder

    * make -f client.mk build
    * cd xpinstall/packager
    * make MOZILLA_BIN=../../dist/bin/firefox
    * cd ../../embedding/config
    * make
    * cd ../../dist/
    * tar cf - Embed ; (cd ~ && tar xvf -)
    * vi ~/Embed/greprefs/all.js

     if you need, edit this.

     example
     =======

pref("network.proxy.type",                  1);
pref("network.proxy.ftp",                   "192.168.0.100");
pref("network.proxy.ftp_port",              8080);
pref("network.proxy.http",                  "192.168.0.100");
pref("network.proxy.http_port",             8080);
pref("network.proxy.ssl",                   "192.168.0.100");
pref("network.proxy.ssl_port",              8080);
pref("network.proxy.no_proxies_on",         "localhost, 127.0.0.1, 192.168.0.0/24");

    * cd ~/Embed/
    * ./run-mozilla.sh ./TestGtkEmbed http://www.yahoo.com/

I have done build of minimo(+gtk+-1.2.10) and I can run minimo, but 
this minimo replied *no* reaction when any button on web page was 
clicked :-<

Next, I tried to build minimo with gtk+-2.2.4, but this minimo dead
with message

    new_gtk_browser
            menu bar
            tool bar
            location bar
            status bar
    Segmentation fault - core dumped

This is my current status of building minimo.

-- 
Masahiko Ito