You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Tal Daniel <ta...@gmail.com> on 2013/10/04 18:20:12 UTC
[Mac] Development environment
I'm desperate for some mentoring regarding setting up the dev environment.
on the Mac. Herbert, can you direct me at the right direction, such as
which IDE, what project settings, do you build a module externally, etc.
Notes:
I'm used to Eclipse; does Xcode have any benefits?
Currently I'm oriented towards fixing BiDi parts (/sw?
com.core.suncom.sun.star.text.XText? ... started reading the dev guide),
but maybe later I could help with the Mac OSX10.6 branch too.
Thanks,
Tal
Re: [Mac] Development environment
Posted by Herbert Duerr <hd...@apache.org>.
Hi Tal,
On 05.10.2013 18:46, Tal Daniel wrote:
> On Sat, Oct 5, 2013 at 10:41 AM, Herbert Duerr <hd...@apache.org> wrote:
>> [...]
>> I'm not sure I understand the question. Do you mean how to build a
>> third-party module such as main/icu?
>
> Yes, e.g, when you're done editing a cxx file, you enter the folder of that
> module, build it, then back to instsetoo_native, and build --all?
For the edit/debug cycle better copy the resulting *dylib file into the
OpenOffice installation. E.g. if you are in main/editeng and your AOO
installation is in /Applications/OpenOffice then run
cp -r ../solver/*/unxmacxi.pro/lib/libediteng.dylib \
/Applications/OpenOffice.app/Contents/MacOS/
to replace the existing libediteng.dylib there. You probably have to run
chmod +w /Applications/OpenOffice.app/Contents/MacOS/*dylib*
first.
Please note that AOO still uses two different build systems. The older
"dmake" system and the newer "gnumake" system. Consolidating them is
another field with plenty of work opportunities. The dylib results of
the "gnumake" system are in solver whereas the unstripped results of the
"dmake" system are in the modules themselves. E.g. the libraries for the
Calc application (in the main/sd folder) are created as
main/sd/unxmacxi.pro/lib/lib*dylib
To get them into the application copy them over as above.
For debugging I suggest to build with the "debug=1" flag.
> [...]
> Wow, nice references... thanks! I've tried to edit some code today, in
> editeng/source/editeng/impedit2.cxx, but nothing had an effect on the final
> app, after I installed it. Strange. I'll try the other locations you
> referred me to, later on this week.
Please see my answer above: You need to copy the changed libraries into
the application directory.
> BTW, do files with different indexes target different OS/platforms? i.e.
> impedit.cxx, impedit[2-4].cxx
No. In the long heritage of the AOO/OOo codebase there was a time, when
editors with >64 KByte or >32 KLines support were apparently not that
common, so big source files had to be split up. Splitting these huge
files wasn't a bad idea anyway so they are still split. This is also
good when one looks up a files history in the revision control systems.
By the way, in AOO/OOo's codebase the file names following the 8.3
naming convention often have a history of more than 20 years.
Have fun,
Herbert
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org
Re: [Mac] Development environment
Posted by Tal Daniel <ta...@gmail.com>.
On Sat, Oct 5, 2013 at 10:41 AM, Herbert Duerr <hd...@apache.org> wrote:
> Hi Tal,
>
> Tal Daniel wrote:
> > I'm desperate for some mentoring regarding setting up the dev
> environment.
> > on the Mac. Herbert, can you direct me at the right direction, such as
> > which IDE, what project settings,...
>
>
I wrote a helper
> script to make AOO debugging with LLDB more convenient. Please see
> main/solenv/inc/lldb4aoo.py
>
> To use it run lldb and enter
> command script import path-to-script/lldb4aoo.py
> or add that line to lldb's configuration file
> ~/.lldbinit
> It mostly helps to view AOO's strings. As the ecosystem of OOo's string
> classes was not one of its strong points this helper is quite useful.
>
Thanks, I'll try that, when I get the hang of Xcode, I have no experience
dev in Xcode yet.
> > do you build a module externally, etc.
>
> I'm not sure I understand the question. Do you mean how to build a
> third-party module such as main/icu?
>
Yes, e.g, when you're done editing a cxx file, you enter the folder of that
module, build it, then back to instsetoo_native, and build --all?
> > Notes:
> > I'm used to Eclipse; does Xcode have any benefits?
>
> XCode integrates with LLDB and has some additional tools, e.g. for
> profiling. But maybe there are extensions for Eclipse to do this too.
>
> > Currently I'm oriented towards fixing BiDi parts (/sw?
> > com.core.suncom.sun.star.text.XText? ... started reading the dev guide),
>
> This is an API from the UNO framework. From a BiDi perspective it just
> exposes the functionality provided by ICU's BiDi algorithm [1]. In AOO's
> core BiDi is used in Writer (main/sw/source/core/text), EditEngine
> (main/editeng/source/editeng/) and Vcl (mostly
> main/vcl/source/gdi/outdev3.cxx 's OutputDevice::ImplLayout method), so
> if there are BiDi problems you'll probably find the answer in their code.
>
> [1] http://userguide.icu-project.org/transforms/bidi
Wow, nice references... thanks! I've tried to edit some code today, in
editeng/source/editeng/impedit2.cxx, but nothing had an effect on the final
app, after I installed it. Strange. I'll try the other locations you
referred me to, later on this week.
BTW, do files with different indexes target different OS/platforms? i.e.
impedit.cxx, impedit[2-4].cxx
[...]
Before I forget it: For AOO set the tab-space to four (although I
> personally would prefer ts=8 indentation, but the existing AOO codebase
> assumes ts=4).
>
>
Tab space 4 is my Xcode's default. thanks.
Re: [Mac] Development environment
Posted by Herbert Duerr <hd...@apache.org>.
Hi Tal,
Tal Daniel wrote:
> I'm desperate for some mentoring regarding setting up the dev environment.
> on the Mac. Herbert, can you direct me at the right direction, such as
> which IDE, what project settings,
The AOO build system is unfortunately not yet ready for a full IDE
integration. On this list there were already some good ideas on how to
improve the build system and we'll hopefully find time to work on it
again. As I personally work on multiple platforms their common
denominator, the command line, is my favorite IDE ;-)
With the rejuvente01 branch I started using XCode again, also because of
its debugger interface that uses LLDB in the backend. I wrote a helper
script to make AOO debugging with LLDB more convenient. Please see
main/solenv/inc/lldb4aoo.py
To use it run lldb and enter
command script import path-to-script/lldb4aoo.py
or add that line to lldb's configuration file
~/.lldbinit
It mostly helps to view AOO's strings. As the ecosystem of OOo's string
classes was not one of its strong points this helper is quite useful.
> do you build a module externally, etc.
I'm not sure I understand the question. Do you mean how to build a
third-party module such as main/icu?
> Notes:
> I'm used to Eclipse; does Xcode have any benefits?
XCode integrates with LLDB and has some additional tools, e.g. for
profiling. But maybe there are extensions for Eclipse to do this too.
> Currently I'm oriented towards fixing BiDi parts (/sw?
> com.core.suncom.sun.star.text.XText? ... started reading the dev guide),
This is an API from the UNO framework. From a BiDi perspective it just
exposes the functionality provided by ICU's BiDi algorithm [1]. In AOO's
core BiDi is used in Writer (main/sw/source/core/text), EditEngine
(main/editeng/source/editeng/) and Vcl (mostly
main/vcl/source/gdi/outdev3.cxx 's OutputDevice::ImplLayout method), so
if there are BiDi problems you'll probably find the answer in their code.
[1] http://userguide.icu-project.org/transforms/bidi
> but maybe later I could help with the Mac OSX10.6 branch too.
As you see our nice project has plenty of work/fun opportunities all
over the place.
Before I forget it: For AOO set the tab-space to four (although I
personally would prefer ts=8 indentation, but the existing AOO codebase
assumes ts=4).
Herbert
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
For additional commands, e-mail: dev-help@openoffice.apache.org