Hi Raphael,

Do you have any progress in make Apache OpenOffice run on XCode 4? Do
you have allready any code in this area?

This has some different aspects:
1. compiling with XCode4's clang
2. using a standard compliant STL
3. using SDKs directly supported by XCode4
4. replacing deprecated APIs with their modern counterparts
5. supporting newer architectures such as AMD64

For the clang compilation (1.) I already committed many changes for this that don't interfere with the other builds. Clang was quite good in finding real problems. Many regressions happened because the new environment resulted in problems in the bridges, in UNO, etc, that were mostly identified and solved. They need a to be cleaned up more. There are many more things to do such as extending the configure script and the platform specific solenv parts.

As clang doesn't like stlport4 and using a standard compliant STL is a good idea anyway, especially since we now have the chance to switch to it for the major version change, I'm working on this (2) too. For now I'd like to keep these changes minimally invasive to reduce the risk of regressions. I try to do this by emulating the stlport4 peculiarities with standard facilities using a shallow wrapper. E.g. stlport4's hash<const char*> functor is identified and replaced, hash_map can mostly be emulated by an unordered_map and cases where this is not possible are identified and replaced. This approach allows us to "become native" by switching to the platform's/compiler's native STLs and later drop the shallow emulation layer without becoming incompatible then.

There is also the interesting topic that e.g. libc++ doesn't allow recursive declarations such as "struct S{map<int,S>m;};". As using libc++ with clang would be a good idea such declarations should be replaced. A short-circuit/fallback for now could be to use boost's tr1 containers because they explicitly allow recursive declarations.

On the SDK question (3) I suggest to drop support for platforms that even Apple doesn't support anymore such as OSX<10.6. If Apple cannot afford to support it anymore with regular releases we shouldn't strain our infinitely smaller resources to achieve this.

On the API frontier (4) we need to support e.g. CoreText and drop ATSUI (except for debugging layout changes). There are also other topics that need to be looked into such as the native widget framework.

On Mac things already look quite good except for some crashes in CoreText's cascade code, Writer services, etc. that need to be solved. For Linux and Windows getting them to build and pass BVT using the TR1 compliant STL needs more work. When the emulation is cleaned up enough I'll open a branch for the "platform refresh 2013" => pr2013
Volunteers are very welcome... first some loose ends have to be tied though.

Herbert


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to