Hex Artifact Content
Not logged in

Artifact 581d162554a4cce67f92f4be9f519e23b4f53dfe:


0000: 23 23 20 45 78 61 6d 70 6c 65 4c 69 62 20 45 78  ## ExampleLib Ex
0010: 61 6d 70 6c 65 3a 20 61 6e 20 65 78 61 6d 70 6c  ample: an exampl
0020: 65 20 6f 66 20 75 73 69 6e 67 20 41 75 74 6f 6d  e of using Autom
0030: 61 6b 65 20 74 6f 20 6c 69 6e 6b 20 77 69 74 68  ake to link with
0040: 20 61 20 6c 69 62 72 61 72 79 0a 0a 41 43 5f 49   a library..AC_I
0050: 4e 49 54 28 5b 54 48 52 45 45 46 49 53 48 5d 2c  NIT([THREEFISH],
0060: 20 5b 31 3a 33 5d 2c 20 5b 62 65 72 6e 64 40 6e   [1:3], [bernd@n
0070: 65 74 32 6f 2e 64 65 5d 2c 20 5b 74 68 72 65 65  et2o.de], [three
0080: 66 69 73 68 20 66 6f 72 20 4c 69 6e 75 78 5d 2c  fish for Linux],
0090: 0a 20 20 20 20 20 20 20 20 5b 68 74 74 70 73 3a  .        [https:
00a0: 2f 2f 77 77 77 2e 73 63 68 6e 65 69 65 72 2e 63  //www.schneier.c
00b0: 6f 6d 2f 74 68 72 65 65 66 69 73 68 2e 68 74 6d  om/threefish.htm
00c0: 6c 5d 29 0a 41 43 5f 50 52 45 52 45 51 28 5b 32  l]).AC_PREREQ([2
00d0: 2e 35 39 5d 29 0a 41 4d 5f 49 4e 49 54 5f 41 55  .59]).AM_INIT_AU
00e0: 54 4f 4d 41 4b 45 28 5b 31 2e 31 30 20 2d 57 61  TOMAKE([1.10 -Wa
00f0: 6c 6c 20 6e 6f 2d 64 65 66 69 6e 65 5d 29 0a 41  ll no-define]).A
0100: 43 5f 43 4f 4e 46 49 47 5f 4d 41 43 52 4f 5f 44  C_CONFIG_MACRO_D
0110: 49 52 28 5b 6d 34 5d 29 0a 41 43 5f 43 4f 4e 46  IR([m4]).AC_CONF
0120: 49 47 5f 48 45 41 44 45 52 53 28 5b 63 6f 6e 66  IG_HEADERS([conf
0130: 69 67 2e 68 5d 29 0a 0a 41 43 5f 50 52 4f 47 5f  ig.h])..AC_PROG_
0140: 43 43 0a 41 4d 5f 50 52 4f 47 5f 41 53 0a 6d 34  CC.AM_PROG_AS.m4
0150: 5f 69 66 64 65 66 28 5b 41 4d 5f 50 52 4f 47 5f  _ifdef([AM_PROG_
0160: 41 52 5d 2c 20 5b 41 4d 5f 50 52 4f 47 5f 41 52  AR], [AM_PROG_AR
0170: 5d 29 0a 4c 54 5f 49 4e 49 54 0a 0a 66 6c 61 67  ]).LT_INIT..flag
0180: 73 3d 22 24 43 46 4c 41 47 53 22 0a 6e 6f 6d 66  s="$CFLAGS".nomf
0190: 6c 61 67 73 3d 22 60 65 63 68 6f 20 24 43 46 4c  lags="`echo $CFL
01a0: 41 47 53 20 7c 20 73 65 64 20 2d 65 20 27 73 2f  AGS | sed -e 's/
01b0: 2d 6d 5b 5b 5e 20 5d 5d 2a 20 2f 2f 67 27 60 22  -m[[^ ]]* //g'`"
01c0: 0a 0a 23 20 73 70 65 63 69 61 6c 20 6f 70 74 69  ..# special opti
01d0: 6d 69 7a 61 74 69 6f 6e 73 20 66 6f 72 20 73 6f  mizations for so
01e0: 6d 65 20 70 6c 61 74 74 66 6f 72 6d 73 0a 63 61  me plattforms.ca
01f0: 73 65 20 22 24 68 6f 73 74 22 20 69 6e 0a 20 20  se "$host" in.  
0200: 20 20 61 72 6d 2a 2d 2a 6c 69 6e 75 78 2a 29 0a    arm*-*linux*).
0210: 09 66 6c 61 67 73 3d 22 24 43 46 4c 41 47 53 22  .flags="$CFLAGS"
0220: 0a 09 23 6d 61 79 20 74 72 79 20 77 69 74 68 20  ..#may try with 
0230: 2d 6d 6e 65 6f 6e 2d 66 6f 72 2d 36 34 62 69 74  -mneon-for-64bit
0240: 73 0a 09 66 61 73 74 66 6c 61 67 73 3d 22 2d 4f  s..fastflags="-O
0250: 33 20 2d 6d 66 70 75 3d 6e 65 6f 6e 20 24 6e 6f  3 -mfpu=neon $no
0260: 6d 66 6c 61 67 73 22 0a 09 65 6e 61 62 6c 65 5f  mflags"..enable_
0270: 66 61 73 74 3d 79 65 73 0a 09 43 46 4c 41 47 53  fast=yes..CFLAGS
0280: 3d 22 22 0a 09 3b 3b 0a 20 20 20 20 61 72 6d 2a  =""..;;.    arm*
0290: 2d 2a 29 0a 09 43 46 4c 41 47 53 3d 22 2d 4f 33  -*)..CFLAGS="-O3
02a0: 20 2d 6d 66 70 75 3d 6e 65 6f 6e 20 24 6e 6f 6d   -mfpu=neon $nom
02b0: 66 6c 61 67 73 22 0a 09 3b 3b 0a 20 20 20 20 69  flags"..;;.    i
02c0: 36 38 36 2d 2a 6c 69 6e 75 78 2a 7c 69 36 38 36  686-*linux*|i686
02d0: 2d 2a 63 79 67 77 69 6e 2a 29 0a 09 66 6c 61 67  -*cygwin*)..flag
02e0: 73 3d 22 24 43 46 4c 41 47 53 22 0a 09 66 61 73  s="$CFLAGS"..fas
02f0: 74 66 6c 61 67 73 3d 22 2d 4f 33 20 2d 6d 33 32  tflags="-O3 -m32
0300: 20 2d 6d 73 73 73 65 33 20 24 6e 6f 6d 66 6c 61   -mssse3 $nomfla
0310: 67 73 22 0a 09 65 6e 61 62 6c 65 5f 66 61 73 74  gs"..enable_fast
0320: 3d 79 65 73 0a 09 43 46 4c 41 47 53 3d 22 22 0a  =yes..CFLAGS="".
0330: 09 3b 3b 0a 20 20 20 20 69 36 38 36 2d 2a 29 0a  .;;.    i686-*).
0340: 09 23 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20  .# if you don't 
0350: 77 61 6e 74 20 73 73 65 2c 20 73 70 65 63 69 66  want sse, specif
0360: 79 20 69 35 38 36 2d 3c 79 6f 75 72 2d 6f 73 3e  y i586-<your-os>
0370: 0a 09 43 46 4c 41 47 53 3d 22 2d 4f 33 20 2d 6d  ..CFLAGS="-O3 -m
0380: 33 32 20 2d 6d 73 73 73 65 33 20 24 6e 6f 6d 66  32 -mssse3 $nomf
0390: 6c 61 67 73 22 0a 09 3b 3b 0a 65 73 61 63 0a 0a  lags"..;;.esac..
03a0: 43 46 4c 41 47 53 3d 60 65 63 68 6f 20 24 43 46  CFLAGS=`echo $CF
03b0: 4c 41 47 53 20 7c 20 73 65 64 20 2d 65 20 27 73  LAGS | sed -e 's
03c0: 2f 2d 4f 32 2f 2d 4f 33 2f 67 27 60 0a 63 61 73  /-O2/-O3/g'`.cas
03d0: 65 20 22 24 43 46 4c 41 47 53 22 20 69 6e 0a 20  e "$CFLAGS" in. 
03e0: 20 20 20 2a 2d 4f 33 2a 29 0a 09 3b 3b 0a 20 20     *-O3*)..;;.  
03f0: 20 20 2a 29 0a 09 43 46 4c 41 47 53 3d 22 24 43    *)..CFLAGS="$C
0400: 46 4c 41 47 53 20 2d 4f 33 22 0a 09 3b 3b 0a 65  FLAGS -O3"..;;.e
0410: 73 61 63 0a 0a 41 43 5f 41 52 47 5f 45 4e 41 42  sac..AC_ARG_ENAB
0420: 4c 45 28 5b 66 61 73 74 5d 2c 0a 5b 20 20 2d 2d  LE([fast],.[  --
0430: 65 6e 61 62 6c 65 2d 66 61 73 74 20 20 20 20 54  enable-fast    T
0440: 75 72 6e 20 6f 6e 20 6f 70 74 69 6f 6e 61 6c 20  urn on optional 
0450: 66 61 73 74 20 6c 69 62 72 61 72 79 20 77 69 74  fast library wit
0460: 68 20 6e 6f 6e 2d 73 74 61 6e 64 61 72 64 20 43  h non-standard C
0470: 50 55 20 66 65 61 74 75 72 65 73 5d 2c 0a 5b 63  PU features],.[c
0480: 61 73 65 20 22 24 7b 65 6e 61 62 6c 65 76 61 6c  ase "${enableval
0490: 7d 22 20 69 6e 0a 20 20 79 65 73 29 20 66 61 73  }" in.  yes) fas
04a0: 74 3d 74 72 75 65 20 3b 3b 0a 20 20 6e 6f 29 20  t=true ;;.  no) 
04b0: 20 66 61 73 74 3d 66 61 6c 73 65 20 3b 3b 0a 20   fast=false ;;. 
04c0: 20 2a 29 20 41 43 5f 4d 53 47 5f 45 52 52 4f 52   *) AC_MSG_ERROR
04d0: 28 5b 62 61 64 20 76 61 6c 75 65 20 24 7b 65 6e  ([bad value ${en
04e0: 61 62 6c 65 76 61 6c 7d 20 66 6f 72 20 2d 2d 65  ableval} for --e
04f0: 6e 61 62 6c 65 2d 66 61 73 74 5d 29 20 3b 3b 0a  nable-fast]) ;;.
0500: 65 73 61 63 5d 2c 5b 66 61 73 74 3d 66 61 6c 73  esac],[fast=fals
0510: 65 5d 29 0a 41 4d 5f 43 4f 4e 44 49 54 49 4f 4e  e]).AM_CONDITION
0520: 41 4c 28 5b 46 41 53 54 5d 2c 20 5b 74 65 73 74  AL([FAST], [test
0530: 20 78 24 66 61 73 74 20 3d 20 78 74 72 75 65 5d   x$fast = xtrue]
0540: 29 0a 0a 50 52 45 43 43 3d 24 7b 43 43 25 67 63  )..PRECC=${CC%gc
0550: 63 2a 7d 0a 50 52 45 43 4c 41 4e 47 3d 24 7b 50  c*}.PRECLANG=${P
0560: 52 45 43 43 25 63 6c 61 6e 67 2a 7d 0a 64 6e 6c  RECC%clang*}.dnl
0570: 20 4d 61 63 4f 53 20 58 20 68 61 73 20 61 20 6c   MacOS X has a l
0580: 69 62 74 6f 6f 6c 20 74 68 61 74 20 64 6f 65 73  ibtool that does
0590: 20 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 0a   something else.
05a0: 41 43 5f 43 48 45 43 4b 5f 50 52 4f 47 53 28 47  AC_CHECK_PROGS(G
05b0: 4e 55 5f 4c 49 42 54 4f 4f 4c 2c 22 67 6c 69 62  NU_LIBTOOL,"glib
05c0: 74 6f 6f 6c 20 2d 2d 74 61 67 3d 43 43 22 20 6c  tool --tag=CC" l
05d0: 69 62 74 6f 6f 6c 29 0a 0a 4c 49 42 54 4f 4f 4c  ibtool)..LIBTOOL
05e0: 3d 24 7b 50 52 45 43 4c 41 4e 47 7d 24 7b 4c 49  =${PRECLANG}${LI
05f0: 42 54 4f 4f 4c 7d 0a 65 63 68 6f 20 22 4c 69 62  BTOOL}.echo "Lib
0600: 74 6f 6f 6c 3a 20 24 50 52 45 43 43 2c 20 24 50  tool: $PRECC, $P
0610: 52 45 43 4c 41 4e 47 2c 20 24 4c 49 42 54 4f 4f  RECLANG, $LIBTOO
0620: 4c 22 0a 0a 41 43 5f 53 55 42 53 54 28 66 61 73  L"..AC_SUBST(fas
0630: 74 66 6c 61 67 73 29 0a 41 43 5f 53 55 42 53 54  tflags).AC_SUBST
0640: 28 66 6c 61 67 73 29 0a 41 43 5f 53 55 42 53 54  (flags).AC_SUBST
0650: 28 4c 49 42 54 4f 4f 4c 29 0a 41 43 5f 43 4f 4e  (LIBTOOL).AC_CON
0660: 46 49 47 5f 46 49 4c 45 53 28 5b 4d 61 6b 65 66  FIG_FILES([Makef
0670: 69 6c 65 5d 29 0a 41 43 5f 4f 55 54 50 55 54 0a  ile]).AC_OUTPUT.