You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Ian Harvey <ia...@bigpond.com> on 2012/08/28 10:51:28 UTC

Building OpenOffice with Visual Studio 2010

I have been experimenting with building OpenOffice (trunk) with Visual 
Studio 2010.  I have made some progress, but clearly more work remains.  
Is there an appropriate place to document/share/seek advice on progress 
to date within the projects' infrastructure? Perhaps an issue in Bugzilla?

Navigating the build system has been challenging.  Pointers to 
information to highlight how the build system works (so that any changes 
to accomodate VS2010 I make don't work contrary to the intent of its 
designers) would be appreciated.

The use of stlport by the Windows build causes some of the issues that I 
have encountered, perhaps through ignorance on my part about how stlport 
should be used.  Is the intention to continue using stlport, or should I 
investigate excising stlport from a hypothetical VS2010 build?

Thanks for any advice,

IanH

Re: Building OpenOffice with Visual Studio 2010

Posted by ZuoJun Chen <zj...@gmail.com>.
Cool! I have interesting in building Apache OpenOffice with Clang on Mac
OS, hope that I

can get some inspiration from your experiment:)

Currently  If using --without-stlport config parameter on  Mac OS 10.7, it
will replace with

system stl implement and could build successfully with gcc, even there are
other things

that needed to be done for build with Clang:(

2012/8/28 Ian Harvey <ia...@bigpond.com>

> I have been experimenting with building OpenOffice (trunk) with Visual
> Studio 2010.  I have made some progress, but clearly more work remains.  Is
> there an appropriate place to document/share/seek advice on progress to
> date within the projects' infrastructure? Perhaps an issue in Bugzilla?
>
> Navigating the build system has been challenging.  Pointers to information
> to highlight how the build system works (so that any changes to accomodate
> VS2010 I make don't work contrary to the intent of its designers) would be
> appreciated.
>
> The use of stlport by the Windows build causes some of the issues that I
> have encountered, perhaps through ignorance on my part about how stlport
> should be used.  Is the intention to continue using stlport, or should I
> investigate excising stlport from a hypothetical VS2010 build?
>
> Thanks for any advice,
>
> IanH
>

Re: Building OpenOffice with Visual Studio 2010

Posted by Pedro Giffuni <pf...@apache.org>.
Hello;



>________________________________
> From: Herbert Duerr
> 
>   
>On 28.08.2012 11:28, Andre Fischer wrote:
>> On 28.08.2012 10:51, Ian Harvey wrote:
>>> I have been experimenting with building OpenOffice (trunk) with Visual
>>> Studio 2010.  I have made some progress, but clearly more work remains.
>>> Is there an appropriate place to document/share/seek advice on progress
>>> to date within the projects' infrastructure? Perhaps an issue in
>>> Bugzilla?
>>
>> Very cool.
>>
>> An issue in Bugzilla would be good for tracking the progress.  For
>> questions (and hopefully answers) ooo-dev is the right place.  Maybe a
>> wiki page for documentation.
>
>+1
>
>>> Navigating the build system has been challenging.  Pointers to
>>> information to highlight how the build system works (so that any changes
>>> to accomodate VS2010 I make don't work contrary to the intent of its
>>> designers) would be appreciated.
>>
>> I doubt that there is up-to-date information written down in the wiki.
>
>http://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Windows
>is always a good start to get acquainted with the current status quo.
>
>> But please ask questions here on ooo-dev.
>
>+1
>
>>> The use of stlport by the Windows build causes some of the issues that I
>>> have encountered, perhaps through ignorance on my part about how stlport
>>> should be used.  Is the intention to continue using stlport, or should I
>>> investigate excising stlport from a hypothetical VS2010 build?
>>
>> We would like to drop stlport but I think we are not there yet.  I think
>> Herbert can say more about that.
>
>Dropping stlport would have a lot of benefits, e.g. we could use the 
>system provided libraries for e.g. ICU or graphite. The next major 
>release AOO 4.0 would be a great opportunity for doing this as C++ based 
>extensions would become incompatible.
>
 
STLPort doesn't build in clang so this is also a requirement for updating the
MacOSX port. I would think we can start by disabling stlport (--without-stlport)
by default.
 
BTW, I am considering an update to boost: I am using system boost 1.48 by
default for AOO.
 
Pedro.

Re: [BUILD] atlthunk

Posted by Oliver-Rainer Wittmann <or...@googlemail.com>.
Hi,

On 10.09.2012 22:19, Andrew Rist wrote:
> Herbert,
> do you know the context for this change?
> https://svn.apache.org/viewvc?view=revision&revision=1343720 - "force atlthunk
> addition when linking with atls library"
> The lack of atlthunk is stopping the build and the file doesn't seem to be in VS
> 2008 pro.  (Or is there something I did not install when installing VS 2008?)
> A.
>

I think this change is the one part of what is needed to get the build running 
using VS 2008 Express with ATL enabled - please see Ariel's description in issue 
118821 [1].
Unfortunately, the changes are not made complete.

Thus, if you want to get the build running using VS 2008 Pro with ATL enabled it 
is needed to revert the above change.
I think we need an issue to solve with stuff - building with VS 2008 Express vs. 
VS 2008 Pro with ATL enabled via corresponding configure options resp. changes.

[1] https://issues.apache.org/ooo/show_bug.cgi?id=118821


Best regards, Oliver.

Re: [BUILD] atlthunk

Posted by Andrew Rist <an...@oracle.com>.
On 9/11/2012 4:31 AM, Oliver-Rainer Wittmann wrote:
> Hi Herbert,
>
> On 11.09.2012 13:17, Herbert Duerr wrote:
>> Hi Andrew,
>>
>> On 10.09.2012 22:19, Andrew Rist wrote:
>>> do you know the context for this change?
>>> https://svn.apache.org/viewvc?view=revision&revision=1343720 - "force
>>> atlthunk addition when linking with atls library"
>>> The lack of atlthunk is stopping the build and the file doesn't seem to
>>> be in VS 2008 pro.  (Or is there something I did not install when
>>> installing VS 2008?)
>>
>> With the free MSVC2008 Express being the baseline for AOO development 
>> on Windows
>> the atlthunk addition was needed to enable the build of a fully 
>> functional
>> product, because MSVC2008 Express does not contain the ATL libraries, 
>> but the
>> free WDK contains all that is needed including the atlthunk lib.
>>
>> Requiring an expensive Pro version to build it would be prohibitive 
>> for hobby
>> developers.
>>
>> BTW: Chromium has the same issue and the instructions there apply 
>> here too.
>> If you use Visual Studio 2008 Express:
>>      Install the WDK for the ATL headers and libs from e.g.
>> http://www.microsoft.com/en-us/download/details.aspx?id=11800
>>      Verify MSVC|Tools|Options|Projects and Solutions|VC++ 
>> Directories has
>> Include: [WDK]include\atl71 and Lib: [WDK]lib\Atl\i386 where [WDK] is 
>> the WDK
>> install directory.
>>
>> Another solution would be to detect that atlthunk is not needed 
>> because the
>> --disable-atl configure switch is active or disable linking to the 
>> atlthunk if
>> an MSVC version containing atl directly is installed.
>>
>> Another alternative would be of course if we demanded that everyone 
>> wanting to
>> build a fully functional AOO is required to get the Pro version. Is that
>> something we could strive for?
>>
>
> I think you misunderstood my intention.
>
> I am aiming for something which enables building with VS 2008 Express 
> _and_ with VS 2008 Pro.
> And yes, VS 2008 Express should be the default assumed environment 
> from my point of view.
This was my intent also.  I am in favor of VS 2008 Express being the 
default environment.
The changes needed to do this should not break the build with VS 2008 
Pro, which is the case now.
In the make file, there seem to be branch in the makefile for 
'PROF_EDITION' - I guess this does not id Pro vs Express - if so we 
could just ifdef around the atlthunk.

    .IF "$(GUI)" == "WNT" && "$(DISABLE_ACTIVEX)"==""
       PROF_EDITION=TRUE
    .ENDIF


This came about when I attempted to update the Win buildbot to build the 
same builds as the 'unofficial builds'.
It would be good to have ATL, ActiveX and DirectX all activated.  I am 
not able to edit a file on the fly to get the build to work.
So I am trying to get a full Win build with 'stock' files.

A.


>
> As far as I know the above referenced code change is only one part of 
> enabling the build of VS 2008 Express with ATL enabled - see issue 118821
>
> [1] https://issues.apache.org/ooo/show_bug.cgi?id=118821
>
>
> Best regards, Oliver.


Re: [BUILD] atlthunk

Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Regina,

On Sun, Sep 23, 2012 at 05:23:32PM +0200, Regina Henschel wrote:
> Hi Ariel,
> 
> Ariel Constenla-Haile schrieb:
> >On Sun, Sep 23, 2012 at 04:36:42PM +0200, Regina Henschel wrote:
> >>Hi Ariel,
> >>
> >>addition:
> >>I have set
> >>  --disable-activex \
> >
> >Yes, look at my previous mail. Don't disable activex nor atl. I kept
> >them in a combo with the -o in
> >
> >     if test "$DISABLE_ATL" = "TRUE" -o "$DISABLE_ACTIVEX" = "TRUE"; then
> >             AC_MSG_RESULT([ATL/MFC disabled])
> >     else
> >
> >I guess you only what to build the embedded object support, does it work
> >with activex disabled? Never tried this before.
> 
> Yes. I want to use OLE.
> 
> >In case it works,
> 
> Yes, I can use MathType OLE equations. There exists a trial version
> of MathType 6, which remains in a "light" state with only few
> features after expiring, but allows to read MathType equations from
> newer versions, than the support for MathType 3.0, which is
> implemented in AOO.
> 
> I had tested MSPaint and AcrobatReader too. That works without activex.
> 
>  the logic of configure can be changed, to check for
> >ATL/MFC if either atl or activex are enabled. It would mean changing the
> >-o by an -a, by can try it right now if it works.
> >
> >if test "$DISABLE_ATL" = "TRUE" -a "$DISABLE_ACTIVEX" = "TRUE"; then
> >
> >
> >It would mean:
> >
> >If ATL is disabled AND ActiveX is disabled Then
> >     Both are disable, then ATL/MFC is disabled, we don't ckeck it
> >Else
> >     check ATL and MFC
> >     If the check fails Then
> >         Disable both ATL and ActiveX (as far as I could understand, they
> >         both depend on ATL/MFC)
> >     End If
> >End If
> 
> What does it mean to enable ActiveX? I have not tried it before and
> don't know, whether it will build for me.

AFAIK enabling activeX you get main/extensions/source/activex/ 
According to main/scp2/source/activex/module_activex.ulf

"ActiveX Control"
"Component to enable Microsoft Internet Explorer to display %PRODUCTNAME
documents."

Looks like an ActiveX Control to display AOO documents in IE in
read-only mode, but I have no idea if it actually works with current IE.

I'll test the -a option, to build with either ATL or ActiveX enabled.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: [BUILD] atlthunk

Posted by Regina Henschel <rb...@t-online.de>.
Hi Ariel,

Ariel Constenla-Haile schrieb:
> On Sun, Sep 23, 2012 at 04:36:42PM +0200, Regina Henschel wrote:
>> Hi Ariel,
>>
>> addition:
>> I have set
>>   --disable-activex \
>
> Yes, look at my previous mail. Don't disable activex nor atl. I kept
> them in a combo with the -o in
>
>      if test "$DISABLE_ATL" = "TRUE" -o "$DISABLE_ACTIVEX" = "TRUE"; then
>              AC_MSG_RESULT([ATL/MFC disabled])
>      else
>
> I guess you only what to build the embedded object support, does it work
> with activex disabled? Never tried this before.

Yes. I want to use OLE.

> In case it works,

Yes, I can use MathType OLE equations. There exists a trial version of 
MathType 6, which remains in a "light" state with only few features 
after expiring, but allows to read MathType equations from newer 
versions, than the support for MathType 3.0, which is implemented in AOO.

I had tested MSPaint and AcrobatReader too. That works without activex.

  the logic of configure can be changed, to check for
> ATL/MFC if either atl or activex are enabled. It would mean changing the
> -o by an -a, by can try it right now if it works.
>
> if test "$DISABLE_ATL" = "TRUE" -a "$DISABLE_ACTIVEX" = "TRUE"; then
>
>
> It would mean:
>
> If ATL is disabled AND ActiveX is disabled Then
>      Both are disable, then ATL/MFC is disabled, we don't ckeck it
> Else
>      check ATL and MFC
>      If the check fails Then
>          Disable both ATL and ActiveX (as far as I could understand, they
>          both depend on ATL/MFC)
>      End If
> End If

What does it mean to enable ActiveX? I have not tried it before and 
don't know, whether it will build for me.

Kind regards
Regina


Re: [BUILD] atlthunk

Posted by Ariel Constenla-Haile <ar...@apache.org>.
On Sun, Sep 23, 2012 at 04:36:42PM +0200, Regina Henschel wrote:
> Hi Ariel,
> 
> addition:
> I have set
>  --disable-activex \

Yes, look at my previous mail. Don't disable activex nor atl. I kept
them in a combo with the -o in

    if test "$DISABLE_ATL" = "TRUE" -o "$DISABLE_ACTIVEX" = "TRUE"; then
            AC_MSG_RESULT([ATL/MFC disabled])
    else

I guess you only what to build the embedded object support, does it work
with activex disabled? Never tried this before.
In case it works, the logic of configure can be changed, to check for
ATL/MFC if either atl or activex are enabled. It would mean changing the
-o by an -a, by can try it right now if it works.

if test "$DISABLE_ATL" = "TRUE" -a "$DISABLE_ACTIVEX" = "TRUE"; then


It would mean:

If ATL is disabled AND ActiveX is disabled Then
    Both are disable, then ATL/MFC is disabled, we don't ckeck it
Else
    check ATL and MFC
    If the check fails Then
        Disable both ATL and ActiveX (as far as I could understand, they
        both depend on ATL/MFC)
    End If
End If


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: [BUILD] atlthunk

Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Regina,

On Sun, Sep 23, 2012 at 04:36:42PM +0200, Regina Henschel wrote:
> Hi Ariel,
> 
> addition:
> I have set
>  --disable-activex \
> 
> Does that matter?

Since rev. 1389343 you can disable ActiveX while leaving ATL enabled
(the default if --disable-atl is not used).


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: [BUILD] atlthunk

Posted by Regina Henschel <rb...@t-online.de>.
Hi Ariel,

addition:
I have set
  --disable-activex \

Does that matter?

Kind regards
Regina

Ariel Constenla-Haile schrieb:
> On Sun, Sep 23, 2012 at 04:04:23PM +0200, Regina Henschel wrote:
>> Hi Ariel,
>>
>> should there be "ATL_LIB=" line in winenv.set.sh now?
>> I ask, because there are still none of the four, but they are listed
>> in part "unset".
>
> If ATL/MFC is detected, they should be set right after DIRECTXSDK_LIB:
>
> DIRECTXSDK_LIB="C:/ARCHIV~1/MI599E~1/lib/x86"
> ATL_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> ATL_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
> HAVE_ATLTHUNK="NO"
> MFC_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> MFC_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
>
>
> Is ATL/MFC detected at all? Please post the output of configure after
>
> checking for DirectX SDK files... found
> checking for ATL and MFC... configure: testing ATL/MFC libs and includes
>
> In case you see a
>
> configure: looking for atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include
>
> it will test if this header exists in this folder, and so on.
>
>
> Regards
>


Re: [BUILD] atlthunk

Posted by Regina Henschel <rb...@t-online.de>.
Hi Ariel,

Ariel Constenla-Haile schrieb:
> On Sun, Sep 23, 2012 at 04:27:22PM +0200, Regina Henschel wrote:
>> Hi Ariel,
>>
>> Ariel Constenla-Haile schrieb:
>>> On Sun, Sep 23, 2012 at 04:04:23PM +0200, Regina Henschel wrote:
>>>> Hi Ariel,
>>>>
>>>> should there be "ATL_LIB=" line in winenv.set.sh now?
>>>> I ask, because there are still none of the four, but they are listed
>>>> in part "unset".
>>>
>>> If ATL/MFC is detected, they should be set right after DIRECTXSDK_LIB:
>>>
>>> DIRECTXSDK_LIB="C:/ARCHIV~1/MI599E~1/lib/x86"
>>> ATL_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
>>> ATL_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
>>> HAVE_ATLTHUNK="NO"
>>> MFC_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
>>> MFC_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
>>>
>>>
>>> Is ATL/MFC detected at all? Please post the output of configure after
>>>
>>> checking for DirectX SDK files... found
>>> checking for ATL and MFC... configure: testing ATL/MFC libs and includes
>>>
>>
>> No, I get
>> checking for DirectX SDK files... found
>> checking for ATL and MFC... ATL/MFC disabled
>
> Did you run autoconf?

Yes, for each try.

I had also used the kind
--with-atl-include-dir="/cygdrive/c/WinDDK/7600.16385.1/inc/atl71" \

instead of
--with-atl-include-dir="C:/WinDDK/7600.16385.1/inc/atl71" \

That makes no difference.

> If you look at configure.in ca. line 5747, where the check start:
>
> dnl ============================================
> dnl Check for ATL and MFC
> dnl ============================================
>
>
> It looks like you don't pass the first check:
>
> if test \( "$_os" = "WINNT" \) ; then
>      AC_MSG_CHECKING([for ATL and MFC])
>
> you pass this check, but not the following:
>
>
>      if test "$DISABLE_ATL" = "TRUE" -o "$DISABLE_ACTIVEX" = "TRUE" ; then
>          AC_MSG_RESULT([ATL/MFC disabled])
>
>
> because in all further checks I added some AC_MSG_NOTICE that should
> tell you where the error is. Looks like you have ATL or ActiveX
> disabled, or this check isn't working at all.

Yes I had
  --disable-activex \

I have removed it now, and now I get in winenv.set.sh the lines
DIRECTXSDK_LIB="C:/PROGRA~1/MIAF9D~2/lib/x86"
ATL_LIB="C:/WinDDK/760016~1.1/lib/ATL/i386"
ATL_INCLUDE="C:/WinDDK/760016~1.1/inc/atl71"
HAVE_ATLTHUNK="YES"
MFC_LIB="C:/WinDDK/760016~1.1/lib/Mfc/i386"
MFC_INCLUDE="C:/WinDDK/760016~1.1/inc/mfc42"
NSIS_PATH="C:/PROGRA~1/NSIS"

Kind regards
Regina

Re: [BUILD] atlthunk

Posted by Ariel Constenla-Haile <ar...@apache.org>.
On Sun, Sep 23, 2012 at 04:27:22PM +0200, Regina Henschel wrote:
> Hi Ariel,
> 
> Ariel Constenla-Haile schrieb:
> >On Sun, Sep 23, 2012 at 04:04:23PM +0200, Regina Henschel wrote:
> >>Hi Ariel,
> >>
> >>should there be "ATL_LIB=" line in winenv.set.sh now?
> >>I ask, because there are still none of the four, but they are listed
> >>in part "unset".
> >
> >If ATL/MFC is detected, they should be set right after DIRECTXSDK_LIB:
> >
> >DIRECTXSDK_LIB="C:/ARCHIV~1/MI599E~1/lib/x86"
> >ATL_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> >ATL_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
> >HAVE_ATLTHUNK="NO"
> >MFC_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> >MFC_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
> >
> >
> >Is ATL/MFC detected at all? Please post the output of configure after
> >
> >checking for DirectX SDK files... found
> >checking for ATL and MFC... configure: testing ATL/MFC libs and includes
> >
> 
> No, I get
> checking for DirectX SDK files... found
> checking for ATL and MFC... ATL/MFC disabled

Did you run autoconf?
If you look at configure.in ca. line 5747, where the check start:

dnl ============================================
dnl Check for ATL and MFC
dnl ============================================


It looks like you don't pass the first check:

if test \( "$_os" = "WINNT" \) ; then
    AC_MSG_CHECKING([for ATL and MFC])

you pass this check, but not the following:


    if test "$DISABLE_ATL" = "TRUE" -o "$DISABLE_ACTIVEX" = "TRUE" ; then
        AC_MSG_RESULT([ATL/MFC disabled])


because in all further checks I added some AC_MSG_NOTICE that should
tell you where the error is. Looks like you have ATL or ActiveX
disabled, or this check isn't working at all.

DISABLE_ATL is set with the following check, ca. line 1534:


   AC_MSG_CHECKING([whether to use ATL])
   if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE" -o "$enable_atl" = ""; then
       DISABLE_ATL=""
       AC_MSG_RESULT([yes])
   else
       DISABLE_ATL="TRUE"
       AC_MSG_RESULT([no])
   fi
   AC_SUBST(DISABLE_ATL)


This means, ATL is disabled only if you configure with --disable-atl
The same is valid for ActiveX.


> checking for NSIS... checking for nsis.exe... no
> 
> >In case you see a
> >
> >configure: looking for atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include
> >
> >it will test if this header exists in this folder, and so on.
> 
> Is any of my log files useful for you?
> 
> Are there files, which I should delete, to make sure, that no old
> ones are used?

You have to run autoconf, but this is checked AFAIK configure checks if
it is older than configure.in.

You can also look at config.log, config.params has the parameters info,
and should be the same as in config.log.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: [BUILD] atlthunk

Posted by Regina Henschel <rb...@t-online.de>.
Hi Ariel,

Ariel Constenla-Haile schrieb:
> On Sun, Sep 23, 2012 at 04:04:23PM +0200, Regina Henschel wrote:
>> Hi Ariel,
>>
>> should there be "ATL_LIB=" line in winenv.set.sh now?
>> I ask, because there are still none of the four, but they are listed
>> in part "unset".
>
> If ATL/MFC is detected, they should be set right after DIRECTXSDK_LIB:
>
> DIRECTXSDK_LIB="C:/ARCHIV~1/MI599E~1/lib/x86"
> ATL_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> ATL_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
> HAVE_ATLTHUNK="NO"
> MFC_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> MFC_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
>
>
> Is ATL/MFC detected at all? Please post the output of configure after
>
> checking for DirectX SDK files... found
> checking for ATL and MFC... configure: testing ATL/MFC libs and includes
>

No, I get
checking for DirectX SDK files... found
checking for ATL and MFC... ATL/MFC disabled
checking for NSIS... checking for nsis.exe... no

> In case you see a
>
> configure: looking for atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include
>
> it will test if this header exists in this folder, and so on.

Is any of my log files useful for you?

Are there files, which I should delete, to make sure, that no old ones 
are used?

Kind regards
Regina


Re: [BUILD] atlthunk

Posted by Ariel Constenla-Haile <ar...@apache.org>.
On Sun, Sep 23, 2012 at 04:04:23PM +0200, Regina Henschel wrote:
> Hi Ariel,
> 
> should there be "ATL_LIB=" line in winenv.set.sh now?
> I ask, because there are still none of the four, but they are listed
> in part "unset".

If ATL/MFC is detected, they should be set right after DIRECTXSDK_LIB:

DIRECTXSDK_LIB="C:/ARCHIV~1/MI599E~1/lib/x86"
ATL_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
ATL_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
HAVE_ATLTHUNK="NO"
MFC_LIB="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
MFC_INCLUDE="C:/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"


Is ATL/MFC detected at all? Please post the output of configure after

checking for DirectX SDK files... found
checking for ATL and MFC... configure: testing ATL/MFC libs and includes

In case you see a

configure: looking for atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include

it will test if this header exists in this folder, and so on.


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: [BUILD] atlthunk

Posted by Regina Henschel <rb...@t-online.de>.
Hi Ariel,

should there be "ATL_LIB=" line in winenv.set.sh now?
I ask, because there are still none of the four, but they are listed in 
part "unset".

Kind regards
Regina


Ariel Constenla-Haile schrieb:
> Hi Regina,
>
> On Sun, Sep 23, 2012 at 01:14:40PM +0200, Regina Henschel wrote:
>>> Revision 1388579 introduced HAVE_ATLTHUNK and 4 configure switches, only
>>> needed when using the Express Edition. These 4 are needed because in the
>>> WDK the libraries and includes for ATL and MFC are in different folders.
>>>
>>> This is a hack, it rather "alpha", it doesn't take into account VS 2005
>>> nor MINGW, so feel free to test it, and improve it :)
>>>
>>> An example for VS 2008 Express:
>>>
>>> --with-atl-include-dir="C:/WinDDK/7600.16385.1/inc/atl71" \
>>> --with-atl-lib-dir="C:/WinDDK/7600.16385.1/lib/ATL/i386" \
>>> --with-mfc-include-dir="C:/WinDDK/7600.16385.1/inc/mfc42" \
>>> --with-mfc-lib-dir="C:/WinDDK/7600.16385.1/lib/Mfc/i386" \
>>>
>>> will generate a winenv.set.sh with
>>>
>>> ATL_LIB="C:/WinDDK/760016~1.1/lib/ATL/i386"
>>> ATL_INCLUDE="C:/WinDDK/760016~1.1/inc/atl71"
>>> HAVE_ATLTHUNK="YES"
>>> MFC_LIB="C:/WinDDK/760016~1.1/lib/Mfc/i386"
>>> MFC_INCLUDE="C:/WinDDK/760016~1.1/inc/mfc42"
>>>
>>>
>>> Users of the Pro Edition don't need to do anything (supposing the fix
>>> works).
>>
>> That does not work for me. Configure accepts the switches, but the
>> generated winenv.set.sh has no ATL_LIB, ATL_INCLUDE, MFC_LIB, and
>> MFC_INCLUDE at all (and build fails because of missing 'atlbase.h').
>>
>> (I know, that I can add the lines manually to winenv.set.sh, that is
>> not the problem.)
>
> The idea is not to do it manaully ;)
>
> Seems I committed the wrong patch (the one with a typo), please try with
> r1389055
>
> I added some AC_MSG_NOTICE, right after "checking for DirectX SDK files"
> you should get some messages that will give an idea of what is being
> searched and if it was found:
>
> checking for DirectX SDK files... found
> checking for ATL and MFC... configure: testing ATL/MFC libs and includes
> configure: looking for atlbase.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/atl71"
> configure: found atlbase.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/atl71"? "yes"
> configure: looking for afx.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42"
> configure: found afx.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42"? "yes"
> configure: looking for atls.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"
> configure: looking for atlthunk.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"
> configure: found atlthunk.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"? "YES"
> configure: found atls.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"? "yes"
> ATL/MFC enabled
>
>
>
> checking for DirectX SDK files... found
> checking for ATL and MFC... configure: testing ATL/MFC libs and includes
> configure: looking for atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
> configure: found atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"? "yes"
> configure: looking for afx.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
> configure: found afx.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"? "yes"
> configure: looking for atls.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> configure: looking for atlthunk.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
> configure: found atlthunk.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"? "NO"
> configure: found atls.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"? "yes"
> ATL/MFC enabled
>
> Hope it works now.
>
> Regards
>


