You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Arrigo Marchiori <ar...@yahoo.it.INVALID> on 2021/05/14 19:56:05 UTC

Quick poll: can we rename the INCLUDE and LIB variables in Makefiles?

Dear All,

I am attempting to build AOO using Visual Studio 2015.

While I am very far from being done, I need to take a ``heavy''
decision with respect to include and library paths.

Apparently, VS 2015 is relying on _environment variables_ such as:
 - INCLUDE listing the paths in which to search for header files [1];
 - LIB for listing the patch in which to search for libraries [2].

It looks like that the names "INCLUDE" and "LIB" are _already used_
across our Makefiles for command line parameters (see for example
main/solenv/inc/target.mk).

There is a conflict of names: the environment variables and the
command line parameters have different syntax. Therefore, in order to
let VC++ find everything it needs, we must either:

 A- rename the Makefile variables INCLUDE and LIB into something else
    (such as AOO_INCLUDE or CMDLINE_INCLUDE)

 B- forget about environment variables and only use command-line
    parameters (i.e. introduce VC_INCLUDE being the contents of Visual
    Studio's INCLUDE environment variable adapted to the command-line
    syntax).

I would go for option A- because option B- would lead to _very_ long
command lines and I would expect problems.

But would I stomp on anyone's feet if I did that? Would it be bad
practice? Would it violate any standards?

I am open to suggestions and criticism. Please let me hear your
opinion!

References:

1: https://docs.microsoft.com/en-us/cpp/build/reference/i-additional-include-directories?view=msvc-140

2: https://docs.microsoft.com/en-us/cpp/build/reference/libpath-additional-libpath?view=msvc-140
-- 
Arrigo

Re: Quick poll: can we rename the INCLUDE and LIB variables in Makefiles?

Posted by Peter Kovacs <pe...@apache.org>.
Hello all,


There is a Gordian knot to be solved. Because of constant swapping 
attention we have started a lot of tasks which are now a bit in conflict.

I am not sure if the strategy to update MSVC is the right one as a 
starter. But that should not stop you Arrigo to continue. :)

However this is not the first attempt. Maybe this post helps [6]. Maybe 
George Karalis would be open to help and share his experience too?


I would expect difficulties on a and B approach. Damjan who did most of 
the work on gmake said [1]:

"We already took that [make gmake work] approach to its limit, and I 
don't believe we can go much further. Most of gmake works by luck."

Which I read as that the gmake usage is very fragile. But I am not 
really have any clue how the perl scripts are tied with the dmake that 
call gmake.

The SCONs transition still looks promising. The last post from Damjan 
is  at [2] And the Branch is at [5]. Which would be my personal 
favourite route.


However a rename of the variables can be don on linux by one 
commandline. To my understanding we need only to change *.mk files. 
Which I figure are  1648 files.

This should be possible with a find and sed combination, and we could 
try to build a Linux version. If that works, we check Mac and then we 
are pretty save to continue on Windows.

Still I would store the changes in an own branch until the update is done.


However I have a hard time to believe that conflict is something new. 
But I am not sure since one discussion on MSVC hints that 
standardization was more then sad in the past. [3] Maybe I am wrong.

So maybe it is worth to have a quick glance at [4] if there the same 
Issue apears. But not to much since the branch is old. I thought we had 
a 64 bit conversion repository. But I am not sure where that went to.

If we start messing with the overall Windows build how do we proceed 
with the work on Win64? Sadly I am not sure where Damjan put the 64 bit 
conversion and where his last email has been to this point.


Puh what a topic mess. But Still I hope it helps you Arrigo to go 
forward. I am in support on any approach.


All the best

Peter


[1] 
https://lists.apache.org/thread.html/rceb42d4f390f88e5c63875a4670a850186513400668a12772ec2f6d5%40%3Cdev.openoffice.apache.org%3E

[2] 
https://lists.apache.org/thread.html/r911b40a582019f641e93253df07341370cb9aeb9d1dc50474e48aa09%40%3Cdev.openoffice.apache.org%3E

[3] 
https://lists.apache.org/thread.html/95db92e73a2ac7c0417016f74fbe30185b91069f379df2c77928cad8%40%3Cdev.openoffice.apache.org%3E 


[4] https://github.com/apache/openoffice/tree/win8build

[5] https://github.com/apache/openoffice/tree/scons-build

[6] 
https://lists.apache.org/thread.html/fcbeb2d29f1ca1116b22e410a2154c97cfe43a21f77d4fe3cd4d73b4%40%3Cdev.openoffice.apache.org%3E


