Install the strategies in a soname-versioned directory
authorJulien Puydt <julien.puydt@laposte.net>
Thu, 3 Sep 2020 20:02:08 +0000 (21:02 +0100)
committerJulien Puydt <jpuydt@debian.org>
Thu, 3 Sep 2020 20:02:08 +0000 (21:02 +0100)
Forwarded: yes

This makes different libfplll<soname> packages coinstallable.

Gbp-Pq: Name versioned_strategies_path

Makefile.am
configure.ac
fplll/Makefile.am
fplll/defs.h
fplll/fplll_config.h.in

index 631676d73879ded0cf06b139a21d874b36b5b7aa..4dabd03b2ab3959254fe4e733bfecb7401b8ee5f 100644 (file)
@@ -8,7 +8,7 @@ CLEANFILES = *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda
 pkgconfigdir       = $(libdir)/pkgconfig
 pkgconfig_DATA     = fplll.pc
 
-strategydir        = $(pkgdatadir)/strategies
+strategydir        = @FPLLL_DEFAULT_STRATEGY_PATH@
 dist_strategy_DATA = strategies/default.json
 
 CLANGFORMAT       ?= clang-format
index 7ad601cdd0ab3e332ae3a3d2b7fff959ea5a1d1c..09985164cbd058f04ff1e541b5149ec907f9158f 100644 (file)
@@ -192,6 +192,12 @@ AC_DEFINE_UNQUOTED([FPLLL_MICRO_VERSION],[$FPLLL_MICRO_VERSION],[micro version])
 AC_DEFINE_UNQUOTED([FPLLL_VERSION],[$FPLLL_VERSION],[full version])
 AC_DEFINE_UNQUOTED([FPLLL_VERSION_INFO],[$FPLLL_VERSION_INFO],[long version string])
 
+FPLLL_DEFAULT_STRATEGY_PATH=\"/usr/share/libfplll$FPLLL_LT_CURRENT/strategies/\"
+AC_DEFINE_UNQUOTED([FPLLL_DEFAULT_STRATEGY_PATH], [$FPLLL_DEFAULT_STRATEGY_PATH], [path to default strategy])
+AC_SUBST(FPLLL_DEFAULT_STRATEGY_PATH)
+AC_DEFINE_UNQUOTED([FPLLL_DEFAULT_STRATEGY], ["default.json"], [name of default strategy])
+AC_SUBST(FPLLL_DEFAULT_STRATEGY)
+
 AC_CONFIG_HEADERS([fplll/fplll_config.h])
 
 AC_CONFIG_FILES([Makefile
index cef39e82a282682714a26e381b8c6319eab4f9fc..bbf99a4254143c4172282cd36b79603420ebf486 100755 (executable)
@@ -2,7 +2,7 @@ include_fpllldir=$(includedir)/fplll
 TOPSRCDIR = $(srcdir)/..
 strategydir = $(pkgdatadir)/strategies
 # see https://stackoverflow.com/questions/5867136/autoconf-how-to-get-installation-paths-into-config-h
-AM_CPPFLAGS = -DFPLLL_DEFAULT_STRATEGY_PATH=\"$(strategydir)\" -DFPLLL_DEFAULT_STRATEGY=\"$(strategydir)/default.json\" -I$(TOPSRCDIR)
+AM_CPPFLAGS = -I$(TOPSRCDIR)
 EXTRA_DIST = io/json.hpp ballvol.const factorial.const
 
 CLEANFILES = *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda */*.gcno */*.gcda
index 74d9902ebfd2c7d9d073f0aeaaa222ea9c003b60..1e401d5eba6e63e5228a121bfaf83ccb50d65e17 100644 (file)
@@ -277,14 +277,6 @@ enum HKZFlags
   HKZ_VERBOSE = 1
 };
 
-#ifndef FPLLL_DEFAULT_STRATEGY_PATH
-#define FPLLL_DEFAULT_STRATEGY_PATH ""
-#endif
-
-#ifndef FPLLL_DEFAULT_STRATEGY
-#define FPLLL_DEFAULT_STRATEGY ""
-#endif
-
 enum PrunerMetric
 {
   PRUNER_METRIC_PROBABILITY_OF_SHORTEST = 0,
index 3ba6f7be5e98a8e3975d30a29950f6923f22d846..a6b2c5ea788d5c9f7c5b011b378ce207d3779ce0 100644 (file)
 /* fplll version info */
 #define FPLLL_VERSION_INFO @FPLLL_VERSION_INFO@
 
+/* fplll default strategy */
+#define FPLLL_DEFAULT_STRATEGY_PATH @FPLLL_DEFAULT_STRATEGY_PATH@
+#define FPLLL_DEFAULT_STRATEGY @FPLLL_DEFAULT_STRATEGY@
+
 /* Maximum supported enumeration dimension */
 #define FPLLL_MAX_ENUM_DIM @FPLLL_MAX_ENUM_DIM@