On 20.07.2012 12:17, Nazmul Alam wrote:
Thanks Andre for your detailed explanation.

Should I try with eclipse + cygwin in windows?

It depends on what you want to do.

Building the code and creating the installation sets has to be done with the current system (build.pl).

You can use eclipse as editor, of course. You can even try to let it parse the source code so that you can navigate the source more easily and use eclipse for refactoring. I tried this before and succeeded only once, by creating a new project from SVN and let eclipse check out and then parse the code. If you get this to work, please write about it. It would be really great if we could get this to work reliably.

I personally use Emacs as editor and, on Windows, Visual Studio as debugger.

It should be possible to call build.pl form both eclipse and Visual Studio to compile everything or just single modules. You don't get the speed of a native VS build but would not have to change to a terminal between editing and debugging.

-Andre

On Jul 20, 2012 1:32 PM, "Andre Fischer" <a...@a-w-f.de> wrote:

Hi Nazmul,

On 19.07.2012 17:51, Nazmul Alam wrote:

Can anybody give some direction on compiling source on VSC++ ?
I know it can be done in cygwin. But I would like to try the native build.
Also This would help a lot in my development engagement.


I am sorry, but that is not possible.


I tried to perform the build incrementally by following Makefile. But it
seems it invokes python build script or application to build the whole
application. I don't know anything about python. Can anyone give me some
idea on building the AOO in incremental steps?


I am not sure that that is what you asked for but here is an overview over
the whole build procedure:

- configure
   This is done mostly by the automake/autoconf tools.  First the main/
configure.in template is   translated into main/configure.  This is
called with several switches that allow you to tune
   what is and what is not built.  Here you also specify where your MSVC
C/C++ compilers live,
   which are used on Windows to do the actual compilation.
   The bootstrap script will then download missing third-party source
tarballs and extensions.

- build
   main/solenv/bin/build.pl is the main Perl build script.  Call it in
main/instsetoo_native like this
       build --all
   and it will trigger everything else: building all relevant modules
   (subdirectories in main/, ext_libraries/, and extras/) and the
   creation of installation sets. For building the modules there are
   two different systems:
   = dmake
     This is a collection of makefiles for dmake that live in
   main/solenv/inc.
     Modules that are build with dmake files write their output (eg object
   files and libraries) to a module local output tree (wntmsci12/ on
   windows, unxlngi6 on Linux 32bit, etc)
   = gbuild
     A new approach that uses GNU make to eventually allow a global
   makefile instead of build.pl and global dependencies between files
   of different modules.  Today dependencies are restricted to single
   modules.  With global dependencies you could change a file in
   main/vcl, then call build --all in instsetoo_native/ and everything
   that dependes on the modified file would be built.
     Modules that are build with gbuild write their output to a global
   output tree: main/solver/<version>/<**platform>/workdir

   Both have a final deliver step that writes output files that are
   used by other modules (instsetoo_native/ being the most important
   one of these, it needs access to everything that is included in
   installation sets) to a global output tree, the so called solver:
   main/solver/<version>/<**platform>.  For dmake modules you have to
   call the deliver command explicitly, for gbuild modules that is done
   automatically.


- creating the installation set
   This is done by a Perl script 
(main/solenv/bin/make_**installer.pl<http://make_installer.pl>
)
   that consists of quite a few Perl modules all of which are located
   in main/solenv/bin/modules/**installer.
   With the help of the *.scp files in module main/scp2/ it gathers the
   set of files that are to be included in the installation set.
   Usually more than one installation set is built, one in archive form
   (just unzip or untar it and run it, no further installation
   necessary) and one that can be installed on the platform of your
   choice via the usual way (msi on windows, rpm and/or deb packages on
   Linux, etc).  When the --with-lang switch was given to configure
   then on installation set is built per language.


As you see, there are five different parts in the AOO build system:
1. configure
2. build.pl
3. dmake modules
4. build modules
5. make_installer.pl

A Visual Studio solution would have to do everything that is done in
these five steps.  It would be great to have such a solution, it would
certainly speed up building on Windows, but I am afraid that this lies
in the very distant future.

Best regards,

Andre


Reply via email to