Skip to content

Commit

Permalink
Finish Release-2.0.8
Browse files Browse the repository at this point in the history
Fixes for the build system.

Rename jellyfish binaries to avoid name clases on systems that already include jellyfish.
  • Loading branch information
Daniel Mapleson committed Dec 4, 2015
2 parents 0b1f16c + dff617a commit 5a7aa98
Show file tree
Hide file tree
Showing 1,207 changed files with 702 additions and 524,798 deletions.
21 changes: 2 additions & 19 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,12 @@
# Tells aclocal to put 'aclocal.m4' into the 'm4' directory
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}

SEQAN_ARCHIVE = deps/seqan-library-2.0.0.tar.gz

dist_pkgdata_DATA = $(SEQAN_ARCHIVE)

install-data-hook:
cd $(DESTDIR)/deps; \
cat $(SEQAN_ARCHIVE) | gunzip | $(TAR) -H gnu --list > uninstall_manifest.txt; \
cat $(SEQAN_ARCHIVE) | gunzip | $(TAR) -H gnu --no-same-owner --extract; \
rm --force $(SEQAN_ARCHIVE); \
cat uninstall_manifest.txt | sed --expression='s/^\|$$/"/g' | xargs chmod a=rX,u+w

uninstall-local:
cd $(DESTDIR)/deps; \
cat uninstall_manifest.txt | sed --expression='s/ /\\ /g' | xargs rm --force; \
rm --force uninstall_manifest.txt

# ADDITIONAL FILES TO INSTALL
EXTRA_DIST = README.md \
COPYING \
AUTHORS \
INSTALL \
ChangeLog \
deps/seqan-library-2.0.0
ChangeLog


# Scripts NOT to install
Expand All @@ -34,6 +17,6 @@ dist_noinst_SCRIPTS = autogen.sh clean.sh
dist_bin_SCRIPTS = scripts/dist_analysis.py

# SRC DIRS
SUBDIRS = deps/jellyfish-2.2.0 src tests
SUBDIRS = deps/jellyfish-2.2.0 deps/seqan-library-2.0.0 src tests

AUTOMAKE_OPTIONS = subdir-objects
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,25 @@ Generic installation description can be found in the INSTALL file. Short summary
- Acquire the source code. Either download and decompress the distributable ("tar -xvf kat-<version>.tar.gz"), or clone the git repository (For ssh: ```git clone [email protected]:TGAC/KAT.git```; or for https: ```git clone https://github.com/TGAC/KAT.git```), into a directory on your machine.
- "cd" into root directory of the installation
- Ensure these tools are correctly installed and available on your system:
- gcc tool chain
- gcc V4.9+
- autoconf V2.53+
- automake V1.11+
- libtool V2.4.2+
- make
- boost V1.53+
- gnuplot (required for plotting at runtime, must be available on the path to use this functionality) - http://www.gnuplot.info
- If you cloned the git repository you must first run "./autogen.sh" to create the configure and make files for your project. (If you downloaded a source code distribution tarball then you can skip this step.)
- For a typical installation on a machine where you have root access type ```./configure; make; sudo make install;```

The configure script can take several options as arguments. One commonly modified option is ```--prefix```, which will install KAT to a custom directory. By default this is "/usr/local", so the KAT executable would be found at "/usr/local/bin" by default. In addition, some options specific to managing KAT dependencies located in non-standard locations are:

- ```--with-boost``` - for specifying a custom boost directory (boost is only required for unit testing)
- ```--with-boost``` - for specifying a custom boost directory

Type ```./configure --help``` for full details.

The Makefile for KAT can take several goals. Full details of common make goals can be found in the INSTALL file. Typically, the following options can optionally used by KAT:

- ```make check``` - runs unit tests. *NOTE*: Requires boost unit test framework to be installed and available.
- ```make check``` - runs unit tests.
- ```make dist``` - packages the installation into a tarballed distributable.
- ```make distcheck``` - runs some sanity tests to ensure the tarballed distributable is likely to work.

Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
##########################################################################

