summaryrefslogtreecommitdiff
path: root/packages/samba/files/configure-3.2.7.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/samba/files/configure-3.2.7.patch')
-rw-r--r--packages/samba/files/configure-3.2.7.patch86
1 files changed, 86 insertions, 0 deletions
diff --git a/packages/samba/files/configure-3.2.7.patch b/packages/samba/files/configure-3.2.7.patch
new file mode 100644
index 0000000000..94d684813e
--- /dev/null
+++ b/packages/samba/files/configure-3.2.7.patch
@@ -0,0 +1,86 @@
+diff -urN source.old/configure source/configure
+--- source.old/configure 2008-11-20 14:45:08.000000000 +0000
++++ source/configure 2008-11-30 17:53:02.116791281 +0000
+@@ -40777,11 +40777,10 @@
+ *linux*)
+ # glibc <= 2.3.2 has a broken getgrouplist
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }
++# { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling See \`config.log' for more details." >&5
++# echo "$as_me: error: cannot run test program while cross compiling See \`config.log' for more details." >&2;}
++# { (exit 1); exit 1; }; }
++linux_getgrouplist_ok=no
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+diff -urN source.old/configure.in source/configure.in
+--- source.old/configure.in 2008-11-18 15:17:17.000000000 +0000
++++ source/configure.in 2008-11-30 17:33:10.960791551 +0000
+@@ -275,6 +275,8 @@
+ fi
+ AC_SUBST(BROKEN_CC)
+
++AC_TRY_COMPILE([],[(void)sizeof(char[-1])],AC_MSG_ERROR([configure's compilation assert doesn't work with $CC]))
++
+ dnl Check if the C compiler understands -Werror
+ AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [
+ AC_TRY_RUN_STRICT([
+@@ -325,25 +327,11 @@
+ # a runtime test is needed here
+ AC_SUBST(PIDL_ARGS)
+ AC_CACHE_CHECK([that the C compiler understands negative enum values],samba_cv_CC_NEGATIVE_ENUM_VALUES, [
+- AC_TRY_RUN(
++ AC_TRY_COMPILE([],
+ [
+- #include <stdio.h>
+ enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF };
+- int main(void) {
+- enum negative_values v1 = NEGATIVE_VALUE;
+- unsigned v2 = NEGATIVE_VALUE;
+-
+- if (v1 != 0xFFFFFFFF) {
+- printf("%u != 0xFFFFFFFF\n", v1);
+- return 1;
+- }
+- if (v2 != 0xFFFFFFFF) {
+- printf("%u != 0xFFFFFFFF\n", v2);
+- return 1;
+- }
+-
+- return 0;
+- }
++ (void)sizeof(char[1-2*( (unsigned)NEGATIVE_VALUE != 0xFFFFFFFF)]);
++ (void)sizeof(char[1-2*((enum negative_values)NEGATIVE_VALUE != 0xFFFFFFFF)]);
+ ],
+ samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv__CC_NEGATIVE_ENUM_VALUES=no)])
+ if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then
+@@ -1187,22 +1175,12 @@
+ case "$host_os" in
+ *linux*)
+ # glibc <= 2.3.2 has a broken getgrouplist
+- AC_TRY_RUN([
+-#include <unistd.h>
++ AC_TRY_COMPILE([
+ #include <sys/utsname.h>
+-main() {
+- /* glibc up to 2.3 has a broken getgrouplist */
++],[
+ #if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
+- int libc_major = __GLIBC__;
+- int libc_minor = __GLIBC_MINOR__;
+-
+- if (libc_major < 2)
+- exit(1);
+- if ((libc_major == 2) && (libc_minor <= 3))
+- exit(1);
++ (void)sizeof(char[1-2*(__GLIBC__ < 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)]);
+ #endif
+- exit(0);
+-}
+ ], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no])
+ if test x"$linux_getgrouplist_ok" = x"yes"; then
+ AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist])