Quantcast

[GERRIT][PATCH] gbuild conversion l10ntools module

classic Classic list List threaded Threaded
10 messages Options
David Ostrovsky David Ostrovsky
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

[GERRIT][PATCH] gbuild conversion l10ntools module

Hi,

please review my gerrit patch request:
https://gerrit.libreoffice.org/#/c/105/
The normal patch is attached (just in case you are more comfortable with
it).

What has changed?

1.
The scanners are compiled as C++ code now:
cfglex.l
srclex.l
xrmlex.l
That why yyerror and yywarnings have changed their signature.

2.
flex options -w -l -8 are dropped.

3.
The generated scanners are not wrapped any more, so diagnostic pragma
hacks are used on gcc to pass WaE configure option.
I tested it only on ubuntu (gcc version 4.6.1) though.

4.
HelpLinker & HelpIndexer are linked against dynamic librariy helplinker.
Well, I messed around with this one, so may be we have to clean up here.
For that i extracted HelpLinker_main.cxx and included new header
HelpLinker.hxx in Package_inc.
I hope, i defined the programms on the right place in Repository.mk, to
get the desirable rpath:
$(eval $(call gb_Helper_register_executables,OOO, \
     HelpLinker \
     HelpIndexer \
[...]

5.
-.IF "$(OS)" == "MACOSX" && "$(CPU)" == "P" && "$(COM)" == "GCC"
-# There appears to be a GCC 4.0.1 optimization error causing
_file:good() to
-# report true right before the call to writeOut at HelpLinker.cxx:1.12
l. 954
-# but out.good() to report false right at the start of writeOut at
-# HelpLinker.cxx:1.12 l. 537:
-NOOPTFILES=\
-        $(OBJ)$/HelpLinker.obj \
-        $(SLO)$/HelpLinker.obj
-.ENDIF

this was dropped.
Do we still need it? If uncertain, please activate it.

What has (unfortunately) not changed:
we still follow this ugly mixed case: HelperLinker and HelperIndexer
I don't know why.

Status pages is updated (status review):
https://wiki.documentfoundation.org/Development/Build_System/Module_status

Regards
David

PS
@Bjorn, thank you very much for helping with initial gerrit setup!


_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

0001-gbuild-conversion-l10ntools-module.patch (75K) Download Attachment
Thorsten Behrens Thorsten Behrens
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH] gbuild conversion l10ntools module

David Ostrovsky wrote:

> 5.
> -.IF "$(OS)" == "MACOSX" && "$(CPU)" == "P" && "$(COM)" == "GCC"
> -# There appears to be a GCC 4.0.1 optimization error causing
> _file:good() to
> -# report true right before the call to writeOut at
> HelpLinker.cxx:1.12 l. 954
> -# but out.good() to report false right at the start of writeOut at
> -# HelpLinker.cxx:1.12 l. 537:
> -NOOPTFILES=\
> -        $(OBJ)$/HelpLinker.obj \
> -        $(SLO)$/HelpLinker.obj
> -.ENDIF
>
> this was dropped.
> Do we still need it? If uncertain, please activate it.
>
Hi Cloph, I think that was from you? What's your current version on
PPC?

Cheers,

-- Thorsten

_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

attachment0 (205 bytes) Download Attachment
David Ostrovsky David Ostrovsky
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH] gbuild conversion l10ntools module -- new patch and gerrit question

On 03.05.2012 13:23, Thorsten Behrens wrote:
David Ostrovsky wrote:
5.
-.IF "$(OS)" == "MACOSX" && "$(CPU)" == "P" && "$(COM)" == "GCC"
-# There appears to be a GCC 4.0.1 optimization error causing
_file:good() to
-# report true right before the call to writeOut at
HelpLinker.cxx:1.12 l. 954
-# but out.good() to report false right at the start of writeOut at
-# HelpLinker.cxx:1.12 l. 537:
-NOOPTFILES=\
-        $(OBJ)$/HelpLinker.obj \
-        $(SLO)$/HelpLinker.obj
-.ENDIF

this was dropped.
Do we still need it? If uncertain, please activate it.

Hi Cloph, I think that was from you? What's your current version on
PPC?
Actually I activated it again, because my reviewer said I have to.
I attached the new patch.
Gerrit url remains the same: https://gerrit.libreoffice.org/#/c/105/.

Gerrit really rocks!
With recently activated Change Id git trigger, this is as simple as commit, rebase -i/squish, push - cycle ...
and a new Patch Set version in the _same_ gerrit patch request is created.
It would be even cooler, if somebody would throw their tinderboxen against it (refs/for/head branch)
(especially with -Werror).

One problem seen so far with gerrit, is not visibility of entered comments for deleted files.
To reproduce: open side by side review for deleted file, say l10ntools/source/help/makefile.mk.
Enter some comments on random line there and save your draft. Nobody can see it.
Is this a gerrit bug? Workaround would be to enter comments in review message itself in that case.