# Autoconf initialistion. Sets package name version and contact details
AC_INIT([Kmer Analysis Toolkit (KAT)],[2.0.7],[[email protected] and/or [email protected]],[kat],[http://www.tgac.ac.uk/kat])
AC_INIT([Kmer Analysis Toolkit (KAT)],[2.0.8],[[email protected] and/or [email protected]],[kat],[http://www.tgac.ac.uk/kat])

# Require autoconf 2.53 or higher
AC_PREREQ([2.53])
Expand Down Expand Up @@ -111,6 +111,6 @@ AM_LIBS="${PTHREAD_CFLAGS} ${BOOST_STATIC_LIBS}"
AC_SUBST([AM_LIBS])

AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile])
AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile deps/seqan-library-2.0.0/Makefile])
AC_CONFIG_SUBDIRS([deps/jellyfish-2.2.0])
AC_OUTPUT
1 change: 1 addition & 0 deletions deps/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.txt
38 changes: 19 additions & 19 deletions deps/jellyfish-2.2.0/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ EXTRA_DIST = doc/jellyfish.pdf doc/jellyfish.man README LICENSE # jellyfish.spec
man1_MANS = doc/jellyfish.man

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = jellyfish-2.0.pc
pkgconfig_DATA = jellyfish-k2.0.pc

AM_LDFLAGS = -lpthread # $(VALGRIND_LIBS)
AM_CPPFLAGS = -Wall -Wnon-virtual-dtor -I$(top_srcdir) -I$(top_srcdir)/include -g -O3 $(VALGRIND_CFLAGS)
Expand All @@ -29,15 +29,15 @@ V_YAGGO_0 = @echo " YAGGO " $@;
YAGGO_SOURCES = # Append all file to be built by yaggo

# What to build
bin_PROGRAMS += bin/jellyfish
lib_LTLIBRARIES = libjellyfish-2.0.la
LDADD = libjellyfish-2.0.la # $(VALGRIND_LIBS)
bin_PROGRAMS += bin/jellyfishk
lib_LTLIBRARIES = libjellyfish-k2.0.la
LDADD = libjellyfish-k2.0.la # $(VALGRIND_LIBS)
check_PROGRAMS = bin/generate_sequence

############################
# Build Jellyfish the exec #
############################
bin_jellyfish_SOURCES = sub_commands/jellyfish.cc \
bin_jellyfishk_SOURCES = sub_commands/jellyfish.cc \
sub_commands/count_main.cc \
sub_commands/info_main.cc \
sub_commands/dump_main.cc \
Expand All @@ -49,7 +49,7 @@ bin_jellyfish_SOURCES = sub_commands/jellyfish.cc \
sub_commands/cite_main.cc \
sub_commands/mem_main.cc \
jellyfish/merge_files.cc
bin_jellyfish_LDFLAGS = $(AM_LDFLAGS) $(STATIC_FLAGS)
bin_jellyfishk_LDFLAGS = $(AM_LDFLAGS) $(STATIC_FLAGS)


YAGGO_SOURCES += sub_commands/count_main_cmdline.hpp \
Expand All @@ -66,8 +66,8 @@ YAGGO_SOURCES += sub_commands/count_main_cmdline.hpp \
######################################
# Build Jellyfish the shared library #
######################################
libjellyfish_2_0_la_LDFLAGS = -version-info 2:0:0
libjellyfish_2_0_la_SOURCES = lib/rectangular_binary_matrix.cc \
libjellyfish_k2_0_la_LDFLAGS = -version-info 2:0:0
libjellyfish_k2_0_la_SOURCES = lib/rectangular_binary_matrix.cc \
lib/mer_dna.cc lib/storage.cc \
lib/allocators_mmap.cc lib/misc.cc \
lib/int128.cc lib/thread_exec.cc \
Expand Down Expand Up @@ -140,9 +140,9 @@ SH_LOG_COMPILER = /bin/sh
AM_SH_LOG_FLAGS =

