Index: libpng-1.2.46/configure.ac =================================================================== --- libpng-1.2.46.orig/configure.ac 2011-08-30 14:48:43.039028289 +0400 +++ libpng-1.2.46/configure.ac 2011-08-30 14:56:09.680021389 +0400 @@ -78,8 +78,23 @@ AC_SUBST(LIBPNG_DEFINES) AC_SUBST(LIBPNG_NO_MMX) +AC_MSG_CHECKING([if using Solaris linker]) +SLD=`$LD --version 2>&1 | grep Solaris` +if test "$SLD"; then + have_solaris_ld=yes + AC_MSG_RESULT(yes) +else + have_solaris_ld=no + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL(HAVE_SOLARIS_LD, test "$have_solaris_ld" = "yes") + AC_MSG_CHECKING([if libraries can be versioned]) -GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script` +if test "$have_solaris_ld" = "yes"; then + GLD=`$LD --help < /dev/null 2>&1 | grep 'M mapfile'` +else + GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script` +fi if test "$GLD"; then have_ld_version_script=yes AC_MSG_RESULT(yes) Index: libpng-1.2.46/Makefile.am =================================================================== --- libpng-1.2.46.orig/Makefile.am 2011-08-30 14:48:43.039223476 +0400 +++ libpng-1.2.46/Makefile.am 2011-08-30 15:02:18.775861919 +0400 @@ -49,7 +49,11 @@ if HAVE_LD_VERSION_SCRIPT # Versioned symbols and restricted exports +if HAVE_SOLARIS_LD + libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS += -Wl,-M Wl,libpng.vers +else + libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_LDFLAGS += -Wl,--version-script=libpng.vers +endif libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@_la_DEPENDENCIES = libpng.vers else # Only restricted exports when possible