View | Details | Raw Unified | Return to bug 161549
Collapse All | Expand All

(-)source3/configure.in (-33 / +138 lines)
Lines 23-28 Link Here
23
m4_include(pkg.m4)
23
m4_include(pkg.m4)
24
24
25
AC_LIBREPLACE_CC_CHECKS
25
AC_LIBREPLACE_CC_CHECKS
26
AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
26
27
27
m4_include(../lib/tevent/libtevent.m4)
28
m4_include(../lib/tevent/libtevent.m4)
28
29
Lines 755-763 Link Here
755
	AC_PATH_PROG(CUPS_CONFIG, cups-config)
756
	AC_PATH_PROG(CUPS_CONFIG, cups-config)
756
757
757
        if test "x$CUPS_CONFIG" != x; then
758
        if test "x$CUPS_CONFIG" != x; then
759
		ac_save_PRINT_CPPFLAGS=$CPPFLAGS
760
		ac_save_PRINT_LDFLAGS=$LDFLAGS
758
761
759
		ac_save_LDFLAGS=$LDFLAGS
760
		ac_save_PRINT_LIBS=$PRINT_LIBS
762
		ac_save_PRINT_LIBS=$PRINT_LIBS
763
		CPPFLAGS="$CPPFLAGS `$CUPS_CONFIG --cflags`"
764
		LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`"
765
761
		AC_CHECK_HEADERS(cups/cups.h cups/language.h)
766
		AC_CHECK_HEADERS(cups/cups.h cups/language.h)
762
767
763
		if test x"$ac_cv_header_cups_cups_h" = xyes -a \
768
		if test x"$ac_cv_header_cups_cups_h" = xyes -a \
Lines 766-773 Link Here
766
			# underlinked. With cups-config --libs we pull in unwanted and unneeded
771
			# underlinked. With cups-config --libs we pull in unwanted and unneeded
767
			# dendencies including thread libraries - use cups-config only if really
772
			# dendencies including thread libraries - use cups-config only if really
768
			# required. 
773
			# required. 
769
			AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS , httpConnect,
774
			AC_CHECK_LIB_EXT(cups, ac_save_PRINT_LIBS, httpConnect,
770
				[PRINT_LIBS"$ac_save_PRINT_LIBS -lcups"],
775
				[PRINT_LIBS="$ac_save_PRINT_LIBS -lcups"],
771
				[AC_MSG_WARN([your cups library doesn't link with -lcups alone, it might be underlinked.]) ;
776
				[AC_MSG_WARN([your cups library doesn't link with -lcups alone, it might be underlinked.]) ;
772
				 PRINT_LIBS="$ac_save_PRINT_LIBS `$CUPS_CONFIG --libs`"])
777
				 PRINT_LIBS="$ac_save_PRINT_LIBS `$CUPS_CONFIG --libs`"])
773
778
Lines 776-785 Link Here
776
			AC_CHECK_LIB_EXT(cups, PRINT_LIBS, httpConnectEncrypt)
781
			AC_CHECK_LIB_EXT(cups, PRINT_LIBS, httpConnectEncrypt)
777
		else
782
		else
778
			AC_MSG_WARN([cups-config around but cups-devel not installed])
783
			AC_MSG_WARN([cups-config around but cups-devel not installed])
779
			CFLAGS=$ac_save_CFLAGS
780
			LDFLAGS=$ac_save_LDFLAGS
781
			PRINT_LIBS=$ac_save_PRINT_LIBS
784
			PRINT_LIBS=$ac_save_PRINT_LIBS
782
		fi
785
		fi
786
		CPPFLAGS=$ac_save_PRINT_CPPFLAGS
787
		LDFLAGS=$ac_save_PRINT_LDFLAGS
783
788
784
	elif test x"$enable_cups" = x"yes"; then
789
	elif test x"$enable_cups" = x"yes"; then
785
		AC_MSG_ERROR(Cups support required but cups-config not located.  Make sure cups-devel related files are installed.)
790
		AC_MSG_ERROR(Cups support required but cups-config not located.  Make sure cups-devel related files are installed.)
Lines 1730-1737 Link Here
1730
1735
1731
AC_MSG_RESULT($BLDSHARED)
1736
AC_MSG_RESULT($BLDSHARED)
1732
1737
1733
saved_before_as_needed_ldflags="$LDFLAGS"
1738
AC_ARG_ENABLE(as-needed,
1734
for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
1739
	[AS_HELP_STRING([--enable-as-needed],
1740
	[Turn on as-needed support if available (default=auto)])])
1741
if test "x$enable_as_needed" != xno; then
1742
    saved_before_as_needed_ldflags="$LDFLAGS"
1743
    for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
1735
	saved_ldflags="$LDFLAGS"
1744
	saved_ldflags="$LDFLAGS"
1736
	AC_MSG_CHECKING([if $flags works])
1745
	AC_MSG_CHECKING([if $flags works])
1737
	LDFLAGS="$flags $saved_ldflags"
1746
	LDFLAGS="$flags $saved_ldflags"
Lines 1742-1748 Link Here
1742
		AC_MSG_RESULT([no]))
1751
		AC_MSG_RESULT([no]))
1743
	LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
1752
	LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
1744
	test x"$ld_as_needed_flag_found" = xyes && break
1753
	test x"$ld_as_needed_flag_found" = xyes && break
1745
done
1754
    done
1755
fi
1756
1757
if test x$ld_as_needed_flag_found = xyes ; then
1758
# check if ld has bug described in https://bugzilla.samba.org/show_bug.cgi?id=7209#c17
1759
	AC_MSG_CHECKING([if $LD_AS_NEEDED_FLAG has explicit external libs bug])
1760
cat > conftest_shb.c <<END
1761
void b() {}
1762
END
1763
cat > conftest_sha.c <<END
1764
extern void b();
1765
void a() {
1766
	b();
1767
}
1768
END
1769
cat > conftest.c <<END
1770
extern void a();
1771
int main() {
1772
	a();
1773
	return 0;
1774
}
1775
END
1776
1777
	rm -fr conftest
1778
	AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_sha.o conftest_sha.c 1>&AS_MESSAGE_LOG_FD 2>&1])
1779
	AC_TRY_COMMAND([$CC $CPPFLAGS $CFLAGS $PICFLAG -c -o conftest_shb.o conftest_shb.c 1>&AS_MESSAGE_LOG_FD 2>&1])
1780
	TESTCMD="`eval echo \"$SHLD $LDSHFLAGS $PICFLAG\"`"
