[llvm-commits] [llvm] r163098 - /llvm/trunk/test/Makefile
Nuno Lopes
nunoplopes at sapo.pt
Wed Sep 5 10:54:42 PDT 2012
> 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
> 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
More information about the llvm-commits
mailing list