develooper Front page | perl.perl5.porters | Postings from August 2013

how to remove dl_dld.xs?

Thread Next
From:
Nicholas Clark
Date:
August 23, 2013 09:50
Subject:
how to remove dl_dld.xs?
Message ID:
20130823095002.GE74204@plum.flirble.org
I'm not sure if this is the right way to do it:

On Fri, Aug 23, 2013 at 11:41:52AM +0200, Nicholas Clark wrote:

> commit a40caff926bcaadf47e66b4537eebeabc3894ed9
> Author: Nicholas Clark <nick@ccl4.org>
> Date:   Fri Aug 23 11:39:40 2013 +0200
> 
>     Remove support for GNU DLD in DynaLoader
>     
>     GNU DLD was a library that provided dynamic linking on a.out based systems.
>     The last release was in 1996, and it has been superseded by dlopen.
> -----------------------------------------------------------------------
> 
> Summary of changes:
>  Configure                      |  13 +--
>  Cross/config.sh-arm-linux      |   3 +-
>  Cross/config.sh-arm-linux-n770 |   3 +-
>  MANIFEST                       |   1 -
>  NetWare/config.wc              |   3 +-
>  Porting/Glossary               |   5 -
>  Porting/bisect-runner.pl       |   2 +-
>  Porting/config.sh              |   3 +-
>  configure.com                  |   3 +-
>  ext/DynaLoader/README          |   8 +-
>  ext/DynaLoader/dl_dld.xs       | 207 -----------------------------------------
>  hints/amigaos.sh               |   2 +-
>  plan9/config_sh.sample         |   3 +-
>  symbian/config.sh              |   1 -
>  uconfig.h                      |   2 +-
>  uconfig.sh                     |   1 -
>  uconfig64.sh                   |   1 -
>  win32/config.ce                |   3 +-
>  win32/config.gc                |   5 +-
>  win32/config.vc                |   5 +-
>  20 files changed, 18 insertions(+), 256 deletions(-)
>  delete mode 100644 ext/DynaLoader/dl_dld.xs

In particular

1) should the Configure and hints changes be mixed in with the other changes?
2) Do we actually delete configuration variables?
   (in this case i_dld)

Note the tentacles run quite deep on this one. dl_dld.xs is the second level
fallback after dl_dlopen.xs, and it's also mentioned as an example
implementation.

On the upside, it i_dld was never used to create a define in config.h, and
nothing on CPAN uses it: http://grep.cpan.me/?q=i_dld

> diff --git a/Configure b/Configure
> index e4e4075..b9f037a 100755
> --- a/Configure
> +++ b/Configure

> @@ -7914,8 +7906,6 @@ y*) usedl="$define"
>  			dflt="$dldir/dl_${osname}.xs"
>  		elif $test "$d_dlopen" = "$define" ; then
>  			dflt="$dldir/dl_dlopen.xs"
> -		elif $test "$i_dld" = "$define" ; then
> -			dflt="$dldir/dl_dld.xs"
>  		else
>  			dflt=''
>  		fi

> diff --git a/Porting/Glossary b/Porting/Glossary
> index 1f5b8c9..17d1511 100644
> --- a/Porting/Glossary
> +++ b/Porting/Glossary
> @@ -3027,11 +3027,6 @@ i_dirent (i_dirent.U):
>  	This variable conditionally defines I_DIRENT, which indicates
>  	to the C program that it should include <dirent.h>.
>  
> -i_dld (i_dld.U):
> -	This variable conditionally defines the I_DLD symbol, which
> -	indicates to the C program that <dld.h> (GNU dynamic loading)
> -	exists and should be included.
> -
>  i_dlfcn (i_dlfcn.U):
>  	This variable conditionally defines the I_DLFCN symbol, which
>  	indicates to the C program that <dlfcn.h> exists and should

> diff --git a/ext/DynaLoader/README b/ext/DynaLoader/README
> index 0551cf3..0b3e9eb 100644
> --- a/ext/DynaLoader/README
> +++ b/ext/DynaLoader/README

> @@ -38,9 +37,8 @@ after your osname. Configure will give preference to a dl_$osname.xs
>  file if one exists.
>  
>  The file dl_dlopen.xs is a reference implementation by Paul Marquess
> -which is a good place to start if porting from scratch. For more complex
> -platforms take a look at dl_dld.xs. The dlutils.c file holds some
> -common definitions that are #included into the dl_*.xs files.
> +which is a good place to start if porting from scratch. The dlutils.c file
> +holds some common definitions that are #included into the dl_*.xs files.
>  
>  After the initial implementation of a new DynaLoader dl_*.xs file you
>  may need to edit or create ext/MODULE/MODULE.bs files (library bootstrap

[Plus a whole lot of diffs due to libswanted changes, and removing
i_dld='undef'
from a lot of config.sh files]

Nicholas Clark

Thread Next


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