--- configure.orig	2012-06-06 02:58:38.000000000 +0200
+++ configure	2013-10-23 14:29:24.000000000 +0200
@@ -831,7 +831,8 @@
 # NB: use ANSI C prototype to weed out non-ANSI compilers.
 #
 cat>dummy.c<<EOF
-main(int argc, char* argv) { exit(0); }
+#include <stdlib.h>
+int main(int argc, char** argv) { exit(0); }
 EOF
 
 checkCompiler()
@@ -982,7 +983,8 @@
 # Make dependency information.
 #
 cat>dummy.c<<EOF
-main(int argc, char* argv) { exit(0); }
+#include <stdlib.h>
+int main(int argc, char** argv) { exit(0); }
 EOF
 capture cat dummy.c
 if capture "$CCOMPILER -c -M $MKDEPCOPTS dummy.c | grep '^dummy.o[ 	]*:[ 	]*dummy.c'"; then
@@ -1629,7 +1631,7 @@
 {
     return(0);
 }
-main()
+int main()
 {
     struct pam_conv conv = { pamconv };
 }
@@ -1664,10 +1666,10 @@
 LIBJBIG=""
 if [ "$DISABLE_JBIG" != "yes" ]; then
 	Note "Checking for JBIG library support"
-	CheckForLibrary jbg_enc_init -ljbig &&
+	CheckForLibrary jbg_enc_init -L/usr/local/lib -ljbig &&
 		CheckForIncludeFile jbig.h && {
 			HAVE_JBIG="#define HAVE_JBIG 1"
-			LIBJBIG="-ljbig"
+			LIBJBIG="-L/usr/local/lib -ljbig"
 		}
 	if [ "x$LIBJBIG" = "x" ]; then
 		Note "... not found. Disabling JBIG support"
@@ -1832,17 +1834,48 @@
 done
 if [ "$ISGXX" = yes ]; then
     if [ -z "$CXXRUNTIME" ]; then
-	for f in memmove strdup; do
-	    CheckForLibrary $f -lc || {
-		CheckForLibrary $f -lg++ && {
+        f="memmove"
+	    CheckForLibraryWithArgs $f '(char *)0L, "", 0' -lc || {
+		CheckForLibraryWithArgs $f '(char *)0L, "", 0' -lg++ && {
+		    Note "Looks like we need -lg++ for $f"
+		    MACHDEPLIBS="$MACHDEPLIBS -lg++"
+		    break;
+		}
+	    }
+        f="strdup"
+	    CheckForLibraryWithArgs $f '""' -lc || {
+		CheckForLibraryWithArgs $f '""' -lg++ && {
 		    Note "Looks like we need -lg++ for $f"
 		    MACHDEPLIBS="$MACHDEPLIBS -lg++"
 		    break;
 		}
 	    }
-	done
     fi
-    for f in strtoul strerror memmove random; do
+    f="strtoul"
+	CheckForLibraryWithArgs $f '"", &"", 0' -lc || {
+	    CheckForLibraryWithArgs $f  '"", &"", 0' -liberty && {
+		Note "Looks like we need -liberty for $f"
+		MACHDEPLIBS="$MACHDEPLIBS -liberty"
+		break;
+	    }
+	}
+    f="strerror"
+	CheckForLibraryWithArgs $f '""' -lc || {
+	    CheckForLibraryWithArgs $f '""' -liberty && {
+		Note "Looks like we need -liberty for $f"
+		MACHDEPLIBS="$MACHDEPLIBS -liberty"
+		break;
+	    }
+	}
+    f="memmove"
+	CheckForLibraryWithArgs $f '(char *)0L, "", 0' -lc || {
+	    CheckForLibraryWithArgs $f '(char *)0L, "", 0' -liberty && {
+		Note "Looks like we need -liberty for $f"
+		MACHDEPLIBS="$MACHDEPLIBS -liberty"
+		break;
+	    }
+	}
+    f="random"
 	CheckForLibrary $f -lc || {
 	    CheckForLibrary $f -liberty && {
 		Note "Looks like we need -liberty for $f"
@@ -1850,9 +1883,8 @@
 		break;
 	    }
 	}
-    done
 fi
-CheckForLibrary floor -lm && {
+CheckForLibraryWithArgs floor "0.0" -lm && {
     Note "Looks like -lm is the library for math functions."
     MACHDEPLIBS="$MACHDEPLIBS -lm"
 }
@@ -2176,11 +2208,13 @@
 #
 CheckForFunc()
 {
-    echo "extern int $1(); main(){$1($2);exit(0);}" >t.c
+    echo "#include <stdlib.h>" > t.c
+    echo "extern int $1(); main(){$1($2);exit(0);}" >>t.c
     capture cat t.c
     runMake t "t:; \${CC} t.c ${MACHDEPLIBS}"
 }
 
+
 #
 # Look for a function declaration in system include files.
 #
@@ -2397,6 +2431,7 @@
 EOF
     }
 cat<<'EOF'
+#include <stdlib.h>
 extern char* malloc();
 static void
 boom(const char* msg)
@@ -2448,7 +2483,7 @@
 	echo "$i"
     done
     cat<<EOF
-main()
+int main()
 {
     struct $decl x;
     x.ut_exit.e_exit = 0;
@@ -2465,7 +2500,7 @@
 {
     (echo '#include <time.h>'
     cat<<EOF
-main()
+int main()
 {
     struct tm x;
     char* cp;
@@ -2484,7 +2519,7 @@
 {
     cat>t.c<<EOF
 #include <sys/ioctl.h>
-main()
+int main()
 {
     ioctl(0, TXADDCD, "rts");
     ioctl(0, TXDELCD, "rts");
@@ -2537,8 +2572,9 @@
     tiff_bytecount_t=""
     cat>t.c<<EOF
 #include <stdio.h>
+#include <stdlib.h>
 #include "tiffio.h"
-main()
+int main()
 {
     printf( "header_ver=%d lib_ver=%s", TIFFLIB_VERSION, TIFFGetVersion() );
     exit(0);
@@ -2568,7 +2604,7 @@
 				tiff_bytecount_t="uint64"
 				echo '#define TIFFHeader	TIFFHeaderClassic'
 				echo '#define TIFF_VERSION	TIFF_VERSION_CLASSIC'
-				echo '#define NEED_TIFFDIRENTRY'
+				echo '#define IGNORE_NEED_TIFFDIRENTRY'
 				;;
 	    esac
 	fi
@@ -3255,7 +3291,7 @@
     strtoul
     writev
 "
-
+FUNCS=""
 for i in $FUNCS; do
     CheckForFunc $i || {
 	Note "... emulate $i"
@@ -3313,8 +3349,9 @@
 # Verify library is compatible.
 #
 cat>t.c<<EOF
+#include <stdlib.h>
 #include "zlib.h"
-main()
+int main()
 {
     if (strcmp(ZLIB_VERSION, "0.95") < 0) {     /* include file version */
         printf("old include files: version %u\n", ZLIB_VERSION);