develooper Front page | perl.perl5.changes | Postings from March 2012

[perl.git] branch blead, updated. v5.15.9-60-g9ec4dad

From:
H.Merijn Brand
Date:
March 31, 2012 07:32
Subject:
[perl.git] branch blead, updated. v5.15.9-60-g9ec4dad
Message ID:
E1SDzLj-0006eY-K4@camel.ams6.corp.booking.com
In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/9ec4dadfbbcf94d284b7e489694f1fa9fd6647c0?hp=258f564231885d20cd3b29a014dda4c79b44b1b0>

- Log -----------------------------------------------------------------
commit 9ec4dadfbbcf94d284b7e489694f1fa9fd6647c0
Author: H.Merijn Brand <h.m.brand@xs4all.nl>
Date:   Sat Mar 31 16:31:29 2012 +0200

    Add ld_can_script probe to Configure
    
    With this new probe, requested by rafl, we could start building perl as
    it would be built on OSs like AIX and Windows and actually test visibility
    of the API and thus early detect if tests would fail on these restrictive
    OSs
-----------------------------------------------------------------------

Summary of changes:
 Configure        |   32 +++++++++++++++++++++++++++++++-
 Porting/Glossary |    5 +++++
 uconfig.h        |    2 +-
 uconfig.sh       |    1 +
 4 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/Configure b/Configure
index f87e6fd..fa8fbb0 100755
--- a/Configure
+++ b/Configure
@@ -28,7 +28,7 @@
 # See Porting/pumpkin.pod for more information on metaconfig.
 #
 
-# Generated on Thu Feb 16 16:57:30 CET 2012 [metaconfig 3.5 PL0]
+# Generated on Sat Mar 31 16:09:53 CEST 2012 [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -843,6 +843,7 @@ cccdlflags=''
 ccdlflags=''
 dlsrc=''
 ld=''
+ld_can_script=''
 lddlflags=''
 usedl=''
 doublesize=''
@@ -8085,6 +8086,34 @@ EOM
     ;;
 esac
 
+ld_can_script="$undef"
+case "$bin_ELF$usedl" in
+$define$define)
+    # Abuse try.h and a.out names for neat cleanup
+    $cat >try.c <<EOM
+void foo() {}
+void bar() {}
+EOM
+    $cat >try.h <<EOM
+LIBTEST_42 {
+ global:
+  foo;
+ local: *;
+ };
+EOM
+    if $cc $cccdlflags $ccdlflags $ccflags \
+           $ldflags $lddlflags -o a.out try.c \
+           -Wl,--version-script=try.h >/dev/null 2>&1 \
+       &&  $test -s a.out ; then
+	echo "ld supports scripting" >&4
+	ld_can_script="$define"
+    else
+	echo "ld does not support scripting" >&4
+    fi
+    $rm_try
+    ;;
+esac
+
 : Do we want a shared libperl?
 also=''
 case "$usedl" in
@@ -23471,6 +23500,7 @@ ivtype='$ivtype'
 known_extensions='$known_extensions'
 ksh='$ksh'
 ld='$ld'
+ld_can_script='$ld_can_script'
 lddlflags='$lddlflags'
 ldflags='$ldflags'
 ldflags_uselargefiles='$ldflags_uselargefiles'
diff --git a/Porting/Glossary b/Porting/Glossary
index e42d750..23ffbfe 100644
--- a/Porting/Glossary
+++ b/Porting/Glossary
@@ -3619,6 +3619,11 @@ ld (dlsrc.U):
 	On ELF systems, it should be $cc.  Mostly, we'll try to respect
 	the hint file setting.
 
+ld_can_script (dlsrc.U):
+	This variable shows if the loader accepts scripts in the form of
+	-Wl,--version-script=ld.script. This is currently only supported
+	for GNU ld on ELF in dynamic loading builds.
+
 lddlflags (dlsrc.U):
 	This variable contains any special flags that might need to be
 	passed to $ld to create a shared library suitable for dynamic
diff --git a/uconfig.h b/uconfig.h
index d17bd9a..fc958ed 100644
--- a/uconfig.h
+++ b/uconfig.h
@@ -4735,5 +4735,5 @@
 
 /* Generated from:
  * d9b6a68b192c72c0695b560fae6e4916b381f55df5fdf7911b0ef434840f092e config_h.SH
- * 3dad514f97a86deca0eebb6544f7785077651da24e7c6231ef7a22963ff4fd5d uconfig.sh
+ * 57694ed3f0d8607c648dcda8db17e8301e376b16cd7b7bed04772c713c1d5818 uconfig.sh
  * ex: set ro: */
diff --git a/uconfig.sh b/uconfig.sh
index 076fde4..11ad894 100644
--- a/uconfig.sh
+++ b/uconfig.sh
@@ -638,6 +638,7 @@ intsize='4'
 ivdformat='"ld"'
 ivsize='4'
 ivtype='long'
+ld_can_script='define'
 lib_ext='.a'
 localtime_r_proto='0'
 longdblsize=8

--
Perl5 Master Repository



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About