1781
	AC_TRY_COMMAND([$TESTCMD -o libconftest_shb.$SHLIBEXT conftest_shb.o 1>&AS_MESSAGE_LOG_FD 2>&1])
1782
	AC_TRY_COMMAND([$TESTCMD -o libconftest_sha.$SHLIBEXT conftest_sha.o 1>&AS_MESSAGE_LOG_FD 2>&1])
1783
	AC_TRY_COMMAND([$CC -o conftest conftest.c $LDFLAGS -L. -lconftest_sha -lconftest_shb 1>&AS_MESSAGE_LOG_FD 2>&1])
1784
	if AC_TRY_COMMAND([eval "$LIB_PATH_VAR=. ./conftest 1>&AS_MESSAGE_LOG_FD 2>&1"])
1785
	then
1786
		AC_MSG_RESULT([no])
1787
	else
1788
		ld_as_needed_flag_found=no
1789
		LDFLAGS="$saved_before_as_needed_ldflags"
1790
		AC_MSG_RESULT([yes])
1791
	fi
1792
	rm conftest* libconftest*
1793
fi
1746
1794
1747
# check if we have to disable LD_AS_NEEDED_FLAG:
1795
# check if we have to disable LD_AS_NEEDED_FLAG:
1748
# On some systems for a veriety of reasons linking with
1796
# On some systems for a veriety of reasons linking with
Lines 1806-1814 Link Here
1806
AC_MSG_CHECKING([PICFLAG])
1854
AC_MSG_CHECKING([PICFLAG])
1807
AC_MSG_RESULT([$PICFLAG])
1855
AC_MSG_RESULT([$PICFLAG])
1808
1856
1809
AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
1810
AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
1811
1812
AC_CACHE_CHECK([whether building shared libraries actually works],
1857
AC_CACHE_CHECK([whether building shared libraries actually works],
1813
               [ac_cv_shlib_works],[
1858
               [ac_cv_shlib_works],[
1814
   # try building a trivial shared library
1859
   # try building a trivial shared library
Lines 1845-1851 Link Here
1845
1890
1846
AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
1891
AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
1847
1892
1848
AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
1849
1893
1850
1894
1851
###########################################################
1895
###########################################################
Lines 4287-4296 Link Here
4287
4331
4288
  ################################################################
4332
  ################################################################
4289
  # first test for Active Directory support being enabled
4333
  # first test for Active Directory support being enabled
4290
  #if test x"$with_ads_support" = x"no"; then
4334
  if test x"$with_ads_support" = x"no"; then
4291
  #		AC_MSG_ERROR(Active Directory support is required to enable DNS Update support)
4335
  		AC_MSG_ERROR(Active Directory support is required to enable DNS Update support)
4292
  #		with_dnsupdate_support=no
4336
  		with_dnsupdate_support=no
4293
  #fi	  	
4337
  fi
4294
  ##################################################################
4338
  ##################################################################
4295
  # then test for uuid.h (necessary to generate unique DNS keynames
4339
  # then test for uuid.h (necessary to generate unique DNS keynames
4296
  # (uuid.h is required for this test)
4340
  # (uuid.h is required for this test)
Lines 4535-4549 Link Here
4535
		x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
4579
		x"$ac_cv_header_pam_pam_modules_h" = x"no" ; then
4536
		if test x"${try_pam}" = x"yes";then
4580
		if test x"${try_pam}" = x"yes";then
4537
			AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
4581
			AC_MSG_ERROR([--with-pam=yes but pam_modules.h not found])
4538
       fi
4582
		fi
4539
		create_pam_modules=no
4583
		create_pam_modules=no
4540
    fi
4584
	fi
4541
4585
4542
	if test x"$use_pam" = x"yes"; then
4586
	if test x"$use_pam" = x"yes"; then
4543
    AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
4587
		AC_DEFINE(WITH_PAM,1,[Whether to include PAM support])
4544
		AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available])
4588
		AC_DEFINE(HAVE_LIBPAM,1,[Whether libpam is available])
4545
		AUTH_LIBS="$AUTH_LIBS $PAM_LIBS"
4589
		AUTH_LIBS="$AUTH_LIBS $PAM_LIBS"
4546
    with_pam_for_crypt=yes
4590
		with_pam_for_crypt=yes
4591
4592
		AC_VERIFY_C_PROTOTYPE(
4593
			[int pam_get_data(const pam_handle_t *pamh, const char *module_data_name, const void **data)],
4594
			[return 0;],
4595
			[AC_DEFINE(PAM_GET_DATA_ARG3_CONST_VOID_PP, 1, [Whether pam_get_data 3 argument is a const pointer to pointer])],
4596
			[
4597
			dnl Old OpenPAM declaration
4598
			AC_VERIFY_C_PROTOTYPE(
4599
				[int pam_get_data(pam_handle_t *pamh, const char *module_data_name, void **data)],
4600
				[return 0;],
4601
				[AC_DEFINE(PAM_GET_DATA_ARG3_VOID_PP, 1, [Whether pam_get_data 3 argument is a void pointer to pointer])],
4602
				[], [
4603
					#include <sys/types.h>
4604
					#if HAVE_SECURITY_PAM_APPL_H
4605
					#include <security/pam_appl.h>
4606
					#endif
4607
					#if HAVE_PAM_PAM_APPL_H
4608
					#include <pam/pam_appl.h>
4609
					#endif
4610
					#if HAVE_SECURITY_PAM_MODULES_H
4611
					#include <security/pam_modules.h>
4612
					#endif
4613
				]
4614
			)],[
4615
				#include <sys/types.h>
4616
				#if HAVE_SECURITY_PAM_APPL_H
4617
				#include <security/pam_appl.h>
4618
				#endif
4619
				#if HAVE_PAM_PAM_APPL_H
4620
				#include <pam/pam_appl.h>
4621
				#endif
4622
				#if HAVE_SECURITY_PAM_MODULES_H
4623
				#include <security/pam_modules.h>
4624
				#endif
4625
			]
4626
		)
4547
4627
4548
		if test x"$create_pam_modules" = x"yes"; then
4628
		if test x"$create_pam_modules" = x"yes"; then
4549
			AC_DEFINE(WITH_PAM_MODULES,1,[Whether to include PAM MODULES support])
4629
			AC_DEFINE(WITH_PAM_MODULES,1,[Whether to include PAM MODULES support])
Lines 4553-4559 Link Here
4553
			AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
4633
			AC_CHECK_HEADERS(pam/pam_ext.h pam/_pam_macros.h)
4554
			AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
4634
			AC_CHECK_FUNC_EXT(pam_vsyslog,$PAM_LIBS)
4555
		else
4635
		else
4556
			AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])		
