Commit 22dc4a79 authored by Andreas Tille's avatar Andreas Tille
Browse files

New upstream version 0.6.8

parent e731085a
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
[submodule "htslib"]
	path = htslib
	url = https://github.com/lomereiter/htslib.git
[submodule "undeaD"]
	path = undeaD
	url = https://github.com/dlang/undeaD
[submodule "BioD"]
	path = BioD
	url = https://github.com/biod/BioD.git
[submodule "lz4"]
	path = lz4
	url = https://github.com/lz4/lz4.git
[submodule "BioD"]
	path = BioD
	url = https://github.com/biod/BioD.git
[submodule "undeaD"]
	path = undeaD
	url = https://github.com/biod/undeaD.git
+1 −8
Original line number Diff line number Diff line
@@ -8,15 +8,8 @@ matrix:
  include:
    - os: linux
      compiler: gcc
      addons:
        apt:
          packages:
            # Our dev environment is a more recent GNU C++
            # note that Debian liblz4-dev no longer supports LZ4 frames
            # - liblz4-dev
            - shunit2
    - os: osx
      compiler: clang
script:
  - make
  # - make test - disable tests because shunit2 we use is older
 No newline at end of file
  - make check
+22 −5
Original line number Diff line number Diff line
@@ -2,10 +2,27 @@

## Sambamba dependencies

* D compiler
* gcc tool chain
* BioD
* htslib
* undeaD
* D compiler (ldc)
* BioD (git submodule)
* gcc tool chain (for htslib and lz4)
* htslib (git submodule)
* undeaD (git submodule)
* libz
* liblz4

## Install Sambamba from source

After checking out the source from github with git submodules is is
possibleto install the build tools with GNU Guix

    guix package -i gcc gdb bash ld-wrapper ldc which python2 git

Even better, with Guix, you can create a light-weight container in the source tree
and run our development setup

    guix environment -C guix --ad-hoc gcc gdb bash ld-wrapper ldc which python git
    make clean
    make -j 4
    make check

this way all dependencies are isolated.
+22 −7
Original line number Diff line number Diff line
# This is a minimalistic make file to build sambamba with ldc2 as per instructions on
# https://github.com/biod/sambamba#compiling-sambamba
#
# Targets (64-bit):
#
#   Linux
#   OSX
#
# Typical usage:
#
#    make LIBRARY_PATH=~/opt/ldc2-1.7.0-linux-x86_64/lib debug|profile|release|static
#   make LIBRARY_PATH=~/opt/ldc2-$ver-linux-x86_64/lib debug|profile|release|static
#
# Static release with optimization (for releases):
#
#   make LIBRARY_PATH=~/opt/ldc2-1.7.0-linux-x86_64/lib pgo-static
#   make LIBRARY_PATH=~/opt/ldc2-$ver-linux-x86_64/lib pgo-static
#
# Debug version
#
#   make LIBRARY_PATH=~/opt/ldc2-1.7.0-linux-x86_64/lib debug
#   make LIBRARY_PATH=~/opt/ldc2-$ver-linux-x86_64/lib debug
#

D_COMPILER=ldc2

UNAME_S := $(shell uname -s)
ifeq ($(UNAME_S),Darwin)
  SYS = OSX
else
  SYS = LINUX
  LINK_OBJ = utils/ldc_version_info_.o
endif

DFLAGS      = -wi -I. -IBioD -IundeaD/src -g

DLIBS       = $(LIBRARY_PATH)/libphobos2-ldc.a $(LIBRARY_PATH)/libdruntime-ldc.a
DLIBS_DEBUG = $(LIBRARY_PATH)/libphobos2-ldc-debug.a $(LIBRARY_PATH)/libdruntime-ldc-debug.a
LIBS        = htslib/libhts.a lz4/lib/liblz4.a -L-L$(LIBRARY_PATH) -L-lrt -L-lpthread -L-lm
LIBS        = htslib/libhts.a lz4/lib/liblz4.a -L-L$(LIBRARY_PATH) -L-lpthread -L-lm
LIBS_STATIC = $(LIBRARY_PATH)/libc.a $(DLIBS) htslib/libhts.a $(LIBRARY_PATH)/liblz4.a
SRC         = $(wildcard main.d utils/*.d thirdparty/*.d cram/*.d) $(wildcard undeaD/src/undead/*.d) $(wildcard BioD/bio/*/*.d BioD/bio/*/*/*.d BioD/bio2/*.d BioD/bio2/*/*.d) $(wildcard sambamba/*.d sambamba/*/*.d sambamba/*/*/*.d)
OBJ         = $(SRC:.d=.o) utils/ldc_version_info_.o
@@ -49,7 +64,7 @@ htslib-static:
	cd htslib && $(MAKE)