Re: [BUILD] atlthunk

Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi Regina,

On Sun, Sep 23, 2012 at 01:14:40PM +0200, Regina Henschel wrote:
> >Revision 1388579 introduced HAVE_ATLTHUNK and 4 configure switches, only
> >needed when using the Express Edition. These 4 are needed because in the
> >WDK the libraries and includes for ATL and MFC are in different folders.
> >
> >This is a hack, it rather "alpha", it doesn't take into account VS 2005
> >nor MINGW, so feel free to test it, and improve it :)
> >
> >An example for VS 2008 Express:
> >
> >--with-atl-include-dir="C:/WinDDK/7600.16385.1/inc/atl71" \
> >--with-atl-lib-dir="C:/WinDDK/7600.16385.1/lib/ATL/i386" \
> >--with-mfc-include-dir="C:/WinDDK/7600.16385.1/inc/mfc42" \
> >--with-mfc-lib-dir="C:/WinDDK/7600.16385.1/lib/Mfc/i386" \
> >
> >will generate a winenv.set.sh with
> >
> >ATL_LIB="C:/WinDDK/760016~1.1/lib/ATL/i386"
> >ATL_INCLUDE="C:/WinDDK/760016~1.1/inc/atl71"
> >HAVE_ATLTHUNK="YES"
> >MFC_LIB="C:/WinDDK/760016~1.1/lib/Mfc/i386"
> >MFC_INCLUDE="C:/WinDDK/760016~1.1/inc/mfc42"
> >
> >
> >Users of the Pro Edition don't need to do anything (supposing the fix
> >works).
> 
> That does not work for me. Configure accepts the switches, but the
> generated winenv.set.sh has no ATL_LIB, ATL_INCLUDE, MFC_LIB, and
> MFC_INCLUDE at all (and build fails because of missing 'atlbase.h').
> 
> (I know, that I can add the lines manually to winenv.set.sh, that is
> not the problem.)

