[med-svn] [Git][med-team/gclib][master] 2 commits: Enhance description

Andreas Tille gitlab at salsa.debian.org
Thu Apr 18 13:41:08 BST 2019



Andreas Tille pushed to branch master at Debian Med / gclib


Commits:
4acf8e71 by Andreas Tille at 2019-04-18T11:36:41Z
Enhance description

- - - - -
2703dfb7 by Andreas Tille at 2019-04-18T12:40:55Z
Try autoconf to enable proper library building.  Some issues need to be sorted out

- - - - -


3 changed files:

- debian/control
- + debian/patches/autoconf.patch
- + debian/patches/series


Changes:

=====================================
debian/control
=====================================
@@ -14,13 +14,10 @@ Architecture: any
 Depends: ${shlibs:Depends},
          ${misc:Depends}
 Description: Genomic C(++) library of reusable code for bioinformatics projects
- This is an eclectic gathering of (mostly) C++ code which I am using for
+ This is an eclectic gathering of (mostly) C++ code which used for
  some of my bioinformatics projects. The main idea is to provide lean
  code and efficient data structures, trying to avoid too many code
- dependencies of heavy libraries while minimizing production cycles (and
- this also implies a decent compile/build time -- I am looking at you,
- bloated configure scripts and lengthy compile times of Boost code or
- other heavy C++ template code..).
+ dependencies of heavy libraries while minimizing production cycles.
  .
  This code was gathered even before the C++ STL had been fully adopted as
  a cross-platform "standard". Since STL by itself is a bit heavier for


