Portability fixes (taken from mozilla packages)
Index: mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/config/nsinstall.c
===================================================================
--- mozilla-ldap-sdk-6.0.6+dfsg.orig/mozilla/directory/c-sdk/config/nsinstall.c	2010-04-19 19:49:03.000000000 +0200
+++ mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/config/nsinstall.c	2010-04-19 19:50:06.000000000 +0200
@@ -109,7 +109,7 @@
 }
 #endif /* NEXTSTEP */
 
-#ifdef LINUX
+#if defined(LINUX) || defined(__GLIBC__) || defined(__GNU__)
 #include <getopt.h>
 #endif
 
Index: mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/include/portable.h
===================================================================
--- mozilla-ldap-sdk-6.0.6+dfsg.orig/mozilla/directory/c-sdk/ldap/include/portable.h	2010-04-19 19:49:30.000000000 +0200
+++ mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/include/portable.h	2010-04-19 19:50:06.000000000 +0200
@@ -122,7 +122,7 @@
  * some systems don't have the BSD re_comp and re_exec routines
  */
 #ifndef NEED_BSDREGEX
-#if ( defined( SYSV ) || defined( NETBSD ) || defined( freebsd ) || defined( linux ) || defined( DARWIN )) && !defined(sgi)
+#if ( defined( SYSV ) || defined( NETBSD ) || defined( freebsd ) || defined( linux ) || defined(__GNU__) || defined(__GLIBC__) || defined( DARWIN )) && !defined(sgi)
 #define NEED_BSDREGEX
 #endif
 #endif
@@ -151,7 +151,8 @@
  * Is snprintf() part of the standard C runtime library?
  */
 #if !defined(HAVE_SNPRINTF)
-#if defined(SOLARIS) || defined(LINUX) || defined(HPUX) || defined(AIX)
+#if defined(SOLARIS) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(HPUX) || defined(AIX)
+
 #define HAVE_SNPRINTF
 #endif
 #if defined(_WINDOWS)
@@ -175,7 +176,7 @@
  * for select()
  */
 #if !defined(WINSOCK) && !defined(_WINDOWS) && !defined(macintosh) && !defined(XP_OS2)
-#if defined(hpux) || defined(LINUX) || defined(SUNOS4) || defined(XP_BEOS)
+#if defined(hpux) || defined(LINUX) || defined(__GNU__) || defined(__GLIBC__) || defined(SUNOS4) || defined(XP_BEOS)
 #include <sys/time.h>
 #else
 #include <sys/select.h>
@@ -247,15 +248,15 @@
 #define HAVE_TIME_R
 #endif
 
-#if defined(SNI) || defined(LINUX1_2)
+#if defined(SNI) || defined(LINUX1_2) || defined(__GNU__) || defined(__GLIBC__)
 int strcasecmp(const char *, const char *);
 #ifdef SNI
 int strncasecmp(const char *, const char *, int);
-#endif /* SNI */
-#ifdef LINUX1_2
+#else /* SNI */
 int strncasecmp(const char *, const char *, size_t);
-#endif /* LINUX1_2 */
-#endif /* SNI || LINUX1_2 */
+#endif
+#endif /* SNI || LINUX1_2 || __GNU__ || __GLIBC__ */
+
 
 #if defined(_WINDOWS) || defined(macintosh) || defined(XP_OS2) || defined(DARWIN)
 #define GETHOSTBYNAME( n, r, b, l, e )  gethostbyname( n )
@@ -306,7 +307,7 @@
 #define GETHOSTBYNAME( n, r, b, l, e )  gethostbyname_r( n, r, b, l, e )
 #endif
 #if defined(HPUX9) || defined(LINUX1_2) || defined(LINUX2_0) || \
-    defined(LINUX2_1) || defined(SUNOS4) || defined(SNI) || \
+    defined(LINUX2_1) || defined(__GNU__) || defined(__GLIBC__) || defined(SUNOS4) || defined(SNI) || \
     defined(SCOOS) || defined(BSDI) || defined(NCR) || \
     defined(NEC) || ( defined(HPUX10) && !defined(_REENTRANT)) || \
     (defined(AIX) && !defined(USE_REENTRANT_LIBC))
Index: mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.client
===================================================================
--- mozilla-ldap-sdk-6.0.6+dfsg.orig/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.client	2010-04-19 19:49:45.000000000 +0200
+++ mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.client	2010-04-19 19:50:06.000000000 +0200
@@ -177,7 +177,7 @@
 EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib
 endif
 
-ifeq ($(OS_ARCH), Linux)
+ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH)))
 EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME)
 EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib
 endif
@@ -253,7 +253,7 @@
 ifeq ($(OS_ARCH), AIX)
 	$(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a
 else
-ifeq ($(OS_ARCH), Linux)
+ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH)))
 	$(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a
 else
 	$(LINK_LIB) $(EXTRA_LIBS)
Index: mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in
===================================================================
--- mozilla-ldap-sdk-6.0.6+dfsg.orig/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in	2010-04-19 19:49:48.000000000 +0200
+++ mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/libraries/libldap/Makefile.in	2010-04-19 19:50:06.000000000 +0200
@@ -202,7 +202,7 @@
 EXTRA_LIBS = -L$(dist_libdir) -l$(LBER_LIBNAME) $(OS_LIBS) -lc
 endif
 
-ifeq ($(OS_ARCH), Linux)
+ifneq (,$(filter Linux GNU GNU_%, $(OS_ARCH)))
 EXTRA_LIBS = -L$(dist_libdir) -l$(LBER_LIBNAME)
 endif
 
@@ -324,7 +324,7 @@
 ifdef SO_FILES_TO_REMOVE
 	-$(RM) $(SO_FILES_TO_REMOVE)
 endif
-ifneq (,$(filter AIX Linux HP-UX Darwin BeOS QNX NetBSD OSF1 OpenBSD, $(OS_ARCH)))
+ifneq (,$(filter AIX Linux GNU GNU_% HP-UX Darwin BeOS QNX NetBSD OSF1 OpenBSD, $(OS_ARCH)))
 	$(LINK_LIB)
 else
 ifeq ($(OS_ARCH),OS2)
Index: mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c
===================================================================
--- mozilla-ldap-sdk-6.0.6+dfsg.orig/mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c	2010-04-19 19:49:58.000000000 +0200
+++ mozilla-ldap-sdk-6.0.6+dfsg/mozilla/directory/c-sdk/ldap/libraries/libprldap/ldappr-error.c	2010-04-19 19:50:06.000000000 +0200
@@ -233,7 +233,7 @@
 
 #if defined(__hpux) || defined(_AIX) || defined(OSF1) || defined(DARWIN) || \
   defined(BEOS) || defined(FREEBSD) || defined(BSDI) || defined(VMS) || \
-  defined(OPENBSD) || defined(NETBSD)
+  defined(OPENBSD) || defined(NETBSD) || defined(__FreeBSD_kernel__)
 #define EDEADLOCK       -1
 #endif
 