Ciao
David

@Michal Stahl: thank you very mch for your review and solution suggestions for found problems!


_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

0001-gbuild-conversion-l10ntools-module.patch (74K) Download Attachment
David Tardon David Tardon
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH][PUSHED] gbuild conversion l10ntools module -- new patch and gerrit question

Marking as pushed.

D.
_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice
Bjoern Michaelsen Bjoern Michaelsen
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH][PUSHED] gbuild conversion l10ntools module -- new patch and gerrit question

On Fri, May 04, 2012 at 09:49:09AM +0200, David Tardon wrote:
> Marking as pushed.

Done the same in gerrit. Interesting "real" review process this one on gerrit
there:
https://gerrit.libreoffice.org/#/c/105/

Best,

Bjoern
_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice
Christian Lohmaier-3 Christian Lohmaier-3
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH] gbuild conversion l10ntools module

In reply to this post by Thorsten Behrens
On Thu, May 3, 2012 at 1:23 PM, Thorsten Behrens
<[hidden email]> wrote:

> David Ostrovsky wrote:
>> 5.
>> -.IF "$(OS)" == "MACOSX" && "$(CPU)" == "P" && "$(COM)" == "GCC"
>> -# There appears to be a GCC 4.0.1 optimization error causing
>> _file:good() to
>> -# report true right before the call to writeOut at
>> HelpLinker.cxx:1.12 l. 954
>> -# but out.good() to report false right at the start of writeOut at
>> -# HelpLinker.cxx:1.12 l. 537:
>> -NOOPTFILES=\
>> -        $(OBJ)$/HelpLinker.obj \
>> -        $(SLO)$/HelpLinker.obj
>> -.ENDIF
>>
>> this was dropped.
>> Do we still need it? If uncertain, please activate it.
>>
> Hi Cloph, I think that was from you?

Might have written an issue for it, but the fix/analysis is not from
me. But I'm at least affected :-)
Not sure whether Helplinker code changed though...

> What's your current version on
> PPC?

current version on my ppc is still gcc-4.0.1
powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370)

But other messages were reading that is has been preserved.. Master
breaks at a different position currently...

ciao
Christian
_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice
David Ostrovsky David Ostrovsky
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH] gbuild conversion l10ntools module

On 06.05.2012 14:29, Christian Lohmaier wrote:

> On Thu, May 3, 2012 at 1:23 PM, Thorsten Behrens
> <[hidden email]>  wrote:
>> David Ostrovsky wrote:
>>> 5.
>>> -.IF "$(OS)" == "MACOSX"&&  "$(CPU)" == "P"&&  "$(COM)" == "GCC"
>>> -# There appears to be a GCC 4.0.1 optimization error causing
>>> _file:good() to
>>> -# report true right before the call to writeOut at
>>> HelpLinker.cxx:1.12 l. 954
>>> -# but out.good() to report false right at the start of writeOut at
>>> -# HelpLinker.cxx:1.12 l. 537:
>>> -NOOPTFILES=\
>>> -        $(OBJ)$/HelpLinker.obj \
>>> -        $(SLO)$/HelpLinker.obj
>>> -.ENDIF
>>>
>>> this was dropped.
>>> Do we still need it? If uncertain, please activate it.
>>>
>> Hi Cloph, I think that was from you?
> Might have written an issue for it, but the fix/analysis is not from
> me. But I'm at least affected :-)
> Not sure whether Helplinker code changed though...
>
>> What's your current version on
>> PPC?
> current version on my ppc is still gcc-4.0.1
> powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5370)
>
> But other messages were reading that is has been preserved.. Master
> breaks at a different position currently...
Could you please try make verbose=t on master and send us results?
I saw on your tinderbox, that there are obviously some problems with
recently introduced add_scanner(s)
methods (idlc & l10ntools modules), because .cxx files are not generated
from .l.
But i can not see why.

Thanks David
_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice
Christian Lohmaier-3 Christian Lohmaier-3
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH] gbuild conversion l10ntools module

Hi David, *,

On Sun, May 6, 2012 at 4:21 PM, David Ostrovsky <[hidden email]> wrote:
> On 06.05.2012 14:29, Christian Lohmaier wrote:
>> On Thu, May 3, 2012 at 1:23 PM, Thorsten Behrens
>
> Could you please try make verbose=t on master and send us results?
> I saw on your tinderbox, that there are obviously some problems with
> recently introduced add_scanner(s)

