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

Re: OOo for mips



* Rene Engelhard <rene@debian.org> [2006-03-24 15:44]:
> mips or mipsel? Or both? Is there some fast machine available to
> build/test it on? (except the buildds...)

The work has been done by Fuxin Zhang <fxzhang@ict.ac.cn> on mipsel.
I wanted to take a look, clean it up and then send it to you, but
unfortunately I cannot time.  I also don't know anything about OOo, so
it probably makes more sense if you look at it yourself.

Below are some notes from Fuxin Zhang, and the files he sent me are
attached.  I can give you an account on a fast mips box (and probably
also on a mipsel machine) if you want to work on this, Rene.


Notes from Fuxin Zhang <fxzhang@ict.ac.cn>

Regarding the patches
---------------------

The old diff doesn't include the bridge code.

unpack it [the .tar file which contains the bridge code] into
bridges/source/cpp_uno/

and related line in bridges/prj/build.lst:
 br bridge\source\cpp_uno\gcc3_linux_mips nmake - u brgcclm3
br_cppuno_shared br_unotypes NULL

Regarding the diff:

Attached is the diff of the modified tree and the original source.
(OOo_2.0.0_src.tar.gz)

the difference of several tar.gz is caused by modified config.guess,I
used a mips64 kernel to build, and config.guess doesn't know about mips64.

modification of i18npool may be not necessary, for some reason some
target fail to build so I modify that.

modification of stoc/source/implementationregistration/implreg.cxx
should be unnecessary.

/soltools/checkdll should be built without -lpthread otherwise some dlls
 will fail to pass checkdll(a binutil bug I guess).

diff result miss a patch (again dynamically generated file):
solver/680/unxlngmips.pro/inc/stl/stdexcept line49,the "!" should be
deleted.(gcc4 problem?)


Build instructions:

1.
if you remote login into a build machine and to prevent be killed:

I am often use this:

cd instsetoo_native;
  nohup perl /root/oo/src1/solenv/bin/build.pl --all:<startproject>  &>
log &

(I use bash instead of tcsh to build, that is, I source
LinuxMIPSEnv.Set.sh but not LinuxMIPSEnv.Set)

2. python is disabled at the initial sucessful build(registeration
fails), but with java enabled it can be registered.

3. without java, OOo2.0 has a big limit: it cannot save files in native
file formats! That is why I am trying hard to build a java enabled
version. I have tried GCJ too, but GCJ/mips seems not good enough.

Other info:

the tough part of the patches is a gcc brige for linux/mips. Some of my
parters hacked one for 1.1, and it still works for 2.0, but I want a
full function bridge to enable python/java etc.

I have not finished the build with java enabled(the compilation is
done,but the final registration fails and it is not easy to trace,both
jdk/mips and the new bridge can be the killer), so I will present you
the version without java first.

-- 
Martin Michlmayr
http://www.cyrius.com/

Attachment: gcc3_linux_mips.tar.gz
Description: Binary data

