diff options
-rw-r--r-- | Makefile.common | 42 | ||||
-rw-r--r-- | Makefile.version | 2 | ||||
-rwxr-xr-x | buildtools/configure.pl | 12 | ||||
-rwxr-xr-x | buildtools/installnetpbm.pl | 9 | ||||
-rw-r--r-- | doc/HISTORY | 4 |
5 files changed, 47 insertions, 22 deletions
diff --git a/Makefile.common b/Makefile.common index c31013c6..26b5242f 100644 --- a/Makefile.common +++ b/Makefile.common @@ -271,24 +271,34 @@ endif # # On IA32 Linux, at least, GNU ld takes -rpath. It also has a -R option, # but it is something else. - -ifneq ($(NETPBMLIB_RUNTIME_PATH)x,x) - ifeq ($(LINKERISCOMPILER),Y) - # Before Netpbm 10.14 (March 2003), it looks like we used -R - # instead of -Wl,-rpath on all but a few selected platforms as configured - # by Configure. But that doesn't make sense, because we also used - # LD=$(CC) always. Beebe's notes and Saunders' observation above - # above indicate that we need - # -Wl,... everywhere that a compiler is used, whether native or GNU, - # to link. - RPATH = -Wl,$(RPATHOPTNAME),$(NETPBMLIB_RUNTIME_PATH) - else - RPATH = $(RPATHOPTNAME)$(NETPBMLIB_RUNTIME_PATH) +# +# Alan Fry and Snowcrash demonstrated in 2006.11 that neither -rpath +# nor -R are recognized options on Mac OS X 'ld'. +# +# http://developer.apple.com/releasenotes/DeveloperTools/RN-dyld/index.html +# says that on Mac OS X, libraries aren't searched for in directories, +# but rather specified by full name, so that rpath doesn't make any +# sense. On Mac OS X, you use -install_name when you linkedit shared +# library S to give the complete installed name of S. This goes into +# S so that when something linkedits with S, the complete installed +# name of S goes into the object that uses S. + +ifeq ($(NEED_RUNTIME_PATH),Y) + ifneq ($(NETPBMLIB_RUNTIME_PATH)x,x) + ifeq ($(LINKERISCOMPILER),Y) + # Before Netpbm 10.14 (March 2003), it looks like we used -R + # instead of -Wl,-rpath on all but a few selected platforms as configured + # by Configure. But that doesn't make sense, because we also used + # LD=$(CC) always. Beebe's notes and Saunders' observation above + # above indicate that we need + # -Wl,... everywhere that a compiler is used, whether native or GNU, + # to link. + RPATH = -Wl,$(RPATHOPTNAME),$(NETPBMLIB_RUNTIME_PATH) + else + RPATH = $(RPATHOPTNAME)$(NETPBMLIB_RUNTIME_PATH) + endif endif -else - RPATH = endif - # Rules for conventional single-object file executables # Before Netpbm 10.21 (March 2004), we kept separate lists of binaries diff --git a/Makefile.version b/Makefile.version index 529de1ca..9836ea0c 100644 --- a/Makefile.version +++ b/Makefile.version @@ -1,4 +1,4 @@ NETPBM_MAJOR_RELEASE = 10 NETPBM_MINOR_RELEASE = 36 -NETPBM_POINT_RELEASE = 07 +NETPBM_POINT_RELEASE = 08 diff --git a/buildtools/configure.pl b/buildtools/configure.pl index dea30b75..4fe9326a 100755 --- a/buildtools/configure.pl +++ b/buildtools/configure.pl @@ -611,10 +611,12 @@ sub libSuffix($) { #----------------------------------------------------------------------------- my $suffix; - if ($platform eq "windows") { - $suffix = ".a"; + if ($platform eq 'windows') { + $suffix = '.a'; + } elsif ($platform= 'darwin') { + $suffix = '.dylib'; } else { - $suffix = ".so"; + $suffix = '.so'; } } @@ -1028,6 +1030,8 @@ sub getX11Library($@) { $default = '/usr/link/X11/libX11' . libSuffix($platform); } elsif (-d('/usr/lib/X11')) { $default = '/usr/lib/libX11' . libSuffix($platform); + } elsif (-d('/usr/X11R6')) { + $default = '/usr/X11R6/lib/libX11' . libSuffix($platform); } else { $default = "libX11" . libSuffix($platform); } @@ -2025,7 +2029,7 @@ if ($platform eq "GNU") { push(@Makefile_config, 'CFLAGS_SHLIB = -fno-common', "\n"); push(@Makefile_config, "LDSHLIB = ", "-dynamiclib ", - '-install_name $(NETPBM_RUNTIME_PATH)/libnetpbm.$(MAJ).dylib', + '-install_name $(NETPBMLIB_RUNTIME_PATH)/libnetpbm.$(MAJ).dylib', "\n"); # push(@Makefile_config, "INSTALL = install\n"); } else { diff --git a/buildtools/installnetpbm.pl b/buildtools/installnetpbm.pl index db3f6200..5987ea8b 100755 --- a/buildtools/installnetpbm.pl +++ b/buildtools/installnetpbm.pl @@ -311,12 +311,19 @@ execLdconfig() { +sub ldconfigExists() { + + return (system("ldconfig -? 2>/dev/null") >> 8) != 127; +} + + + sub doLdconfig() { #----------------------------------------------------------------------------- # Run Ldconfig where appropriate. #----------------------------------------------------------------------------- - if ($OSNAME eq "linux" || system("ldconfig -? 2>/dev/null") != 127) { + if ($OSNAME eq "linux" || ldconfigExists()) { # This is a system where Ldconfig makes sense print("In order for the Netpbm shared library to be found when " . diff --git a/doc/HISTORY b/doc/HISTORY index 53307008..70c9015e 100644 --- a/doc/HISTORY +++ b/doc/HISTORY @@ -4,6 +4,10 @@ Netpbm. CHANGE HISTORY -------------- +06.11.13 BJH Release 10.36.08 + + Build: fix Darwin build. + 06.11.08 BJH Release 10.36.07 Build: remove unnecessary limit of 200 characters on |