Current tinderbox error is because flex on XCode 2.5.x doesn't support
space between -o and the output filename.
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -268,7 +268,7 @@ define gb_LexTarget__command
 $(call gb_Output_announce,$(2),$(true),LEX,3)
 $(call gb_Helper_abbreviate_dirs,\
        mkdir -p $(dir $(3)) && \
-       $(FLEX) $(T_LEXFLAGS) -o $(4) $(1) && touch $(3) )
+       $(FLEX) $(T_LEXFLAGS) -o$(4) $(1) && touch $(3) )
 endef

 fixes it for me, but maybe then breaks more current versions of flex.

> methods (idlc & l10ntools modules), because .cxx files are not generated
> from .l.
> But i can not see why.

But with the above fixed flex runs fine but then the build breaks with:


$ make verbose=t
[ build CXX ] LexTarget/l10ntools/source/cfglex.cxx
test -f /Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx
|| (echo "Missing generated source file
/Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx"
&& false)
S=/Users/buildslave/compile.noindex/libreoffice &&
O=$S/solver/unxmacxp.pro && W=$S/workdir/unxmacxp.pro &&   mkdir -p
$W/GenCxxObject/LexTarget/l10ntools/source/
$W/Dep/GenCxxObject/LexTarget/l10ntools/source/ && g++ -DCPPU_ENV=gcc3
-DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.0.0
-DHAVE_GCC_VISIBILITY_FEATURE -DHAVE_SFINAE_ANONYMOUS_BROKEN -DMACOSX
-DMAC_OS_X_VERSION_MAX_ALLOWED=1040
-DMAC_OS_X_VERSION_MIN_REQUIRED=1040 -DNDEBUG -DNO_PTHREAD_PRIORITY
-DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPOWERPC -DPPC -DQUARTZ -DSOLAR_JAVA
-DSUPD=360 -DUNIX -DUNX -D_PTHREADS -D_REENTRANT   -Werror
-DLIBO_WERROR -isysroot /Developer/SDKs/MacOSX10.4u.sdk -Wall
-Wendif-labels -Wextra -fmessage-length=0 -fno-common -pipe  -fPIC
-Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fno-strict-aliasing
-fsigned-char -malign-natural  -Wno-long-double
-fno-threadsafe-statics  -DEXCEPTIONS_ON -fexceptions
-fno-enforce-eh-specs -O2   -Wno-error -c
$W/LexTarget/l10ntools/source/cfglex.cxx -o
$W/GenCxxObject/LexTarget/l10ntools/source/cfglex.o -MMD -MT
$W/GenCxxObject/LexTarget/l10ntools/source/cfglex.o -MP -MF
$W/Dep/GenCxxObject/LexTarget/l10ntools/source/cfglex.d_
-I$W/LexTarget/l10ntools/source/  -I$S/l10ntools/inc -I$O/inc/external
-I$O/inc -I$S/solenv/inc
-I/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers
-I/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/JavaVM/Headers
 && mv $W/Dep/GenCxxObject/LexTarget/l10ntools/source/cfglex.d_
$W/Dep/GenCxxObject/LexTarget/l10ntools/source/cfglex.d
/Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:
In function 'void YYWarning(const char*)':
/Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:143:
error: 'yylineno' was not declared in this scope
/Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:
In function 'void yyerror(const char*)':
/Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:152:
error: 'yylineno' was not declared in this scope
/Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx:
At global scope:
/Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx:2862:
warning: 'void yyunput(int, char*)' defined but not used
make: *** [/Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/GenCxxObject/LexTarget/l10ntools/source/cfglex.o]
Error 1

Didn't find time to look into that yet - so if that's enough info for
you to fix it, I'd be more than happy :-)

ciao
Christian
_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice
David Ostrovsky David Ostrovsky
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH] gbuild conversion l10ntools module

Hi Christian,

if this patch fixes your build, fill free to push it.

Ciao
David

On 06.05.2012 16:42, Christian Lohmaier wrote:

