diff --git a/AUTHORS b/AUTHORS
index a5c45a2..88b38ae 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -11,3 +11,4 @@
 Mike Hommey <mhommey@mozilla.com>
 Martin Olsson <mnemo@minimum.se>
 Kent Williams <chaircrusher@gmail.com>
+Elan Ruusamäe <glen@delfi.ee>
diff --git a/Changelog b/Changelog
index 49cae3d..516f6d2 100644
--- a/Changelog
+++ b/Changelog
@@ -1,5 +1,8 @@
-2013-12-23:
+2014-01-12:
+  Tagged v2.0.1.
   Fix compilation for ARMv8 64bit (used wrong define).
+  Improved SConstruct file. Thanks to Milan Bouchet-Valat and Elan Ruusamäe.
+  Fixed lots of warnings (especially on Windows). Thanks to Greg Smith.
 
 2013-11-09:
   Tagged v2.0.0.
diff --git a/SConstruct b/SConstruct
index 50b9bf7..72e688e 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,10 +1,46 @@
+# vim:ft=python
+import os
+
 double_conversion_sources = ['src/' + x for x in SConscript('src/SConscript')]
 double_conversion_test_sources = ['test/cctest/' + x for x in SConscript('test/cctest/SConscript')]
-env = Environment(CPPPATH='#/src', LIBS=['m', 'stdc++'])
+
+DESTDIR = ARGUMENTS.get('DESTDIR', '')
+prefix = ARGUMENTS.get('prefix', '/usr/local')
+lib = ARGUMENTS.get('libsuffix', 'lib')
+libdir = os.path.join(DESTDIR + prefix, lib)
+
+env = Environment(CPPPATH='#/src', LIBS=['m', 'stdc++'],
+    CXXFLAGS=ARGUMENTS.get('CXXFLAGS', ''))
 debug = ARGUMENTS.get('debug', 0)
 optimize = ARGUMENTS.get('optimize', 0)
+env.Replace(CXX = ARGUMENTS.get('CXX', 'g++'))
+
+# for shared lib, requires scons 2.3.0
+env['SHLIBVERSION'] = '0.0.0'
+
+CCFLAGS = []
 if int(debug):
-  env.Append(CCFLAGS = '-g -Wall -Werror')
+  CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-g -Wall -Werror'))
 if int(optimize):
-  env.Append(CCFLAGS = '-O3 -Wall -Werror')
-env.Program('run_tests', double_conversion_sources + double_conversion_test_sources)
+  CCFLAGS.append(ARGUMENTS.get('CXXFLAGS', '-O3'))
+
+env.Append(CCFLAGS = " ".join(CCFLAGS))
+
+double_conversion_shared_objects = [
+    env.SharedObject(src) for src in double_conversion_sources]
+double_conversion_static_objects = [
+    env.StaticObject(src) for src in double_conversion_sources]
+
+library_name = 'double-conversion'
+
+static_lib = env.StaticLibrary(library_name, double_conversion_static_objects)
+static_lib_pic = env.StaticLibrary(library_name + '_pic', double_conversion_shared_objects)
+shared_lib = env.SharedLibrary(library_name, double_conversion_shared_objects)
+
+env.Program('run_tests', double_conversion_test_sources, LIBS=[static_lib])
+
+env.InstallVersionedLib(libdir, shared_lib)
+env.Install(libdir, static_lib)
+env.Install(libdir, static_lib_pic)
+
+env.Alias('install', libdir)