4636
			AC_MSG_WARN([PAM support detected but PAM MODULES support is missing])
4557
		fi
4637
		fi
4558
	fi
4638
	fi
4559
	AC_MSG_CHECKING(whether to use PAM support)
4639
	AC_MSG_CHECKING(whether to use PAM support)
Lines 5545-5551 Link Here
5545
        esac
5625
        esac
5546
fi # with_acl_support
5626
fi # with_acl_support
5547
5627
5548
5628
# check for NFSv4 acl
5629
AC_CHECK_LIB(sunacl, acl, [ACL_LIBS="$ACL_LIBS -lsunacl"])
5549
5630
5550
#################################################
5631
#################################################
5551
# check for AIO support
5632
# check for AIO support
Lines 5626-5632 Link Here
5626
5707
5627
			AC_MSG_CHECKING(for aio_suspend)
5708
			AC_MSG_CHECKING(for aio_suspend)
5628
			AC_LINK_IFELSE([#include <aio.h>
5709
			AC_LINK_IFELSE([#include <aio.h>
5629
int main() { struct aiocb a; return aio_suspend(&a, 1, NULL); }],
5710
#include <stdlib.h>
5711
int main() {
5712
    struct aiocb &a[1];
5713
    return aio_suspend((const struct aiocb**)&a, 1, NULL);
5714
}
5715
],
5630
[AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)],
5716
[AC_DEFINE(HAVE_AIO_SUSPEND, 1, [Have aio_suspend]) AC_MSG_RESULT(yes)],
5631
[AC_MSG_RESULT(no)])
5717
[AC_MSG_RESULT(no)])
5632
		fi
