Difference between revisions of "User:Kr"
From Apache OpenOffice Wiki
m (→x86/x64 on Debian based Linuxes) |
m (→Building OOo) |
||
Line 47: | Line 47: | ||
* make | * make | ||
− | ===Building=== | + | ====Building==== |
<pre> | <pre> | ||
./conco -v Master=SRC680 -v CWS=unomacli64 | ./conco -v Master=SRC680 -v CWS=unomacli64 |
Revision as of 09:54, 20 August 2007
Contents
Contact
- Mail: mailto:Kay.Ramme@sun.com
Background
- Full name is Kay Ramme
- Uno (UDK) Project Lead of OOo
- Located in Hamburg, Germany
- Employed by Sun Microsystems
Some Thoughts
- User_talk:Kr/Parameterized Headers
- User_talk:Kr/UNO References
- User:Kr/Software Continuum
- User:Kr/On Modularization
- User:Kr/On_Streams
GullFOSS
- My Visions
- ODF being a Disruptive Technology
- Memory Savings by String internalization
- AAWAX or How to Check Out OpenOffice.org fast
- Updated Uno Web Pages
- The Java platform becoming Open Source
Some Scripts
Building OOo
x86/x64 on Debian based Linuxes
Prerequisites
- gnome-devel
- gawk
- libsoap-lite-perl
- libarchive-zip-perl
- libcupsys2-dev
- libpam0g-dev
- libxaw7-dev
- zip
- unzip
- ant
- rpm
- cvs
- sun-java5-jdk
- bison
- flex
- linux32
- make
Building
./conco -v Master=SRC680 -v CWS=unomacli64 # 'create' the unowinreg.dll touch external/unowinreg/unowinreg.dll # configure the office to be build cd config_office # Linux x86 ./configure --disable-mozilla --without-nas # Linux x64 and Java 1.6 ./configure --disable-mozilla --without-nas --with-system-hsqldb cd .. ./bootstrap # set the environment vars source <LinuxX86Env.Set> # otherwise the smoketest does not work! setenv PKGFORMAT rpm # build installation sets cd instsetoo_native build --all --dlv_switch -link -P10 -- -P10
Mac OS X
./conco -v Master=SRC680 -v CWS=unomacli64 # 'create' the unowinreg.dll touch external/unowinreg/unowinreg.dll # configure the office to be build cd config_office # MacOSX ./configure --disable-mozilla --without-nas --disable-gtk --disable-gnome-vfs --disable-headless cd .. ./bootstrap # set the environment source MacOSXPPCEnv.Set.sh # build installation sets cd instsetoo_native build --all --dlv_switch -link -P10 -- -P10
Windows
./conco -v Master=SRC680 -v CWS=unomacli64 # 'create' the unowinreg.dll touch external/unowinreg/unowinreg.dll # configure the office to be build cd config_office # Win32 ./configure --disable-mozilla --disable-directx --with-cl-home="/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC" --with-frame-home="/cygdrive/c/Program Files/Microsoft Visual Studio 8/SDK/v2.0" --with-psdk-home="/cygdrive/d/PSDK" --with-midl-path="/cygdrive/d/PSDK/Bin" --with-asm-home="/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC" --with-jdk-home="/cygdrive/d/j2sdk1.4.2_15" --with-ant-home=/cygdrive/d/apache-ant-1.7.0 --with-use-shell=bash --disable-activex cd .. ./bootstrap # set the environment source <LinuxX86Env.Set> # build installation sets cd instsetoo_native build --all --dlv_switch -link -P10 -- -P10
Solaris 8
./conco -v Master=SRC680 -v CWS=unomacli64 # 'create' the unowinreg.dll touch external/unowinreg/unowinreg.dll setenv CC ... setenv CXX ... # add perl to path setenv PATH ..../bin:$PATH # set JAVAHOME and add to PATH setenv JAVAHOME .../JDK... setenv PATH $JAVAHOME/bin:$PATH # configure the office to be build cd config_office # call configure ./configure --disable-mozilla --without-nas --disable-cups --disable-fontconfig --disable-gtk --disable-gnome-vfs --disable-headless \ --with-ant-home=.../apache-ant-1.6.1 cd .. ./bootstrap # patch GNUMAKE variable in SolarisEnvSparcEnv.Set # setenv GNUMAKE "gmake" # set the environment source SolarisSparcEnv.Set # need to disable Xinerama for some reasons setenv USE_XINERAMA NO # build installation sets cd instsetoo_native build --all --dlv_switch -link -P10 -- -P10
Misc
- My Linux Desktop Architects Meeting II presentation slides: Media:DAM2-OOo_1_1.odp
- My OOo Conf 2006 presentation slides: Media:OOoConf_2006_Cleaning_Up_Multi-Threading.odp
- A short presentation prepared for the OOo BOF at EuroOSCON2006: Media:EuroOSCON2006-OOo_Architecture.odp
My Efforts
Effort/Revise OOo Multi-Threading
- Tasks
- review documentation, place tests and testers
- rename Environment.pReserved -> pEnterable
- do threading tests - with component, with the office
- convert rest of office services to be thread unsafe - in progress
- convert dtrans to thread affine?
- Rename Threading Model impl to Threading Framework?
- See if I can optimize the "identity mapping" somehow.
- Possible order of integration
- in progress : VCL thread-transparency 1 - vclthreadtransparency1 - depends: bunoexttm
- fix thread-affinity
- DDE
- Drag&Drop
- Clipboard
- open : Binary Uno new threading architecture - bunonewta - depends: bunoexttm
- in progress : async dialogs 2 - asyncdialogs2 - depends: asyncdialogs
- open : VCL thread-transparency 2 - vclthreadtransparency2 - depends: asyncdialogs2, vclthreadtransparency1
- remove the Solar Mutex
- open : new OOo threading architecture - ooonewta - depends: bunoexttm, vclthreadtransparency2
- in progress : VCL thread-transparency 1 - vclthreadtransparency1 - depends: bunoexttm
Move Uno stuff into the Uno Wiki. See Uno/Effort/Migrate Documentation
- Update udk.openoffice.org to reflect latest wiki changes.
Do a source code inventory
Some Links
Event Driven Programming
- Some comments regarding Linux kevents etc.: http://lwn.net/Articles/225714/ Note: In my understanding the whole discussion is senseless, the way to go for awaiting events should certainly not be fd related, but should just use something as "sigwait" or similar. Please see also Architecture/Proposal/Advanced_Threading-Architecture.
Threading
- OOo Threading-Architecture specification
- Architecture/Proposal/Advanced Threading-Architecture
- COM - Processes, Threads and Apartments - "The key is to use multiple threads only if you are very sure of what you are doing." - http://windowssdk.msdn.microsoft.com/en-us/library/ms693344.aspx
- Designing and Building Parallel Programs - http://www-unix.mcs.anl.gov/dbpp/
- The Future of Programming - http://alarmingdevelopment.org/index.php?p=6
- Programming in the Age of Concurrency: Software Transactional Memory - http://channel9.msdn.com/showpost.aspx?postid=231495
- The Problem with Threads - http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1005&path=computer/homepage/0506&file=cover.xml&xsl=article.xsl
- Threads and memory model for C++ - http://www.hpl.hp.com/personal/Hans_Boehm/c++mm/
- Why Threads Are A Bad Idea (for most purposes) - http://home.pacbell.net/ouster/threads.pdf
- Swing: How to Use Threads - http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html
- A comment by Graham Hamilton on thread-safe toolkits - http://weblogs.java.net/blog/kgh/archive/2004/10/multithreaded_t.html
- An article on the future of CPUs, it comments on multi-threaded applications: http://www.informit.com/articles/article.asp?p=663085&seqNum=6&rl=1
- An article showing ways of utilizing SMP on UNIX: http://www.informit.com/articles/article.asp?p=679545&rl=1
- Futexes are Tricky - http://people.redhat.com/drepper/futex.pdf