diff --git a/gn/standalone/toolchain/linux_find_llvm.py b/gn/standalone/toolchain/linux_find_llvm.py
old mode 100644
new mode 100755
index 85d6c93..2ec716e
--- a/gn/standalone/toolchain/linux_find_llvm.py
+++ b/gn/standalone/toolchain/linux_find_llvm.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python3
 # Copyright (C) 2017 The Android Open Source Project
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/tools/gen_amalgamated b/tools/gen_amalgamated
index 93274f9..a527b12 100755
--- a/tools/gen_amalgamated
+++ b/tools/gen_amalgamated
@@ -529,7 +529,16 @@
     """Returns an example command line for building the output source."""
     source = self._get_nice_path(output_prefix, '%s.cc')
     library = self._get_nice_path(output_prefix, 'lib%s.so')
-    build_cmd = ['clang++', source, '-o', library, '-shared'] + \
+
+    if sys.platform.startswith('linux'):
+      llvm_script = os.path.join(gn_utils.repo_root(), 'gn',
+                                 'standalone', 'toolchain',
+                                 'linux_find_llvm.py')
+      cxx = subprocess.check_output([llvm_script]).splitlines()[2]
+    else:
+      cxx = 'clang++'
+
+    build_cmd = [cxx, source, '-o', library, '-shared'] + \
         sorted(self.cflags) + sorted(self.ldflags)
     for lib in sorted(self.libs):
       build_cmd.append('-l%s' % lib)
diff --git a/tools/test_gen_amalgamated.py b/tools/test_gen_amalgamated.py
index 8aa5a94..8be9655 100755
--- a/tools/test_gen_amalgamated.py
+++ b/tools/test_gen_amalgamated.py
@@ -18,6 +18,7 @@
 import os
 import shutil
 import subprocess
+import sys
 
 from compat import quote
 from platform import system
@@ -58,7 +59,14 @@
   ]
   if system().lower() == 'linux':
     args += ['-lpthread', '-lrt']
-  call('clang++', *args)
+
+  if sys.platform.startswith('linux'):
+    llvm_script = os.path.join(ROOT_DIR, 'gn', 'standalone', 'toolchain',
+                               'linux_find_llvm.py')
+    cxx = subprocess.check_output([llvm_script]).splitlines()[2]
+  else:
+    cxx = 'clang++'
+  call(cxx, *args)
 
 
 def check_amalgamated_dependencies():