5718
		fi
Lines 6086-6091 Link Here
6086
		NSSSONAMEVERSIONSUFFIX=".1"
6172
		NSSSONAMEVERSIONSUFFIX=".1"
6087
		WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \
6173
		WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \
6088
		    ../nsswitch/winbind_nss_linux.o"
6174
		    ../nsswitch/winbind_nss_linux.o"
6175
		WINBIND_WINS_NSS_EXTRA_OBJS="../nsswitch/wins_freebsd.o"
6089
		WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
6176
		WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
6090
		WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
6177
		WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
6091
		;;
6178
		;;
Lines 6176-6192 Link Here
6176
	AC_DEFINE(WITH_WINBIND,1,[Whether to link to wbclient])
6263
	AC_DEFINE(WITH_WINBIND,1,[Whether to link to wbclient])
6177
	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
6264
	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
6178
else
6265
else
6179
	if test x"$enable_developer" = x"yes" -a x"$LINK_LIBWBCLIENT" = x"STATIC" ; then
6180
		BUILD_LIBWBCLIENT_SHARED=no
6181
	else
6182
		BUILD_LIBWBCLIENT_SHARED=yes
6183
	fi
6184
6185
	LIBWBCLIENT_SHARED_TARGET=bin/libwbclient.$SHLIBEXT
6266
	LIBWBCLIENT_SHARED_TARGET=bin/libwbclient.$SHLIBEXT
6186
	LIBWBCLIENT_STATIC_TARGET=bin/libwbclient.a
6267
	LIBWBCLIENT_STATIC_TARGET=bin/libwbclient.a
6187
	LIBWBCLIENT_SOVER=0
6268
	LIBWBCLIENT_SOVER=0
6188
	if test $BLDSHARED = true -a x"$HAVE_WINBIND" = x"yes" -a x"$BUILD_LIBWBCLIENT_SHARED" = x"yes"; then
6269
	if test $BLDSHARED = true -a x"$HAVE_WINBIND" = x"yes" -a x"$BUILD_LIBWBCLIENT_SHARED" = x"yes"; then
6189
		NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}"
6190
		## Only worry about libwbclient if we have shared
6270
		## Only worry about libwbclient if we have shared
6191
		# library support
6271
		# library support
6192
		LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET
6272
		LIBWBCLIENT_SHARED=$LIBWBCLIENT_SHARED_TARGET
Lines 6206-6224 Link Here
6206
6286
6207
	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
6287
	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo\$(EXEEXT)"
6208
	EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd\$(EXEEXT)"
6288
	EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd\$(EXEEXT)"
6209
        if test $BLDSHARED = true -a x"$create_pam_modules" = x"yes"; then
6289
        if test $BLDSHARED = true; then
