Merge branch 'mzhaom-movedir'
diff --git a/BUILD b/BUILD
index 3655bea..29092ce 100644
--- a/BUILD
+++ b/BUILD
@@ -6,28 +6,31 @@
   name = "double-conversion",
   visibility = ["//visibility:public"],
   hdrs = [
-    "src/bignum-dtoa.h",
-    "src/bignum.h",
-    "src/cached-powers.h",
-    "src/diy-fp.h",
-    "src/double-conversion.h",
-    "src/fast-dtoa.h",
-    "src/fixed-dtoa.h",
-    "src/ieee.h", 
-    "src/strtod.h",
+    "double-conversion/bignum-dtoa.h",
+    "double-conversion/bignum.h",
+    "double-conversion/cached-powers.h",
+    "double-conversion/diy-fp.h",
+    "double-conversion/double-conversion.h",
+    "double-conversion/fast-dtoa.h",
+    "double-conversion/fixed-dtoa.h",
+    "double-conversion/ieee.h", 
+    "double-conversion/strtod.h",
   ],
   srcs = [
-    "src/bignum-dtoa.cc",
-    "src/bignum.cc",
-    "src/cached-powers.cc",
-    "src/diy-fp.cc",
-    "src/double-conversion.cc",
-    "src/fast-dtoa.cc",
-    "src/fixed-dtoa.cc",
-    "src/strtod.cc",
-    "src/utils.h"
+    "double-conversion/bignum-dtoa.cc",
+    "double-conversion/bignum.cc",
+    "double-conversion/cached-powers.cc",
+    "double-conversion/diy-fp.cc",
+    "double-conversion/double-conversion.cc",
+    "double-conversion/fast-dtoa.cc",
+    "double-conversion/fixed-dtoa.cc",
+    "double-conversion/strtod.cc",
+    "double-conversion/utils.h"
   ],
   includes = [
-    "src",
+    ".",
   ],
+  linkopts = [
+    "-lm",
+  ]
 )
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b09be0..3b70940 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -31,12 +31,12 @@
 
 #
 # set up include dirs
