Make ICF an option in gen.py

Previously, ICF was enabled unconditionally for all release builds
but this is causing issue when using ld.bfd as a linker because ICF
is not supported there, so we make it an option which can be enabled
as needed.

Change-Id: Id648184d932457f3481339ed265d9ad133ce3c98
Reviewed-on: https://gn-review.googlesource.com/2320
Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Brett Wilson <brettw@chromium.org>
diff --git a/build/gen.py b/build/gen.py
index 7dfdae8..fce8fb1 100755
--- a/build/gen.py
+++ b/build/gen.py
@@ -33,6 +33,8 @@
                     help='Do a debug build. Defaults to release build.')
   parser.add_option('--use-lto', action='store_true',
                     help='Enable the use of LTO')
+  parser.add_option('--use-icf', action='store_true',
+                    help='Enable the use of Identical Code Folding')
   parser.add_option('--no-sysroot', action='store_true',
                     help='(Linux only) Do not build with the Debian sysroot.')
   parser.add_option('--no-last-commit-position', action='store_true',
@@ -270,7 +272,7 @@
       # Omit all symbol information from the output file.
       ldflags.append('-Wl,-S' if is_mac else '-Wl,-strip-all')
       # Enable identical code-folding.
-      if is_linux:
+      if options.use_icf:
         ldflags.append('-Wl,--icf=all')
 
     cflags.extend([