=====================================
debian/patches/autoconf.patch
=====================================
@@ -0,0 +1,231 @@
+Author: Andreas Tille <tille at debian.org>
+Last-Update: Thu, 18 Apr 2019 12:54:42 +0200
+Descriptions: Build proper libraries via automake
+
+--- /dev/null
++++ b/Makefile.am
+@@ -0,0 +1,29 @@
++lib_LTLIBRARIES  = libgclib.la
++
++libgclibdir=$(includedir)
++libgclib_HEADERS= *.h *.hh
++libgclib_la_SOURCES =  codons.cpp \
++                       GAlnExtend.cpp \
++                       GapAssem.cpp \
++                       GArgs.cpp \
++                       GBam.cpp \
++                       GBase.cpp \
++                       gcdb.cpp \
++                       GCdbYank.cpp \
++                       gdimg.cpp \
++                       gdna.cpp \
++                       GFaSeqGet.cpp \
++                       GFastaIndex.cpp \
++                       gff.cpp \
++                       gsocket.cpp \
++                       gstopwatch.cpp \
++                       GStr.cpp \
++                       gtest.cpp \
++                       GThreads.cpp
++libgclib_la_LDFLAGS = -version-info @LIB_VERSION@
++
++libgclib_la_CPPFLAGS = $(INCLUDES)
++
++pkgconfigdir=$(libdir)/pkgconfig
++pkgconfig_DATA = libgclib.pc
++
+--- /dev/null
++++ b/libgclib.pc.in
+@@ -0,0 +1,11 @@
++prefix=@prefix@
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
++
++
++Name: libgclib
++Version: @VERSION@
++Description: Genomic C(++) library of reusable code for bioinformatics projects
++Libs: -L${libdir} -lgclib
++Cflags: -I${includedir}
+--- /dev/null
++++ b/configure.ac
+@@ -0,0 +1,61 @@
++#                                               -*- Autoconf -*-
++# Process this file with autoconf to produce a configure script.
++
++AC_INIT(gclib, 1, geo.pertea at gmail.com)
++AC_CONFIG_HEADERS([config.h])
++
++AC_PREREQ(2.57)
++
++#	Directory that contains install-sh and other auxiliary files
++AC_CONFIG_AUX_DIR([config])
++
++################################################################################
++#	According to (http://www.mail-archive.com/autoconf@gnu.org/msg14232.html)
++#		this macro should be after AC_INIT but before AM_INIT_AUTOMAKE
++################################################################################
++AC_CONFIG_MACRO_DIR(config)
++
++AM_INIT_AUTOMAKE([1.6 foreign dist-zip tar-ustar filename-length-max=299])
++
++LIB_VERSION=1:1
++
++AC_SUBST([VERSION])
++AC_SUBST([LIB_VERSION])
++
++AC_SUBST([VERSION])
++
++# Checks for programs.
++AC_PROG_LN_S
++AC_PROG_INSTALL
++AC_PROG_LIBTOOL
++
++################################################################################
++# calling AC_PROG_CXX resets CXXFLAGS, we use our own flags set in the
++#	the AX_CXXFLAGS macro below.
++# So we cache the argument to configure
++#	here in ARG_CXX_FLAGS (so that our macro does not override them)
++################################################################################
++ARG_CXX_FLAGS="$CXXFLAGS"
++AC_PROG_CXX
++
++#Ranlib handled by check for libtool
++CXXFLAGS="$ARG_CXX_FLAGS"
++AX_CXXFLAGS
++
++AC_SUBST(CXXFLAGS)
++
++CPPFLAGS="-I\$(top_srcdir) $CPPFLAGS"
++# Checks for libraries.
++
++# Checks for header files.
++AC_HEADER_STDC
++AC_CHECK_HEADERS([stdlib.h])
++
++AC_PROG_MAKE_SET
++
++AC_CONFIG_FILES([
++	Makefile
++	libgclib.pc
++	])
++AC_OUTPUT
++
+--- a/Makefile
++++ /dev/null
+@@ -1,114 +0,0 @@
+-INCDIRS := -I. -I${GDIR} -I${BAM}
+-
+-CXX   := $(if $(CXX),$(CXX),g++)
+-
+-LINKER  := $(if $(LINKER),$(LINKER),g++)
+-
+-LDFLAGS := $(if $(LDFLAGS),$(LDFLAGS),-g)
+-
+-LIBS    := 
+-
+-
+-# A simple hack to check if we are on Windows or not (i.e. are we using mingw32-make?)
+-ifeq ($(findstring mingw32, $(MAKE)), mingw32)
+-WINDOWS=1
+-endif
+-
+-# Compiler settings
+-TLIBS = 
+-# Non-windows systems need pthread
+-ifndef WINDOWS
+-TLIBS += -lpthread
+-endif
+-
+-
+-
+-DMACH := $(shell ${CXX} -dumpmachine)
+-
+-# MinGW32 GCC 4.5 link problem fix
+-ifdef WINDOWS
+-DMACH := windows
+-ifeq ($(findstring 4.5.,$(shell g++ -dumpversion)), 4.5.)
+-LDFLAGS += -static-libstdc++ -static-libgcc
+-endif
+-endif
+-
+-# Misc. system commands
+-ifdef WINDOWS
+-RM = del /Q
+-else
+-RM = rm -f
+-endif
+-
+-# File endings
+-ifdef WINDOWS
+-EXE = .exe
+-else
+-EXE =
+-endif
+-
+-CC      := g++
+-
+-BASEFLAGS  := -Wall -Wextra ${INCDIRS} $(MARCH) \
+- -D_REENTRANT -fno-exceptions -fno-rtti
+-
+-GCCVER5 := $(shell expr `g++ -dumpversion | cut -f1 -d.` \>= 5)
+-ifeq "$(GCCVER5)" "1"
+- BASEFLAGS += -Wno-implicit-fallthrough
+-endif
+-
+-GCCVER8 := $(shell expr `g++ -dumpversion | cut -f1 -d.` \>= 8)
+-ifeq "$(GCCVER8)" "1"
+-  BASEFLAGS += -Wno-class-memaccess
+-endif
+-
+-#add the link-time optimization flag if gcc version > 4.5
+-GCC_VERSION:=$(subst ., ,$(shell gcc -dumpversion))
+-GCC_MAJOR:=$(word 1,$(GCC_VERSION))
+-GCC_MINOR:=$(word 2,$(GCC_VERSION))
+-#GCC_SUB:=$(word 3,$(GCC_VERSION))
+-GCC_SUB:=x
+-
+-GCC45OPTS :=
+-GCC45OPTMAIN :=
+-
+-ifneq (,$(filter %release %nodebug, $(MAKECMDGOALS)))
+-  # -- release build
+-  CXXFLAGS := $(if $(CXXFLAGS),$(CXXFLAGS),-g -O3)
+-  CXXFLAGS += -DNDEBUG $(BASEFLAGS)
+-  ifeq ($(shell expr $(GCC_MAJOR).$(GCC_MINOR) '>=' 4.5),1)
+-    CXXFLAGS += -flto
+-    GCC45OPTS := -flto
+-    GCC45OPTMAIN := -fwhole-program
+-  endif
+-else
+-  # -- debug build
+-  CXXFLAGS := $(if $(CXXFLAGS),$(CXXFLAGS),-g -O0)
+-  ifneq (, $(findstring darwin, $(DMACH)))
+-      CXXFLAGS += -gdwarf-3
+-  endif
+-  CXXFLAGS += -DDEBUG -D_DEBUG -DGDEBUG $(BASEFLAGS)
+-endif
+-
+-%.o : %.cpp
+-	${CXX} ${CXXFLAGS} -c $< -o $@
+-
+-
+-.PHONY : all
+-all:    mdtest
+-nodebug: all
+-release: all
+-debug: all
+-
+-OBJS := GBase.o GStr.o GArgs.o
+-
+-version: ; @echo "GCC Version is: "$(GCC_MAJOR)":"$(GCC_MINOR)":"$(GCC_SUB)
+-	@echo "> GCC Opt. string is: "$(GCC45OPTS)
+-mdtest: $(OBJS) mdtest.o
+-	${LINKER} ${LDFLAGS} $(GCC45OPTS) $(GCC45OPTMAIN) -o $@ ${filter-out %.a %.so, $^} ${LIBS}
+-# target for removing all object files
+-
+-.PHONY : clean
+-clean:: 
+-	@${RM} $(OBJS) *.o mdtest$(EXE)
+-	@${RM} core.*


=====================================
debian/patches/series
=====================================
@@ -0,0 +1 @@
+autoconf.patch



View it on GitLab: https://salsa.debian.org/med-team/gclib/compare/de556ac71254072a8bf34e45f4067d7053750518...2703dfb7ef6cb53c11f2acaf42d942cf1fc290d9

-- 
View it on GitLab: https://salsa.debian.org/med-team/gclib/compare/de556ac71254072a8bf34e45f4067d7053750518...2703dfb7ef6cb53c11f2acaf42d942cf1fc290d9
You're receiving this email because of your account on salsa.debian.org.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20190418/d0f40787/attachment-0001.html>


More information about the debian-med-commit mailing list