https://bugs.gentoo.org/343439 From 182626687f2640609f8eb28ad1b04b078342f2c7 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sat, 12 Jan 2013 00:19:40 -0500 Subject: [PATCH] ithreads: use runtime (not configure time) detection of perl threads I can't imagine the runtime checks being a big runtime penalty, so there shouldn't be a need to do the checks at configure check and hardcode the result in the generated automake. With the current system, it means if you change your perl config (build perl w/threads, build automake, build perl w/out threads), or deploy a compiled automake package on a different system (build had threads, but deployed system does not), you get errors when trying to run automake. So take the logic from configure.ac and move it to the one place where PERL_THREADS is used (lib/Automake/Config.in) and do the version/config checking at runtime. * bootstrap.sh (PERL_THREADS): Delete assignment and use in sed. * configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code related to these two variables. * lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to 1 if the perl version is at least 5.007_002, and useithreads is in Config. Copyright-paperwork-exempt: yes Signed-off-by: Mike Frysinger Signed-off-by: Stefano Lattarini --- bootstrap.sh | 2 -- configure.ac | 26 -------------------------- lib/Automake/Config.in | 9 ++++++++- 3 files changed, 8 insertions(+), 29 deletions(-) diff --git a/lib/Automake/Config.in b/lib/Automake/Config.in index fe6ef9d..885e74e 100644 --- a/lib/Automake/Config.in +++ b/lib/Automake/Config.in @@ -33,7 +33,14 @@ our $PACKAGE_BUGREPORT = '@PACKAGE_BUGREPORT@'; our $VERSION = '@VERSION@'; our $RELEASE_YEAR = '@RELEASE_YEAR@'; our $libdir = '@datadir@/@PACKAGE@-@APIVERSION@'; -our $perl_threads = @PERL_THREADS@; + +our $perl_threads = 0; +# We need at least this version for CLONE support. +if (eval { require 5.007_002; }) + { + use Config; + $perl_threads = $Config{useithreads}; + } 1; -- 1.8.0.2