Nalin Dahyabhai fbf890
Don't depend on a consumer of <packer.h> to be using autoconf, and to be
Nalin Dahyabhai fbf890
checking for for the presence of <inttypes.h> and <stdint.h>, and including
Nalin Dahyabhai fbf890
its own "config.h" before including <packer.h>, in order for this to be
Nalin Dahyabhai fbf890
correct on 64-bit machines.
Nalin Dahyabhai fbf890
diff -up cracklib-2.8.13/configure.in cracklib-2.8.13/configure.in
Nalin Dahyabhai fbf890
--- cracklib-2.8.13/configure.in	2008-09-23 07:53:24.000000000 -0400
Nalin Dahyabhai fbf890
+++ cracklib-2.8.13/configure.in	2008-10-28 13:39:08.000000000 -0400
Nalin Dahyabhai fbf890
@@ -26,6 +26,19 @@ AC_CHECK_HEADERS(zlib.h, AC_DEFINE(HAVE_
Nalin Dahyabhai fbf890
 
Nalin Dahyabhai fbf890
 AC_SEARCH_LIBS(gzopen, z)
Nalin Dahyabhai ba4b99
 
Nalin Dahyabhai ba4b99
+if test x$ac_cv_header_inttypes_h = xyes ; then
Nalin Dahyabhai ba4b99
+	CRACKLIB_INTEGER_TYPES1="#include <inttypes.h>"
Nalin Dahyabhai ba4b99
+	CRACKLIB_INTEGER_TYPES2=
Nalin Dahyabhai ba4b99
+elif test x$ac_cv_header_stdint_h = xyes ; then
Nalin Dahyabhai ba4b99
+	CRACKLIB_INTEGER_TYPES1="#include <stdint.h>"
Nalin Dahyabhai ba4b99
+	CRACKLIB_INTEGER_TYPES2=
Nalin Dahyabhai ba4b99
+else
Nalin Dahyabhai ba4b99
+	CRACKLIB_INTEGER_TYPES1="typedef unsigned int uint32_t;"
Nalin Dahyabhai ba4b99
+	CRACKLIB_INTEGER_TYPES2="typedef unsigned short uint16_t;"
Nalin Dahyabhai ba4b99
+fi
Nalin Dahyabhai ba4b99
+AC_SUBST(CRACKLIB_INTEGER_TYPES1)
Nalin Dahyabhai ba4b99
+AC_SUBST(CRACKLIB_INTEGER_TYPES2)
Nalin Dahyabhai ba4b99
+
Nalin Dahyabhai ba4b99
 dnl Cygwin workaround
Nalin Dahyabhai ba4b99
 AC_MSG_CHECKING(if LINE_MAX is defined)
Nalin Dahyabhai ba4b99
 AC_EGREP_CPP(yes,
Nalin Dahyabhai fbf890
@@ -90,6 +103,8 @@ AM_CONDITIONAL(BUILD_PYTHON,[test "$buil
Nalin Dahyabhai ba4b99
 dnl Handle local dict compiling properly
Nalin Dahyabhai ba4b99
 AC_SUBST(CROSS_COMPILING, $cross_compiling)
Nalin Dahyabhai ba4b99
 
Nalin Dahyabhai ba4b99
-AC_OUTPUT(util/Makefile lib/Makefile doc/Makefile python/Makefile Makefile \
Nalin Dahyabhai dce5bd
-		po/Makefile.in m4/Makefile dicts/Makefile cracklib.spec)
Nalin Dahyabhai ba4b99
+AC_CONFIG_FILES(util/Makefile lib/Makefile doc/Makefile python/Makefile \
Nalin Dahyabhai dce5bd
+		Makefile po/Makefile.in m4/Makefile dicts/Makefile \
Nalin Dahyabhai dce5bd
+		cracklib.spec lib/packer.h)
Nalin Dahyabhai ba4b99
+AC_OUTPUT
Nalin Dahyabhai ba4b99
 
Nalin Dahyabhai fbf890
diff -up cracklib-2.8.13/lib/packer.h.in cracklib-2.8.13/lib/packer.h.in
Nalin Dahyabhai fbf890
--- cracklib-2.8.13/lib/packer.h.in	2008-10-28 13:38:25.000000000 -0400
Nalin Dahyabhai fbf890
+++ cracklib-2.8.13/lib/packer.h.in	2008-10-28 13:38:25.000000000 -0400
Nalin Dahyabhai fbf890
@@ -30,17 +30,8 @@
Nalin Dahyabhai ba4b99
 #define _(String) (String)
Nalin Dahyabhai ba4b99
 #endif
Nalin Dahyabhai ba4b99
 
Nalin Dahyabhai ba4b99
-#if defined(HAVE_INTTYPES_H)
Nalin Dahyabhai ba4b99
-#include <inttypes.h>
Nalin Dahyabhai ba4b99
-#else
Nalin Dahyabhai ba4b99
-#if defined(HAVE_STDINT_H)
Nalin Dahyabhai ba4b99
-#include <stdint.h>
Nalin Dahyabhai ba4b99
-#else
Nalin Dahyabhai ba4b99
-typedef unsigned int uint32_t;
Nalin Dahyabhai ba4b99
-typedef unsigned short uint16_t;
Nalin Dahyabhai ba4b99
-#endif
Nalin Dahyabhai ba4b99
-#endif
Nalin Dahyabhai ba4b99
-
Nalin Dahyabhai ba4b99
+@CRACKLIB_INTEGER_TYPES1@
Nalin Dahyabhai ba4b99
+@CRACKLIB_INTEGER_TYPES2@
Nalin Dahyabhai ba4b99
 
Nalin Dahyabhai ba4b99
 struct pi_header
Nalin Dahyabhai ba4b99
 {
Nalin Dahyabhai fbf890
@@ -83,6 +74,9 @@ typedef struct {
Nalin Dahyabhai ba4b99
 	int dummy;
Nalin Dahyabhai ba4b99
 } PWDICT;
Nalin Dahyabhai ba4b99
 
Nalin Dahyabhai ba4b99
+@CRACKLIB_INTEGER_TYPES1@
Nalin Dahyabhai ba4b99
+@CRACKLIB_INTEGER_TYPES2@
Nalin Dahyabhai ba4b99
+
Nalin Dahyabhai ba4b99
 #endif
Nalin Dahyabhai ba4b99
 
Nalin Dahyabhai ba4b99
 extern PWDICT *PWOpen(const char *prefix, char *mode);