--- a/SConscript
+++ b/SConscript
@@ -47,13 +47,15 @@ def check_executable_exists(command):
     return retval
 
 def check_dynamic_symbols(target, source, env):
+    objdump = env['OBJDUMP']
+
     # Check if objdump exists
-    if check_executable_exists(['objdump', '--version']):
+    if check_executable_exists([objdump, '--version']):
         print('Skipping dynamic symbols check.')
         return 0
 
     # Check that DSO doesn't contain asio-related dynamic symbols
-    if env.Execute(Action(['! objdump -T ' + target[0].abspath + ' | grep asio'], None)):
+    if env.Execute(Action(['! ' + objdump + ' -T ' + target[0].abspath + ' | grep asio'], None)):
         return 1
     return 0
 
--- a/SConstruct
+++ b/SConstruct
@@ -5,6 +5,7 @@
 # SCons build script to build galera libraries
 #
 # How to control the build with environment variables:
+# Set AR       to specify archive utility
 # Set CC       to specify C compiler
 # Set CXX      to specify C++ compiler
 # Set CPPFLAGS to add non-standard include paths and preprocessor macros
@@ -13,6 +14,7 @@
 # Set CXXFLAGS to supply C++ compiler options
 # Set LDFLAGS  to *override* linking flags
 # Set LIBPATH  to add non-standard linker paths
+# Set OBJDUMP  to specify objdump utility
 # Set RPATH    to add rpaths
 #
 # Some useful CPPFLAGS:
@@ -183,6 +185,13 @@ if cxx != 'default':
 link = os.getenv('LINK', 'default')
 if link != 'default':
     env.Replace(LINK = link)
+ar = os.getenv('AR', 'default')
+if ar != 'default':
+    env.Replace(AR = ar)
+objdump = os.getenv('OBJDUMP', 'default')
+if objdump != 'default':
+    env.Replace(OBJDUMP = objdump)
+
 
 # Get compiler name/version, CXX may be set to "c++" which may be clang or gcc
 cc_version = str(read_first_line(env['CC'].split() + ['--version']))
 