Only in ./binfilter/bf_svx: t
Only in .: bootstrap
diff -r ./bridges/prj/build.lst ../../software/OOo_2.0.0rc3_src/bridges/prj/build.lst
13d12
< br	bridges\source\cpp_uno\gcc3_linux_mips		nmake	-	u	br_gcclm3 br_cppuno_shared br_unotypes NULL
Only in ./bridges/source/cpp_uno: gcc3_linux_mips
Only in ./config_office: c
Only in ./config_office: config.log
Only in ./config_office: config.parms
Only in ./config_office: config.status
Only in ./config_office: set_soenv
diff -r ./config_office/set_soenv.in ../../software/OOo_2.0.0rc3_src/config_office/set_soenv.in
430,440d429
<    elsif ($platform =~ m/^mips/)
<    {  print "Setting Linux MIPS specific values... ";
<       $outfile        = "LinuxMIPSEnv.Set"; 
<       $CPU            = "M";
<       $CPUNAME        = "MIPS";
<       $DLLSUFFIX      = "lm";
<       $OUTPATH        = "unxlngmips";
<       $JRELIBDIR      = '$JAVA_HOME'.$ds."jre".$ds."mips";
<       $JRETOOLKITDIR  = '$JAVA_HOME'.$ds."jre".$ds."mips".$ds."client";
<       $JRETHREADDIR   = '$JAVA_HOME'.$ds."jre".$ds."mips".$ds."native_threads";
<    }
Only in ./config_office: warn
Only in ./curl/download: bak
Only in ./curl/download: curl-7.12.2
Binary files ./curl/download/curl-7.12.2.tar.gz and ../../software/OOo_2.0.0rc3_src/curl/download/curl-7.12.2.tar.gz differ
Only in ./dmake: config.h
Only in ./dmake: config.log
Only in ./dmake: config.status
Only in ./dmake: dag.o
Only in ./dmake: .deps
Only in ./dmake: dmake
Only in ./dmake: dmake.o
Only in ./dmake: dmakeroot.h
Only in ./dmake: dmdump.o
Only in ./dmake: dmstring.o
Only in ./dmake: expand.o
Only in ./dmake: function.o
Only in ./dmake: getinp.o
Only in ./dmake: hash.o
Only in ./dmake: imacs.o
Only in ./dmake: infer.o
Only in ./dmake: macparse.o
Only in ./dmake: Makefile
Only in ./dmake: make.o
Only in ./dmake/msdos: .deps
Only in ./dmake/msdos: Makefile
Only in ./dmake: parse.o
Only in ./dmake: path.o
Only in ./dmake: percent.o
Only in ./dmake: quit.o
Only in ./dmake: rulparse.o
Only in ./dmake: stamp-h1
Only in ./dmake/startup: Makefile
Only in ./dmake/startup/unix/cygwin: Makefile
Only in ./dmake/startup/unix/linux: Makefile
Only in ./dmake/startup/unix/macosx: Makefile
Only in ./dmake/startup/unix: Makefile
Only in ./dmake/startup/unix/solaris: Makefile
Only in ./dmake/startup/unix/sysvr4: Makefile
Only in ./dmake/startup/winnt: Makefile
Only in ./dmake/startup/winnt/mingw: Makefile
Only in ./dmake/startup/winnt/msvc6: Makefile
Only in ./dmake: state.o
Only in ./dmake: stat.o
Only in ./dmake: sysintf.o
Only in ./dmake/unix: arlib.o
Only in ./dmake/unix: dcache.o
Only in ./dmake/unix: .deps
Only in ./dmake/unix: dirbrk.o
Only in ./dmake/unix: libunix.a
Only in ./dmake/unix: Makefile
Only in ./dmake/unix: rmprq.o
Only in ./dmake/unix: ruletab.o
Only in ./dmake/unix: runargv.o
Only in ./dmake/unix: tempnam.o
Only in ./dmake/win95: .deps
Only in ./dmake/win95: Makefile
Only in ./dmake/win95/microsft: .deps
Only in ./dmake/win95/microsft: Makefile
Only in ./external/glibc: patchinf
Only in ./external/glibc/rtufiles: config.h
Only in ./external/glibc/rtufiles: getopt1.c
Only in ./external/glibc/rtufiles: getopt.c
Only in ./external/glibc/rtufiles: getopt.h
Only in ./external/glibc/rtufiles: makefile.mk
Only in ./external/glibc/rtufiles: readdir_r.c
diff -r ./i18npool/prj/build.lst ../../software/OOo_2.0.0rc3_src/i18npool/prj/build.lst
12d11
< inp  i18npool\source\collator                   nmake   -   all inp_collator inp_utypes NULL
16a16
> inp  i18npool\source\collator                   nmake   -   all inp_collator inp_utypes NULL
diff -r ./i18npool/source/collator/makefile.mk ../../software/OOo_2.0.0rc3_src/i18npool/source/collator/makefile.mk
85,86d84
< $(APP1TARGET) : $(APP1OBJS)
<     +@echo dummy
88c86
< data/%.txt : $(APP1TARGETN) 
---
> data/%.txt : $(APP1TARGETN)
90,91c88
< 
< $(MISC)$/collator_%.cxx : data/%.txt 
---
> $(MISC)$/collator_%.cxx : data/%.txt
93a91,92
> 
> 
diff -r ./i18npool/source/textconversion/makefile.mk ../../software/OOo_2.0.0rc3_src/i18npool/source/textconversion/makefile.mk
77d76
<     +@echo $(APP1TARGETN)
80c79
< $(MISC)$/%.cxx : data$/%.dic 
---
> $(MISC)$/%.cxx : data$/%.dic
Only in ./icu/download: icu
Binary files ./icu/download/icu-2.6.tar.gz and ../../software/OOo_2.0.0rc3_src/icu/download/icu-2.6.tar.gz differ
Only in ./icu/download: icu-2.6.tar.gz.bak
Only in ./instsetoo_native: build_list
Only in ./instsetoo_native: log
Only in ./instsetoo_native: log1127
Only in ./instsetoo_native: log1129-1
Only in ./instsetoo_native: log1129-2
Only in ./instsetoo_native: out
Only in ./instsetoo_native: out-1
Only in ./linguistic/source: checkdll
Only in ./linguistic/source: checkdll.c
Only in ./linguistic/source: check_liblng680lm.so
Only in ./linguistic/source: out
Only in ./linguistic/source: out1
Only in ./linguistic/source: out2
Only in .: LinuxMIPSEnv.Set
Only in .: LinuxMIPSEnv.Set.sh
Only in .: log
Only in .: log1128
Only in .: log1129
Only in .: makefile.mk
Only in .: out
Only in ./portaudio/download: portaudio_v18_1
Only in ./portaudio/download: portaudio_v18_1.tar.bak
Binary files ./portaudio/download/portaudio_v18_1.tar.gz and ../../software/OOo_2.0.0rc3_src/portaudio/download/portaudio_v18_1.tar.gz differ
diff -r ./sal/rtl/source/macro.hxx ../../software/OOo_2.0.0rc3_src/sal/rtl/source/macro.hxx
73,74d72
< #elif defined MIPS
< #define THIS_ARCH "MIPS"
diff -r ./solenv/bin/checkdll.sh ../../software/OOo_2.0.0rc3_src/solenv/bin/checkdll.sh
55d54
<     echo $checkdll
diff -r ./solenv/bin/modules/installer/epmfile.pm ../../software/OOo_2.0.0rc3_src/solenv/bin/modules/installer/epmfile.pm
565c565
< 	my $epmname = "epm -a mipsel";
---
> 	my $epmname = "epm";
diff -r ./solenv/bin/modules/installer/servicesfile.pm ../../software/OOo_2.0.0rc3_src/solenv/bin/modules/installer/servicesfile.pm
474c474
< 	#if ( $#pythoncomponents > -1 ) { $python_error_occured = register_pythoncomponents(\@pythoncomponents, $regcompfileref, $servicesfile, $includepatharrayref); }
---
> 	if ( $#pythoncomponents > -1 ) { $python_error_occured = register_pythoncomponents(\@pythoncomponents, $regcompfileref, $servicesfile, $includepatharrayref); }
Only in ./solenv/inc: unxlngmips.mk
diff -r ./solenv/inc/unx.mk ../../software/OOo_2.0.0rc3_src/solenv/inc/unx.mk
185,188d184
< .IF "$(COM)$(OS)$(CPU)" == "GCCLINUXM"
< .INCLUDE : unxlngmips.mk
< .ENDIF
< 
Only in ./solenv: unxlngmips
Only in ./soltools/checkdll: checkdll
Only in ./soltools/checkdll: glibc-2.3.5
Only in ./soltools/checkdll: glibc_2.3.5-8.diff.gz
Only in ./soltools/checkdll: glibc_2.3.5-8.dsc
Only in ./soltools/checkdll: glibc_2.3.5.orig.tar.gz
Only in ./soltools/checkdll: t
Only in .: solver
diff -r ./stoc/source/implementationregistration/implreg.cxx ../../software/OOo_2.0.0rc3_src/stoc/source/implementationregistration/implreg.cxx
342c342
<             catch(...)
---
>             catch(InvalidRegistryException&)
567c567
< 	catch(...)
---
> 	catch(InvalidRegistryException&)
859c859
<             catch (...)
---
>             catch (registry::InvalidValueException &)
1074c1074
<                 catch (...)
---
>                 catch (registry::InvalidValueException &)
1100c1100
<             catch (...)
---
>             catch (registry::InvalidValueException &)
1275c1275
< 	catch(...)
---
> 	catch(InvalidRegistryException&)
1296c1296
< 	catch(...)
---
> 	catch(InvalidRegistryException&)
1662c1662
<         catch(...)
---
>         catch( InvalidRegistryException & )
1747c1747
< 				catch(...)
---
> 				catch(InvalidRegistryException&)
Only in ./stoc/source/implementationregistration: implreg.cxx.bak
Only in ./testshl/inc: t.cxx
diff -r ./testshl/inc/tlog.hxx ../../software/OOo_2.0.0rc3_src/testshl/inc/tlog.hxx
50d49
< using namespace std;
52a52
> using namespace std;
Only in ./testshl/src: t
Only in ./testshl/src: t.cxx
diff -r ./tools/inc/solar.h ../../software/OOo_2.0.0rc3_src/tools/inc/solar.h
359d358
< #define SYSTEM_UNXLNXM		33
404,406d402
< #elif defined LINUX && defined MIPS
<   #define __DLLEXTENSION "lm.so"
<   #define SYSTEM_ID 		SYSTEM_UNXLNXM

Reply to: