You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Nazmul Alam <fa...@gmail.com> on 2012/07/19 17:51:14 UTC

[HELP] compiling source in VSC++

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 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?

thanks,

-- 
with best regards,
       Nazmul Alam Shovon

*শুভেচ্ছান্তে,
       নাজমুল আলম শোভন*

email : fadedreamz@gmail.com
blog : http://yourdigitaleffects.blogspot.com

Re: [HELP] compiling source in VSC++

Posted by Andre Fischer <af...@a-w-f.de>.
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" <af...@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
>>
>

Re: [HELP] compiling source in VSC++

Posted by Nazmul Alam <fa...@gmail.com>.
Thanks Andre for your detailed explanation.

Should I try with eclipse + cygwin in windows?
On Jul 20, 2012 1:32 PM, "Andre Fischer" <af...@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
>

Re: [HELP] compiling source in VSC++

Posted by Andre Fischer <af...@a-w-f.de>.
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)
   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

Re: [HELP] compiling source in VSC++

Posted by Chao Huang <ch...@gmail.com>.
hi, Nazmul

Could you privode more info about VSC++?
Which OS are you working on?
How to get/configure VSC++?

It's easy for you to make a full guide with AOO's source code. Please
follow the build guide on [1]
Thanks!

[1] http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide


2012/7/19 Nazmul Alam <fa...@gmail.com>

> 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 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?
>
> thanks,
>
> --
> with best regards,
>        Nazmul Alam Shovon
>
> *শুভেচ্ছান্তে,
>        নাজমুল আলম শোভন*
>
> email : fadedreamz@gmail.com
> blog : http://yourdigitaleffects.blogspot.com
>



-- 
Best regards,
Chao Huang

Re: [HELP] compiling source in VSC++

Posted by Fernando Cassia <fc...@gmail.com>.
On Thu, Jul 19, 2012 at 12:51 PM, Nazmul Alam <fa...@gmail.com> 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.

What do you mean by "native build"? The build process uses Cygwin, but
the created app does not NEED cygwin, it is built with MS VC++
according to
http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide_AOO/Building_on_Windows

Of course, I would very much prefer AOO to use OpenWatcom (
http://www.openwatcom.com ) instead of Microsoft´s compiler, it would
also eliminate any MSVCRT* dependencies, but I admit that would
require some work :)

FC

-- 
During times of Universal Deceit, telling the truth becomes a revolutionary act
Durante épocas de Engaño Universal, decir la verdad se convierte en un
Acto Revolucionario
- George Orwell