blob: f790e7724c936acb7b07cf8cbbf2f9310617f736 [file] [log] [blame]
https://bugs.gentoo.org/343439
From 182626687f2640609f8eb28ad1b04b078342f2c7 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
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 <vapier@gentoo.org>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
---
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