Skip to content
Commits on Source (12)
......@@ -2,4 +2,4 @@ vg (1.21.0+ds-1) UNRELEASED; urgency=medium
* Initial release. (Closes: #939537)
-- Michael R. Crusoe <michael.crusoe@gmail.com> Sun, 12 Jan 2020 08:30:00 +0100
-- Michael R. Crusoe <michael.crusoe@gmail.com> Mon, 13 Jan 2020 11:32:02 +0100
......@@ -55,7 +55,8 @@ Build-Depends: debhelper-compat (= 12),
fastahack,
libsmithwaterman-dev,
libjs-d3,
libdivsufsort-dev
libdivsufsort-dev,
libtsl-hopscotch-map-dev
# libvcflib-dev (>= 1.0),
# libhts-dev
# libsdsl-dev,
......
This diff is collapsed.
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Due to other patches, snappy is no longer a dependency
--- a/Makefile
+++ b/Makefile
@@ -206,7 +206,6 @@ CONFIGURATION_OBJ =
--- vg.orig/Makefile
+++ vg/Makefile
@@ -206,7 +206,6 @@
LOCKFREE_MALLOC_DIR:=deps/lockfree-malloc
SDSL_DIR:=deps/sdsl-lite
......@@ -10,7 +10,7 @@ Description: Due to other patches, snappy is no longer a dependency
GCSA2_DIR:=deps/gcsa2
GBWT_DIR:=deps/gbwt
GBWTGRAPH_DIR=deps/gbwtgraph
@@ -248,7 +247,6 @@ DEP_OBJ += $(OBJ_DIR)/Fasta.o
@@ -248,7 +247,6 @@
LIB_DEPS =
LIB_DEPS += $(LIB_DIR)/libsdsl.a
LIB_DEPS += $(LIB_DIR)/libssw.a
......@@ -18,7 +18,7 @@ Description: Due to other patches, snappy is no longer a dependency
LIB_DEPS += $(LIB_DIR)/libgcsa2.a
LIB_DEPS += $(LIB_DIR)/libgbwt.a
LIB_DEPS += $(LIB_DIR)/libgbwtgraph.a
@@ -366,11 +364,6 @@ endif
@@ -366,11 +364,6 @@
$(LIB_DIR)/libssw.a: $(SSW_DIR)/*.c $(SSW_DIR)/*.h
+. ./source_me.sh && cd $(SSW_DIR) && $(MAKE) $(FILTER) && ar rs $(CWD)/$(LIB_DIR)/libssw.a ssw.o ssw_cpp.o && cp ssw_cpp.h ssw.h $(CWD)/$(LIB_DIR)
......
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Ensure that we don't accidentally include profile mode
--- a/deps/gfakluge/makefile.detuned
+++ b/deps/gfakluge/makefile.detuned
--- vg.orig/deps/gfakluge/makefile.detuned
+++ vg/deps/gfakluge/makefile.detuned
@@ -1,5 +1,5 @@
CXX?=g++
-CXXFLAGS:=-O0 -pipe -std=c++11 -pg -ggdb
......@@ -9,9 +9,9 @@ Description: Ensure that we don't accidentally include profile mode
BIN_DIR:=bin
--- a/deps/sonLib/include.mk
+++ b/deps/sonLib/include.mk
@@ -54,7 +54,7 @@ cflags_ultraDbg = -Wall -Werror --pedant
--- vg.orig/deps/sonLib/include.mk
+++ vg/deps/sonLib/include.mk
@@ -54,7 +54,7 @@
cppflags_ultraDbg = -g -O1 -fno-inline -fno-omit-frame-pointer -fsanitize=address
#Profile flags
......@@ -20,9 +20,9 @@ Description: Ensure that we don't accidentally include profile mode
#Flags to use
ifndef CGL_DEBUG
--- a/deps/vcflib/Makefile
+++ b/deps/vcflib/Makefile
@@ -158,7 +158,7 @@ profiling:
--- vg.orig/deps/vcflib/Makefile
+++ vg/deps/vcflib/Makefile
@@ -158,7 +158,7 @@
$(MAKE) CXXFLAGS="$(CXXFLAGS) -g" all
gprof:
......@@ -31,9 +31,9 @@ Description: Ensure that we don't accidentally include profile mode
$(OBJECTS): $(SOURCES) $(HEADERS) $(TABIX) multichoose pre $(SMITHWATERMAN) $(FILEVERCMP) $(FASTAHACK)
$(CXX) -c -o $@ src/$(*F).cpp $(INCLUDES) $(LDFLAGS) $(CXXFLAGS) && cp src/*.h* $(VCF_LIB_LOCAL)/$(INC_DIR)/
--- a/deps/vowpal_wabbit/Makefile
+++ b/deps/vowpal_wabbit/Makefile
@@ -103,7 +103,7 @@ vw:
--- vg.orig/deps/vowpal_wabbit/Makefile
+++ vg/deps/vowpal_wabbit/Makefile
@@ -103,7 +103,7 @@
cd vowpalwabbit; $(MAKE) -j $(NPROCS) things
#Target-specific flags for a profiling build. (Copied from line 70)
......@@ -42,7 +42,7 @@ Description: Ensure that we don't accidentally include profile mode
vw_gcov: CXX = g++
vw_gcov:
cd vowpalwabbit && env LDFLAGS="-fprofile-arcs -ftest-coverage -lgcov"; $(MAKE) -j $(NPROCS) things
@@ -115,7 +115,7 @@ library_example: vw
@@ -115,7 +115,7 @@
cd library; $(MAKE) -j $(NPROCS) things
#Target-specific flags for a profiling build. (Copied from line 70)
......
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: don't use rpath
--- a/Makefile
+++ b/Makefile
@@ -128,8 +128,6 @@ ifeq ($(shell uname -s),Darwin)
--- vg.orig/Makefile
+++ vg/Makefile
@@ -128,8 +128,6 @@
else
# We are not running on OS X
......
From: Michael R. Crusoe <michael.crusoe@gmail.com>
Subject: improve build parallization
Subject: improve build parallelization
--- vg.orig/deps/sonLib/externalTools/Makefile
+++ vg/deps/sonLib/externalTools/Makefile
@@ -8,13 +8,13 @@
......
......@@ -18,8 +18,10 @@ use_packaged_fastahack
#use_packaged_htslib # waiting on https://github.com/samtools/htslib/pull/904/files or similiar to be merged & new htslib release
#use_packaged_vw # debian package is out of date, missing array_parameters.h, and not in testing/stable
#use_packaged_sdsl # fails many tests, local copy is a newer snapshot than Debian's
#use_packaged_protobuf ?
hardening_flags
use_packaged_smithwaterman
static
use_packaged_lz4
parallize_better
use_packaged_libtsl-hopscotch-map-dev
From: Michael R. Crusoe <michael.crusoe@gmail.com>
Subject: fix spelling typos
--- a/src/unittest/genotypekit.cpp
+++ b/src/unittest/genotypekit.cpp
@@ -431,7 +431,7 @@ TEST_CASE("ExhaustiveTraversalFinder fin
--- vg.orig/src/unittest/genotypekit.cpp
+++ vg/src/unittest/genotypekit.cpp
@@ -431,7 +431,7 @@
REQUIRE(found_trav_2);
}
......@@ -11,9 +11,9 @@ Subject: fix spelling typos
SECTION("Directed cycle does not count as ultrabubble") {
--- a/src/unittest/aligner.cpp
+++ b/src/unittest/aligner.cpp
@@ -123,7 +123,7 @@ TEST_CASE("Full-length bonus can hold do
--- vg.orig/src/unittest/aligner.cpp
+++ vg/src/unittest/aligner.cpp
@@ -123,7 +123,7 @@
aligner_1.align(aln1, graph, true, false);
aligner_2.align(aln2, graph, true, false);
......@@ -22,7 +22,7 @@ Subject: fix spelling typos
REQUIRE(aln1.path().mapping_size() == 1);
REQUIRE(aln1.path().mapping(0).position().node_id() == n0->id());
REQUIRE(aln1.path().mapping(0).position().offset() == 2);
@@ -158,7 +158,7 @@ TEST_CASE("Full-length bonus can hold do
@@ -158,7 +158,7 @@
aligner_1.align(aln1, graph, true, false);
aligner_2.align(aln2, graph, true, false);
......@@ -31,9 +31,9 @@ Subject: fix spelling typos
REQUIRE(aln1.path().mapping_size() == 1);
REQUIRE(aln1.path().mapping(0).position().node_id() == n0->id());
REQUIRE(aln1.path().mapping(0).position().offset() == 0);
--- a/src/subcommand/mod_main.cpp
+++ b/src/subcommand/mod_main.cpp
@@ -45,7 +45,7 @@ void help_mod(char** argv) {
--- vg.orig/src/subcommand/mod_main.cpp
+++ vg/src/subcommand/mod_main.cpp
@@ -45,7 +45,7 @@
<< " edges from old to new copies to convert the graph into a DAG" << endl
<< " until the shortest path through each SCC is N bases long" << endl
<< " -L, --dagify-len-max N stop a dagification step if the unrolling component has this much sequence" << endl
......@@ -42,9 +42,9 @@ Subject: fix spelling typos
<< " component of the graph" << endl
<< " -O, --orient-forward orient the nodes in the graph forward" << endl
<< " -N, --remove-non-path keep only nodes and edges which are part of paths" << endl
--- a/src/subcommand/find_main.cpp
+++ b/src/subcommand/find_main.cpp
@@ -50,7 +50,7 @@ void help_find(char** argv) {
--- vg.orig/src/subcommand/find_main.cpp
+++ vg/src/subcommand/find_main.cpp
@@ -50,7 +50,7 @@
<< "sequences:" << endl
<< " -g, --gcsa FILE use this GCSA2 index of the sequence space of the graph" << endl
<< " -z, --kmer-size N split up --sequence into kmers of size N" << endl
......@@ -53,9 +53,9 @@ Subject: fix spelling typos
<< " -S, --sequence STR search for sequence STR using --kmer-size kmers" << endl
<< " -M, --mems STR describe the super-maximal exact matches of the STR (gcsa2) in JSON" << endl
<< " -B, --reseed-length N find non-super-maximal MEMs inside SMEMs of length at least N" << endl
--- a/src/subcommand/genotype_main.cpp
+++ b/src/subcommand/genotype_main.cpp
@@ -34,7 +34,7 @@ void help_genotype(char** argv) {
--- vg.orig/src/subcommand/genotype_main.cpp
+++ vg/src/subcommand/genotype_main.cpp
@@ -34,7 +34,7 @@
<< " -A, --no_indel_realign disable indel realignment" << endl
<< " -d, --het_prior_denom denominator for prior probability of heterozygousness" << endl
<< " -P, --min_per_strand min unique reads per strand for a called allele to accept a call" << endl
......@@ -64,9 +64,9 @@ Subject: fix spelling typos
<< " -T, --traversal traversal finder to use {reads, exhaustive, representative, adaptive} (adaptive)" << endl
<< " -p, --progress show progress" << endl
<< " -t, --threads N number of threads to use" << endl;
--- a/src/subcommand/gamcompare_main.cpp
+++ b/src/subcommand/gamcompare_main.cpp
@@ -23,7 +23,7 @@ void help_gamcompare(char** argv) {
--- vg.orig/src/subcommand/gamcompare_main.cpp
+++ vg/src/subcommand/gamcompare_main.cpp
@@ -23,7 +23,7 @@
<< endl
<< "options:" << endl
<< " -r, --range N distance within which to consider reads correct" << endl
......@@ -75,9 +75,9 @@ Subject: fix spelling typos
<< " -a, --aligner aligner name for TSV output [\"vg\"]" << endl
<< " -t, --threads N number of threads to use" << endl;
}
--- a/src/subcommand/view_main.cpp
+++ b/src/subcommand/view_main.cpp
@@ -73,7 +73,7 @@ void help_view(char** argv) {
--- vg.orig/src/subcommand/view_main.cpp
+++ vg/src/subcommand/view_main.cpp
@@ -73,7 +73,7 @@
<< " -X, --fastq-out output fastq (input defaults to GAM)" << endl
<< " -i, --interleaved fastq is interleaved paired-ended" << endl
......@@ -86,9 +86,9 @@ Subject: fix spelling typos
<< " -l, --pileup-in input VG Pileup format" << endl
<< " -R, --snarl-in input VG Snarl format" << endl
--- a/src/sampler.cpp
+++ b/src/sampler.cpp
@@ -603,7 +603,7 @@ NGSSimulator::NGSSimulator(PathPositionH
--- vg.orig/src/sampler.cpp
+++ vg/src/sampler.cpp
@@ -603,7 +603,7 @@
});
if (!source_paths.empty() && !transcript_expressions.empty()) {
......@@ -97,9 +97,9 @@ Subject: fix spelling typos
exit(1);
}
--- a/deps/vowpal_wabbit/vowpalwabbit/parse_args.cc
+++ b/deps/vowpal_wabbit/vowpalwabbit/parse_args.cc
@@ -627,7 +627,7 @@ void parse_feature_tweaks(arguments& arg
--- vg.orig/deps/vowpal_wabbit/vowpalwabbit/parse_args.cc
+++ vg/deps/vowpal_wabbit/vowpalwabbit/parse_args.cc
@@ -627,7 +627,7 @@
||
interactions_settings_doubled /*settings were restored from model file to file_options and overriden by params from command line*/)
{
......@@ -108,9 +108,9 @@ Subject: fix spelling typos
// in case arrays were already filled in with values from old model file - reset them
if (!arg.all->pairs.empty()) arg.all->pairs.clear();
--- a/deps/vowpal_wabbit/vowpalwabbit/global_data.h
+++ b/deps/vowpal_wabbit/vowpalwabbit/global_data.h
@@ -160,7 +160,7 @@ public:
--- vg.orig/deps/vowpal_wabbit/vowpalwabbit/global_data.h
+++ vg/deps/vowpal_wabbit/vowpalwabbit/global_data.h
@@ -160,7 +160,7 @@
uint64_t hash = uniform_hash((unsigned char*)l.begin, l.end-l.begin, 378401);
uint64_t id = name2id.get(l, hash);
if (id != 0) // TODO: memory leak: char* temp
......@@ -119,9 +119,9 @@ Subject: fix spelling typos
size_t len = l.end - l.begin;
substring l_copy = { calloc_or_throw<char>(len), nullptr };
memcpy(l_copy.begin, l.begin, len * sizeof(char));
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -2140,7 +2140,7 @@ pair<int64_t, int64_t> Index::compare_km
--- vg.orig/src/index.cpp
+++ vg/src/index.cpp
@@ -2140,7 +2140,7 @@
string kmer;
parse_kmer(key, value, kmer, id, pos);
......@@ -130,9 +130,9 @@ Subject: fix spelling typos
if (kmer != prev_kmer) {
string remk = reverse_complement(kmer);
--- a/deps/vowpal_wabbit/vowpalwabbit/cost_sensitive.cc
+++ b/deps/vowpal_wabbit/vowpalwabbit/cost_sensitive.cc
@@ -23,7 +23,7 @@ void name_value(substring &s, v_array<su
--- vg.orig/deps/vowpal_wabbit/vowpalwabbit/cost_sensitive.cc
+++ vg/deps/vowpal_wabbit/vowpalwabbit/cost_sensitive.cc
@@ -23,7 +23,7 @@
THROW("error NaN value for: " << name[0]);
break;
default:
......
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: For Debian, don't statically link to cairo, jansson, libstdc++, libgcc
--- a/Makefile
+++ b/Makefile
@@ -36,9 +36,9 @@ INCLUDE_FLAGS:=$(shell pkg-config --cfla
--- vg.orig/Makefile
+++ vg/Makefile
@@ -36,9 +36,9 @@
# Define libraries to link against. Make sure to always link statically against
# htslib and libdeflate and Protobuf so that we can use position-dependent code
# there for speed.
-LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort -ldivsufsort64 -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph $(shell pkg-config --libs libfastahack) $(shell pkg-config --libs libsmithwaterman)
+LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lz -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort -ldivsufsort64 -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph $(shell pkg-config --libs libfastahack) $(shell pkg-config --libs libsmithwaterman)
-LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph $(shell pkg-config --libs libfastahack) $(shell pkg-config --libs libsmithwaterman)
+LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lz -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph $(shell pkg-config --libs libfastahack) $(shell pkg-config --libs libsmithwaterman)
# Use pkg-config to find Cairo and all the libs it uses
-LD_LIB_FLAGS += $(shell pkg-config --libs --static cairo jansson)
+LD_LIB_FLAGS += $(shell pkg-config --libs cairo jansson)
# Travis needs -latomic for all builds *but* GCC on Mac
ifeq ($(strip $(shell $(CXX) -latomic /dev/null -o/dev/null 2>&1 | grep latomic | wc -l)), 0)
@@ -181,7 +181,7 @@ LD_LIB_FLAGS += -lrocksdb -lbz2
@@ -181,7 +181,7 @@
# When building statically, we need to tell the linker not to bail if it sees multiple definitions.
# libc on e.g. our Jenkins host does not define malloc as weak, so other mallocs can't override it in a static build.
# TODO: Why did this problem only begin to happen when libvw was added?
......
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian packages of boost-program-options
--- a/Makefile
+++ b/Makefile
@@ -231,7 +231,6 @@ STRUCTURES_DIR:=deps/structures
--- vg.orig/Makefile
+++ vg/Makefile
@@ -231,7 +231,6 @@
BACKWARD_CPP_DIR:=deps/backward-cpp
DOZEU_DIR:=deps/dozeu
ELFUTILS_DIR:=deps/elfutils
......@@ -10,7 +10,7 @@ Description: Use the Debian packages of boost-program-options
VOWPALWABBIT_DIR:=deps/vowpal_wabbit
LIBVGIO_DIR:=deps/libvgio
LIBHANDLEGRAPH_DIR:=deps/libhandlegraph
@@ -273,7 +272,6 @@ LIB_DEPS += $(LIB_DIR)/libsublinearLS.a
@@ -273,7 +272,6 @@
LIB_DEPS += $(LIB_DIR)/libstructures.a
LIB_DEPS += $(LIB_DIR)/libvw.a
LIB_DEPS += $(LIB_DIR)/liballreduce.a
......@@ -18,7 +18,7 @@ Description: Use the Debian packages of boost-program-options
LIB_DEPS += $(LIB_DIR)/libvgio.a
LIB_DEPS += $(LIB_DIR)/libhandlegraph.a
LIB_DEPS += $(LIB_DIR)/libbdsg.a
@@ -538,14 +536,14 @@ $(LIB_DIR)/libstructures.a: $(STRUCTURES
@@ -539,14 +537,14 @@
# if it doesn't find it, so let it fail.
# Also, we need to make sure nothing about -fopenmp makes it into the build, in case we are on Clang.
# vw doesn't need OpenMP
......@@ -35,7 +35,7 @@ Description: Use the Debian packages of boost-program-options
+. ./source_me.sh && cd $(VOWPALWABBIT_DIR) && CXXFLAGS="$(filter-out -Xpreprocessor -fopenmp,$(CXXFLAGS))" $(MAKE) $(FILTER)
+. ./source_me.sh && cd $(VOWPALWABBIT_DIR) && cp vowpalwabbit/.libs/libvw.a vowpalwabbit/.libs/liballreduce.a $(CWD)/$(LIB_DIR)/
+. ./source_me.sh && cd $(VOWPALWABBIT_DIR) && mkdir -p $(CWD)/$(INC_DIR)/vowpalwabbit
@@ -553,17 +551,6 @@ $(LIB_DIR)/libvw.a: $(LIB_DIR)/libboost_
@@ -554,17 +552,6 @@
$(LIB_DIR)/liballreduce.a: $(LIB_DIR)/libvw.a
......
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian packages for elfutils
--- a/Makefile
+++ b/Makefile
@@ -135,7 +135,7 @@ else
--- vg.orig/Makefile
+++ vg/Makefile
@@ -135,7 +135,7 @@
LD_LIB_FLAGS += -rdynamic
# We want to link against the elfutils libraries
......@@ -11,7 +11,7 @@ Description: Use the Debian packages for elfutils
# We get OpenMP the normal way, using whatever the compiler knows about
CXXFLAGS += -fopenmp
@@ -225,7 +225,6 @@ SSW_DIR:=deps/ssw/src
@@ -225,7 +225,6 @@
LINLS_DIR:=deps/sublinear-Li-Stephens
STRUCTURES_DIR:=deps/structures
DOZEU_DIR:=deps/dozeu
......@@ -19,7 +19,7 @@ Description: Use the Debian packages for elfutils
VOWPALWABBIT_DIR:=deps/vowpal_wabbit
LIBVGIO_DIR:=deps/libvgio
LIBHANDLEGRAPH_DIR:=deps/libhandlegraph
@@ -270,15 +269,6 @@ LIB_DEPS += $(LIB_DIR)/libvgio.a
@@ -270,15 +269,6 @@
LIB_DEPS += $(LIB_DIR)/libhandlegraph.a
LIB_DEPS += $(LIB_DIR)/libbdsg.a
LIB_DEPS += $(LIB_DIR)/libxg.a
......@@ -35,7 +35,7 @@ Description: Use the Debian packages for elfutils
# common dependencies to build before all vg src files
DEPS = $(LIB_DEPS)
@@ -543,10 +533,6 @@ $(INC_DIR)/sha1.hpp: $(SHA1_DIR)/sha1.hp
@@ -544,27 +534,6 @@
$(INC_DIR)/dozeu/dozeu.h: $(DOZEU_DIR)/*.h
+mkdir -p $(CWD)/$(INC_DIR)/dozeu && cp $(DOZEU_DIR)/*.h $(CWD)/$(INC_DIR)/dozeu/
......@@ -43,6 +43,23 @@ Description: Use the Debian packages for elfutils
-
-$(LIB_DIR)/libdw.a: $(LIB_DIR)/libelf.a
-
$(LIB_DIR)/libdwelf.a: $(LIB_DIR)/libelf.a
-$(LIB_DIR)/libdwelf.a: $(LIB_DIR)/libelf.a
-
-$(LIB_DIR)/libdwfl.a: $(LIB_DIR)/libelf.a
-
-# We can't build elfutils from Git without "maintainer mode".
-# There are some release-only headers or something that it complains it can't find otherwise.
-# We also don't do a normal make and make install here because we don't want to build and install all the elfutils binaries and libasm.
-$(LIB_DIR)/libelf.a: $(ELFUTILS_DIR)/libebl/*.c $(ELFUTILS_DIR)/libebl/*.h $(ELFUTILS_DIR)/libdw/*.c $(ELFUTILS_DIR)/libdw/*.h $(ELFUTILS_DIR)/libelf/*.c $(ELFUTILS_DIR)/libelf/*.h $(ELFUTILS_DIR)/src/*.c $(ELFUTILS_DIR)/src/*.h
- +cd $(CWD)/$(INC_DIR)/ && rm -Rf elfutils gelf.h libelf.h dwarf.h libdwflP.h libdwfl.h libebl.h libelf.h
- +. ./source_me.sh && cd $(ELFUTILS_DIR) && autoreconf -i -f && ./configure --enable-maintainer-mode --prefix=$(CWD) $(FILTER)
- +. ./source_me.sh && cd $(ELFUTILS_DIR)/libelf && $(MAKE) clean && $(MAKE) libelf.a $(FILTER)
- +. ./source_me.sh && cd $(ELFUTILS_DIR)/libebl && $(MAKE) clean && $(MAKE) libebl.a $(FILTER)
- +. ./source_me.sh && cd $(ELFUTILS_DIR)/libdwfl && $(MAKE) clean && $(MAKE) libdwfl.a $(FILTER)
- +. ./source_me.sh && cd $(ELFUTILS_DIR)/libdwelf && $(MAKE) clean && $(MAKE) libdwelf.a $(FILTER)
- +. ./source_me.sh && cd $(ELFUTILS_DIR)/libdw && $(MAKE) clean && $(MAKE) libdw.a known-dwarf.h $(FILTER)
- +cd $(ELFUTILS_DIR) && mkdir -p $(CWD)/$(INC_DIR)/elfutils && cp libdw/known-dwarf.h libdw/libdw.h libebl/libebl.h libelf/elf-knowledge.h version.h libdwfl/libdwfl.h libdwelf/libdwelf.h $(CWD)/$(INC_DIR)/elfutils && cp libelf/gelf.h libelf/libelf.h libdw/dwarf.h $(CWD)/$(INC_DIR) && cp libebl/libebl.a libdw/libdw.a libdwfl/libdwfl.a libdwelf/libdwelf.a libelf/libelf.a $(CWD)/$(LIB_DIR)/
-
$(OBJ_DIR)/sha1.o: $(SHA1_DIR)/sha1.cpp $(SHA1_DIR)/sha1.hpp
+$(CXX) $(INCLUDE_FLAGS) $(CXXFLAGS) -c -o $@ $< $(FILTER)
$(LIB_DIR)/libdwfl.a: $(LIB_DIR)/libelf.a
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian version of fastahack; not working due to vg needing modifications to the upstream sourcecode
--- a/Makefile
+++ b/Makefile
@@ -31,12 +31,12 @@ include $(wildcard $(UNITTEST_OBJ_DIR)/*
--- vg.orig/Makefile
+++ vg/Makefile
@@ -31,12 +31,12 @@
CXXFLAGS := -O3 -Werror=return-type -std=c++14 -ggdb -g -MMD -MP $(CXXFLAGS)
# Set include flags. All -I options need to go in here, so the first directory listed is genuinely searched first.
......@@ -13,11 +13,11 @@ Description: Use the Debian version of fastahack; not working due to vg needing
# htslib and libdeflate and Protobuf so that we can use position-dependent code
# there for speed.
-LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph
+LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort -ldivsufsort64 -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph $(shell pkg-config --libs libfastahack)
+LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwtgraph -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lraptor2 -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg -lxg -lsdsl -lhandlegraph $(shell pkg-config --libs libfastahack)
# Use pkg-config to find Cairo and all the libs it uses
LD_LIB_FLAGS += $(shell pkg-config --libs --static cairo jansson)
@@ -208,7 +208,6 @@ GCSA2_DIR:=deps/gcsa2
@@ -208,7 +208,6 @@
GBWT_DIR:=deps/gbwt
GBWTGRAPH_DIR=deps/gbwtgraph
PROGRESS_BAR_DIR:=deps/progress_bar
......@@ -25,7 +25,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
HTSLIB_DIR:=deps/htslib
VCFLIB_DIR:=deps/vcflib
GSSW_DIR:=deps/gssw
@@ -232,7 +231,6 @@ BBHASH_DIR=deps/BBHash
@@ -232,7 +231,6 @@
DEP_OBJ =
DEP_OBJ += $(OBJ_DIR)/progress_bar.o
DEP_OBJ += $(OBJ_DIR)/sha1.o
......@@ -33,7 +33,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
# These are libraries that we need to build before we link vg.
@@ -247,7 +245,6 @@ LIB_DEPS += $(LIB_DIR)/libgbwtgraph.a
@@ -247,7 +245,6 @@
LIB_DEPS += $(LIB_DIR)/libhts.a
LIB_DEPS += $(LIB_DIR)/libvcflib.a
LIB_DEPS += $(LIB_DIR)/libgssw.a
......@@ -41,7 +41,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
LIB_DEPS += $(LIB_DIR)/libsonlib.a
LIB_DEPS += $(LIB_DIR)/libpinchesandcacti.a
LIB_DEPS += $(LIB_DIR)/libsublinearLS.a
@@ -320,7 +317,7 @@ get-deps:
@@ -320,7 +317,7 @@
# And we have submodule deps to build
deps: $(DEPS)
......@@ -50,7 +50,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
. ./source_me.sh && cd test && prove -v t
docs: $(SRC_DIR)/*.cpp $(SRC_DIR)/*.hpp $(SUBCOMMAND_SRC_DIR)/*.cpp $(SUBCOMMAND_SRC_DIR)/*.hpp $(UNITTEST_SRC_DIR)/*.cpp $(UNITTEST_SRC_DIR)/*.hpp
@@ -389,9 +386,6 @@ $(INC_DIR)/progress_bar.hpp: $(PROGRESS_
@@ -389,9 +386,6 @@
$(OBJ_DIR)/progress_bar.o: $(PROGRESS_BAR_DIR)/*.hpp $(PROGRESS_BAR_DIR)/*.cpp
+. ./source_me.sh && cd $(PROGRESS_BAR_DIR) && $(MAKE) $(FILTER) && cp progress_bar.o $(CWD)/$(OBJ_DIR)
......@@ -60,7 +60,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
# We have this target to clean up the old Protobuf we used to have.
# We can remove it after we no longer care about building properly on a dirty
# build from vg versions that shipped Protobuf themselves.
@@ -426,9 +420,6 @@ $(LIB_DIR)/libvcflib.a: $(LIB_DIR)/libht
@@ -427,9 +421,6 @@
$(VCFLIB_DIR)/bin/vcf2tsv: $(VCFLIB_DIR)/src/*.cpp $(VCFLIB_DIR)/src/*.h $(LIB_DIR)/libvcflib.a
+. ./source_me.sh && cd $(VCFLIB_DIR) && HTS_LIB="$(CWD)/$(LIB_DIR)/libhts.a" HTS_INCLUDES="-I$(CWD)/$(INC_DIR)" HTS_LDFLAGS="-L$(CWD)/$(LIB_DIR) $(START_STATIC) -lhts -ldeflate $(END_STATIC) -lpthread -lm -lbz2 -llzma -lz" $(MAKE) vcf2tsv $(FILTER)
......@@ -70,7 +70,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
$(LIB_DIR)/libgssw.a: $(GSSW_DIR)/src/gssw.c $(GSSW_DIR)/src/gssw.h
+. ./source_me.sh && cd $(GSSW_DIR) && $(MAKE) $(FILTER) && cp lib/* $(CWD)/$(LIB_DIR)/ && cp obj/* $(CWD)/$(OBJ_DIR) && cp src/*.h $(CWD)/$(INC_DIR)
@@ -447,10 +438,6 @@ $(INC_DIR)/dynamic/dynamic.hpp: $(DYNAMI
@@ -448,10 +439,6 @@
$(INC_DIR)/sparsepp/spp.h:
+cp -r $(SPARSEPP_DIR)/sparsepp $(INC_DIR)/
......@@ -81,7 +81,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
$(INC_DIR)/gfakluge.hpp: $(DEP_DIR)/gfakluge/src/gfakluge.hpp
+cp $(DEP_DIR)/gfakluge/src/*.hpp $(CWD)/$(INC_DIR)/ && cp $(DEP_DIR)/gfakluge/src/tinyFA/*.hpp $(CWD)/$(INC_DIR)/
@@ -659,14 +646,12 @@ clean: clean-vcflib
@@ -643,14 +630,12 @@
$(RM) -r share/
cd $(DEP_DIR) && cd sonLib && $(MAKE) clean
cd $(DEP_DIR) && cd htslib && $(MAKE) clean
......@@ -96,15 +96,15 @@ Description: Use the Debian version of fastahack; not working due to vg needing
cd $(DEP_DIR) && cd vcflib && $(MAKE) clean
cd $(DEP_DIR) && cd gfakluge && $(MAKE) clean
cd $(DEP_DIR) && cd sha1 && $(MAKE) clean
@@ -686,5 +671,4 @@ clean-rocksdb:
@@ -664,5 +649,4 @@
clean-vcflib:
cd $(DEP_DIR) && cd vcflib && $(MAKE) clean
- rm -f $(LIB_DIR)/libvcfh.a
cd $(INC_DIR) && rm -f BedReader.h convert.h join.h mt19937ar.h split.h Variant.h vec128int.h veclib_types.h
--- a/test/Makefile
+++ b/test/Makefile
@@ -7,15 +7,12 @@ vg:=../bin/vg
--- vg.orig/test/Makefile
+++ vg/test/Makefile
@@ -7,15 +7,12 @@
all: test clean
......@@ -121,9 +121,9 @@ Description: Use the Debian version of fastahack; not working due to vg needing
$(vg):
cd .. && $(MAKE) bin/vg
--- a/test/t/02_vg_construct.t
+++ b/test/t/02_vg_construct.t
@@ -75,7 +75,7 @@ rm -f fail.vg
--- vg.orig/test/t/02_vg_construct.t
+++ vg/test/t/02_vg_construct.t
@@ -75,7 +75,7 @@
# check that we produce a full graph
......@@ -132,9 +132,9 @@ Description: Use the Debian version of fastahack; not working due to vg needing
variantbp=$(zcat < small/x.vcf.gz | ../deps/vcflib/bin/vcf2tsv \
| cut -f 5,4 | tail -n+2 \
| awk '{ x=length($2)-length($1); if (x > 0) { print x; } else if (x == 0) { print length($2); } }' \
--- a/deps/vcflib/Makefile
+++ b/deps/vcflib/Makefile
@@ -119,7 +119,6 @@ BINS = $(addprefix bin/,$(notdir $(BIN_S
--- vg.orig/deps/vcflib/Makefile
+++ vg/deps/vcflib/Makefile
@@ -119,7 +119,6 @@
SHORTBINS = $(notdir $(BIN_SOURCES:.cpp=))
TABIX = tabixpp/tabix.o
......@@ -142,7 +142,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
SMITHWATERMAN = smithwaterman/SmithWatermanGotoh.o
REPEATS = smithwaterman/Repeats.o
INDELALLELE = smithwaterman/IndelAllele.o
@@ -135,10 +134,8 @@ HTS_INCLUDES ?= -I$(VCF_LIB_LOCAL)/tabix
@@ -135,10 +134,8 @@
HTS_LDFLAGS ?= -L$(VCF_LIB_LOCAL)/tabixpp/htslib -lhts -lbz2 -lm -lz -llzma -pthread
......@@ -155,7 +155,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
all: $(OBJECTS) $(BINS) scriptToBin
@@ -183,9 +180,6 @@ $(LEFTALIGN): $(SMITHWATERMAN)
@@ -183,9 +180,6 @@
$(INDELALLELE): $(SMITHWATERMAN)
......@@ -165,7 +165,7 @@ Description: Use the Debian version of fastahack; not working due to vg needing
#$(FSOM):
# cd fsom && $(CXX) $(CXXFLAGS) -c fsom.c -lm
@@ -227,10 +221,8 @@ clean:
@@ -227,10 +221,8 @@
rm -rf $(OBJ_DIR)
cd tabixpp && $(MAKE) clean
cd smithwaterman && $(MAKE) clean
......
......@@ -4,9 +4,9 @@ Description: Use the Debian package of fermi-lite
Adjust for the renamed bseq1_t→fml_seq1_t
See https://github.com/lh3/fermi-lite/issues/5
--- a/Makefile
+++ b/Makefile
@@ -211,7 +211,6 @@ GBWT_DIR:=deps/gbwt
--- vg.orig/Makefile
+++ vg/Makefile
@@ -211,7 +211,6 @@
GBWTGRAPH_DIR=deps/gbwtgraph
PROGRESS_BAR_DIR:=deps/progress_bar
FASTAHACK_DIR:=deps/fastahack
......@@ -14,7 +14,7 @@ See https://github.com/lh3/fermi-lite/issues/5
HTSLIB_DIR:=deps/htslib
VCFLIB_DIR:=deps/vcflib
GSSW_DIR:=deps/gssw
@@ -253,7 +252,6 @@ LIB_DEPS += $(LIB_DIR)/libgssw.a
@@ -253,7 +252,6 @@
LIB_DEPS += $(LIB_DIR)/libvcfh.a
LIB_DEPS += $(LIB_DIR)/libsonlib.a
LIB_DEPS += $(LIB_DIR)/libpinchesandcacti.a
......@@ -22,7 +22,7 @@ See https://github.com/lh3/fermi-lite/issues/5
LIB_DEPS += $(LIB_DIR)/libsublinearLS.a
LIB_DEPS += $(LIB_DIR)/libstructures.a
LIB_DEPS += $(LIB_DIR)/libvw.a
@@ -516,9 +514,6 @@ $(LIB_DIR)/libelf.a: $(ELFUTILS_DIR)/lib
@@ -500,9 +498,6 @@
$(OBJ_DIR)/sha1.o: $(SHA1_DIR)/sha1.cpp $(SHA1_DIR)/sha1.hpp
+$(CXX) $(INCLUDE_FLAGS) $(CXXFLAGS) -c -o $@ $< $(FILTER)
......@@ -32,9 +32,9 @@ See https://github.com/lh3/fermi-lite/issues/5
# We don't need to hack the build to point at our htslib because sublinearLS gets its htslib from the include flags we set
$(LIB_DIR)/libsublinearLS.a: $(LINLS_DIR)/src/*.cpp $(LINLS_DIR)/src/*.hpp $(LIB_DIR)/libhts.a
. ./source_me.sh && cd $(LINLS_DIR) && $(MAKE) clean && INCLUDE_FLAGS="-I$(CWD)/$(INC_DIR)" $(MAKE) libs $(FILTER) && cp lib/libsublinearLS.a $(CWD)/$(LIB_DIR)/ && mkdir -p $(CWD)/$(INC_DIR)/sublinearLS && cp src/*.hpp $(CWD)/$(INC_DIR)/sublinearLS/
--- a/src/srpe.cpp
+++ b/src/srpe.cpp
@@ -70,7 +70,7 @@ namespace vg{
--- vg.orig/src/srpe.cpp
+++ vg/src/srpe.cpp
@@ -70,7 +70,7 @@
}
......@@ -43,7 +43,7 @@ See https://github.com/lh3/fermi-lite/issues/5
read->seq = (char*) a.sequence().c_str();
read->qual = (char*) a.quality().c_str();
read->l_seq = a.sequence().length();
@@ -95,7 +95,7 @@ namespace vg{
@@ -95,7 +95,7 @@
void SRPE::assemble(vector<Alignment> alns, vector<fml_utg_t>& unitigs){
int n_seqs, n_utgs;
n_seqs = alns.size();
......@@ -52,9 +52,9 @@ See https://github.com/lh3/fermi-lite/issues/5
for (int i = 0; i < n_seqs; ++i){
aln_to_bseq( alns[i], mr_bseqs + i );
}
--- a/src/srpe.hpp
+++ b/src/srpe.hpp
@@ -155,7 +155,7 @@ public:
--- vg.orig/src/srpe.hpp
+++ vg/src/srpe.hpp
@@ -155,7 +155,7 @@
double discordance_score(vector<Alignment> alns, VG* subgraph);
// Convert Alignments to the read-like objects Fermi-lite uses in assembly
......
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian packaged version of jemalloc
--- a/Makefile
+++ b/Makefile
@@ -207,7 +207,6 @@ CONFIGURATION_OBJ =
--- vg.orig/Makefile
+++ vg/Makefile
@@ -207,7 +207,6 @@
RAPTOR_DIR:=deps/raptor
......@@ -10,7 +10,7 @@ Description: Use the Debian packaged version of jemalloc
LOCKFREE_MALLOC_DIR:=deps/lockfree-malloc
SDSL_DIR:=deps/sdsl-lite
SNAPPY_DIR:=deps/snappy
@@ -311,7 +310,6 @@ LINK_DEPS =
@@ -311,7 +310,6 @@
ifneq ($(shell uname -s),Darwin)
# Use jemalloc
......@@ -18,7 +18,7 @@ Description: Use the Debian packaged version of jemalloc
LD_LIB_FLAGS += -ljemalloc
endif
@@ -374,9 +372,6 @@ endif
@@ -374,9 +372,6 @@
test/build_graph: test/build_graph.cpp $(LIB_DIR)/libvg.a $(SRC_DIR)/json2pb.h $(SRC_DIR)/vg.hpp
. ./source_me.sh && $(CXX) $(INCLUDE_FLAGS) $(CXXFLAGS) -o test/build_graph test/build_graph.cpp -lvg $(LD_LIB_FLAGS) $(ROCKSDB_LDFLAGS) $(FILTER)
......@@ -28,3 +28,11 @@ Description: Use the Debian packaged version of jemalloc
# Use fake patterns to tell Make that this rule generates all these files when run once.
# Here % should always match "lib" which is a common substring.
# See https://stackoverflow.com/a/19822767
@@ -749,7 +744,6 @@
cd $(DEP_DIR) && cd gfakluge && $(MAKE) clean
cd $(DEP_DIR) && cd sha1 && $(MAKE) clean
cd $(DEP_DIR) && cd structures && $(MAKE) clean
- cd $(DEP_DIR) && cd jemalloc && $(MAKE) clean || true
cd $(DEP_DIR) && cd vowpal_wabbit && $(MAKE) clean
cd $(DEP_DIR) && cd sublinear-Li-Stephens && $(MAKE) clean
cd $(DEP_DIR) && cd libhandlegraph && $(MAKE) clean
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian version of cpp-backward
--- a/Makefile
+++ b/Makefile
@@ -227,7 +227,6 @@ DYNAMIC_DIR:=deps/DYNAMIC
--- vg.orig/Makefile
+++ vg/Makefile
@@ -227,7 +227,6 @@
SSW_DIR:=deps/ssw/src
LINLS_DIR:=deps/sublinear-Li-Stephens
STRUCTURES_DIR:=deps/structures
......@@ -10,7 +10,7 @@ Description: Use the Debian version of cpp-backward
DOZEU_DIR:=deps/dozeu
ELFUTILS_DIR:=deps/elfutils
VOWPALWABBIT_DIR:=deps/vowpal_wabbit
@@ -297,7 +296,6 @@ DEPS += $(INC_DIR)/sparsepp/spp.h
@@ -297,7 +296,6 @@
DEPS += $(INC_DIR)/gfakluge.hpp
DEPS += $(INC_DIR)/sha1.hpp
DEPS += $(INC_DIR)/progress_bar.hpp
......@@ -18,7 +18,7 @@ Description: Use the Debian version of cpp-backward
DEPS += $(INC_DIR)/dozeu/dozeu.h
DEPS += $(INC_DIR)/mmmultimap.hpp
DEPS += $(INC_DIR)/ips4o.hpp
@@ -549,9 +547,6 @@ $(LIB_DIR)/liballreduce.a: $(LIB_DIR)/li
@@ -550,9 +548,6 @@
$(INC_DIR)/sha1.hpp: $(SHA1_DIR)/sha1.hpp
+cp $(SHA1_DIR)/*.h* $(CWD)/$(INC_DIR)/
......
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian package for libdeflate
--- a/Makefile
+++ b/Makefile
@@ -36,7 +36,7 @@ INCLUDE_FLAGS:=-I$(CWD)/$(INC_DIR) -I. -
--- vg.orig/Makefile
+++ vg/Makefile
@@ -36,7 +36,7 @@
# Define libraries to link against. Make sure to always link statically against
# htslib and libdeflate and Protobuf so that we can use position-dependent code
# there for speed.
......@@ -11,7 +11,7 @@ Description: Use the Debian package for libdeflate
# Use pkg-config to find Cairo and all the libs it uses
LD_LIB_FLAGS += $(shell pkg-config --libs --static cairo jansson)
@@ -233,7 +233,6 @@ DOZEU_DIR:=deps/dozeu
@@ -233,7 +233,6 @@
ELFUTILS_DIR:=deps/elfutils
BOOST_DIR:=deps/boost-subset
VOWPALWABBIT_DIR:=deps/vowpal_wabbit
......@@ -19,7 +19,7 @@ Description: Use the Debian package for libdeflate
LIBVGIO_DIR:=deps/libvgio
LIBHANDLEGRAPH_DIR:=deps/libhandlegraph
LIBBDSG_DIR:=deps/libbdsg
@@ -275,7 +274,6 @@ LIB_DEPS += $(LIB_DIR)/libstructures.a
@@ -275,7 +274,6 @@
LIB_DEPS += $(LIB_DIR)/libvw.a
LIB_DEPS += $(LIB_DIR)/liballreduce.a
LIB_DEPS += $(LIB_DIR)/libboost_program_options.a
......@@ -27,7 +27,7 @@ Description: Use the Debian package for libdeflate
LIB_DEPS += $(LIB_DIR)/libvgio.a
LIB_DEPS += $(LIB_DIR)/libhandlegraph.a
LIB_DEPS += $(LIB_DIR)/libbdsg.a
@@ -459,28 +457,11 @@ $(LIB_DIR)/libhandlegraph.a: $(LIBHANDLE
@@ -459,28 +457,12 @@
+. ./source_me.sh && cd $(LIBHANDLEGRAPH_DIR) && cmake . && $(MAKE) $(FILTER) && cp libhandlegraph.a $(CWD)/$(LIB_DIR) && cp -r src/include/handlegraph $(CWD)/$(INC_DIR)
......@@ -47,7 +47,7 @@ Description: Use the Debian package for libdeflate
- +. ./source_me.sh && cd $(LIBDEFLATE_DIR) && V=1 $(MAKE) $(FILTER) && cp libdeflate.a $(CWD)/$(LIB_DIR) && cp libdeflate.h $(CWD)/$(INC_DIR)
-
-# We build htslib after libdeflate so it can use libdeflate
-# We have to do a full build in order to install, to get the pkg-config file so libvgio can link against it.
# We have to do a full build in order to install, to get the pkg-config file so libvgio can link against it.
# We also have to have the shared libdeflate or we will get complaints that the static one is not position independent.
# If we need either the library or the pkg-config file (which we didn't used to ship), run the whole build.
# We use a wildcard match to make sure make understands that both files come from one command run.
......
From: Michael R. Crusoe <michael.crusoe@gmail.com>
Subject: Use the tsl-hopscotch-map cmake target
--- vg.orig/deps/DYNAMIC/CMakeLists.txt
+++ vg/deps/DYNAMIC/CMakeLists.txt
@@ -14,23 +14,12 @@
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
-# hopscotch_map
-ExternalProject_Add(hopscotch_map
- GIT_REPOSITORY "https://github.com/Tessil/hopscotch-map.git"
- BUILD_IN_SOURCE TRUE
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_DIR} # TODO ADD static build flag
- UPDATE_COMMAND ""
- INSTALL_COMMAND ""
- BUILD_COMMAND ""
- CONFIGURE_COMMAND "")
-ExternalProject_Get_property(hopscotch_map INSTALL_DIR)
-set(hopscotch_map_INCLUDE "${INSTALL_DIR}/src/hopscotch_map/include/")
+find_package(tsl-hopscotch-map REQUIRED)
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/include/internal)
include_directories(${PROJECT_SOURCE_DIR}/include/algorithms)
include_directories(${PROJECT_SOURCE_DIR}/include/algorithms/cw-bwt)
-include_directories(${INSTALL_DIR}/src/hopscotch_map/include)
message("Building in ${CMAKE_BUILD_TYPE} mode")
@@ -54,11 +43,10 @@
add_executable(cw-bwt cw-bwt.cpp)
add_executable(benchmark benchmark.cpp)
-add_dependencies(debug hopscotch_map)
-add_dependencies(rle_lz77_v1 hopscotch_map)
-add_dependencies(rle_lz77_v2 hopscotch_map)
-add_dependencies(h0_lz77 hopscotch_map)
-add_dependencies(rle_bwt hopscotch_map)
-add_dependencies(cw-bwt hopscotch_map)
-add_dependencies(benchmark hopscotch_map)
-
+target_link_libraries(debug PRIVATE tsl::hopscotch_map)
+target_link_libraries(rle_lz77_v1 PRIVATE tsl::hopscotch_map)
+target_link_libraries(rle_lz77_v2 PRIVATE tsl::hopscotch_map)
+target_link_libraries(h0_lz77 PRIVATE tsl::hopscotch_map)
+target_link_libraries(rle_bwt PRIVATE tsl::hopscotch_map)
+target_link_libraries(cw-bwt PRIVATE tsl::hopscotch_map)
+target_link_libraries(benchmark PRIVATE tsl::hopscotch_map)
--- vg.orig/Makefile
+++ vg/Makefile
@@ -431,7 +431,7 @@
$(INC_DIR)/dynamic/dynamic.hpp: $(DYNAMIC_DIR)/include/*.hpp $(DYNAMIC_DIR)/include/internal/*.hpp
rm -Rf $(INC_DIR)/dynamic.hpp $(INC_DIR)/dynamic
# annoyingly doesn't have an install option on the cmake, so we manually move their external dependency headers
- cd $(CWD)/$(DYNAMIC_DIR) && rm -Rf build && mkdir -p build && cd build && cmake .. && make && cp -r hopscotch_map-prefix/src/hopscotch_map/include/* $(CWD)/$(INC_DIR)/
+ cd $(CWD)/$(DYNAMIC_DIR) && rm -Rf build && mkdir -p build && cd build && cmake .. && make
# Do the copy of the main file last so we can tell if this recipe failed and redo it.
# Otherwise we get dynamic.hpp without its deps
mkdir -p $(INC_DIR)/dynamic && cp -r $(CWD)/$(DYNAMIC_DIR)/include/* $(INC_DIR)/dynamic
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian packaged version of protobuf
--- vg.orig/Makefile
+++ vg/Makefile
@@ -35,7 +35,7 @@
# Define libraries to link against. Make sure to always link statically against
# htslib and libdeflate and Protobuf so that we can use position-dependent code
# there for speed.
-LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lhandlegraph -lvcflib -lgssw -lssw $(CWD)/$(LIB_DIR)/libprotobuf.a -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lgfakluge -lraptor2 -lsdsl -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg
+LD_LIB_FLAGS:= -L$(CWD)/$(LIB_DIR) $(CWD)/$(LIB_DIR)/libvgio.a -lhandlegraph -lvcflib -lgssw -lssw -lprotobuf -lsublinearLS $(CWD)/$(LIB_DIR)/libhts.a -ldeflate -lpthread -ljansson -lncurses -lgcsa2 -lgbwt -ldivsufsort -ldivsufsort64 -lvcfh -lgfakluge -lraptor2 -lsdsl -lpinchesandcacti -l3edgeconnected -lsonlib -lfml -llz4 -lstructures -lvw -lboost_program_options -lallreduce -lbdsg
# Use pkg-config to find Cairo and all the libs it uses
LD_LIB_FLAGS += $(shell pkg-config --libs --static cairo jansson)
@@ -173,7 +173,6 @@
RAPTOR_DIR:=deps/raptor
-PROTOBUF_DIR:=deps/protobuf
LOCKFREE_MALLOC_DIR:=deps/lockfree-malloc
SDSL_DIR:=deps/sdsl-lite
SNAPPY_DIR:=deps/snappy
@@ -211,7 +210,6 @@
# But that requires fancy ar scripting.
# If you just pass them to ar it puts the library *file* in libvg where nothing can read it.
LIB_DEPS =
-LIB_DEPS += $(LIB_DIR)/libprotobuf.a
LIB_DEPS += $(LIB_DIR)/libsdsl.a
LIB_DEPS += $(LIB_DIR)/libssw.a
LIB_DEPS += $(LIB_DIR)/libsnappy.a
@@ -291,13 +289,6 @@
ln -s `which shuf` $(BIN_DIR)/shuf
endif
-# Make sure we have protoc built, and the protobuf lib
-bin/protoc: $(LIB_DIR)/libprotobuf.a
-$(LIB_DIR)/libprotobuf.a: deps/protobuf/src/google/protobuf/*.cc
- rm -rf $(LIB_DIR)/libprotobuf* $(LIB_DIR)/libprotoc*
- rm -Rf include/google/protobuf/
- +. ./source_me.sh && cd $(PROTOBUF_DIR) && ./autogen.sh && export DIST_LANG=cpp && ./configure --prefix="$(CWD)" $(FILTER) && $(MAKE) $(FILTER) && $(MAKE) install && export PATH=$(CWD)/bin:$$PATH
-
test/build_graph: test/build_graph.cpp $(LIB_DIR)/libvg.a $(SRC_DIR)/json2pb.h $(SRC_DIR)/vg.hpp
. ./source_me.sh && $(CXX) $(INCLUDE_FLAGS) $(CXXFLAGS) -o test/build_graph test/build_graph.cpp -lvg $(LD_LIB_FLAGS) $(FILTER)
@@ -347,7 +338,7 @@
# But we don't delete libvgio.dylib; Mac insists on it for some reason.
# We also need to clear out the old Protobuf header in case Protobuf updated;
# we don't want to accidentally build against it.
-$(LIB_DIR)/libvgio.a: $(LIB_DIR)/libhts.a $(LIB_DIR)/pkgconfig/htslib.pc $(LIB_DIR)/libprotobuf.a $(LIBVGIO_DIR)/CMakeLists.txt $(LIBVGIO_DIR)/src/*.cpp $(LIBVGIO_DIR)/include/vg/io/*.hpp
+$(LIB_DIR)/libvgio.a: $(LIB_DIR)/libhts.a $(LIB_DIR)/pkgconfig/htslib.pc $(LIBVGIO_DIR)/CMakeLists.txt $(LIBVGIO_DIR)/src/*.cpp $(LIBVGIO_DIR)/include/vg/io/*.hpp
+rm -f $(CWD)/$(INC_DIR)/vg.pb.h $(CWD)/$(INC_DIR)/vg/vg.pb.h
+rm -Rf $(CWD)/$(INC_DIR)/vg/io/
+. ./source_me.sh && cd $(LIBVGIO_DIR) && PKG_CONFIG_PATH=$(CWD)/$(LIB_DIR)/pkgconfig:$(PKG_CONFIG_PATH) cmake -DCMAKE_PREFIX_PATH=$(CWD) -DCMAKE_LIBRARY_PATH=$(CWD)/$(LIB_DIR) -DCMAKE_INSTALL_PREFIX=$(CWD) -DCMAKE_INSTALL_LIBDIR=lib . $(FILTER) && $(MAKE) clean && VERBOSE=1 $(MAKE) $(FILTER) && $(MAKE) install && rm -f $(CWD)/$(LIB_DIR)/libvgio.so
@@ -579,7 +570,7 @@
$(RM) -r $(OBJ_DIR)/*.o $(OBJ_DIR)/*.d
$(RM) -f $(INC_DIR)/vg_git_version.hpp $(INC_DIR)/vg_system_version.hpp
-clean: clean-protobuf clean-vcflib
+clean: clean-vcflib
$(RM) -r $(BIN_DIR)
$(RM) -r $(LIB_DIR)
$(RM) -r $(UNITTEST_OBJ_DIR)
@@ -612,11 +603,6 @@
# lru_cache is never built because it is header-only.
# bash-tap is never built either.
-clean-protobuf:
- cd $(DEP_DIR) && cd protobuf && $(MAKE) clean
- rm -f $(LIB_DIR)/libprotobuf.a
- rm -rf $(INC_DIR)/google/protobuf/
-
clean-vcflib:
cd $(DEP_DIR) && cd vcflib && $(MAKE) clean
rm -f $(LIB_DIR)/libvcfh.a
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian package for raptor/rapper
--- a/Makefile
+++ b/Makefile
@@ -204,7 +204,6 @@ CONFIGURATION_OBJ =
--- vg.orig/Makefile
+++ vg/Makefile
@@ -204,7 +204,6 @@
......@@ -10,7 +10,7 @@ Description: Use the Debian package for raptor/rapper
LOCKFREE_MALLOC_DIR:=deps/lockfree-malloc
SDSL_DIR:=deps/sdsl-lite
SNAPPY_DIR:=deps/snappy
@@ -259,7 +258,6 @@ LIB_DEPS += $(LIB_DIR)/libgssw.a
@@ -259,7 +258,6 @@
LIB_DEPS += $(LIB_DIR)/libvcfh.a
LIB_DEPS += $(LIB_DIR)/libsonlib.a
LIB_DEPS += $(LIB_DIR)/libpinchesandcacti.a
......@@ -18,7 +18,7 @@ Description: Use the Debian package for raptor/rapper
LIB_DEPS += $(LIB_DIR)/libfml.a
LIB_DEPS += $(LIB_DIR)/libsublinearLS.a
LIB_DEPS += $(LIB_DIR)/libstructures.a
@@ -285,7 +283,6 @@ DEPS += $(INC_DIR)/progress_bar.hpp
@@ -285,7 +283,6 @@
DEPS += $(INC_DIR)/dozeu/dozeu.h
DEPS += $(INC_DIR)/mmmultimap.hpp
DEPS += $(INC_DIR)/ips4o.hpp
......@@ -26,7 +26,7 @@ Description: Use the Debian package for raptor/rapper
DEPS += $(INC_DIR)/BooPHF.h
# Only depend on these files for the final linking stage.
@@ -333,7 +330,7 @@ get-deps:
@@ -333,7 +330,7 @@
# And we have submodule deps to build
deps: $(DEPS)
......@@ -35,7 +35,7 @@ Description: Use the Debian package for raptor/rapper
. ./source_me.sh && cd test && prove -v t
docs: $(SRC_DIR)/*.cpp $(SRC_DIR)/*.hpp $(SUBCOMMAND_SRC_DIR)/*.cpp $(SUBCOMMAND_SRC_DIR)/*.hpp $(UNITTEST_SRC_DIR)/*.cpp $(UNITTEST_SRC_DIR)/*.hpp
@@ -484,23 +481,6 @@ $(LIB_DIR)/libsonlib.a: $(CWD)/$(DEP_DIR
@@ -485,23 +482,6 @@
$(LIB_DIR)/libpinchesandcacti.a: $(LIB_DIR)/libsonlib.a $(CWD)/$(DEP_DIR)/pinchesAndCacti/inc/*.h $(CWD)/$(DEP_DIR)/pinchesAndCacti/impl/*.c
+. ./source_me.sh && cd $(DEP_DIR)/pinchesAndCacti && $(MAKE) $(FILTER) && cd $(CWD)/$(DEP_DIR)/sonLib && cp lib/stPinchesAndCacti.a $(CWD)/$(LIB_DIR)/libpinchesandcacti.a && cp lib/3EdgeConnected.a $(CWD)/$(LIB_DIR)/lib3edgeconnected.a && mkdir -p $(CWD)/$(INC_DIR)/sonLib && cp lib/*.h $(CWD)/$(INC_DIR)/sonLib
......@@ -59,7 +59,7 @@ Description: Use the Debian package for raptor/rapper
$(LIB_DIR)/libstructures.a: $(STRUCTURES_DIR)/src/include/structures/*.hpp $(STRUCTURES_DIR)/src/*.cpp $(STRUCTURES_DIR)/Makefile
+. ./source_me.sh && cd $(STRUCTURES_DIR) && $(MAKE) clean && $(MAKE) lib/libstructures.a $(FILTER) && cp lib/libstructures.a $(CWD)/$(LIB_DIR)/ && cp -r src/include/structures $(CWD)/$(INC_DIR)/
@@ -722,7 +702,6 @@ clean: clean-vcflib
@@ -705,7 +685,6 @@
cd $(DEP_DIR) && cd sublinear-Li-Stephens && $(MAKE) clean
cd $(DEP_DIR) && cd libhandlegraph && $(MAKE) clean
cd $(DEP_DIR) && cd libvgio && $(MAKE) clean
......