6290
	    NSS_MODULES="${WINBIND_NSS} ${WINBIND_WINS_NSS}"
6291
	    if test x"$create_pam_modules" = x"yes"; then
6210
		PAM_MODULES="$PAM_MODULES pam_winbind"
6292
		PAM_MODULES="$PAM_MODULES pam_winbind"
6211
		INSTALL_PAM_MODULES="installpammodules"
6293
		INSTALL_PAM_MODULES="installpammodules"
6212
		UNINSTALL_PAM_MODULES="uninstallpammodules"
6294
		UNINSTALL_PAM_MODULES="uninstallpammodules"
6295
	    fi
6213
	fi
6296
	fi
6214
else
6297
else
6215
        AC_MSG_RESULT(no$winbind_no_reason)
6298
        AC_MSG_RESULT(no$winbind_no_reason)
6216
fi
6299
fi
6217
6300
6301
AC_MSG_CHECKING([NSSSONAMEVERSIONSUFFIX])
6302
AC_MSG_RESULT([$NSSSONAMEVERSIONSUFFIX])
6303
6218
AC_SUBST(WINBIND_NSS)
6304
AC_SUBST(WINBIND_NSS)
6219
AC_SUBST(WINBIND_WINS_NSS)
6220
AC_SUBST(WINBIND_NSS_LDSHFLAGS)
6305
AC_SUBST(WINBIND_NSS_LDSHFLAGS)
6221
AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
6306
AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
6307
AC_SUBST(WINBIND_WINS_NSS)
6308
AC_SUBST(WINBIND_WINS_NSS_EXTRA_OBJS)
6222
AC_SUBST(NSSSONAMEVERSIONSUFFIX)
6309
AC_SUBST(NSSSONAMEVERSIONSUFFIX)
6223
6310
6224
AC_SUBST(WINBIND_KRB5_LOCATOR)
6311
AC_SUBST(WINBIND_KRB5_LOCATOR)
Lines 6486-6498 Link Here
6486
# Start
6573
# Start
6487
AC_CHECK_FUNC(getmntent)
6574
AC_CHECK_FUNC(getmntent)
6488
6575
6489
AC_CHECK_HEADERS(sys/statfs.h)
6576
AC_CHECK_HEADERS(sys/statfs.h sys/mount.h)
6490
6577
6491
AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid)])
6578
AC_MSG_CHECKING([vfs_fileid: checking for statfs() and struct statfs.f_fsid)])
6492
AC_CACHE_VAL(vfsfileid_cv_statfs,[
6579
AC_CACHE_VAL(vfsfileid_cv_statfs,[
6493
	     AC_TRY_RUN([
6580
	     AC_TRY_RUN([
6494
		#include <sys/types.h>
6581
		#include <sys/types.h>
6582
		#ifdef HAVE_SYS_PARAM_H
6583
		#include <sys/param.h>
6584
		#endif
6585
		#ifdef HAVE_SYS_MOUNT_H
6586
		#include <sys/mount.h>
6587
		#endif
6588
		#ifdef HAVE_SYS_STATFS_H
6495
		#include <sys/statfs.h>
6589
		#include <sys/statfs.h>
6590
		#endif
6496
		int main(void)
6591
		int main(void)
6497
		{
6592
		{
6498
			struct statfs fsd;
6593
			struct statfs fsd;
Lines 6823-6828 Link Here
6823
	LIBS="$LIBS -ldmalloc"
6918
	LIBS="$LIBS -ldmalloc"
6824
fi
6919
fi
6825
6920
6921
AC_ARG_ENABLE(dmalloc, [AS_HELP_STRING([--enable-dmalloc], [Enable heap debugging [default=no]])])
6922
6923
if test "x$enable_dmalloc" = xyes
6924
then
6925
	AC_DEFINE(ENABLE_DMALLOC, 1, [Define to turn on dmalloc debugging])
6926
	AC_DEFINE(DMALLOC_FUNC_CHECK, 1,
6927
                  [Define to check invariants around some common functions])
6928
	LIBS="$LIBS -ldmalloc"	
6929
fi
6930
6826
dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
6931
dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
6827
LIB_REMOVE_USR_LIB(LDFLAGS)
6932
LIB_REMOVE_USR_LIB(LDFLAGS)
6828
LIB_REMOVE_USR_LIB(LIBS)
6933
LIB_REMOVE_USR_LIB(LIBS)

Return to bug 161549