-include_directories("${PROJECT_SOURCE_DIR}/src"
+include_directories("${PROJECT_SOURCE_DIR}"
   "${PROJECT_BINARY_DIR}"
   )
 
 # Add src subdirectory
-add_subdirectory(src)
+add_subdirectory(double-conversion)
 
 #
 # set up testing if requested
diff --git a/SConstruct b/SConstruct
index 0d55b12..cff18b4 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,7 +1,7 @@
 # vim:ft=python
 import os
 
-double_conversion_sources = ['src/' + x for x in SConscript('src/SConscript')]
+double_conversion_sources = ['double-conversion/' + x for x in SConscript('double-conversion/SConscript')]
 double_conversion_test_sources = ['test/cctest/' + x for x in SConscript('test/cctest/SConscript')]
 
 DESTDIR = ARGUMENTS.get('DESTDIR', '')
@@ -9,7 +9,7 @@
 lib = ARGUMENTS.get('libsuffix', 'lib')
 libdir = os.path.join(DESTDIR + prefix, lib)
 
-env = Environment(CPPPATH='#/src', LIBS=['m', 'stdc++'],
+env = Environment(CPPPATH='#', LIBS=['m', 'stdc++'],
     CXXFLAGS=ARGUMENTS.get('CXXFLAGS', ''))
 debug = ARGUMENTS.get('debug', 0)
 optimize = ARGUMENTS.get('optimize', 0)
diff --git a/src/CMakeLists.txt b/double-conversion/CMakeLists.txt
similarity index 100%
rename from src/CMakeLists.txt
rename to double-conversion/CMakeLists.txt
diff --git a/src/SConscript b/double-conversion/SConscript
similarity index 100%
rename from src/SConscript
rename to double-conversion/SConscript
diff --git a/src/bignum-dtoa.cc b/double-conversion/bignum-dtoa.cc
similarity index 100%
rename from src/bignum-dtoa.cc
rename to double-conversion/bignum-dtoa.cc
diff --git a/src/bignum-dtoa.h b/double-conversion/bignum-dtoa.h
similarity index 98%
rename from src/bignum-dtoa.h
rename to double-conversion/bignum-dtoa.h
index 34b9619..92455ec 100644
--- a/src/bignum-dtoa.h
+++ b/double-conversion/bignum-dtoa.h
@@ -28,7 +28,7 @@
 #ifndef DOUBLE_CONVERSION_BIGNUM_DTOA_H_
 #define DOUBLE_CONVERSION_BIGNUM_DTOA_H_
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/bignum.cc b/double-conversion/bignum.cc
similarity index 99%
rename from src/bignum.cc
rename to double-conversion/bignum.cc
index 2743d67..89c0ab2 100644
--- a/src/bignum.cc
+++ b/double-conversion/bignum.cc
@@ -25,8 +25,8 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "bignum.h"
-#include "utils.h"
+#include "double-conversion/bignum.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/bignum.h b/double-conversion/bignum.h
similarity index 98%
rename from src/bignum.h
rename to double-conversion/bignum.h
index c385f22..57e4230 100644
--- a/src/bignum.h
+++ b/double-conversion/bignum.h
@@ -28,7 +28,7 @@
 #ifndef DOUBLE_CONVERSION_BIGNUM_H_
 #define DOUBLE_CONVERSION_BIGNUM_H_
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/cached-powers.cc b/double-conversion/cached-powers.cc
similarity index 99%
rename from src/cached-powers.cc
rename to double-conversion/cached-powers.cc
index d1359ff..6cbc09b 100644
--- a/src/cached-powers.cc
+++ b/double-conversion/cached-powers.cc
@@ -29,7 +29,7 @@
 #include <limits.h>
 #include <math.h>
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 #include "cached-powers.h"
 
diff --git a/src/cached-powers.h b/double-conversion/cached-powers.h
similarity index 100%
rename from src/cached-powers.h
rename to double-conversion/cached-powers.h
diff --git a/src/diy-fp.cc b/double-conversion/diy-fp.cc
similarity index 96%
rename from src/diy-fp.cc
rename to double-conversion/diy-fp.cc
index ddd1891..60b805e 100644
--- a/src/diy-fp.cc
+++ b/double-conversion/diy-fp.cc
@@ -26,8 +26,8 @@
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-#include "diy-fp.h"
-#include "utils.h"
+#include "double-conversion/diy-fp.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/diy-fp.h b/double-conversion/diy-fp.h
similarity index 98%
rename from src/diy-fp.h
rename to double-conversion/diy-fp.h
index 2edf346..a0c0c15 100644
--- a/src/diy-fp.h
+++ b/double-conversion/diy-fp.h
@@ -28,7 +28,7 @@
 #ifndef DOUBLE_CONVERSION_DIY_FP_H_
 #define DOUBLE_CONVERSION_DIY_FP_H_
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/double-conversion.cc b/double-conversion/double-conversion.cc
similarity index 98%
rename from src/double-conversion.cc
rename to double-conversion/double-conversion.cc
index d82150b..a6fc0de 100644
--- a/src/double-conversion.cc
+++ b/double-conversion/double-conversion.cc
@@ -28,14 +28,14 @@
 #include <limits.h>
 #include <math.h>
 
-#include "double-conversion.h"
+#include "double-conversion/double-conversion.h"
 
-#include "bignum-dtoa.h"
-#include "fast-dtoa.h"
-#include "fixed-dtoa.h"
-#include "ieee.h"
-#include "strtod.h"
-#include "utils.h"
+#include "double-conversion/bignum-dtoa.h"
+#include "double-conversion/fast-dtoa.h"
+#include "double-conversion/fixed-dtoa.h"
+#include "double-conversion/ieee.h"
+#include "double-conversion/strtod.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/double-conversion.h b/double-conversion/double-conversion.h
similarity index 99%
rename from src/double-conversion.h
rename to double-conversion/double-conversion.h
index 6bdfa8d..11fbcb8 100644
--- a/src/double-conversion.h
+++ b/double-conversion/double-conversion.h
@@ -28,7 +28,7 @@
 #ifndef DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
 #define DOUBLE_CONVERSION_DOUBLE_CONVERSION_H_
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/fast-dtoa.cc b/double-conversion/fast-dtoa.cc
similarity index 100%
rename from src/fast-dtoa.cc
rename to double-conversion/fast-dtoa.cc
diff --git a/src/fast-dtoa.h b/double-conversion/fast-dtoa.h
similarity index 98%
rename from src/fast-dtoa.h
rename to double-conversion/fast-dtoa.h
index 5f1e8ee..259ee3a 100644
--- a/src/fast-dtoa.h
+++ b/double-conversion/fast-dtoa.h
@@ -28,7 +28,7 @@
 #ifndef DOUBLE_CONVERSION_FAST_DTOA_H_
 #define DOUBLE_CONVERSION_FAST_DTOA_H_
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/fixed-dtoa.cc b/double-conversion/fixed-dtoa.cc
similarity index 100%
rename from src/fixed-dtoa.cc
rename to double-conversion/fixed-dtoa.cc
diff --git a/src/fixed-dtoa.h b/double-conversion/fixed-dtoa.h
similarity index 98%
rename from src/fixed-dtoa.h
rename to double-conversion/fixed-dtoa.h
index 3bdd08e..43de94e 100644
--- a/src/fixed-dtoa.h
+++ b/double-conversion/fixed-dtoa.h
@@ -28,7 +28,7 @@
 #ifndef DOUBLE_CONVERSION_FIXED_DTOA_H_
 #define DOUBLE_CONVERSION_FIXED_DTOA_H_
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/ieee.h b/double-conversion/ieee.h
similarity index 100%
rename from src/ieee.h
rename to double-conversion/ieee.h
diff --git a/src/strtod.cc b/double-conversion/strtod.cc
similarity index 100%
rename from src/strtod.cc
rename to double-conversion/strtod.cc
diff --git a/src/strtod.h b/double-conversion/strtod.h
similarity index 97%
rename from src/strtod.h
rename to double-conversion/strtod.h
index ed0293b..00cf8a7 100644
--- a/src/strtod.h
+++ b/double-conversion/strtod.h
@@ -28,7 +28,7 @@
 #ifndef DOUBLE_CONVERSION_STRTOD_H_
 #define DOUBLE_CONVERSION_STRTOD_H_
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 namespace double_conversion {
 
diff --git a/src/utils.h b/double-conversion/utils.h
similarity index 100%
rename from src/utils.h
rename to double-conversion/utils.h
diff --git a/test/cctest/cctest.h b/test/cctest/cctest.h
index b30936f..cb87076 100644
--- a/test/cctest/cctest.h
+++ b/test/cctest/cctest.h
@@ -31,7 +31,7 @@
 #include <stdio.h>
 #include <string.h>
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 #ifndef TEST
 #define TEST(Name)                                                       \
diff --git a/test/cctest/gay-fixed.cc b/test/cctest/gay-fixed.cc
index 2a00da9..c723d1c 100644
--- a/test/cctest/gay-fixed.cc
+++ b/test/cctest/gay-fixed.cc
@@ -29,7 +29,7 @@
 // have been generated using Gay's dtoa to produce the fixed representation:
 //         dtoa(v, 3, number_digits, &decimal_point, &sign, NULL);
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 #include "gay-fixed.h"
 
diff --git a/test/cctest/gay-precision.cc b/test/cctest/gay-precision.cc
index 460080c..d1c517b 100644
--- a/test/cctest/gay-precision.cc
+++ b/test/cctest/gay-precision.cc
@@ -29,7 +29,7 @@
 // have been generated using Gay's dtoa to produce the precision representation:
 //         dtoa(v, 2, number_digits, &decimal_point, &sign, NULL);
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 #include "gay-precision.h"
 
diff --git a/test/cctest/gay-shortest-single.cc b/test/cctest/gay-shortest-single.cc
index cb23789..9462a49 100644
--- a/test/cctest/gay-shortest-single.cc
+++ b/test/cctest/gay-shortest-single.cc
@@ -28,7 +28,7 @@
 // This file contains 100.000 decimal representations of random singles. They
 // have been generated using Gay's gdtoa to produce the shortest representation.
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 #include "gay-shortest-single.h"
 
diff --git a/test/cctest/gay-shortest.cc b/test/cctest/gay-shortest.cc
index 74aebf5..9008f7f 100644
--- a/test/cctest/gay-shortest.cc
+++ b/test/cctest/gay-shortest.cc
@@ -29,7 +29,7 @@
 // have been generated using Gay's dtoa to produce the shortest representation:
 //          decimal_rep = dtoa(v, 0, 0, &decimal_point, &sign, NULL);
 
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 #include "gay-shortest.h"
 
diff --git a/test/cctest/test-bignum-dtoa.cc b/test/cctest/test-bignum-dtoa.cc
index 4f618ac..8649464 100644
--- a/test/cctest/test-bignum-dtoa.cc
+++ b/test/cctest/test-bignum-dtoa.cc
@@ -27,15 +27,15 @@
 
 #include <stdlib.h>
 
-#include "bignum-dtoa.h"
+#include "double-conversion/bignum-dtoa.h"
 
 #include "cctest.h"
 #include "gay-fixed.h"
 #include "gay-precision.h"
 #include "gay-shortest.h"
 #include "gay-shortest-single.h"
-#include "ieee.h"
-#include "utils.h"
+#include "double-conversion/ieee.h"
+#include "double-conversion/utils.h"
 
 using namespace double_conversion;
 
diff --git a/test/cctest/test-bignum.cc b/test/cctest/test-bignum.cc
index 4f0c592..84c4a09 100644
--- a/test/cctest/test-bignum.cc
+++ b/test/cctest/test-bignum.cc
@@ -29,9 +29,9 @@
 #include <string.h>
 
 
-#include "bignum.h"
+#include "double-conversion/bignum.h"
 #include "cctest.h"
-#include "utils.h"
+#include "double-conversion/utils.h"
 
 using namespace double_conversion;
 
diff --git a/test/cctest/test-conversions.cc b/test/cctest/test-conversions.cc
index 125cf26..42bca87 100644
--- a/test/cctest/test-conversions.cc
+++ b/test/cctest/test-conversions.cc
@@ -3,9 +3,9 @@
 #include <string.h>
 
 #include "cctest.h"
-#include "double-conversion.h"
-#include "ieee.h"
-#include "utils.h"
+#include "double-conversion/double-conversion.h"
+#include "double-conversion/ieee.h"
+#include "double-conversion/utils.h"
 
 // DoubleToString is already tested in test-dtoa.cc.
 
diff --git a/test/cctest/test-diy-fp.cc b/test/cctest/test-diy-fp.cc
index bdbe9de..26038b1 100644
--- a/test/cctest/test-diy-fp.cc
+++ b/test/cctest/test-diy-fp.cc
@@ -3,8 +3,8 @@
 #include <stdlib.h>
 
 #include "cctest.h"
-#include "diy-fp.h"
-#include "utils.h"
+#include "double-conversion/diy-fp.h"
+#include "double-conversion/utils.h"
 
 
 using namespace double_conversion;
diff --git a/test/cctest/test-dtoa.cc b/test/cctest/test-dtoa.cc
index 734c45b..0346336 100644
--- a/test/cctest/test-dtoa.cc
+++ b/test/cctest/test-dtoa.cc
@@ -27,14 +27,14 @@
 
 #include <stdlib.h>
 
-#include "double-conversion.h"
+#include "double-conversion/double-conversion.h"
 
 #include "cctest.h"
 #include "gay-fixed.h"
 #include "gay-precision.h"
 #include "gay-shortest.h"
 #include "gay-shortest-single.h"
-#include "ieee.h"
+#include "double-conversion/ieee.h"
 
 
 using namespace double_conversion;
diff --git a/test/cctest/test-fast-dtoa.cc b/test/cctest/test-fast-dtoa.cc
index 0b6915e..31d4784 100644
--- a/test/cctest/test-fast-dtoa.cc
+++ b/test/cctest/test-fast-dtoa.cc
@@ -3,13 +3,13 @@
 #include <stdlib.h>
 
 #include "cctest.h"
-#include "diy-fp.h"
-#include "fast-dtoa.h"
+#include "double-conversion/diy-fp.h"
+#include "double-conversion/fast-dtoa.h"
 #include "gay-precision.h"
 #include "gay-shortest.h"
 #include "gay-shortest-single.h"
-#include "ieee.h"
-#include "utils.h"
+#include "double-conversion/ieee.h"
+#include "double-conversion/utils.h"
 
 using namespace double_conversion;
 
diff --git a/test/cctest/test-fixed-dtoa.cc b/test/cctest/test-fixed-dtoa.cc
index 592ff7c..5ffac58 100644
--- a/test/cctest/test-fixed-dtoa.cc
+++ b/test/cctest/test-fixed-dtoa.cc
@@ -29,10 +29,10 @@
 
 
 #include "cctest.h"
-#include "fixed-dtoa.h"
+#include "double-conversion/fixed-dtoa.h"
 #include "gay-fixed.h"
-#include "ieee.h"
-#include "utils.h"
+#include "double-conversion/ieee.h"
+#include "double-conversion/utils.h"
 
 using namespace double_conversion;
 
diff --git a/test/cctest/test-ieee.cc b/test/cctest/test-ieee.cc
index e7869cb..c57e8ce 100644
--- a/test/cctest/test-ieee.cc
+++ b/test/cctest/test-ieee.cc
@@ -3,10 +3,9 @@
 #include <stdlib.h>
 
 #include "cctest.h"
-#include "diy-fp.h"
-#include "ieee.h"
-#include "utils.h"
-#include "../../src/ieee.h"
+#include "double-conversion/diy-fp.h"
+#include "double-conversion/utils.h"
+#include "double-conversion/ieee.h"
 
 
 using namespace double_conversion;
diff --git a/test/cctest/test-strtod.cc b/test/cctest/test-strtod.cc
index c5950eb..1a6ac3b 100644
--- a/test/cctest/test-strtod.cc
+++ b/test/cctest/test-strtod.cc
@@ -2,12 +2,12 @@
 
 #include <stdlib.h>
 
-#include "bignum.h"
+#include "double-conversion/bignum.h"
 #include "cctest.h"
-#include "diy-fp.h"
-#include "ieee.h"
-#include "strtod.h"
-#include "utils.h"
+#include "double-conversion/diy-fp.h"
+#include "double-conversion/ieee.h"
+#include "double-conversion/strtod.h"
+#include "double-conversion/utils.h"
 
 using namespace double_conversion;