<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hi Takumi,</div><div><br></div>I am not sure if it this change, but recently we started to build LLVMHello.so and BugpointPasses.so on OS X. A few bugpoint tests are failing, because they are looking for a dylib that doesn’t exist.<div><div><br></div><div>Could you please take a look?</div><div><br></div><div>Thanks</div><div><br></div><div>-Juergen</div><div><div><br><div><div>On Feb 10, 2014, at 2:34 AM, NAKAMURA Takumi <<a href="mailto:geek4civic@gmail.com">geek4civic@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Steve, excuse me to respond you partially.<br><br>2014-02-10 18:54 GMT+09:00 Stephen Kelly <<a href="mailto:steveire@gmail.com">steveire@gmail.com</a>>:<br><blockquote type="cite">NAKAMURA Takumi wrote:<br><br><blockquote type="cite">[CMake] Introduce llvm_add_library().<br></blockquote><br>I recommend moving away from wrappers like this. They indicate that either<br>CMake is not providing the interfaces needed, or not propagating them, or<br>that they exist but are not used.<br><br>Such wrappers don't parse the arguments in the same way as the wrapped<br>command etc. Wrappers are not good API proxies. Additionally, you put people<br>who know cmake already at a disadvantage because you make the code look like<br>'not cmake code' by using llvm_add_library instead of add_library, the cmake<br>command. Making that wrapper macro also invoke target_link_libraries looks<br>odd to someone familiar with cmake.<br><br>I don't fully know what this wrapper is needed for, but I looked at it a<br>bit.<br><br> if(ARG_MODULE)<br>   set_property(TARGET ${name} PROPERTY SUFFIX ${LLVM_PLUGIN_EXT})<br> endif()<br><br> if(ARG_SHARED)<br>   if (MSVC)<br>     set_target_properties(${name}<br>       PROPERTIES<br>       IMPORT_SUFFIX ".imp")<br>   endif ()<br> endif()<br><br><br>CMake provides CMAKE_SHARED_MODULE_SUFFIX and CMAKE_IMPORT_LIBRARY_SUFFIX.<br>Can you set those at directory scope instead of setting the target property<br>in the macro?<br></blockquote><br>Reasonable. They could be put into common configurator, HandleLLVMOptions.<br>For now in r201072, I simply gather common logics around there.<br>I'd be happy if llvm_add_library became simpler, and I will work on.<br><br><blockquote type="cite">Anyway, just a note to consider moving instead in a direction of fewer<br>wrappers, rather than more. I'm not familiar enough with the llvm<br>buildsystem to know why you're doing some of the things you're doing, but if<br>you tell us about the gaps in the cmake offering we can try to fill them.<br><br>Thanks,<br><br>Steve.<br></blockquote>_______________________________________________<br>LLVM Developers mailing list<br><a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></div></blockquote></div><br></div></div></div></body></html>