<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 4, 2014 at 1:26 PM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Do you want to change llvm/Makefile.rules too? (I picked the current name to be consistent with the Makefile. I agree not having a double negative is nice, but having the same name in cmake and make is nicer, imho.)</div>
</blockquote><div><br></div><div>I agree with all of this. =] </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 4, 2014 at 7:48 AM, NAKAMURA Takumi <span dir="ltr"><<a href="mailto:geek4civic@gmail.com" target="_blank">geek4civic@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 chandlerc,<br>
<br>
I think "LLVM_NO_DEAD_STRIP" would confuse like a double negative.<br>
I propose "LLVM_DEAD_STRIP", ON if available. Each executable can turn it OFF.<br>
<br>
<a href="http://llvm-reviews.chandlerc.com/D2941" target="_blank">http://llvm-reviews.chandlerc.com/D2941</a><br>
<br>
Files:<br>
  clang/tools/driver/CMakeLists.txt<br>
  llvm/cmake/modules/AddLLVM.cmake<br>
  llvm/cmake/modules/HandleLLVMOptions.cmake<br>
  llvm/tools/bugpoint/CMakeLists.txt<br>
  llvm/tools/llc/CMakeLists.txt<br>
  llvm/tools/opt/CMakeLists.txt<br>
  llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt<br>
<br>
Index: clang/tools/driver/CMakeLists.txt<br>
===================================================================<br>
--- clang/tools/driver/CMakeLists.txt<br>
+++ clang/tools/driver/CMakeLists.txt<br>
@@ -17,7 +17,7 @@<br>
   )<br>
<br>
 # Support plugins.<br>
-set(LLVM_NO_DEAD_STRIP 1)<br>
+set(LLVM_DEAD_STRIP OFF)<br>
<br>
 add_clang_executable(clang<br>
   driver.cpp<br>
Index: llvm/cmake/modules/AddLLVM.cmake<br>
===================================================================<br>
--- llvm/cmake/modules/AddLLVM.cmake<br>
+++ llvm/cmake/modules/AddLLVM.cmake<br>
@@ -134,17 +134,19 @@<br>
 endfunction(add_llvm_symbol_exports)<br>
<br>
 function(add_dead_strip target_name)<br>
-  if(NOT LLVM_NO_DEAD_STRIP)<br>
-    if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")<br>
-      set_property(TARGET ${target_name} APPEND_STRING PROPERTY<br>
-                   LINK_FLAGS " -Wl,-dead_strip")<br>
-    elseif(NOT WIN32)<br>
-      # Object files are compiled with -ffunction-data-sections.<br>
-      set_property(TARGET ${target_name} APPEND_STRING PROPERTY<br>
-                   LINK_FLAGS " -Wl,--gc-sections")<br>
-    endif()<br>
+  if(NOT LLVM_DEAD_STRIP)<br>
+    return()<br>
   endif()<br>
-endfunction(add_dead_strip)<br>
+<br>
+  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")<br>
+    set_property(TARGET ${target_name} APPEND_STRING PROPERTY<br>
+      LINK_FLAGS " -Wl,-dead_strip")<br>
+  elseif(NOT WIN32)<br>
+    # Object files are compiled with -ffunction-data-sections.<br>
+    set_property(TARGET ${target_name} APPEND_STRING PROPERTY<br>
+      LINK_FLAGS " -Wl,--gc-sections")<br>
+  endif()<br>
+endfunction()<br>
<br>
 # Set each output directory according to ${CMAKE_CONFIGURATION_TYPES}.<br>
 # Note: Don't set variables CMAKE_*_OUTPUT_DIRECTORY any more,<br>
Index: llvm/cmake/modules/HandleLLVMOptions.cmake<br>
===================================================================<br>
--- llvm/cmake/modules/HandleLLVMOptions.cmake<br>
+++ llvm/cmake/modules/HandleLLVMOptions.cmake<br>
@@ -353,8 +353,9 @@<br>
 # Add flags for add_dead_strip().<br>
 # FIXME: With MSVS, consider compiling with /Gy and linking with /OPT:REF?<br>
 # But MinSizeRel seems to add that automatically, so maybe disable these<br>
-# flags instead if LLVM_NO_DEAD_STRIP is set.<br>
+# flags instead if LLVM_DEAD_STRIP is not set.<br>
 if(NOT CYGWIN AND NOT WIN32)<br>
+  set(LLVM_DEAD_STRIP ON)<br>
   if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")<br>
     check_c_compiler_flag("-Werror -fno-function-sections" C_SUPPORTS_FNO_FUNCTION_SECTIONS)<br>
     if (C_SUPPORTS_FNO_FUNCTION_SECTIONS)<br>
Index: llvm/tools/bugpoint/CMakeLists.txt<br>
===================================================================<br>
--- llvm/tools/bugpoint/CMakeLists.txt<br>
+++ llvm/tools/bugpoint/CMakeLists.txt<br>
@@ -18,7 +18,7 @@<br>
   )<br>
<br>
 # Support plugins.<br>
-set(LLVM_NO_DEAD_STRIP 1)<br>
+set(LLVM_DEAD_STRIP OFF)<br>
<br>
 add_llvm_tool(bugpoint<br>
   BugDriver.cpp<br>
Index: llvm/tools/llc/CMakeLists.txt<br>
===================================================================<br>
--- llvm/tools/llc/CMakeLists.txt<br>
+++ llvm/tools/llc/CMakeLists.txt<br>
@@ -12,7 +12,7 @@<br>
   )<br>
<br>
 # Support plugins.<br>
-set(LLVM_NO_DEAD_STRIP 1)<br>
+set(LLVM_DEAD_STRIP OFF)<br>
<br>
 add_llvm_tool(llc<br>
   llc.cpp<br>
Index: llvm/tools/opt/CMakeLists.txt<br>
===================================================================<br>
--- llvm/tools/opt/CMakeLists.txt<br>
+++ llvm/tools/opt/CMakeLists.txt<br>
@@ -19,7 +19,7 @@<br>
   )<br>
<br>
 # Support plugins.<br>
-set(LLVM_NO_DEAD_STRIP 1)<br>
+set(LLVM_DEAD_STRIP OFF)<br>
<br>
 add_llvm_tool(opt<br>
   AnalysisWrappers.cpp<br>
Index: llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt<br>
===================================================================<br>
--- llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt<br>
+++ llvm/unittests/ExecutionEngine/JIT/CMakeLists.txt<br>
@@ -52,7 +52,7 @@<br>
 endif()<br>
<br>
 # The JIT tests need to dlopen things.<br>
-set(LLVM_NO_DEAD_STRIP 1)<br>
+set(LLVM_DEAD_STRIP OFF)<br>
<br>
 add_llvm_unittest(JITTests<br>
   ${JITTestsSources}<br>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div></div>