[med-svn] [Git][med-team/kalign][master] 17 commits: Change d/rules layout
Nilesh Patra (@nilesh)
gitlab at salsa.debian.org
Sat Nov 5 22:35:35 GMT 2022
Nilesh Patra pushed to branch master at Debian Med / kalign
Commits:
5a5ed04d by Nilesh Patra at 2022-11-05T20:10:37+00:00
Change d/rules layout
- - - - -
599efea9 by Nilesh Patra at 2022-11-05T20:12:02+00:00
OK, easy. Just disable building shared lib, that thing should move into a new lib package anyway, and should not be here
- - - - -
677ee48b by Nilesh Patra at 2022-11-05T20:49:05+00:00
Set proper cflags/cxxflags for other simd
- - - - -
174f36be by Nilesh Patra at 2022-11-05T20:49:05+00:00
Drop simde patch: no longer needed
- - - - -
c45d8819 by Nilesh Patra at 2022-11-05T21:06:33+00:00
Add d/clean for cleaning obj-*
- - - - -
c9864978 by Nilesh Patra at 2022-11-05T21:11:02+00:00
Update dispatcher script to supported simd levels
- - - - -
fe2c7312 by Nilesh Patra at 2022-11-05T21:11:18+00:00
Install all relevant bin properly
- - - - -
f7fa12dc by Nilesh Patra at 2022-11-05T21:16:16+00:00
Simplify rules a bit
- - - - -
e13885f5 by Nilesh Patra at 2022-11-05T21:28:35+00:00
d/rules: Test binary on every simd level
- - - - -
2f3f909c by Nilesh Patra at 2022-11-05T21:32:07+00:00
Remove copyright notices/mentions of autoconf stuff which has veen removed
- - - - -
c283e03c by Nilesh Patra at 2022-11-05T21:33:42+00:00
Remove author notice from manpage
- - - - -
ff2fdf8c by Nilesh Patra at 2022-11-06T03:13:52+05:30
Mention myself in the copyright
- - - - -
887ed695 by Nilesh Patra at 2022-11-06T03:25:53+05:30
d/salsa-ci.yml: Disable reprotest
- - - - -
6bd07297 by Nilesh Patra at 2022-11-06T03:43:08+05:30
d/rules: Remove static lib and .cmake files which should not be present with this bin package
- - - - -
58f554d1 by Nilesh Patra at 2022-11-05T22:20:41+00:00
d/rules: Install simd-dispatcher script for amd64
- - - - -
f9d7869c by Nilesh Patra at 2022-11-05T22:29:50+00:00
Minor fix, now lets get it moving
- - - - -
5536fa38 by Nilesh Patra at 2022-11-05T22:29:51+00:00
Upload to unstable
- - - - -
11 changed files:
- debian/bin/simd-dispatch
- debian/changelog
- + debian/clean
- debian/copyright
- debian/kalign.1
- debian/kalignfmt.1
- + debian/patches/pass-proper-flags.patch
- debian/patches/series
- − debian/patches/simde
- debian/rules
- debian/salsa-ci.yml
Changes:
=====================================
debian/bin/simd-dispatch
=====================================
@@ -14,7 +14,7 @@ function test_and_run () {
fi
}
-for SIMD in avx2 avx sse4.1 ssse3 sse3 sse2 sse mmx ; do test_and_run ${SIMD} "$@" ; done
+for SIMD in avx2 avx sse4.1 ; do test_and_run ${SIMD} "$@" ; done
# fallback to plain option
$BASE-plain "$@"
=====================================
debian/changelog
=====================================
@@ -1,10 +1,54 @@
-kalign (1:3.3.4-1) UNRELEASED; urgency=medium
+kalign (1:3.3.4-1) unstable; urgency=medium
+ [ Andreas Tille ]
+ * Team Upload.
* Fix watch file
* New upstream version
* Standards-Version: 4.6.1 (routine-update)
- -- Andreas Tille <tille at debian.org> Fri, 04 Nov 2022 22:41:33 +0100
+ [ Nilesh Patra ]
+ * d/control:
+ + Add B-D on cmake
+ + Remove B-D on libsimde-dev, also remove Built-Using field.
+ * debian/patches:
+ + Drop keep-debugging: debug flags are being passed now w/ cmake
+ + Drop debian/patches/no-native-build: no native build anymore
+ + Drop simde patch: no longer needed, upstream has added
+ conditions for inclusions on higher SIMD levels
+ of intel-specific header files
+ + Add pass-proper-flags.patch: Set proper cflags/cxxflags for other simd
+ levels than avx2, otherwise cflags are set to baseline for other supported
+ simd levels.
+ * d/rules:
+ + Update rules layout from scratch as buildsystem changed
+ from autotools -> cmake
+ + Remove timescorealn as this is no longer provided/installed, change
+ that with kalignfmt
+ + Disable building shared lib, which is set to ON by default w/ this
+ release.
+ The SOLIBS should move into a new lib package anyway, and should not be
+ here in the binary package
+ + Install all relevant simd level binaries properly
+ + Test binary for every simd level
+ + Remove static lib and .cmake files which should not be present
+ with this bin package
+ + Install simd-dispatcher script for amd64
+ * d/t/run-unit-test:
+ + Kalign no longer allows un-aligned seq to be re-formatted,
+ hence removing test 7
+ * Manpage changes:
+ + Add manpage for kalignfmt and update old manpage for kalign
+ + Remove manpage for timescorealn
+ * Update installing examples at right location
+ + dev/ dir has been pruned, change that to tests/data
+ * Add d/clean for cleaning obj-*
+ * Update dispatcher script to supported simd levels
+ * Remove copyright notices/mentions of autoconf stuff which has been removed
+ * Remove author notice from manpage
+ * Mention myself in the copyright
+ * Disable reprotest in salsa CI
+
+ -- Nilesh Patra <nilesh at debian.org> Sat, 05 Nov 2022 22:20:20 +0000
kalign (1:3.3.2-1) unstable; urgency=medium
=====================================
debian/clean
=====================================
@@ -0,0 +1 @@
+obj-*/
=====================================
debian/copyright
=====================================
@@ -7,70 +7,11 @@ Files: *
Copyright: © 2006,2019,2020 Timo Lassmann <timolassmann at gmail.com>
License: GPL-3+
-
-Files: m4/ax_check_compile_flag.m4
-Copyright: Copyright (c) 2008 Guido U. Draheim <guidod at gmx.de>
- Copyright (c) 2011 Maarten Bosmans <mkbosmans at gmail.com>
-License: Permissive-m4
-
-Files: m4/ax_ext.m4
-Copyright: Copyright (c) 2007 Christophe Tournayre <turn3r at users.sourceforge.net>
- Copyright (c) 2013,2015 Michael Petch <mpetch at capp-sysware.com>
- Copyright (c) 2017 Rafael de Lucena Valle <rafaeldelucena at gmail.com>
-License: Permissive-m4
-
-License: Permissive-m4
- Copying and distribution of this file, with or without modification, are
- permitted in any medium without royalty provided the copyright notice
- and this notice are preserved. This file is offered as-is, without any
- warranty.
-
-
-Files: m4/ax_gcc_x86_avx_xgetbv.m4
-Copyright: Copyright (c) 2013 Michael Petch <mpetch at capp-sysware.com>
-License: GPL-3+ with Autoconf exception
-
-Files: m4/ax_gcc_x86_cpuid.m4
-Copyright: Copyright (c) 2008 Steven G. Johnson <stevenj at alum.mit.edu>
- Copyright (c) 2008 Matteo Frigo
- Copyright (c) 2015 Michael Petch <mpetch at capp-sysware.com>
-License: GPL-3+ with Autoconf exception
-
-Files: m4/ax_openmp.m4
-Copyright: Copyright (c) 2008 Steven G. Johnson <stevenj at alum.mit.edu>
-License: GPL-3+ with Autoconf exception
-
-License: GPL-3+ with Autoconf exception
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation, either version 3 of the License, or (at your
- option) any later version.
- .
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
- Public License for more details.
- .
- You should have received a copy of the GNU General Public License along
- with this program. If not, see <https://www.gnu.org/licenses/>.
- .
- As a special exception, the respective Autoconf Macro's copyright owner
- gives unlimited permission to copy, distribute and modify the configure
- scripts that are the output of Autoconf when processing the Macro. You
- need not follow the terms of the GNU General Public License when using
- or distributing such scripts, even though portions of the text of the
- Macro appear in them. The GNU General Public License (GPL) does govern
- all other use of the material that constitutes the Autoconf Macro.
- .
- This special exception to the GPL applies to versions of the Autoconf
- Macro released by the Autoconf Archive. When you make and distribute a
- modified version of the Autoconf Macro, you may extend this special
- exception to the GPL to apply to your modified version as well.
-
Files: debian/*
Copyright: © 2006-2011 Charles Plessy <plessy at debian.org>
© 2008 David Paleino <d.paleino at gmail.com>
© 2008-2012 Andreas Tille <tille at debian.org>
+ © 2020-2022 Nilesh Patra <nilesh at debian.org>
License: GPL-3+
License: GPL-3+
=====================================
debian/kalign.1
=====================================
@@ -54,4 +54,3 @@ Lassmann, Timo.
"Kalign 3: multiple sequence alignment of large data sets."
Bioinformatics (2019)
https://doi.org/10.1093/bioinformatics/btz795
-.SH AUTHOR\n This manpage was written by Nilesh Patra for the Debian distribution and\n can be used for any other usage of the program.
=====================================
debian/kalignfmt.1
=====================================
@@ -48,4 +48,3 @@ Lassmann, Timo.
"Kalign 3: multiple sequence alignment of large data sets."
Bioinformatics (2019)
https://doi.org/10.1093/bioinformatics/btz795
-.SH AUTHOR\n This manpage was written by Nilesh Patra for the Debian distribution and\n can be used for any other usage of the program.
=====================================
debian/patches/pass-proper-flags.patch
=====================================
@@ -0,0 +1,62 @@
+Description: At the moment flags are only being set for avx2/non-avx2, expand that to other simd
+Author: Nilesh Patra <nilesh at debian.org>
+Last-Update: 2022-11-05
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -87,10 +87,6 @@
+ HAVE_SSE)
+ endif()
+
+- if (HAVE_SSE)
+- message(STATUS "SSE4.1 is enabled - target CPU must support it")
+- endif()
+-
+ if (ENABLE_AVX)
+
+ #
+@@ -119,10 +115,6 @@
+ }"
+ HAVE_AVX)
+ endif()
+-
+- if (HAVE_AVX)
+- message(STATUS "AVX is enabled - target CPU must support it")
+- endif()
+ endif()
+
+ if (ENABLE_AVX2)
+@@ -154,20 +146,24 @@
+ HAVE_AVX2)
+ endif()
+
+- if (HAVE_AVX2)
+- message(STATUS "AVX2 is enabled - target CPU must support it")
+- endif()
+ endif()
+ endif()
+
+ if (HAVE_AVX2)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx2 -DHAVE_AVX2")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx2 -DHAVE_AVX2")
+-else(HAVE_AVX2)
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNOHAVE_AVX2")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNOHAVE_AVX2")
+-endif(HAVE_AVX2)
+-
++ message(STATUS "AVX2 is enabled - target CPU must support it")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx2 -DHAVE_AVX2")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx2 -DHAVE_AVX2")
++elseif(HAVE_AVX)
++ message(STATUS "AVX is enabled - target CPU must support it")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx -DHAVE_AVX")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx -DHAVE_AVX")
++elseif(HAVE_SSE)
++ message(STATUS "SSE4.1 is enabled - target CPU must support it")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.1 -DHAVE_SSE4.1")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse4.1 -DHAVE_SSE4.1")
++else()
++ message(STATUS "No SIMD level seems supported, building for baseline")
++endif()
+
+
+ add_subdirectory(lib)
=====================================
debian/patches/series
=====================================
@@ -1 +1 @@
-#simde
+pass-proper-flags.patch
=====================================
debian/patches/simde deleted
=====================================
@@ -1,276 +0,0 @@
-Author: Michael R. Crusoe <michael.crusoe at gmail.com>
-Description: leverage the SIMD Everywhere library
-Forwarded: https://github.com/TimoLassmann/kalign/pull/20
---- a/src/alignment.c
-+++ b/src/alignment.c
-@@ -20,7 +20,8 @@
-
- */
-
--#include <xmmintrin.h>
-+#define SIMDE_ENABLE_NATIVE_ALIASES
-+#include <simde/x86/sse.h>
- #include "alignment.h"
-
-
---- a/src/bisectingKmeans.c
-+++ b/src/bisectingKmeans.c
-@@ -24,13 +24,16 @@
- #include <omp.h>
- #endif
-
--#ifdef HAVE_AVX2
--#include <xmmintrin.h>
--#include <mm_malloc.h>
-+#define SIMDE_ENABLE_NATIVE_ALIASES
-+#include <simde/x86/sse.h>
-+#if !defined(_SSE_NATIVE)
-+ #include <stdlib.h>
-+ #define _mm_malloc(size, align) aligned_alloc(align, size)
-+ #define _mm_free free
-+#else
-+ #include <mm_malloc.h>
- #endif
-
--
--
- #include "tlrng.h"
- #include "msa.h"
-
-@@ -506,13 +509,8 @@ int split(float** dm,int* samples, int n
- score = 0.0f;
- for(i = 0; i < num_samples;i++){
- s = samples[i];
--#ifdef HAVE_AVX2
- edist_256(dm[s], cl, num_anchors, &dl);
- edist_256(dm[s], cr, num_anchors, &dr);
--#else
-- edist_serial(dm[s], cl, num_anchors, &dl);
-- edist_serial(dm[s], cr, num_anchors, &dr);
--#endif
- score += MACRO_MIN(dl,dr);
-
- if(dr < dl){
---- a/src/bpm.c
-+++ b/src/bpm.c
-@@ -25,10 +25,8 @@
-
- #include "tlrng.h"
-
--
--
--#ifdef HAVE_AVX2
--#include <immintrin.h>
-+#define SIMDE_ENABLE_NATIVE_ALIASES
-+#include <simde/x86/avx2.h>
-
- __m256i BROADCAST_MASK[16];
-
-@@ -37,7 +35,6 @@ __m256i bitShiftRight256ymm (__m256i *da
-
- /* taken from Alexander Yee: http://www.numberworld.org/y-cruncher/internals/addition.html#ks_add */
- __m256i add256(uint32_t carry, __m256i A, __m256i B);
--#endif
-
- /* Below are test functions */
- #ifdef BPM_UTEST
-@@ -51,11 +48,9 @@ uint8_t dyn_256(const uint8_t* t,const u
- uint8_t dyn_256_print(const uint8_t* t,const uint8_t* p,int n,int m);
- int mutate_seq(uint8_t* s, int len,int k,int L, struct rng_state* rng);
-
--#ifdef HAVE_AVX2
- /* For debugging */
- void print_256(__m256i X);
- void print_256_all(__m256i X);
--#endif
-
- /* The actual test. */
- int bpm_test(void);
-@@ -64,9 +59,7 @@ int main(void)
- {
-
- /* Important set_broadcast_mask has to be called before using bpm_256!!! */
--#ifdef HAVE_AVX2
- set_broadcast_mask();
--#endif
- RUN(bpm_test());
- return EXIT_SUCCESS;
- ERROR:
-@@ -149,11 +142,7 @@ int bpm_test(void)
- for (j =0 ; j < test_iter; j++){
- RUN(mutate_seq(b,len,i,alphabet->L,rng));
- dyn_score = dyn_256(a,b,len,len);
--#ifdef HAVE_AVX2
- bpm_score = bpm_256(a,b,len,len);
--#else
-- bpm_score = dyn_score;
--#endif
- if( abs( dyn_score - bpm_score) != 0){
- fprintf(stdout,"Scores differ: %d (dyn) %d (bpm) (%d out of %d)\n", dyn_score,bpm_score, calc_errors , total_calc);
- calc_errors++;
-@@ -200,13 +189,9 @@ int bpm_test(void)
- for(i = 0; i < 100;i+=10){
- RUN(mutate_seq(b,len,i,alphabet->L,rng));
-
--#ifdef HAVE_AVX2
- for(j = 0; j < timing_iter;j++){
- bpm_score = bpm_256(a,b,len,len);
- }
--#else
-- bpm_score = dyn_score;
--#endif
-
-
- //ASSERT(dyn_score == bpm_score, "Scores differ: %d %d.",dyn_score, bpm_score);
-@@ -373,7 +358,6 @@ ERROR:
-
- }
-
--#ifdef HAVE_AVX2
- void print_256(__m256i X)
- {
- alignas(32) uint64_t debug[4];
-@@ -394,7 +378,6 @@ void print_256_all(__m256i X)
- }
-
- #endif
--#endif
-
-
-
-@@ -462,7 +445,6 @@ uint8_t bpm(const uint8_t* t,const uint8
- }
-
-
--#ifdef HAVE_AVX2
- uint8_t bpm_256(const uint8_t* t,const uint8_t* p,int n,int m)
- {
- __m256i VP,VN,D0,HN,HP,X,NOTONE;
-@@ -658,4 +640,3 @@ __m256i bitShiftRight256ymm (__m256i *da
- carryOut = _mm256_xor_si256 (innerCarry, rotate); //FIXME: not sure if this is correct!!!
- return carryOut;
- }
--#endif
---- a/src/euclidean_dist.c
-+++ b/src/euclidean_dist.c
-@@ -22,23 +22,24 @@
-
- #include "euclidean_dist.h"
- #include "tlrng.h"
--#ifdef HAVE_AVX2
--#include <xmmintrin.h>
--#include <immintrin.h>
--#include <mm_malloc.h>
-+#define SIMDE_ENABLE_NATIVE_ALIASES
-+#include <simde/x86/avx.h>
-+#if !defined(_SSE_NATIVE)
-+ #include <stdlib.h>
-+ #define _mm_malloc(size, align) aligned_alloc(align, size)
-+ #define _mm_free free
-+#else
-+ #include <mm_malloc.h>
- #endif
-
-
--
- #include "float.h"
-
- #include "esl_stopwatch.h"
- /* These functions were taken from: */
- /* https://stackoverflow.com/questions/6996764/fastest-way-to-do-horizontal-float-vector-sum-on-x86 */
--#ifdef HAVE_AVX2
- float hsum256_ps_avx(__m256 v);
- float hsum_ps_sse3(__m128 v);
--#endif
-
- #ifdef ITEST_EDIST
- int main(void)
-@@ -74,7 +75,6 @@ int main(void)
- }
- }
- LOG_MSG("Check for correctness.");
--#ifdef HAVE_AVX2
- for(i = 0; i < 100;i++){
- for(j = 0; j <= i;j++){
- edist_serial(mat[i], mat[j], num_element, &d1);
-@@ -85,7 +85,6 @@ int main(void)
- }
- }
- }
--#endif
- DECLARE_TIMER(t);
-
- LOG_MSG("Timing serial");
-@@ -101,7 +100,6 @@ int main(void)
- GET_TIMING(t);
- //LOG_MSG("%f\tsec.",GET_TIMING(t));
-
--#ifdef HAVE_AVX2
- LOG_MSG("Timing AVX");
- START_TIMER(t);
- for(c = 0; c < max_iter; c++){
-@@ -117,7 +115,6 @@ int main(void)
- GET_TIMING(t);
- //LOG_MSG("%f\tsec.",GET_TIMING(t));
-
--#endif
- for(i = 0; i < 100;i++){
- #ifdef HAVE_AVX2
- _mm_free(mat[i]);
-@@ -169,7 +166,6 @@ int edist_serial_d(const double* a,const
- return OK;
- }
-
--#ifdef HAVE_AVX2
-
- int edist_256(const float* a,const float* b, const int len, float* ret)
- {
-@@ -218,4 +214,3 @@ float hsum_ps_sse3(__m128 v)
- return _mm_cvtss_f32(sums);
- }
-
--#endif
---- a/src/misc.c
-+++ b/src/misc.c
-@@ -23,9 +23,8 @@
- #include "tldevel.h"
- #include "tlrng.h"
-
--#ifdef HAVE_AVX2
--#include <immintrin.h>
--#endif
-+#define SIMDE_ENABLE_NATIVE_ALIASES
-+#include <simde/x86/avx.h>
-
- #include "misc.h"
- #include <stdalign.h>
---- a/src/sequence_distance.c
-+++ b/src/sequence_distance.c
-@@ -22,9 +22,14 @@
- */
-
- #include "tldevel.h"
--#ifdef HAVE_AVX2
--#include <xmmintrin.h>
--#include <mm_malloc.h>
-+#define SIMDE_ENABLE_NATIVE_ALIASES
-+#include <simde/x86/sse.h>
-+#if !defined(_SSE_NATIVE)
-+ #include <stdlib.h>
-+ #define _mm_malloc(size, align) aligned_alloc(align, size)
-+ #define _mm_free free
-+#else
-+ #include <mm_malloc.h>
- #endif
-
-
-@@ -66,9 +71,7 @@ float** d_estimation(struct msa* msa, in
- int len_b;
-
- int i,j;
--#if HAVE_AVX2
- set_broadcast_mask();
--#endif
-
- if(pair){
-
=====================================
debian/rules
=====================================
@@ -3,8 +3,6 @@
# Build rules for the Debian package kalign
include /usr/share/dpkg/default.mk
-export DEB_CFLAGS_MAINT_APPEND += -DSIMDE_ENABLE_OPENMP -fopenmp-simd -O3
-export DEB_CXXFLAGS_MAINT_APPEND += -DSIMDE_ENABLE_OPENMP -fopenmp-simd -O3
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
OBJ_DIR=obj-$(DEB_HOST_GNU_TYPE)
prefix=$(CURDIR)/debian/$(DEB_SOURCE)/usr
@@ -16,33 +14,52 @@ libexecdir=$(prefix)/lib/$(DEB_SOURCE)
AMD64_SIMD_LEVELS=avx2 avx sse4.1 ssse3 sse3
i386_SIMD_LEVELS=sse2 sse
-override_dh_auto_build:
-ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386))
- mkdir -p $(prefix)
- mkdir -p $(libexecdir)
- $(foreach SIMD,$(AMD64_SIMD_LEVELS), make clean ; dh_auto_configure -- CFLAGS="$(CFLAGS) -m$(SIMD)" && dh_auto_build && cp $(OBJ_DIR)/src/kalign $(OBJ_DIR)/src/kalign-$(SIMD) && cp $(OBJ_DIR)/src/kalignfmt $(OBJ_DIR)/src/kalignfmt-$(SIMD) && ) true
- $(MAKE) clean ; dh_auto_configure && dh_auto_build && \
- cp $(OBJ_DIR)/src/kalign $(OBJ_DIR)/src/kalign-plain && \
- cp $(OBJ_DIR)/src/kalignfmt $(OBJ_DIR)/src/kalignfmt-plain
-ifeq (i386,$(DEB_HOST_ARCH))
- $(foreach SIMD,$(i386_SIMD_LEVELS), make clean ; dh_auto_configure -- CFLAGS="$(CFLAGS) -m$(SIMD)" && dh_auto_build && cp $(OBJ_DIR)/src/kalign $(OBJ_DIR)/src/kalign-$(SIMD) && cp $(OBJ_DIR)/src/kalignfmt $(OBJ_DIR)/src/kalignfmt-$(SIMD) && ) true
+override_dh_auto_configure:
+ dh_auto_configure -- -DBUILD_SHARED_LIBS=OFF -DINSTALL_PREFIX=/usr -DENABLE_SSE=OFF -DENABLE_AVX=OFF -DENABLE_AVX2=OFF
+ifeq (amd64,$(DEB_HOST_ARCH))
+ dh_auto_configure --builddirectory obj-sse4.1 -- -DBUILD_SHARED_LIBS=OFF -DINSTALL_PREFIX=/usr -DENABLE_SSE=ON -DENABLE_AVX=OFF -DENABLE_AVX2=OFF
+ dh_auto_configure --builddirectory obj-avx -- -DBUILD_SHARED_LIBS=OFF -DINSTALL_PREFIX=/usr -DENABLE_SSE=ON -DENABLE_AVX=ON -DENABLE_AVX2=OFF
+ dh_auto_configure --builddirectory obj-avx2 -- -DBUILD_SHARED_LIBS=OFF -DINSTALL_PREFIX=/usr -DENABLE_SSE=ON -DENABLE_AVX=ON -DENABLE_AVX2=ON
endif
-else
+
+override_dh_auto_build:
dh_auto_build
+ifeq (amd64,$(DEB_HOST_ARCH))
+ dh_auto_build --builddirectory obj-sse4.1
+ dh_auto_build --builddirectory obj-avx
+ dh_auto_build --builddirectory obj-avx2
+endif
+
+override_dh_auto_test:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ dh_auto_test
+ifeq (amd64,$(DEB_HOST_ARCH))
+ set -e ; for SIMD in avx2 avx sse4.1 ; do \
+ if lscpu | grep -q $${SIMD} ; then \
+ cd "obj-$${SIMD}/" && \
+ ctest --verbose ; \
+ cd .. ; \
+ fi ; \
+ done
+endif
endif
override_dh_install:
-ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386))
- find debian/$(DEB_SOURCE)/usr/bin -type f -name kalign -delete
- dh_install debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/
- dh_install $(OBJ_DIR)/src/kalign-* usr/lib/$(DEB_SOURCE)/
- dh_install $(OBJ_DIR)/src/kalignfmt-* usr/lib/$(DEB_SOURCE)/
- mkdir -p $(prefix)/bin
- cd $(prefix)/bin \
- && $(foreach PROG,kalign kalignfmt,ln -s ../lib/$(DEB_SOURCE)/simd-dispatch $(PROG) &&) true
-else
dh_install
+ rm -rf debian/$(DEB_SOURCE)/usr/lib/$(DEB_HOST_MULTIARCH)/
+ifeq (amd64,$(DEB_HOST_ARCH))
+ mkdir -p debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/bin
+ cp obj-avx2/src/kalign debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalign-avx2
+ cp obj-avx/src/kalign debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalign-avx
+ cp obj-sse4.1/src/kalign debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalign-sse4.1
+ cp obj-avx2/src/kalignfmt debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalignfmt-avx2
+ cp obj-avx/src/kalignfmt debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalignfmt-avx
+ cp obj-sse4.1/src/kalignfmt debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalignfmt-sse4.1
+ cp obj-$(DEB_HOST_MULTIARCH)/src/kalignfmt debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalignfmt-plain
+ mv debian/$(DEB_SOURCE)/usr/bin/kalign debian/$(DEB_SOURCE)/usr/lib/$(DEB_SOURCE)/kalign-plain
+ dh_install -pkalign debian/bin/simd-dispatch /usr/lib/$(DEB_SOURCE)/bin
+ cd $(CURDIR)/debian/$(DEB_SOURCE)/usr/bin && \
+ ln -s ../lib/$(DEB_SOURCE)/bin/simd-dispatch kalign
+ cd $(CURDIR)/debian/$(DEB_SOURCE)/usr/bin && \
+ ln -s ../lib/$(DEB_SOURCE)/bin/simd-dispatch kalignfmt
endif
-
-override_dh_gencontrol:
- dh_gencontrol -- -Vsimde:Built-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W "libsimde-dev")"
=====================================
debian/salsa-ci.yml
=====================================
@@ -2,3 +2,6 @@
include:
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
+
+variables:
+ SALSA_CI_DISABLE_REPROTEST: 1
View it on GitLab: https://salsa.debian.org/med-team/kalign/-/compare/02285fb67fbf3719d94e1897dc4f6c6ed9f90bac...5536fa38ddfc6f18f6f30438477b87174c460b0f
--
View it on GitLab: https://salsa.debian.org/med-team/kalign/-/compare/02285fb67fbf3719d94e1897dc4f6c6ed9f90bac...5536fa38ddfc6f18f6f30438477b87174c460b0f
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/20221105/ce6390f1/attachment-0001.htm>
More information about the debian-med-commit
mailing list