krb5 commit: Fix HP-UX build support
Greg Hudson
ghudson at MIT.EDU
Thu Aug 14 11:41:10 EDT 2014
https://github.com/krb5/krb5/commit/fdd1c69471bbe5fec0da9f9bcaa9d0a7739db77f
commit fdd1c69471bbe5fec0da9f9bcaa9d0a7739db77f
Author: Michael Osipov <1983-01-06 at gmx.net>
Date: Thu Aug 14 15:48:11 2014 +0200
Fix HP-UX build support
Rename hpux10.exports to hpux.exports. In the HP-UX section of
shlib.conf, remove '+s' because it just specifies a default, add a
MAKE_SHLIB_COMMAND, and set SHLIBEXT based on the host CPU.
[ghudson at mit.edu: squashed commits, condensed commit message]
ticket: 7990 (new)
target_version: 1.13
tags: pullup
.gitignore | 1 +
src/config/lib.in | 18 +++++++++---------
src/config/libnover.in | 14 +++++++-------
src/config/shlib.conf | 24 +++++++++++++++---------
4 files changed, 32 insertions(+), 25 deletions(-)
diff --git a/.gitignore b/.gitignore
index 96cf3c3..716b322 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
*.so
binutils.versions
darwin.exports
+hpux.exports
lib*.so.*
Makefile
OBJS.*
diff --git a/src/config/lib.in b/src/config/lib.in
index 8dd5475..c041571 100644
--- a/src/config/lib.in
+++ b/src/config/lib.in
@@ -72,20 +72,20 @@ osf1.exports: $(SHLIB_EXPORT_FILE) Makefile
done; echo " $$a" >> osf1.tmp
mv -f osf1.tmp osf1.exports
-hpux10.exports: $(SHLIB_EXPORT_FILE) Makefile
- $(RM) hpux10.tmp hpux10.exports
- sed "s/^/+e /" < $(SHLIB_EXPORT_FILE) > hpux10.tmp
+hpux.exports: $(SHLIB_EXPORT_FILE) Makefile
+ $(RM) hpux.tmp hpux.exports
+ sed "s/^/+e /" < $(SHLIB_EXPORT_FILE) > hpux.tmp
a=""; \
for f in . $(LIBFINIFUNC); do \
if test "$$f" != .; then \
a="+I $${f}__auxfini $$a"; \
else :; fi; \
- done; echo "$$a" >> hpux10.tmp
- echo "+e errno" >> hpux10.tmp
+ done; echo "$$a" >> hpux.tmp
+ echo "+e errno" >> hpux.tmp
base=`echo "$(LIBBASE)" | sed -e 's/-/_/'`; \
- echo "+e _GLOBAL__FD_lib$${base}_$(LIBMAJOR)_$(LIBMINOR)" >> hpux10.tmp; \
- echo "+e _GLOBAL__FI_lib$${base}_$(LIBMAJOR)_$(LIBMINOR)" >> hpux10.tmp
- mv -f hpux10.tmp hpux10.exports
+ echo "+e _GLOBAL__FD_lib$${base}_$(LIBMAJOR)_$(LIBMINOR)" >> hpux.tmp; \
+ echo "+e _GLOBAL__FI_lib$${base}_$(LIBMAJOR)_$(LIBMINOR)" >> hpux.tmp
+ mv -f hpux.tmp hpux.exports
lib$(LIBBASE)$(PFLIBEXT): $(PFOBJLISTS)
$(RM) $@
@@ -120,7 +120,7 @@ clean-libs:
$(RM) lib$(LIBBASE)$(SHLIBSEXT)
$(RM) lib$(LIBBASE)$(SHLIBEXT)
$(RM) lib$(LIBBASE)$(PFLIBEXT)
- $(RM) binutils.versions osf1.exports darwin.exports hpux10.exports
+ $(RM) binutils.versions osf1.exports darwin.exports hpux.exports
clean-liblinks:
$(RM) $(TOPLIBD)/lib$(LIBBASE)$(STLIBEXT)
diff --git a/src/config/libnover.in b/src/config/libnover.in
index b55a427..e18c19f 100644
--- a/src/config/libnover.in
+++ b/src/config/libnover.in
@@ -61,17 +61,17 @@ osf1.exports: $(SHLIB_EXPORT_FILE) Makefile
done; echo " $$a" >> osf1.tmp; \
mv -f osf1.tmp osf1.exports
-hpux10.exports: $(SHLIB_EXPORT_FILE) Makefile
- $(RM) hpux10.tmp hpux10.exports
- sed "s/^/+e /" < $(SHLIB_EXPORT_FILE) > hpux10.tmp
+hpux.exports: $(SHLIB_EXPORT_FILE) Makefile
+ $(RM) hpux.tmp hpux.exports
+ sed "s/^/+e /" < $(SHLIB_EXPORT_FILE) > hpux.tmp
a=""; \
for f in . $(LIBFINIFUNC); do \
if test "$$f" != .; then \
a="+I $${f}__auxfini $$a"; \
else :; fi; \
- done; echo "$$a" >> hpux10.tmp
- echo "+e errno" >> hpux10.tmp
- mv -f hpux10.tmp hpux10.exports
+ done; echo "$$a" >> hpux.tmp
+ echo "+e errno" >> hpux.tmp
+ mv -f hpux.tmp hpux.exports
darwin.exports: $(SHLIB_EXPORT_FILE) Makefile
$(RM) darwin.exports
@@ -101,7 +101,7 @@ all-libs: $(PLUGIN)
clean-libs:
$(RM) $(LIBBASE)$(DYNOBJEXT)
- $(RM) binutils.versions osf1.exports darwin.exports hpux10.exports
+ $(RM) binutils.versions osf1.exports darwin.exports hpux.exports
clean-liblinks:
$(RM) $(PLUGINLINK)
diff --git a/src/config/shlib.conf b/src/config/shlib.conf
index 9236d86..55f16be 100644
--- a/src/config/shlib.conf
+++ b/src/config/shlib.conf
@@ -101,8 +101,6 @@ alpha*-dec-osf*)
RUN_VARS='LD_LIBRARY_PATH _RLD_ROOT'
;;
-# HPUX *seems* to work under 10.20.
-#
# Note: "-Wl,+s" when building executables enables the use of the
# SHLIB_PATH environment variable for finding shared libraries
# in non-standard directories. If a non-standard search-path for
@@ -121,7 +119,14 @@ alpha*-dec-osf*)
# apparently turns that off
*-*-hpux*)
INSTALL_SHLIB='$(INSTALL)'
- SHLIBEXT=.sl
+ case $host_cpu in
+ hppa*)
+ SHLIBEXT=.sl
+ ;;
+ ia64*)
+ SHLIBEXT=.so
+ ;;
+ esac
SHLIBVEXT='.$(LIBMAJOR).$(LIBMINOR)'
SHLIBSEXT='.$(LIBMAJOR)'
RPATH_FLAG='-Wl,+b,'
@@ -129,21 +134,22 @@ alpha*-dec-osf*)
PICFLAGS=-fPIC
SHLIB_RPATH_FLAGS='-Wl,+b,$(SHLIB_RDIRS)'
SHLIB_EXPFLAGS='-Wl,+s $(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
- LDCOMBINE='gcc -fPIC -shared -Wl,+h,$(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) -Wl,-c,hpux10.exports'
+ LDCOMBINE='gcc -fPIC -shared -Wl,+h,$(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) -Wl,-c,hpux.exports'
else
PICFLAGS=+z
SHLIB_RPATH_FLAGS='+b $(SHLIB_RDIRS)'
- SHLIB_EXPFLAGS='+s $(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
- LDCOMBINE='ld -b +h $(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) -c hpux10.exports'
+ SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
+ LDCOMBINE='ld -b +h $(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT) -c hpux.exports'
fi
+ MAKE_SHLIB_COMMAND="${LDCOMBINE} -o \$@ \$\$objlist \$(LDFLAGS) \$(SHLIB_EXPFLAGS) ${LDCOMBINE_TAIL}"
PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)'
- CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) -Wl,+s $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)'
+ CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)'
CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)'
- CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) -Wl,+s $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)'
+ CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)'
CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)'
RUN_ENV='SHLIB_PATH=`echo $(PROG_LIBPATH) | sed -e "s/-L//g" -e "s/ /:/g"`; export SHLIB_PATH;'
RUN_VARS='SHLIB_PATH'
- SHLIB_EXPORT_FILE_DEP=hpux10.exports
+ SHLIB_EXPORT_FILE_DEP=hpux.exports
# Do *not* set use_linker_init_option=yes here, because in the
# case where the library is specified at program link time, the
# initialization function appears not to get called, only for
More information about the cvs-krb5
mailing list