The idea is not to do it manaully ;)

Seems I committed the wrong patch (the one with a typo), please try with
r1389055

I added some AC_MSG_NOTICE, right after "checking for DirectX SDK files"
you should get some messages that will give an idea of what is being
searched and if it was found:

checking for DirectX SDK files... found
checking for ATL and MFC... configure: testing ATL/MFC libs and includes
configure: looking for atlbase.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/atl71"
configure: found atlbase.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/atl71"? "yes"
configure: looking for afx.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42"
configure: found afx.h in "/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42"? "yes"
configure: looking for atls.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"
configure: looking for atlthunk.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"
configure: found atlthunk.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"? "YES"
configure: found atls.lib in "/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386"? "yes"
ATL/MFC enabled



checking for DirectX SDK files... found
checking for ATL and MFC... configure: testing ATL/MFC libs and includes
configure: looking for atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
configure: found atlbase.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"? "yes"
configure: looking for afx.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"
configure: found afx.h in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/include"? "yes"
configure: looking for atls.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
configure: looking for atlthunk.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"
configure: found atlthunk.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"? "NO"
configure: found atls.lib in "/cygdrive/c/ARCHIV~1/MICROS~1.0/VC/atlmfc/lib"? "yes"
ATL/MFC enabled

Hope it works now.

Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: [BUILD] atlthunk