ldc-version-info:
	./gen_ldc_version_info.py $(shell which ldmd2) > utils/ldc_version_info_.d
	python3 ./gen_ldc_version_info.py $(shell which ldmd2) > utils/ldc_version_info_.d
	cat utils/ldc_version_info_.d

utils/ldc_version_info_.o: ldc-version-info
@@ -78,7 +93,7 @@ singleobj:
# ---- Link step
$(OUT): build-setup singleobj utils/ldc_version_info_.o
	$(info linking...)
	$(D_COMPILER) $(DFLAGS) -of=bin/sambamba bin/sambamba.o utils/ldc_version_info_.o $(LIBS)
	$(D_COMPILER) $(DFLAGS) -of=bin/sambamba bin/sambamba.o $(LINK_OBJ) $(LIBS)

test:
	./run_tests.sh
@@ -97,7 +112,7 @@ install:
	install -m 0755 bin/sambamba $(prefix)/bin

clean: clean-d
	cd htslib ; make clean
	cd htslib ; $(MAKE) clean
	rm -f profile.data
	rm -f profile.raw

+9 −6
Original line number Diff line number Diff line
# GNU Guix makefile. GNU Guix is the package manager for GNU and we use it for
# sambamba development and deployment. Normally use the standard Makefile
# instead.
# GNU Guix makefile. GNU Guix is the package manager for GNU and we
# use it for sambamba development and deployment. Normally use the
# standard Makefile instead because it compiles into a singleobj.
#
# To build sambamba on GNU Guix:
#
#   make -f Makefile.guix
#   make -f Makefile.guix GUIX=~/opt/sambamba-dev-env
#
# run with
#
@@ -18,7 +18,10 @@
#
# The following two are modified by the Guix package:
D_COMPILER=ldc2
LDC_LIB_PATH=$(HOME)/.guix-profile/lib
ifndef GUIX
  GUIX=$(HOME)/.guix-profile
endif
LDC_LIB_PATH=$(GUIX)/lib

UNDEAD_PATH=../undeaD/src
BIOD_PATH=../BioD
@@ -31,7 +34,7 @@ RPATH = -L--rpath=$(dir $(realpath $(LDC_LIB_PATH)/libz.so)):$(dir $(realpath $
LIBS   = htslib/libhts.a -L-L$(LDC_LIB_PATH) -L-lrt -L-lpthread -L-lm -L-lz -L-llz4
# LIBS   = htslib/libhts.a -L-lrt -L-lpthread -L-lm -L-lz -L-llz4
LIBS_STATIC = $(DLIBS) htslib/libhts.a $(LDC_LIB_PATH)/liblz4.a
SRC    = $(wildcard utils/*.d thirdparty/*.d cram/*.d) $(wildcard $(UNDEAD_PATH)/undead/**/*.d) $(wildcard $(UNDEAD_PATH)/undead/*.d) $(wildcard $(BIOD_PATH)/bio/*/*.d $(BIOD_PATH)/bio/*/*/*.d) $(wildcard sambamba/*.d sambamba/*/*.d sambamba/*/*/*.d) utils/ldc_version_info_.d
SRC         = $(wildcard main.d utils/*.d thirdparty/*.d cram/*.d) $(wildcard undeaD/src/undead/*.d undeaD/src/undead/*/*.d) $(wildcard BioD/bio/*/*.d BioD/bio/*/*/*.d BioD/bio2/*.d BioD/bio2/*/*.d) $(wildcard sambamba/*.d sambamba/*/*.d sambamba/*/*/*.d)
OBJ    = $(SRC:.d=.o)
OUT    = bin/sambamba

Loading