<div dir="ltr">Hi Michael,<div><br></div><div>Two comments on the patch:</div><div><br></div><div style>1. Please wrap lines to 80 columns.</div><div style><br></div><div style>2. As written, the usage isn't quite "extra" link libraries, rather it completely replaces the link libraries. I would propose making that part of the name and just calling it ldflags or link_flags, and have it completely override the link line (which would still get extended if use_system_lib is available).</div>
<div style><br></div><div style> - Daniel</div><div style><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Feb 7, 2013 at 1:10 AM, Michael van der Westhuizen <span dir="ltr"><<a href="mailto:r1mikey@gmail.com" target="_blank">r1mikey@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Daniel,<br>
<br>
The attached patch adds support for specifying the ABI libraries to link against for testing purposes.  This, with the CMake ABI library support patch I sent previously, allows me to build and test against all three supported ABI libraries without source tree modifications.<br>

<br>
The patch adds a lit parameter called extra_link_libs, which specifies the "-l" arguments to use when linking tests.  If not present, the lit.cfg maintains the existing behaviour (on Linux this is suitable for libsupc++ only).<br>

<br>
To use this, from my libc++ build directory I run the following to build and test against all supported ABI libraries:<br>
<br>
$ rm -rf * && cmake -DLIBCXX_CXX_ABI=libsupc++ '-DLIBCXX_LIBSUPCXX_INCLUDE_PATHS=/usr/include/c++/4.7;/usr/include/x86_64-linux-gnu/c++/4.7' -DLIT_EXECUTABLE=/home/michael/llvm/utils/lit/lit.py ../libcxx && make -j 4 && make check-libcxx<br>

$ rm -rf * && cmake -DLIBCXX_CXX_ABI=libcxxabi '-DLIBCXX_LIBCXXABI_INCLUDE_PATHS=/home/michael/libcxxabi/include' -DLIT_EXECUTABLE=/home/michael/llvm/utils/lit/lit.py '-DLLVM_LIT_ARGS=-sv --param extra_link_libs="-lc++abi -lunwind -lc -lm -lpthread -lrt -lgcc_s"' ../libcxx && make -j 4 && make check-libcxx<br>

$ rm -rf * && cmake -DLIBCXX_CXX_ABI=libcxxrt '-DLIBCXX_LIBCXXRT_INCLUDE_PATHS=/home/michael/libcxxrt/src' -DLIT_EXECUTABLE=/home/michael/llvm/utils/lit/lit.py '-DLLVM_LIT_ARGS=-sv --param extra_link_libs="-lcxxrt -lc -lm -lpthread -lrt -lgcc_s"' ../libcxx && make -j 4 && make check-libcxx<br>

<br>
This should be usable for testing against compiler-rt as well.<br>
<br>
I'll flesh out some build instructions for all the ABI variants on Linux and submit those as a separate patch.<br>
<br>
I suppose the next big challenge would be having the driver support ABI library configuration, but that's a bit beyond me at the moment!<br>
<br>
I'll send a separate mail to cfe-dev with current Linux test results for the various ABI libraries.<br>
<span class="HOEnZb"><font color="#888888"><br>
Michael<br>
<br>
</font></span></blockquote></div><br></div>