Posted by Regina Henschel <rb...@t-online.de>.
Hi Ariel,

Ariel Constenla-Haile schrieb:
>
> Hi *,
>
> On Tue, Sep 11, 2012 at 01:31:34PM +0200, Oliver-Rainer Wittmann wrote:
>> I am aiming for something which enables building with VS 2008
>> Express _and_ with VS 2008 Pro.
>> And yes, VS 2008 Express should be the default assumed environment
>> from my point of view.
>>
>> As far as I know the above referenced code change is only one part
>> of enabling the build of VS 2008 Express with ATL enabled - see
>> issue 118821
>>
>> [1] https://issues.apache.org/ooo/show_bug.cgi?id=118821
>
> Revision 1388579 introduced HAVE_ATLTHUNK and 4 configure switches, only
> needed when using the Express Edition. These 4 are needed because in the
> WDK the libraries and includes for ATL and MFC are in different folders.
>
> This is a hack, it rather "alpha", it doesn't take into account VS 2005
> nor MINGW, so feel free to test it, and improve it :)
>
> An example for VS 2008 Express:
>
> --with-atl-include-dir="C:/WinDDK/7600.16385.1/inc/atl71" \
> --with-atl-lib-dir="C:/WinDDK/7600.16385.1/lib/ATL/i386" \
> --with-mfc-include-dir="C:/WinDDK/7600.16385.1/inc/mfc42" \
> --with-mfc-lib-dir="C:/WinDDK/7600.16385.1/lib/Mfc/i386" \
>
> will generate a winenv.set.sh with
>
> ATL_LIB="C:/WinDDK/760016~1.1/lib/ATL/i386"
> ATL_INCLUDE="C:/WinDDK/760016~1.1/inc/atl71"
> HAVE_ATLTHUNK="YES"
> MFC_LIB="C:/WinDDK/760016~1.1/lib/Mfc/i386"
> MFC_INCLUDE="C:/WinDDK/760016~1.1/inc/mfc42"
>
>
> Users of the Pro Edition don't need to do anything (supposing the fix
> works).

