1AC_INIT 2AC_CONFIG_SRCDIR([main.c]) 3AM_INIT_AUTOMAKE(fcrackzip,1.0) 4 5AC_CONFIG_HEADERS([config.h]) 6 7AC_PROG_CC 8AC_HEADER_STDC 9 10AC_CHECK_SIZEOF(short, 2) 11AC_CHECK_SIZEOF(int, 4) 12AC_CHECK_SIZEOF(long, 4) 13 14AC_C_CONST 15AC_C_INLINE 16 17AC_DEFINE([USE_UNIX_REDIRECTION], 1, [Define if you can use unix-style redirection.]) 18 19AC_CHECK_PROGS(PERL,perl5 perl) 20AM_CONDITIONAL(HAVE_PERL,test -n "$PERL") 21 22if test "$GCC" = yes; then 23 AC_DEFINE([USE_GCC_ASM], 1, [Define if you can use gcc inline assembly.]) 24 CFLAGS="$CFLAGS -funroll-all-loops -O3" 25 AC_MSG_CHECKING(for pgcc/egcs) 26 case `$CC -v 2>&1` in 27 *pgcc-* ) 28 AC_MSG_RESULT(pgcc) 29 ;; 30 *egcs-* ) 31 AC_MSG_RESULT(egcs) 32 ;; 33 esac 34 AC_MSG_CHECKING(for x86 asm) 35 case `uname -m` in 36 i386 | i486 | i586 | ix86 | i86 ) 37 AC_DEFINE([COMPILE_CPU], 5, [Define this to the default x86 target cpu (5 pentium, 6 ppro).]) 38 AC_MSG_RESULT(pentium) 39 ;; 40 i686 ) 41 AC_DEFINE([COMPILE_CPU], 6, [Define this to the default x86 target cpu (5 pentium, 6 ppro).]) 42 AC_MSG_RESULT(pentiumpro) 43 ;; 44 *) 45 AC_MSG_RESULT(not x86) 46 esac 47else 48 AC_MSG_RESULT(no gcc) 49fi 50 51AC_SUBST(PERL) 52AC_CHECK_HEADERS(stdbool.h getopt.h unistd.h sys/time.h) 53AC_CHECK_FUNCS(gettimeofday) 54AC_CHECK_FUNCS(getopt_long,,[ 55 AC_LIBOBJ(getopt) 56 AC_LIBOBJ(getopt1) 57]) 58 59AH_BOTTOM([ 60typedef unsigned char u8; 61 62#if SIZEOF_SHORT == 2 63typedef unsigned short u16; 64#elif SIZEOF_INT == 2 65typedef unsigned int u16; 66#else 67#warn unable to find type with 2 bytes size 68#endif 69 70#if SIZEOF_INT == 4 71typedef unsigned int u32; 72#elif SIZEOF_LONG == 4 73typedef unsigned long u32; 74#else 75#warn unable to find type with 4 bytes size 76#endif 77 78#if defined(__GNUC__) && defined(__i386__) 79#define REGPARAM __attribute__((regparm(1))) 80#else 81#define REGPARAM 82#endif 83]) 84 85AC_CONFIG_FILES([Makefile]) 86AC_OUTPUT 87