Install the strategies in a soname-versioned directory
authorJulien Puydt <julien.puydt@laposte.net>
Wed, 26 Sep 2018 18:01:59 +0000 (19:01 +0100)
committerTobias Hansen <thansen@debian.org>
Wed, 26 Sep 2018 18:01:59 +0000 (19:01 +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 8761ce85bfc189d915d8b2ed5caf914b78c1fa16..251298b1b1133d80799dc686dc0f27f57b3bb409 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 a5cb36e9169f41fba600de257aeb66b304b91420..ddef38ab136c0f9d9bbb084a5911d7936f501349 100644 (file)
@@ -158,6 +158,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 b19dabc86a15f6248060aaf87d7b19f3f7ec7713..d2a8c8f94099309b65bb8bd02643c369a76155b0 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 8a26be84a2504f0621dcac95fa2e570529ef1c45..56bcc059373d4866a3c02f8101728f73ff011c7c 100644 (file)
@@ -262,14 +262,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 d1486402937b307f51e228397aab7b0a9aca719c..52cac7fb2f00f37daebdc34049f0d7e90129dbb7 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_DIMENSION @FPLLL_MAX_ENUM_DIMENSION@