That does not work for me. Configure accepts the switches, but the 
generated winenv.set.sh has no ATL_LIB, ATL_INCLUDE, MFC_LIB, and 
MFC_INCLUDE at all (and build fails because of missing 'atlbase.h').

(I know, that I can add the lines manually to winenv.set.sh, that is not 
the problem.)

Kind regards
Regina


Re: [BUILD] atlthunk

Posted by Ariel Constenla-Haile <ar...@apache.org>.
Hi *,

On Tue, Sep 11, 2012 at 01:31:34PM +0200, Oliver-Rainer Wittmann wrote:
> I am aiming for something which enables building with VS 2008
> Express _and_ with VS 2008 Pro.
> And yes, VS 2008 Express should be the default assumed environment
> from my point of view.
> 
> As far as I know the above referenced code change is only one part
> of enabling the build of VS 2008 Express with ATL enabled - see
> issue 118821
> 
> [1] https://issues.apache.org/ooo/show_bug.cgi?id=118821

Revision 1388579 introduced HAVE_ATLTHUNK and 4 configure switches, only
needed when using the Express Edition. These 4 are needed because in the
WDK the libraries and includes for ATL and MFC are in different folders.

This is a hack, it rather "alpha", it doesn't take into account VS 2005
nor MINGW, so feel free to test it, and improve it :)

