[llvm-commits] [llvm] r163098 - /llvm/trunk/test/Makefile

Rick Foos rfoos at codeaurora.org
Wed Sep 5 11:56:36 PDT 2012


On 09/05/2012 12:54 PM, Nuno Lopes wrote:
>> On 09/02/2012 10:16 AM, Nuno Lopes wrote:
>>> Author: nlopes
>>> Date: Sun Sep  2 10:16:51 2012
>>> New Revision: 163098
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=163098&view=rev
>>> Log:
>>> escape special char when handling CXX_FOR_OCAMLOPT
>>>
>>> Modified:
>>>      llvm/trunk/test/Makefile
>>>
>>> Modified: llvm/trunk/test/Makefile
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Makefile?rev=163098&r1=163097&r2=163098&view=diff
>>> ============================================================================== 
>>>
>>> --- llvm/trunk/test/Makefile (original)
>>> +++ llvm/trunk/test/Makefile Sun Sep  2 10:16:51 2012
>>> @@ -131,7 +131,7 @@
>>>   @$(ECHOPATH) s=@SHLIBDIR@=$(SharedLibDir)=g>>  lit.tmp
>>>   @$(ECHOPATH) s=@SHLIBEXT@=$(SHLIBEXT)=g>>  lit.tmp
>>>   @$(ECHOPATH) s=@PYTHON_EXECUTABLE@=python=g>>  lit.tmp
>>> - @$(ECHOPATH) s, at OCAMLOPT@,$(OCAMLOPT) -cc 
>>> \\\\\"$(CXX_FOR_OCAMLOPT)\\\\\" -I $(LibDir)/ocaml,g>>  lit.tmp
>>> + @$(ECHOPATH) s=@OCAMLOPT@=$(OCAMLOPT) -cc \\\\\"$(subst 
>>> =,"\\=",$(CXX_FOR_OCAMLOPT))\\\\\" -I $(LibDir)/ocaml=g>>  lit.tmp
>>>   @$(ECHOPATH) s=@ENABLE_SHARED@=$(ENABLE_SHARED)=g>>  lit.tmp
>>>   @$(ECHOPATH) s=@ENABLE_ASSERTIONS@=$(ENABLE_ASSERTIONS)=g>>  lit.tmp
>>>   @$(ECHOPATH) s=@TARGETS_TO_BUILD@=$(TARGETS_TO_BUILD)=g>>  lit.tmp
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> Nuno, Will,
>>
>> I'm still getting errors on check-all with OCAML on Ubuntu 12.04.1. 
>> The double quote escaping isn't working manually or in a Jenkins JNLP 
>> slave.
>>
>> I found two workarounds.
>>
>> 1) When I switch the \\\\\" to \\\\\', the quote problem disappears 
>> and check-all completes.
>>
>> 2) Another way is to limit the shell interference requiring all the 
>> \\\\\'s. Since $(subst) is used, need to do it with make builtins, 
>> then it's done outside of shell.
>>
>> I wrapped it again, $(subst *,'\\\"',*$(subst blah )*), and it gave 
>> me an escaped version in lit.site.cfg:
>>
>> config.ocamlopt_executable = "/usr/bin/ocamlopt -cc \"g++ 
>> -D_FILE_OFFSET_BITS=64 -D_REENTRANT\" -I 
>> /local/jenkins-swarm-u1204/workspace/llvm-repo/build-x86_64-linux-gnu/Release+Asserts/lib/ocaml"
>>
>> I have no preference either way.
>
> I guess it's better to go with solution 2), since it's more general, 
> otherwise someone may come later and complain that ' needs to be 
> changed again to ".
> Please commit the fix you proposed, or let me know if you need me to 
> commit it for you.
>
> Nuno
>
I need help committing, git diff attached. Thanks!

-Rick


>
>> You should probably have the final word since you fixed the first 
>> part of the bug, and can test it better.
>>
>> Many of the bots that run check-all don't have ocaml installed. 
>> Installing OCAML on the bot slaves might be a simple thing to do to 
>> improve test coverage.
>>
>> -rick 
>


-- 
Rick Foos
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

-------------- next part --------------
A non-text attachment was scrubbed...
Name: check-all-ocaml.diff
Type: text/x-patch
Size: 781 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120905/9f433a0a/attachment.bin>


More information about the llvm-commits mailing list