diff options
| author | Kristian Evers <kristianevers@gmail.com> | 2019-05-01 18:43:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-05-01 18:43:02 +0200 |
| commit | f22862cf1c76e28efe47e830fe0c753ab696b15b (patch) | |
| tree | ba1f128a6aeddcd8afefd4fc7d46f83fef1f5909 /data | |
| parent | 05077b8f220cf5f654b534b94d76dc4209721c7b (diff) | |
| parent | 7bf0f597b8b0d7d209d856fa106b521ed65678af (diff) | |
| download | PROJ-f22862cf1c76e28efe47e830fe0c753ab696b15b.tar.gz PROJ-f22862cf1c76e28efe47e830fe0c753ab696b15b.zip | |
autoconf build: add a PROJ_DB_CACHE_DIR trick to speed-up builds (#1446)
autoconf build: add a PROJ_DB_CACHE_DIR trick to speed-up builds
Diffstat (limited to 'data')
| -rw-r--r-- | data/Makefile.am | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/data/Makefile.am b/data/Makefile.am index 28d57ddb..a4446287 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -64,7 +64,13 @@ proj.db: $(DATAPATH)/sql/*.sql for x in $(SQL_ORDERED_LIST); do \ export SQL_EXPANDED_LIST="$${SQL_EXPANDED_LIST} $(DATAPATH)/$$x"; \ done; \ - cat $${SQL_EXPANDED_LIST} | sqlite3 proj.db; \ + if test "x$(PROJ_DB_CACHE_DIR)" != "x" -a -f "$(PROJ_DB_CACHE_DIR)/proj.db" -a -f "$(PROJ_DB_CACHE_DIR)/proj.db.sql.md5" ; then \ + cat $${SQL_EXPANDED_LIST} | md5sum | diff - "$(PROJ_DB_CACHE_DIR)/proj.db.sql.md5" > /dev/null \ + && (echo "Reusing cached proj.db"; cp "$(PROJ_DB_CACHE_DIR)/proj.db" proj.db); \ + fi; \ + if test ! -f proj.db ; then \ + cat $${SQL_EXPANDED_LIST} | sqlite3 proj.db; \ + fi; \ if [ $$? -ne 0 ] ; then \ echo "Build of proj.db failed"; \ $(RM) proj.db; \ @@ -77,6 +83,12 @@ proj.db: $(DATAPATH)/sql/*.sql echo "Foreign key check failed"; \ $(RM) proj.db; \ exit 1; \ + else \ + if test "x$(PROJ_DB_CACHE_DIR)" != "x" ; then \ + mkdir -p "$(PROJ_DB_CACHE_DIR)"; \ + cat $${SQL_EXPANDED_LIST} | md5sum > "$(PROJ_DB_CACHE_DIR)/proj.db.sql.md5"; \ + cp proj.db "$(PROJ_DB_CACHE_DIR)"; \ + fi \ fi \ fi |