An example for VS 2008 Express:

--with-atl-include-dir="C:/WinDDK/7600.16385.1/inc/atl71" \
--with-atl-lib-dir="C:/WinDDK/7600.16385.1/lib/ATL/i386" \
--with-mfc-include-dir="C:/WinDDK/7600.16385.1/inc/mfc42" \
--with-mfc-lib-dir="C:/WinDDK/7600.16385.1/lib/Mfc/i386" \

will generate a winenv.set.sh with

ATL_LIB="C:/WinDDK/760016~1.1/lib/ATL/i386"
ATL_INCLUDE="C:/WinDDK/760016~1.1/inc/atl71"
HAVE_ATLTHUNK="YES"
MFC_LIB="C:/WinDDK/760016~1.1/lib/Mfc/i386"
MFC_INCLUDE="C:/WinDDK/760016~1.1/inc/mfc42"


Users of the Pro Edition don't need to do anything (supposing the fix
works).


Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina

Re: [BUILD] atlthunk

Posted by Oliver-Rainer Wittmann <or...@googlemail.com>.
Hi Herbert,

On 11.09.2012 13:17, Herbert Duerr wrote:
> Hi Andrew,
>
> On 10.09.2012 22:19, Andrew Rist wrote:
>> do you know the context for this change?
>> https://svn.apache.org/viewvc?view=revision&revision=1343720 - "force
>> atlthunk addition when linking with atls library"
>> The lack of atlthunk is stopping the build and the file doesn't seem to
>> be in VS 2008 pro.  (Or is there something I did not install when
>> installing VS 2008?)
>
> With the free MSVC2008 Express being the baseline for AOO development on Windows
> the atlthunk addition was needed to enable the build of a fully functional
> product, because MSVC2008 Express does not contain the ATL libraries, but the
> free WDK contains all that is needed including the atlthunk lib.
>
> Requiring an expensive Pro version to build it would be prohibitive for hobby
> developers.
>
> BTW: Chromium has the same issue and the instructions there apply here too.
> If you use Visual Studio 2008 Express:
>      Install the WDK for the ATL headers and libs from e.g.
>      http://www.microsoft.com/en-us/download/details.aspx?id=11800
>      Verify MSVC|Tools|Options|Projects and Solutions|VC++ Directories has
> Include: [WDK]include\atl71 and Lib: [WDK]lib\Atl\i386 where [WDK] is the WDK
> install directory.
>
> Another solution would be to detect that atlthunk is not needed because the
> --disable-atl configure switch is active or disable linking to the atlthunk if
> an MSVC version containing atl directly is installed.
>
> Another alternative would be of course if we demanded that everyone wanting to
> build a fully functional AOO is required to get the Pro version. Is that
> something we could strive for?
>