> Hi David, *,
>
> On Sun, May 6, 2012 at 4:21 PM, David Ostrovsky<[hidden email]>  wrote:
>> On 06.05.2012 14:29, Christian Lohmaier wrote:
>>> On Thu, May 3, 2012 at 1:23 PM, Thorsten Behrens
>> Could you please try make verbose=t on master and send us results?
>> I saw on your tinderbox, that there are obviously some problems with
>> recently introduced add_scanner(s)
> Current tinderbox error is because flex on XCode 2.5.x doesn't support
> space between -o and the output filename.
> --- a/solenv/gbuild/LinkTarget.mk
> +++ b/solenv/gbuild/LinkTarget.mk
> @@ -268,7 +268,7 @@ define gb_LexTarget__command
>   $(call gb_Output_announce,$(2),$(true),LEX,3)
>   $(call gb_Helper_abbreviate_dirs,\
>          mkdir -p $(dir $(3))&&  \
> -       $(FLEX) $(T_LEXFLAGS) -o $(4) $(1)&&  touch $(3) )
> +       $(FLEX) $(T_LEXFLAGS) -o$(4) $(1)&&  touch $(3) )
>   endef
>
>   fixes it for me, but maybe then breaks more current versions of flex.
>
>> methods (idlc&  l10ntools modules), because .cxx files are not generated
>> from .l.
>> But i can not see why.
> But with the above fixed flex runs fine but then the build breaks with:
>
>
> $ make verbose=t
> [ build CXX ] LexTarget/l10ntools/source/cfglex.cxx
> test -f /Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx
> || (echo "Missing generated source file
> /Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx"
> &&  false)
> S=/Users/buildslave/compile.noindex/libreoffice&&
> O=$S/solver/unxmacxp.pro&&  W=$S/workdir/unxmacxp.pro&&    mkdir -p
> $W/GenCxxObject/LexTarget/l10ntools/source/
> $W/Dep/GenCxxObject/LexTarget/l10ntools/source/&&  g++ -DCPPU_ENV=gcc3
> -DGCC -DGXX_INCLUDE_PATH=/usr/include/c++/4.0.0
> -DHAVE_GCC_VISIBILITY_FEATURE -DHAVE_SFINAE_ANONYMOUS_BROKEN -DMACOSX
> -DMAC_OS_X_VERSION_MAX_ALLOWED=1040
> -DMAC_OS_X_VERSION_MIN_REQUIRED=1040 -DNDEBUG -DNO_PTHREAD_PRIORITY
> -DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPOWERPC -DPPC -DQUARTZ -DSOLAR_JAVA
> -DSUPD=360 -DUNIX -DUNX -D_PTHREADS -D_REENTRANT   -Werror
> -DLIBO_WERROR -isysroot /Developer/SDKs/MacOSX10.4u.sdk -Wall
> -Wendif-labels -Wextra -fmessage-length=0 -fno-common -pipe  -fPIC
> -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fno-strict-aliasing
> -fsigned-char -malign-natural  -Wno-long-double
> -fno-threadsafe-statics  -DEXCEPTIONS_ON -fexceptions
> -fno-enforce-eh-specs -O2   -Wno-error -c
> $W/LexTarget/l10ntools/source/cfglex.cxx -o
> $W/GenCxxObject/LexTarget/l10ntools/source/cfglex.o -MMD -MT
> $W/GenCxxObject/LexTarget/l10ntools/source/cfglex.o -MP -MF
> $W/Dep/GenCxxObject/LexTarget/l10ntools/source/cfglex.d_
> -I$W/LexTarget/l10ntools/source/  -I$S/l10ntools/inc -I$O/inc/external
> -I$O/inc -I$S/solenv/inc
> -I/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers
> -I/Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/JavaVM/Headers
>   &&  mv $W/Dep/GenCxxObject/LexTarget/l10ntools/source/cfglex.d_
> $W/Dep/GenCxxObject/LexTarget/l10ntools/source/cfglex.d
> /Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:
> In function 'void YYWarning(const char*)':
> /Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:143:
> error: 'yylineno' was not declared in this scope
> /Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:
> In function 'void yyerror(const char*)':
> /Users/buildslave/compile.noindex/libreoffice/l10ntools/source/cfglex.l:152:
> error: 'yylineno' was not declared in this scope
> /Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx:
> At global scope:
> /Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/LexTarget/l10ntools/source/cfglex.cxx:2862:
> warning: 'void yyunput(int, char*)' defined but not used
> make: *** [/Users/buildslave/compile.noindex/libreoffice/workdir/unxmacxp.pro/GenCxxObject/LexTarget/l10ntools/source/cfglex.o]
> Error 1
>
> Didn't find time to look into that yet - so if that's enough info for
> you to fix it, I'd be more than happy :-)
>
> ciao
> Christian

_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice

0001-fix-subtle-flex-problems-on-MacOS.patch (1K) Download Attachment
Christian Lohmaier-3 Christian Lohmaier-3
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: [GERRIT][PATCH][PUSHED] gbuild conversion l10ntools module

Hi David, *,

On Sun, May 6, 2012 at 5:24 PM, David Ostrovsky <[hidden email]> wrote:
>
> if this patch fixes your build, fill free to push it.

Yes, fixes the problem. Thanks a lot.

There are warnings left:
"/Users/buildslave/compile.noindex/libreoffice/l10ntools/source/srclex.l",
line 98: warning, trailing context made variable due to preceding '|'
action
&
"/Users/buildslave/compile.noindex/libreoffice/l10ntools/source/srclex.l",
line 98: warning, dangerous trailing context

but l10ntools compiles (just to hit a warning=error one in idlc, but
that's for another thread)

Unfortunately gmail will likely break the thread, but adding "Pushed"
to the subject nevertheless.

ciao
Christian
_______________________________________________
LibreOffice mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/libreoffice
Loading...