[PATCH] Improving HP-UX support
- From
Osipov, Michael <michael.osipov@siemens.com>
- Date
- May 8, 2019, 10:45 UTC
- Message-ID
- <603989bd-f86d-c61d-c6f5-fb6748a65ba9@siemens.com>
Hi folks,
please find a patch attached to properly compile and link Git 2.21.0 on HP-UX IA64.
The patch includes basically two changes:
* Detection of big endian on HP-UX otherwise SHA1 calc is broken * Detection of linking style with HP aCC
Show 12 quoted lines
> export PREFIX=/opt/ports > export LIBDIR=$PREFIX/lib/hpux32 > export CC=/opt/aCC/bin/aCC > export CXX=/opt/aCC/bin/aCC > export CONFIGURE="./configure --prefix=$PREFIX --libdir=$LIBDIR" > export CPPFLAGS="-I$PREFIX/include" > export LDFLAGS="-L$LIBDIR" > autoreconf -fi > $CONFIGURE --with-editor=vim --with-zlib=$PREFIX --with-perl=/usr/bin/perl --with-iconv=$PREFIX \ > --with-libpcre=$PREFIX --with-gitconfig=$PREFIX/etc/gitconfig --with-gitattributes=$PREFIX/etc/gitattributes \ > --without-tcltk --disable-pthreads --with-lib=lib/hpux32 > gmake INSTALL=$INSTALL_SH install
Note: I am not subscribed to this list.
Regards,
Michael
diff -ur configure.ac configure.ac --- configure.ac 2019-02-24 16:55:19 +0000 +++ configure.ac 2019-05-08 11:31:42 +0000
@@ -475,8 +475,18 @@ if test "$git_cv_ld_rpath" = "yes"; then CC_LD_DYNPATH=-rpath else - CC_LD_DYNPATH= - AC_MSG_WARN([linker does not support runtime path to dynamic libraries]) + AC_CACHE_CHECK([if linker supports -Wl,+b,], git_cv_ld_wl_b, [ + SAVE_LDFLAGS="${LDFLAGS}" + LDFLAGS="${SAVE_LDFLAGS} -Wl,+b,/" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [git_cv_ld_wl_b=yes], [git_cv_ld_wl_b=no]) + LDFLAGS="${SAVE_LDFLAGS}" + ]) + if test "$git_cv_ld_wl_b" = "yes"; then + CC_LD_DYNPATH=-Wl,+b, + else + CC_LD_DYNPATH= + AC_MSG_WARN([linker does not support runtime path to dynamic libraries]) + fi fi fi fi diff -ur sha1dc/sha1.c sha1dc/sha1.c --- sha1dc/sha1.c 2019-02-24 16:55:19 +0000 +++ sha1dc/sha1.c 2019-05-04 01:26:22 +0000 @@ -93,7 +93,7 @@ #define SHA1DC_BIGENDIAN /* Not under GCC-alike or glibc or *BSD or newlib or <processor whitelist> */ -#elif (defined(_AIX)) +#elif (defined(_AIX) || defined(__hpux)) /* * Defines Big Endian on a whitelist of OSs that are known to be Big