Hex Artifact Content
Not logged in

Artifact fc8f8e9aae4498fab8edfe81c4bd6934b689d31f:


0000: 23 23 20 6b 65 63 63 61 63 20 41 75 74 6f 63 6f  ## keccac Autoco
0010: 6e 66 0a 0a 41 43 5f 49 4e 49 54 28 5b 4b 45 43  nf..AC_INIT([KEC
0020: 43 41 4b 5d 2c 20 5b 33 3a 34 5d 2c 20 5b 62 65  CAK], [3:4], [be
0030: 72 6e 64 40 6e 65 74 32 6f 2e 64 65 5d 2c 20 5b  rnd@net2o.de], [
0040: 6b 65 63 63 61 6b 20 66 6f 72 20 4c 69 6e 75 78  keccak for Linux
0050: 5d 2c 0a 20 20 20 20 20 20 20 20 5b 68 74 74 70  ],.        [http
0060: 3a 2f 2f 6b 65 63 63 61 6b 2e 6e 6f 65 6b 65 6f  ://keccak.noekeo
0070: 6e 2e 6f 72 67 2f 5d 29 0a 41 43 5f 50 52 45 52  n.org/]).AC_PRER
0080: 45 51 28 5b 32 2e 35 39 5d 29 0a 41 4d 5f 49 4e  EQ([2.59]).AM_IN
0090: 49 54 5f 41 55 54 4f 4d 41 4b 45 28 5b 31 2e 31  IT_AUTOMAKE([1.1
00a0: 30 20 2d 57 61 6c 6c 20 6e 6f 2d 64 65 66 69 6e  0 -Wall no-defin
00b0: 65 5d 29 0a 41 43 5f 43 4f 4e 46 49 47 5f 4d 41  e]).AC_CONFIG_MA
00c0: 43 52 4f 5f 44 49 52 28 5b 6d 34 5d 29 0a 41 43  CRO_DIR([m4]).AC
00d0: 5f 43 4f 4e 46 49 47 5f 48 45 41 44 45 52 53 28  _CONFIG_HEADERS(
00e0: 5b 63 6f 6e 66 69 67 2e 68 5d 29 0a 0a 43 46 4c  [config.h])..CFL
00f0: 41 47 53 3d 24 7b 43 46 4c 41 47 53 2d 2d 4f 33  AGS=${CFLAGS--O3
0100: 7d 0a 0a 41 43 5f 50 52 4f 47 5f 43 43 0a 41 4d  }..AC_PROG_CC.AM
0110: 5f 50 52 4f 47 5f 41 53 0a 6d 34 5f 69 66 64 65  _PROG_AS.m4_ifde
0120: 66 28 5b 41 4d 5f 50 52 4f 47 5f 41 52 5d 2c 20  f([AM_PROG_AR], 
0130: 5b 41 4d 5f 50 52 4f 47 5f 41 52 5d 29 0a 4c 54  [AM_PROG_AR]).LT
0140: 5f 49 4e 49 54 0a 0a 41 43 5f 43 48 45 43 4b 5f  _INIT..AC_CHECK_
0150: 53 49 5a 45 4f 46 28 76 6f 69 64 20 2a 29 0a 63  SIZEOF(void *).c
0160: 61 73 65 20 22 24 61 63 5f 63 76 5f 73 69 7a 65  ase "$ac_cv_size
0170: 6f 66 5f 76 6f 69 64 5f 70 22 20 69 6e 0a 20 20  of_void_p" in.  
0180: 34 29 0a 20 20 20 20 77 73 3d 24 7b 77 73 2d 6f  4).    ws=${ws-o
0190: 70 74 33 32 7d 0a 20 20 20 20 3b 3b 0a 20 20 38  pt32}.    ;;.  8
01a0: 29 0a 20 20 20 20 77 73 3d 24 7b 77 73 2d 6f 70  ).    ws=${ws-op
01b0: 74 36 34 7d 0a 20 20 20 20 3b 3b 0a 65 73 61 63  t64}.    ;;.esac
01c0: 0a 0a 66 6c 61 67 73 3d 22 24 43 46 4c 41 47 53  ..flags="$CFLAGS
01d0: 22 0a 6e 6f 6d 66 6c 61 67 73 3d 22 60 65 63 68  ".nomflags="`ech
01e0: 6f 20 24 43 46 4c 41 47 53 20 7c 20 73 65 64 20  o $CFLAGS | sed 
01f0: 2d 65 20 27 73 2f 2d 6d 5b 5b 5e 20 5d 5d 2a 20  -e 's/-m[[^ ]]* 
0200: 2f 2f 67 27 60 22 0a 0a 23 20 73 70 65 63 69 61  //g'`"..# specia
0210: 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20  l optimizations 
0220: 66 6f 72 20 73 6f 6d 65 20 70 6c 61 74 74 66 6f  for some plattfo
0230: 72 6d 73 0a 63 61 73 65 20 22 24 68 6f 73 74 22  rms.case "$host"
0240: 20 69 6e 0a 20 20 20 20 20 61 72 6d 2a 2d 2a 6c   in.     arm*-*l
0250: 69 6e 75 78 2a 29 0a 09 66 6c 61 67 73 3d 22 24  inux*)..flags="$
0260: 43 46 4c 41 47 53 22 0a 09 61 73 6d 66 6c 61 67  CFLAGS"..asmflag
0270: 73 3d 22 24 43 46 4c 41 47 53 22 0a 09 66 61 73  s="$CFLAGS"..fas
0280: 74 61 73 6d 66 6c 61 67 73 3d 22 2d 4f 33 20 2d  tasmflags="-O3 -
0290: 6d 66 70 75 3d 6e 65 6f 6e 20 24 6e 6f 6d 66 6c  mfpu=neon $nomfl
02a0: 61 67 73 22 0a 09 66 61 73 74 66 6c 61 67 73 3d  ags"..fastflags=
02b0: 22 2d 4f 33 20 2d 6d 66 70 75 3d 6e 65 6f 6e 20  "-O3 -mfpu=neon 
02c0: 24 6e 6f 6d 66 6c 61 67 73 22 0a 09 61 73 3d 22  $nomflags"..as="
02d0: 69 6e 70 6c 61 63 65 2d 61 72 6d 67 63 63 2d 41  inplace-armgcc-A
02e0: 52 4d 76 37 41 2d 4e 45 4f 4e 22 0a 09 65 6e 61  RMv7A-NEON"..ena
02f0: 62 6c 65 5f 61 73 6d 3d 79 65 73 0a 09 65 6e 61  ble_asm=yes..ena
0300: 62 6c 65 5f 66 61 73 74 3d 79 65 73 0a 09 70 6c  ble_fast=yes..pl
0310: 61 74 74 66 6f 72 6d 3d 6e 65 6f 6e 0a 09 43 46  attform=neon..CF
0320: 4c 41 47 53 3d 22 22 0a 09 43 43 41 53 46 4c 41  LAGS=""..CCASFLA
0330: 47 53 3d 22 22 0a 09 3b 3b 0a 20 20 20 20 20 61  GS=""..;;.     a
0340: 72 6d 2a 29 0a 09 61 73 6d 66 6c 61 67 73 3d 22  rm*)..asmflags="
0350: 2d 4f 33 20 2d 6d 66 70 75 3d 6e 65 6f 6e 20 24  -O3 -mfpu=neon $
0360: 6e 6f 6d 66 6c 61 67 73 22 0a 09 66 6c 61 67 73  nomflags"..flags
0370: 3d 22 2d 4f 33 20 2d 6d 66 70 75 3d 6e 65 6f 6e  ="-O3 -mfpu=neon
0380: 20 24 6e 6f 6d 66 6c 61 67 73 22 0a 09 61 73 3d   $nomflags"..as=
0390: 22 69 6e 70 6c 61 63 65 2d 61 72 6d 67 63 63 2d  "inplace-armgcc-
03a0: 41 52 4d 76 37 41 2d 4e 45 4f 4e 22 0a 09 65 6e  ARMv7A-NEON"..en
03b0: 61 62 6c 65 5f 61 73 6d 3d 79 65 73 0a 09 70 6c  able_asm=yes..pl
03c0: 61 74 74 66 6f 72 6d 3d 6e 65 6f 6e 0a 09 43 46  attform=neon..CF
03d0: 4c 41 47 53 3d 22 22 0a 09 43 43 41 53 46 4c 41  LAGS=""..CCASFLA
03e0: 47 53 3d 22 22 0a 09 3b 3b 0a 20 20 20 20 69 36  GS=""..;;.    i6
03f0: 38 36 2d 2a 6c 69 6e 75 78 2a 7c 69 36 38 36 2d  86-*linux*|i686-
0400: 2a 63 79 67 77 69 6e 2a 29 0a 09 23 20 69 66 20  *cygwin*)..# if 
0410: 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 20 73  you don't want s
0420: 73 65 2c 20 73 70 65 63 69 66 79 20 69 35 38 36  se, specify i586
0430: 2d 6c 69 6e 75 78 2d 67 6e 75 0a 09 65 6e 61 62  -linux-gnu..enab
0440: 6c 65 5f 66 61 73 74 3d 79 65 73 0a 20 20 20 20  le_fast=yes.    
0450: 20 20 20 20 66 6c 61 67 73 3d 22 24 43 46 4c 41      flags="$CFLA
0460: 47 53 22 0a 09 66 61 73 74 66 6c 61 67 73 3d 22  GS"..fastflags="
0470: 2d 4f 33 20 2d 6d 33 32 20 2d 6d 73 73 73 65 33  -O3 -m32 -mssse3
0480: 20 2d 44 55 73 65 53 53 45 20 24 6e 6f 6d 66 6c   -DUseSSE $nomfl
0490: 61 67 73 22 0a 09 77 73 3d 6f 70 74 36 34 0a 09  ags"..ws=opt64..
04a0: 43 46 4c 41 47 53 3d 22 22 0a 09 3b 3b 0a 20 20  CFLAGS=""..;;.  
04b0: 20 20 69 36 38 36 2d 2a 29 0a 09 23 20 69 66 20    i686-*)..# if 
04c0: 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 20 73  you don't want s
04d0: 73 65 2c 20 73 70 65 63 69 66 79 20 69 35 38 36  se, specify i586
04e0: 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 20 20 20  -linux-gnu.     
04f0: 20 20 20 66 6c 61 67 73 3d 22 2d 4f 33 20 2d 6d     flags="-O3 -m
0500: 33 32 20 2d 6d 73 73 73 65 33 20 2d 44 55 73 65  32 -mssse3 -DUse
0510: 53 53 45 20 24 6e 6f 6d 66 6c 61 67 73 22 0a 09  SSE $nomflags"..
0520: 77 73 3d 6f 70 74 36 34 0a 09 43 46 4c 41 47 53  ws=opt64..CFLAGS
0530: 3d 22 22 0a 09 3b 3b 0a 65 73 61 63 0a 0a 41 43  =""..;;.esac..AC
0540: 5f 41 52 47 5f 45 4e 41 42 4c 45 28 5b 61 73 6d  _ARG_ENABLE([asm
0550: 5d 2c 0a 5b 20 20 2d 2d 65 6e 61 62 6c 65 2d 61  ],.[  --enable-a
0560: 73 6d 20 20 20 20 54 75 72 6e 20 6f 6e 20 61 73  sm    Turn on as
0570: 73 65 6d 62 6c 65 72 20 73 6f 75 72 63 65 73 5d  sembler sources]
0580: 2c 0a 5b 63 61 73 65 20 22 24 7b 65 6e 61 62 6c  ,.[case "${enabl
0590: 65 76 61 6c 7d 22 20 69 6e 0a 20 20 79 65 73 29  eval}" in.  yes)
05a0: 20 61 73 6d 3d 74 72 75 65 20 3b 3b 0a 20 20 6e   asm=true ;;.  n
05b0: 6f 29 20 20 61 73 6d 3d 66 61 6c 73 65 20 3b 3b  o)  asm=false ;;
05c0: 0a 20 20 2a 29 20 41 43 5f 4d 53 47 5f 45 52 52  .  *) AC_MSG_ERR
05d0: 4f 52 28 5b 62 61 64 20 76 61 6c 75 65 20 24 7b  OR([bad value ${
05e0: 65 6e 61 62 6c 65 76 61 6c 7d 20 66 6f 72 20 2d  enableval} for -
05f0: 2d 65 6e 61 62 6c 65 2d 61 73 6d 5d 29 20 3b 3b  -enable-asm]) ;;
0600: 0a 65 73 61 63 5d 2c 5b 61 73 6d 3d 66 61 6c 73  .esac],[asm=fals
0610: 65 5d 29 0a 41 4d 5f 43 4f 4e 44 49 54 49 4f 4e  e]).AM_CONDITION
0620: 41 4c 28 5b 41 53 4d 5d 2c 20 5b 74 65 73 74 20  AL([ASM], [test 
0630: 78 24 61 73 6d 20 3d 20 78 74 72 75 65 5d 29 0a  x$asm = xtrue]).
0640: 41 43 5f 41 52 47 5f 45 4e 41 42 4c 45 28 5b 66  AC_ARG_ENABLE([f
0650: 61 73 74 5d 2c 0a 5b 20 20 2d 2d 65 6e 61 62 6c  ast],.[  --enabl
0660: 65 2d 66 61 73 74 20 20 20 20 54 75 72 6e 20 6f  e-fast    Turn o
0670: 6e 20 6f 70 74 69 6f 6e 61 6c 20 66 61 73 74 20  n optional fast 
0680: 6c 69 62 72 61 72 79 20 77 69 74 68 20 6e 6f 6e  library with non
0690: 2d 73 74 61 6e 64 61 72 64 20 43 50 55 20 66 65  -standard CPU fe
06a0: 61 74 75 72 65 73 5d 2c 0a 5b 63 61 73 65 20 22  atures],.[case "
06b0: 24 7b 65 6e 61 62 6c 65 76 61 6c 7d 22 20 69 6e  ${enableval}" in
06c0: 0a 20 20 79 65 73 29 20 66 61 73 74 3d 74 72 75  .  yes) fast=tru
06d0: 65 20 3b 3b 0a 20 20 6e 6f 29 20 20 66 61 73 74  e ;;.  no)  fast
06e0: 3d 66 61 6c 73 65 20 3b 3b 0a 20 20 2a 29 20 41  =false ;;.  *) A
06f0: 43 5f 4d 53 47 5f 45 52 52 4f 52 28 5b 62 61 64  C_MSG_ERROR([bad
0700: 20 76 61 6c 75 65 20 24 7b 65 6e 61 62 6c 65 76   value ${enablev
0710: 61 6c 7d 20 66 6f 72 20 2d 2d 65 6e 61 62 6c 65  al} for --enable
0720: 2d 66 61 73 74 5d 29 20 3b 3b 0a 65 73 61 63 5d  -fast]) ;;.esac]
0730: 2c 5b 66 61 73 74 3d 66 61 6c 73 65 5d 29 0a 41  ,[fast=false]).A
0740: 4d 5f 43 4f 4e 44 49 54 49 4f 4e 41 4c 28 5b 46  M_CONDITIONAL([F
0750: 41 53 54 5d 2c 20 5b 74 65 73 74 20 78 24 66 61  AST], [test x$fa
0760: 73 74 20 3d 20 78 74 72 75 65 5d 29 0a 0a 23 78  st = xtrue])..#x
0770: 38 36 20 6f 6e 20 78 38 36 5f 36 34 20 70 6c 61  86 on x86_64 pla
0780: 74 74 66 6f 72 6d 73 3a 0a 23 2e 2f 63 6f 6e 66  ttforms:.#./conf
0790: 69 67 75 72 65 20 2d 2d 68 6f 73 74 3d 69 36 38  igure --host=i68
07a0: 36 2d 6c 69 6e 75 78 2d 67 6e 75 20 43 46 4c 41  6-linux-gnu CFLA
07b0: 47 53 3d 22 2d 4f 33 20 2d 6d 33 32 20 2d 6d 73  GS="-O3 -m32 -ms
07c0: 73 73 65 33 20 2d 44 55 73 65 53 53 45 22 20 77  sse3 -DUseSSE" w
07d0: 73 3d 6f 70 74 36 34 0a 23 41 52 4d 20 77 69 74  s=opt64.#ARM wit
07e0: 68 20 4e 45 4f 4e 0a 23 2e 2f 63 6f 6e 66 69 67  h NEON.#./config
07f0: 75 72 65 20 2d 2d 65 6e 61 62 6c 65 2d 61 73 6d  ure --enable-asm
0800: 20 61 73 3d 22 69 6e 70 6c 61 63 65 2d 61 72 6d   as="inplace-arm
0810: 67 63 63 2d 41 52 4d 76 37 41 2d 4e 45 4f 4e 22  gcc-ARMv7A-NEON"
0820: 20 70 6c 61 74 74 66 6f 72 6d 3d 6e 65 6f 6e 20   plattform=neon 
0830: 43 43 3d 22 61 72 6d 2d 6c 69 6e 75 78 2d 61 6e  CC="arm-linux-an
0840: 64 72 6f 69 64 65 61 62 69 2d 67 63 63 20 2d 6d  droideabi-gcc -m
0850: 66 70 75 3d 6e 65 6f 6e 2d 76 66 70 76 34 22 20  fpu=neon-vfpv4" 
0860: 2d 2d 68 6f 73 74 3d 61 72 6d 2d 6c 69 6e 75 78  --host=arm-linux
0870: 2d 61 6e 64 72 6f 69 64 65 61 62 69 0a 0a 50 52  -androideabi..PR
0880: 45 43 43 3d 24 7b 43 43 25 67 63 63 2a 7d 0a 50  ECC=${CC%gcc*}.P
0890: 52 45 43 4c 41 4e 47 3d 24 7b 50 52 45 43 43 25  RECLANG=${PRECC%
08a0: 63 6c 61 6e 67 2a 7d 0a 64 6e 6c 20 4d 61 63 4f  clang*}.dnl MacO
08b0: 53 20 58 20 68 61 73 20 61 20 6c 69 62 74 6f 6f  S X has a libtoo
08c0: 6c 20 74 68 61 74 20 64 6f 65 73 20 73 6f 6d 65  l that does some
08d0: 74 68 69 6e 67 20 65 6c 73 65 0a 41 43 5f 43 48  thing else.AC_CH
08e0: 45 43 4b 5f 50 52 4f 47 53 28 47 4e 55 5f 4c 49  ECK_PROGS(GNU_LI
08f0: 42 54 4f 4f 4c 2c 22 67 6c 69 62 74 6f 6f 6c 20  BTOOL,"glibtool 
0900: 2d 2d 74 61 67 3d 43 43 22 20 6c 69 62 74 6f 6f  --tag=CC" libtoo
0910: 6c 29 0a 0a 4c 49 42 54 4f 4f 4c 3d 24 7b 50 52  l)..LIBTOOL=${PR
0920: 45 43 4c 41 4e 47 7d 24 7b 4c 49 42 54 4f 4f 4c  ECLANG}${LIBTOOL
0930: 7d 0a 65 63 68 6f 20 22 4c 69 62 74 6f 6f 6c 3a  }.echo "Libtool:
0940: 20 24 50 52 45 43 43 2c 20 24 50 52 45 43 4c 41   $PRECC, $PRECLA
0950: 4e 47 2c 20 24 4c 49 42 54 4f 4f 4c 22 0a 0a 41  NG, $LIBTOOL"..A
0960: 43 5f 53 55 42 53 54 28 6e 6f 6d 66 6c 61 67 73  C_SUBST(nomflags
0970: 29 0a 41 43 5f 53 55 42 53 54 28 66 61 73 74 66  ).AC_SUBST(fastf
0980: 6c 61 67 73 29 0a 41 43 5f 53 55 42 53 54 28 66  lags).AC_SUBST(f
0990: 61 73 74 61 73 6d 66 6c 61 67 73 29 0a 41 43 5f  astasmflags).AC_
09a0: 53 55 42 53 54 28 66 6c 61 67 73 29 0a 41 43 5f  SUBST(flags).AC_
09b0: 53 55 42 53 54 28 61 73 6d 66 6c 61 67 73 29 0a  SUBST(asmflags).
09c0: 41 43 5f 53 55 42 53 54 28 77 73 29 0a 41 43 5f  AC_SUBST(ws).AC_
09d0: 53 55 42 53 54 28 61 73 29 0a 41 43 5f 53 55 42  SUBST(as).AC_SUB
09e0: 53 54 28 70 6c 61 74 74 66 6f 72 6d 29 0a 41 43  ST(plattform).AC
09f0: 5f 53 55 42 53 54 28 4c 49 42 54 4f 4f 4c 29 0a  _SUBST(LIBTOOL).
0a00: 41 43 5f 43 4f 4e 46 49 47 5f 46 49 4c 45 53 28  AC_CONFIG_FILES(
0a10: 5b 4d 61 6b 65 66 69 6c 65 5d 29 0a 41 43 5f 4f  [Makefile]).AC_O
0a20: 55 54 50 55 54 0a                                UTPUT.