make gbuildtojson and make xx-ide-integration problems.
Michael Stahl
mstahl at redhat.com
Wed Dec 14 15:29:16 UTC 2016
On 12/14/2016 04:23 PM, Bjoern Michaelsen wrote:
> On Wed, Dec 14, 2016 at 01:29:28PM +0100, Jan Iversen wrote:
>> File "/Volumes/LIBREOFFICE/play/core/bin/gbuild-to-ide", line 136, in __lib_from_json
>> GbuildParser.libpattern.match(os.path.basename(json['MAKEFILE'])).group(1),
>> AttributeError: 'NoneType' object has no attribute 'group'
>> Makefile:413: recipe for target 'vim-ide-integration' failed
>> make: *** [vim-ide-integration] Error 1
>
> This essentially means the GbuildParser.libpattern regexp from
> /bin/gbuild-to-ide does not find what it expects, namely: Library_(.*)\.mk in
> the MAKEFILE variable. Looking at the attached file
> workdir/GbuildToJson/Library/libscqahelper.dylib it has:
>
> "MAKEFILE": "/Volumes/LIBREOFFICE/play/core/sc/CppunitTest_sc_ucalc.mk"
>
> which is wrong. It should be:
>
> "MAKEFILE": "/Volumes/LIBREOFFICE/play/core/sc/Library_scqahelper.mk"
>
> And using a Library_foo.mk regex on a CppunitTest_foo.mk ist doomed. The
> MAKEFILE var is filled at
> https://gerrit.libreoffice.org/gitweb?p=core.git;a=blob;f=solenv/gbuild/extensions/post_GbuildToJson.mk;h=c608e33c654677491a8d34df368d1e488934ba7c;hb=4e9dd6e1b79983db087790a50c811b8b14b65f8f#l57
> by filling T_MAKEFILE in gb_Postprocess_register_target with the last read
> makefile.
>
> That works in general, but apparently not in this case -- I assume be
> scqahelper is not shipped with the product and never registered in postprocess.
> A solution would be to set the T_MAKEFILE var in the same way it was done for
> CppunitTests, which arent registered in postprocess either. see:
>
> https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=ee8057caaa26dcddbf80b1e0a2f02d250089d1e3;hp=787d31a94510ca3de9ce582d7b7402dfca584b23
>
> by moggi for reference.
the problem with that is that
> define gb_Module_add_check_target
> $(if $(filter CppunitTest_%,$(2)),$(call gb_Module__add_check_target_impl,$(1),$(2),$$(gb_Module_CURRENTTARGET)))
> endef
... expects only CppunitTest_% and does nothing with a Library_% being
added, and Module_sc.mk has:
> $(eval $(call gb_Module_add_check_targets,sc,\
> Library_scqahelper \
> $(if $(and $(filter $(COM),MSC),$(MERGELIBS)),, \
> CppunitTest_sc_ucalc) \
> CppunitTest_sc_core \
> ))
More information about the LibreOffice
mailing list