From e80e8ab547372e9ae676521b394e9d3741b9dc8a Mon Sep 17 00:00:00 2001 From: Daniel Lemire Date: Sat, 28 Jul 2018 20:18:56 -0400 Subject: [PATCH] Added Google double conversion. --- .gitmodules | 3 +++ Makefile | 14 +++++++++++--- dependencies/double-conversion | 1 + main.cpp | 1 + 4 files changed, 16 insertions(+), 3 deletions(-) create mode 160000 dependencies/double-conversion diff --git a/.gitmodules b/.gitmodules index 6e5d7aa1..e9ca6e83 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "scalarvssimd/rapidjson"] path = scalarvssimd/rapidjson url = https://github.com/Tencent/rapidjson.git +[submodule "dependencies/double-conversion"] + path = dependencies/double-conversion + url = https://github.com/google/double-conversion.git diff --git a/Makefile b/Makefile index 8649342e..159be59a 100644 --- a/Makefile +++ b/Makefile @@ -6,20 +6,26 @@ .PHONY: clean cleandist -CXXFLAGS = -std=c++11 -O2 -march=native -Wall -Wextra -Wshadow +CXXFLAGS = -std=c++11 -O2 -march=native -Wall -Wextra -Wshadow -Idependencies/double-conversion -Ldependencies/double-conversion/release/libdouble-conversion.a #CXXFLAGS = -std=c++11 -O2 -march=native -Wall -Wextra -Wshadow -Wno-implicit-function-declaration EXECUTABLES=parse EXTRA_EXECUTABLES=parsenocheesy parsenodep8 -all: $(EXECUTABLES) + +LIBS=dependencies/double-conversion/release/libdouble-conversion.a + +all: $(EXECUTABLES) $(LIBS) -./parse +dependencies/double-conversion/release/libdouble-conversion.a : dependencies/double-conversion/README.md + cd dependencies/double-conversion/ && mkdir -p release && cd release && cmake .. && make + parse: main.cpp common_defs.h linux-perf-events.h $(CXX) $(CXXFLAGS) -o parse main.cpp -testflatten: parse parsenocheesy parsenodep8 +testflatten: parse parsenocheesy parsenodep8 for filename in jsonexamples/twitter.json jsonexamples/gsoc-2018.json jsonexamples/citm_catalog.json jsonexamples/canada.json ; do \ echo $$filename ; \ set -x; \ @@ -35,6 +41,8 @@ parsenocheesy: main.cpp common_defs.h linux-perf-events.h parsenodep8: main.cpp common_defs.h linux-perf-events.h $(CXX) $(CXXFLAGS) -o parsenodep8 main.cpp -DNO_PDEP_PLEASE -DNO_PDEP_WIDTH=8 +dependencies/double-conversion/README.md: + git pull && git submodule init && git submodule update && git submodule status clean: rm -f $(EXECUTABLES) $(EXTRA_EXECUTABLES) diff --git a/dependencies/double-conversion b/dependencies/double-conversion new file mode 160000 index 00000000..9a8e518b --- /dev/null +++ b/dependencies/double-conversion @@ -0,0 +1 @@ +Subproject commit 9a8e518bedcf171d99eb1c00eef4beb1ecc20a4b diff --git a/main.cpp b/main.cpp index bc1b9e35..60a092d1 100644 --- a/main.cpp +++ b/main.cpp @@ -18,6 +18,7 @@ #include #include #include +#include "double-conversion/double-conversion.h" #include "common_defs.h" #include "linux-perf-events.h"