TESTS = tests/generate_sequence.sh tests/parallel_hashing.sh \
tests/merge.sh tests/bloom_filter.sh tests/big.sh \
tests/merge.sh tests/big.sh \
tests/subset_hashing.sh tests/multi_file.sh \
tests/bloom_counter.sh tests/large_key.sh
tests/large_key.sh

EXTRA_DIST += $(TESTS)
clean-local: clean-local-check
Expand All @@ -152,22 +152,22 @@ clean-local-check:

tests/parallel_hashing.log: tests/generate_sequence.log
tests/subset_hashing.log: tests/generate_sequence.log
tests/bloom_filter.log: tests/generate_sequence.log
tests/bloom_counter.log: tests/generate_sequence.log
#tests/bloom_filter.log: tests/generate_sequence.log
#tests/bloom_counter.log: tests/generate_sequence.log
tests/multi_file.log: tests/generate_sequence.log
tests/merge.log: tests/generate_sequence.log
tests/min_qual.log: tests/generate_fastq_sequence.log
tests/large_key.log: tests/generate_sequence.log
tests/quality_filter.log: tests/generate_sequence.log

# SWIG tests
TESTS += tests/swig_python.sh tests/swig_ruby.sh tests/swig_perl.sh
tests/swig_python.log: tests/generate_sequence.log
tests/swig_ruby.log: tests/generate_sequence.log
tests/swig_perl.log: tests/generate_sequence.log
EXTRA_DIST += swig/python/test_mer_file.py swig/python/test_hash_counter.py
EXTRA_DIST += swig/ruby/test_mer_file.rb swig/ruby/test_hash_counter.rb
EXTRA_DIST += swig/perl5/t/test_mer_file.t swig/perl5/t/test_hash_counter.t
#TESTS += tests/swig_python.sh tests/swig_ruby.sh tests/swig_perl.sh
#tests/swig_python.log: tests/generate_sequence.log
#tests/swig_ruby.log: tests/generate_sequence.log
#tests/swig_perl.log: tests/generate_sequence.log
#EXTRA_DIST += swig/python/test_mer_file.py swig/python/test_hash_counter.py
#EXTRA_DIST += swig/ruby/test_mer_file.rb swig/ruby/test_hash_counter.rb
#EXTRA_DIST += swig/perl5/t/test_mer_file.t swig/perl5/t/test_hash_counter.t


##############
Expand Down
6 changes: 3 additions & 3 deletions deps/jellyfish-2.2.0/configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT([jellyfish], [2.2.0], [[email protected]])
AC_INIT([jellyfish], [k2.2.0], [[email protected]])
AC_CANONICAL_HOST
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([subdir-objects foreign parallel-tests color-tests])
Expand All @@ -14,7 +14,7 @@ AC_LANG(C++)
AC_PROG_CXX

# Major version of the library
AC_SUBST([PACKAGE_LIB], [2.0])
AC_SUBST([PACKAGE_LIB], [k2.0])

# Check for md5 or md5sum
AC_ARG_VAR([MD5], [Path to md5 hashing program])
Expand All @@ -27,7 +27,7 @@ AC_ARG_VAR([YAGGO], [Yaggo switch parser generator])
AS_IF([test "x$YAGGO" = "x"], [AC_PATH_PROG([YAGGO], [yaggo], [false])])

dnl define([concat], $1$2$3)dnl
define([PC_FILE], jellyfish-2.0.pc)
define([PC_FILE], jellyfish-k2.0.pc)
AC_CONFIG_FILES([
Makefile
tests/compat.sh
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ includedir=@includedir@
Name: Jellyfish
Description: A multi-threaded hash based k-mer counter.
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -ljellyfish-2.0 -lpthread
Libs: -L${libdir} -ljellyfish-k2.0 -lpthread
Cflags: -I${includedir}/jellyfish-@PACKAGE_VERSION@
Binary file removed deps/seqan-library-2.0.0.tar.gz
Binary file not shown.
1 change: 1 addition & 0 deletions deps/seqan-library-2.0.0/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/Makefile
Loading

0 comments on commit 5a7aa98

Please sign in to comment.