Patch for samba_3_0 configure/build for HP-UX

McCall, Don (GSE-WTEC-Alpharetta) don.mccall at hp.com
Wed Mar 21 18:50:08 GMT 2007


Hi Volker, Jerry, Jeremy;

Could one of you take a look at this patch and if you approve, apply it
to the samba_3_0 branch?
It addresses several build issues on HP-UX:
1. removes false dependency on -Ae switch to build shared libraries
2. applies the correct PIC flag for using the HP-UX ansi c compiler (+z
instead of -FPIC)
3. addresses missing declaration of ber_tag_t in lber.h in the ldapux
libraries
4. allows HPUX  to configure for ldap support without ldap_initialize
(is already coded around using ldap_init in smbldap.c)

We're doing this by hand at the moment, but it would make it much easier
for me to test the kerberos/winbindd stuff from Guenther (and Jerry,
when he ever gets a moment free from the 3.0.25 release) if it was fixed
in branch.

Thanks much!
Don


#/usr/local/bin/diff
/home/build/build_farm/samba_3_0/source/configure.in ./configure.in :

611d610
< # Try to work out if this is the native HPUX compiler that uses the
-Ae flag.
1771d1769
< 			if test $ac_cv_prog_cc_Ae = yes; then
1777c1775
< 			elif test "${GCC}" = "yes"; then
---
> 			if test "${GCC}" = "yes"; then
1778a1777,1778
> 			else 
> 				PICFLAG="+z"
3195,3200c3195,3198
<   # HP/UX does not have ber_tag_t, disable LDAP there
<   AC_CHECK_TYPE(ber_tag_t,,,[#include <lber.h>])
<   if test x"$ac_cv_type_ber_tag_t" != x"yes"; then
< 	if test x"$with_ldap_support" = x"yes"; then
< 	 AC_MSG_ERROR(ber_tag_t is needed for LDAP support)
< 	else
---
>   # HP/UX does not have ber_tag_t in lber.h - it must be configured as
>   # unsigned int in include/includes.h
>   case $host_os in
> 	*hpux*)
3202,3204c3200,3214
< 	fi
< 	with_ldap_support=no
<   fi
---
> 	 AC_MSG_WARN(ber_tag_t must be configured in includes.h for
hpux)
> 	with_ldap_support=yes
>   	;;
> 	*)
>   	AC_CHECK_TYPE(ber_tag_t,,,[#include <lber.h>])
>   	if test x"$ac_cv_type_ber_tag_t" != x"yes"; then
> 		if test x"$with_ldap_support" = x"yes"; then
> 	 	AC_MSG_ERROR(ber_tag_t is needed for LDAP support)
> 		else
> 	 	AC_MSG_WARN(ber_tag_t is needed for LDAP support)
> 		fi
> 		with_ldap_support=no
>   	fi
>   	;;
>   esac
3301a3312,3326
> # HPUX only has ldap_init; ok, we take care of this in smbldap.c case 
> "$host_os" in
> 	*hpux*)
>     AC_CHECK_FUNC_EXT(ldap_init,$LDAP_LIBS)
> 
>     if test x"$ac_cv_func_ext_ldap_init" != x"yes"; then
> 	if test x"$with_ads_support" = x"yes"; then
> 	    AC_MSG_ERROR(Active Directory support on HPUX requires
ldap_init)
> 	elif test x"$with_ads_support" = x"auto"; then
> 	    AC_MSG_WARN(Disabling Active Directory support (requires
ldap_init on HPUX))
> 	    with_ads_support=no
> 	fi
>     fi
>     ;;
> 	*)
3311a3337,3339
>     ;;
> esac
> 


#/usr/local/bin/diff
/home/build/build_farm/samba_3_0/source/include/includes.h ./includes.h
:

175a176,184
> #ifdef HPUX
> /* Define ber_tag_t and ber_int_t for using
>  * HP LDAP-UX Integration products' LDAP libraries.
> */
> #ifndef ber_tag_t
> typedef unsigned int ber_tag_t;
> typedef unsigned int ber_int_t;
> #endif
> #endif /* HPUX */


More information about the samba-technical mailing list