On 15.05.21 08:57, Marcus wrote:
> Am 14.05.21 um 21:56 schrieb Arrigo Marchiori:
>> I would go for option A- because option B- would lead to _very_ long
>> command lines and I would expect problems.
>>
>> But would I stomp on anyone's feet if I did that? Would it be bad
>> practice? Would it violate any standards?
>>
>> I am open to suggestions and criticism. Please let me hear your
>> opinion!
>
> I'm not a core developer, so I don't know the details. However, 
> renaming such essential keywords like "INCLUDE" and "LIB" is indeed a 
> heavy change.
>
> IMHO it's the same like switching the build system to gmake, scons or 
> whatever. It has to be done very carefully and would be an enormous 
> obstacle for us. There are f...cking many makefiles that need to be 
> changed. We have tried to change the build system more than one time 
> and both were not done until the end.
>
> So, now we have a mix of 3-4 build systems inside the code. With a mix 
> of renamed keywords it won't get easier to maintain the code and even 
> not for new vontuneers to understand this.
>
> What is currently used for building on Windows?
> Any (good) need to chnge thisto VS 2015?
>
> Who should do this change and is there a guarantee that the person is 
> doing it until the end?
>
> Is it for sure that this is only influencing how we can build on 
> Windows or has it any side effects on the other platforms? If so, 
> renaming is more than a normal obstacle.
>
> We need to discuss and decide this very detailed and carefully.
>
> Sorry for these strong words and questions. However, my gut feeling 
> says "this is not a good idea".
>
> My 2 ct.
>
> Marcus
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: dev-help@openoffice.apache.org
>
-- 
This is the Way! http://www.apache.org/theapacheway/index.html

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


Re: Quick poll: can we rename the INCLUDE and LIB variables in Makefiles?

Posted by Matthias Seidel <ma...@hamburg.de>.
Hi Marcus,

Am 15.05.21 um 08:57 schrieb Marcus:
> Am 14.05.21 um 21:56 schrieb Arrigo Marchiori:
>> I would go for option A- because option B- would lead to _very_ long
>> command lines and I would expect problems.
>>
>> But would I stomp on anyone's feet if I did that? Would it be bad
>> practice? Would it violate any standards?
>>
>> I am open to suggestions and criticism. Please let me hear your
>> opinion!
>
> I'm not a core developer, so I don't know the details. However,
> renaming such essential keywords like "INCLUDE" and "LIB" is indeed a
> heavy change.
>
> IMHO it's the same like switching the build system to gmake, scons or
> whatever. It has to be done very carefully and would be an enormous
> obstacle for us. There are f...cking many makefiles that need to be
> changed. We have tried to change the build system more than one time
> and both were not done until the end.
>
> So, now we have a mix of 3-4 build systems inside the code. With a mix
> of renamed keywords it won't get easier to maintain the code and even
> not for new vontuneers to understand this.
>
> What is currently used for building on Windows?
MSVC 2008 (EOL since 2018). The file isn't downloadable anymore from
Microsoft.
> Any (good) need to chnge thisto VS 2015?

We need to move to a new compiler at some point, MSVC would be supported
until 2025.

Regards,

   Matthias

>
> Who should do this change and is there a guarantee that the person is
> doing it until the end?
>
> Is it for sure that this is only influencing how we can build on
> Windows or has it any side effects on the other platforms? If so,
> renaming is more than a normal obstacle.
>
> We need to discuss and decide this very detailed and carefully.
>
> Sorry for these strong words and questions. However, my gut feeling
> says "this is not a good idea".
>
> My 2 ct.
>
> Marcus
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@openoffice.apache.org
> For additional commands, e-mail: dev-help@openoffice.apache.org
>
>


Re: Quick poll: can we rename the INCLUDE and LIB variables in Makefiles?

Posted by Marcus <ma...@wtnet.de>.
Am 14.05.21 um 21:56 schrieb Arrigo Marchiori:
> I would go for option A- because option B- would lead to _very_ long
> command lines and I would expect problems.
> 
> But would I stomp on anyone's feet if I did that? Would it be bad
> practice? Would it violate any standards?
> 
> I am open to suggestions and criticism. Please let me hear your
> opinion!

I'm not a core developer, so I don't know the details. However, renaming 
such essential keywords like "INCLUDE" and "LIB" is indeed a heavy change.

IMHO it's the same like switching the build system to gmake, scons or 
whatever. It has to be done very carefully and would be an enormous 
obstacle for us. There are f...cking many makefiles that need to be 
changed. We have tried to change the build system more than one time and 
both were not done until the end.

So, now we have a mix of 3-4 build systems inside the code. With a mix 
of renamed keywords it won't get easier to maintain the code and even 
not for new vontuneers to understand this.

What is currently used for building on Windows?
Any (good) need to chnge thisto VS 2015?

Who should do this change and is there a guarantee that the person is 
doing it until the end?

Is it for sure that this is only influencing how we can build on Windows 
or has it any side effects on the other platforms? If so, renaming is 
more than a normal obstacle.

We need to discuss and decide this very detailed and carefully.

Sorry for these strong words and questions. However, my gut feeling says 
"this is not a good idea".

My 2 ct.

Marcus

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