I think you misunderstood my intention.

I am aiming for something which enables building with VS 2008 Express _and_ with 
VS 2008 Pro.
And yes, VS 2008 Express should be the default assumed environment from my point 
of view.

As far as I know the above referenced code change is only one part of enabling 
the build of VS 2008 Express with ATL enabled - see issue 118821

[1] https://issues.apache.org/ooo/show_bug.cgi?id=118821


Best regards, Oliver.

Re: [BUILD] atlthunk

Posted by Herbert Duerr <hd...@apache.org>.
Hi Andrew,

On 10.09.2012 22:19, Andrew Rist wrote:
> do you know the context for this change?
> https://svn.apache.org/viewvc?view=revision&revision=1343720 - "force
> atlthunk addition when linking with atls library"
> The lack of atlthunk is stopping the build and the file doesn't seem to
> be in VS 2008 pro.  (Or is there something I did not install when
> installing VS 2008?)

With the free MSVC2008 Express being the baseline for AOO development on 
Windows the atlthunk addition was needed to enable the build of a fully 
functional product, because MSVC2008 Express does not contain the ATL 
libraries, but the free WDK contains all that is needed including the 
atlthunk lib.

Requiring an expensive Pro version to build it would be prohibitive for 
hobby developers.

BTW: Chromium has the same issue and the instructions there apply here too.
If you use Visual Studio 2008 Express:
     Install the WDK for the ATL headers and libs from e.g.
	http://www.microsoft.com/en-us/download/details.aspx?id=11800
     Verify MSVC|Tools|Options|Projects and Solutions|VC++ Directories 
