Install the strategies in a soname-versioned directory
authorJulien Puydt <julien.puydt@laposte.net>
Sat, 11 Jan 2020 01:35:53 +0000 (01:35 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Sat, 11 Jan 2020 01:35:53 +0000 (01:35 +0000)
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 b1b808a63e9d58ac41ace637dd071689193f20b0..e29c6de92e19cf9dc0ac28acb86c9d2e629afcd2 100644 (file)
@@ -172,6 +172,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 5012d94270849fc92ad034af56d31cbca8b6093c..af9a22bd0a79c16b9252d8370b787bd356f0d7ec 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@