has Include: [WDK]include\atl71 and Lib: [WDK]lib\Atl\i386 where [WDK] 
is the WDK install directory.

Another solution would be to detect that atlthunk is not needed because 
the --disable-atl configure switch is active or disable linking to the 
atlthunk if an MSVC version containing atl directly is installed.

Another alternative would be of course if we demanded that everyone 
wanting to build a fully functional AOO is required to get the Pro 
version. Is that something we could strive for?

Greetings from Beijing,
Herbert


[BUILD] atlthunk

Posted by Andrew Rist <an...@oracle.com>.
Herbert,
do you know the context for this change?
https://svn.apache.org/viewvc?view=revision&revision=1343720 - "force 
atlthunk addition when linking with atls library"
The lack of atlthunk is stopping the build and the file doesn't seem to 
be in VS 2008 pro.  (Or is there something I did not install when 
installing VS 2008?)
A.



Re: Building OpenOffice with Visual Studio 2010

Posted by Herbert Duerr <hd...@apache.org>.
On 28.08.2012 11:28, Andre Fischer wrote:
> On 28.08.2012 10:51, Ian Harvey wrote:
>> I have been experimenting with building OpenOffice (trunk) with Visual
>> Studio 2010.  I have made some progress, but clearly more work remains.
>> Is there an appropriate place to document/share/seek advice on progress
>> to date within the projects' infrastructure? Perhaps an issue in
>> Bugzilla?
>
> Very cool.
>
> An issue in Bugzilla would be good for tracking the progress.  For
> questions (and hopefully answers) ooo-dev is the right place.  Maybe a
> wiki page for documentation.

+1

>> Navigating the build system has been challenging.  Pointers to
>> information to highlight how the build system works (so that any changes
>> to accomodate VS2010 I make don't work contrary to the intent of its
>> designers) would be appreciated.
>
> I doubt that there is up-to-date information written down in the wiki.

http://wiki.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Windows
is always a good start to get acquainted with the current status quo.

> But please ask questions here on ooo-dev.

+1

>> The use of stlport by the Windows build causes some of the issues that I
>> have encountered, perhaps through ignorance on my part about how stlport
>> should be used.  Is the intention to continue using stlport, or should I
>> investigate excising stlport from a hypothetical VS2010 build?
>
> We would like to drop stlport but I think we are not there yet.  I think
> Herbert can say more about that.

Dropping stlport would have a lot of benefits, e.g. we could use the 
system provided libraries for e.g. ICU or graphite. The next major 
release AOO 4.0 would be a great opportunity for doing this as C++ based 
extensions would become incompatible.

Herbert


Re: Building OpenOffice with Visual Studio 2010

Posted by Andre Fischer <aw...@gmail.com>.
On 28.08.2012 10:51, Ian Harvey wrote:
> I have been experimenting with building OpenOffice (trunk) with Visual
> Studio 2010.  I have made some progress, but clearly more work remains.
> Is there an appropriate place to document/share/seek advice on progress
> to date within the projects' infrastructure? Perhaps an issue in Bugzilla?

Very cool.

An issue in Bugzilla would be good for tracking the progress.  For 
questions (and hopefully answers) ooo-dev is the right place.  Maybe a 
wiki page for documentation.

>
> Navigating the build system has been challenging.  Pointers to
> information to highlight how the build system works (so that any changes
> to accomodate VS2010 I make don't work contrary to the intent of its
> designers) would be appreciated.

I doubt that there is up-to-date information written down in the wiki. 
But please ask questions here on ooo-dev.

>
> The use of stlport by the Windows build causes some of the issues that I
> have encountered, perhaps through ignorance on my part about how stlport
> should be used.  Is the intention to continue using stlport, or should I
> investigate excising stlport from a hypothetical VS2010 build?

We would like to drop stlport but I think we are not there yet.  I think 
Herbert can say more about that.

-Andre