Hex Artifact Content

Artifact 6f842ced7b5acf55ef602acc24b6dc9762278039:


0000: 41 43 5f 49 4e 49 54 28 63 61 63 6b 65 79 2c 20  AC_INIT(cackey, 
0010: 30 2e 35 2e 31 31 29 20 0a 41 43 5f 43 4f 4e 46  0.5.11) .AC_CONF
0020: 49 47 5f 48 45 41 44 45 52 53 28 63 6f 6e 66 69  IG_HEADERS(confi
0030: 67 2e 68 29 0a 0a 64 6e 6c 20 4c 6f 63 61 74 65  g.h)..dnl Locate
0040: 20 73 74 61 6e 64 61 72 64 20 74 6f 6f 6c 73 0a   standard tools.
0050: 41 43 5f 50 52 4f 47 5f 43 43 0a 41 43 5f 50 52  AC_PROG_CC.AC_PR
0060: 4f 47 5f 4d 41 4b 45 5f 53 45 54 0a 41 43 5f 50  OG_MAKE_SET.AC_P
0070: 52 4f 47 5f 49 4e 53 54 41 4c 4c 0a 41 43 5f 41  ROG_INSTALL.AC_A
0080: 49 58 0a 0a 64 6e 6c 20 44 65 74 65 72 6d 69 6e  IX..dnl Determin
0090: 65 20 74 68 69 73 20 70 6c 61 74 66 6f 72 6d 0a  e this platform.
00a0: 44 43 5f 43 48 4b 5f 4f 53 5f 49 4e 46 4f 0a 0a  DC_CHK_OS_INFO..
00b0: 64 6e 6c 20 44 65 74 65 72 6d 69 6e 65 20 68 6f  dnl Determine ho
00c0: 77 20 74 6f 20 63 72 65 61 74 65 20 73 68 61 72  w to create shar
00d0: 65 64 20 6f 62 6a 65 63 74 73 20 6f 6e 20 74 68  ed objects on th
00e0: 69 73 20 70 6c 61 74 66 6f 72 6d 0a 44 43 5f 47  is platform.DC_G
00f0: 45 54 5f 53 48 4f 42 4a 46 4c 41 47 53 0a 0a 41  ET_SHOBJFLAGS..A
0100: 43 58 5f 50 54 48 52 45 41 44 28 2c 20 5b 0a 09  CX_PTHREAD(, [..
0110: 41 43 5f 4d 53 47 5f 57 41 52 4e 28 5b 43 61 6e  AC_MSG_WARN([Can
0120: 20 6e 6f 74 20 66 69 67 75 72 65 20 6f 75 74 20   not figure out 
0130: 68 6f 77 20 74 6f 20 63 6f 6d 70 69 6c 65 20 77  how to compile w
0140: 69 74 68 20 70 74 68 72 65 61 64 73 20 73 75 70  ith pthreads sup
0150: 70 6f 72 74 2c 20 72 75 6e 2d 74 69 6d 65 20 77  port, run-time w
0160: 69 6c 6c 20 6c 69 6b 65 6c 79 20 66 61 69 6c 2e  ill likely fail.
0170: 5d 29 0a 5d 29 0a 0a 64 6e 6c 20 44 65 74 65 72  ]).])..dnl Deter
0180: 6d 69 6e 65 20 68 6f 77 20 74 6f 20 63 72 65 61  mine how to crea
0190: 74 65 20 73 74 61 74 69 63 20 61 72 63 68 69 76  te static archiv
01a0: 65 73 20 6f 6e 20 74 68 69 73 20 70 6c 61 74 66  es on this platf
01b0: 6f 72 6d 0a 41 43 5f 43 48 45 43 4b 5f 54 4f 4f  orm.AC_CHECK_TOO
01c0: 4c 28 41 52 2c 20 61 72 29 0a 41 43 5f 43 48 45  L(AR, ar).AC_CHE
01d0: 43 4b 5f 54 4f 4f 4c 28 52 41 4e 4c 49 42 2c 20  CK_TOOL(RANLIB, 
01e0: 72 61 6e 6c 69 62 29 0a 0a 64 6e 6c 20 44 65 74  ranlib)..dnl Det
01f0: 65 72 6d 69 6e 65 20 68 6f 77 20 74 6f 20 73 74  ermine how to st
0200: 72 69 70 20 65 78 65 63 75 74 61 62 6c 65 73 0a  rip executables.
0210: 41 43 5f 43 48 45 43 4b 5f 54 4f 4f 4c 28 53 54  AC_CHECK_TOOL(ST
0220: 52 49 50 2c 20 73 74 72 69 70 29 0a 0a 64 6e 6c  RIP, strip)..dnl
0230: 20 43 68 65 63 6b 20 66 6f 72 20 61 6c 6c 20 72   Check for all r
0240: 65 71 75 69 72 65 64 20 68 65 61 64 65 72 73 0a  equired headers.
0250: 41 43 5f 43 48 45 43 4b 5f 48 45 41 44 45 52 53  AC_CHECK_HEADERS
0260: 28 61 72 70 61 2f 69 6e 65 74 2e 68 20 69 6e 74  (arpa/inet.h int
0270: 74 79 70 65 73 2e 68 20 73 74 64 61 72 67 2e 68  types.h stdarg.h
0280: 20 73 74 64 69 6e 74 2e 68 20 73 74 64 69 6f 2e   stdint.h stdio.
0290: 68 20 73 74 64 6c 69 62 2e 68 20 73 74 72 69 6e  h stdlib.h strin
02a0: 67 2e 68 20 73 79 73 2f 73 6f 63 6b 65 74 2e 68  g.h sys/socket.h
02b0: 20 73 79 73 2f 74 79 70 65 73 2e 68 20 73 79 73   sys/types.h sys
02c0: 2f 75 6e 2e 68 20 75 6e 69 73 74 64 2e 68 20 70  /un.h unistd.h p
02d0: 74 68 72 65 61 64 2e 68 20 7a 6c 69 62 2e 68 20  thread.h zlib.h 
02e0: 6c 69 6d 69 74 73 2e 68 2c 2c 5b 0a 09 41 43 5f  limits.h,,[..AC_
02f0: 57 41 52 4e 28 5b 52 65 71 75 69 72 65 64 20 68  WARN([Required h
0300: 65 61 64 65 72 20 6d 69 73 73 69 6e 67 2c 20 63  eader missing, c
0310: 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 69 6c 6c 20  ompilation will 
0320: 6c 69 6b 65 6c 79 20 66 61 69 6c 2e 5d 29 0a 5d  likely fail.]).]
0330: 2c 20 5b 0a 23 69 66 64 65 66 20 48 41 56 45 5f  , [.#ifdef HAVE_
0340: 41 52 50 41 5f 49 4e 45 54 5f 48 0a 23 20 20 69  ARPA_INET_H.#  i
0350: 6e 63 6c 75 64 65 20 3c 61 72 70 61 2f 69 6e 65  nclude <arpa/ine
0360: 74 2e 68 3e 0a 23 65 6e 64 69 66 0a 23 69 66 64  t.h>.#endif.#ifd
0370: 65 66 20 48 41 56 45 5f 49 4e 54 54 59 50 45 53  ef HAVE_INTTYPES
0380: 5f 48 0a 23 20 20 69 6e 63 6c 75 64 65 20 3c 69  _H.#  include <i
0390: 6e 74 74 79 70 65 73 2e 68 3e 0a 23 65 6e 64 69  nttypes.h>.#endi
03a0: 66 0a 23 69 66 64 65 66 20 48 41 56 45 5f 53 54  f.#ifdef HAVE_ST
03b0: 44 41 52 47 5f 48 0a 23 20 20 69 6e 63 6c 75 64  DARG_H.#  includ
03c0: 65 20 3c 73 74 64 61 72 67 2e 68 3e 0a 23 65 6e  e <stdarg.h>.#en
03d0: 64 69 66 0a 23 69 66 64 65 66 20 48 41 56 45 5f  dif.#ifdef HAVE_
03e0: 53 54 44 49 4e 54 5f 48 0a 23 20 20 69 6e 63 6c  STDINT_H.#  incl
03f0: 75 64 65 20 3c 73 74 64 69 6e 74 2e 68 3e 0a 23  ude <stdint.h>.#
0400: 65 6e 64 69 66 0a 23 69 66 64 65 66 20 48 41 56  endif.#ifdef HAV
0410: 45 5f 53 54 44 49 4f 5f 48 0a 23 20 20 69 6e 63  E_STDIO_H.#  inc
0420: 6c 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 0a 23  lude <stdio.h>.#
0430: 65 6e 64 69 66 0a 23 69 66 64 65 66 20 48 41 56  endif.#ifdef HAV
0440: 45 5f 53 54 44 4c 49 42 5f 48 0a 23 20 20 69 6e  E_STDLIB_H.#  in
0450: 63 6c 75 64 65 20 3c 73 74 64 6c 69 62 2e 68 3e  clude <stdlib.h>
0460: 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66 20 48  .#endif.#ifdef H
0470: 41 56 45 5f 53 54 52 49 4e 47 5f 48 0a 23 20 20  AVE_STRING_H.#  
0480: 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e  include <string.
0490: 68 3e 0a 23 65 6e 64 69 66 0a 23 69 66 64 65 66  h>.#endif.#ifdef
04a0: 20 48 41 56 45 5f 53 59 53 5f 53 4f 43 4b 45 54   HAVE_SYS_SOCKET
04b0: 5f 48 0a 23 20 20 69 6e 63 6c 75 64 65 20 3c 73  _H.#  include <s
04c0: 79 73 2f 73 6f 63 6b 65 74 2e 68 3e 0a 23 65 6e  ys/socket.h>.#en
04d0: 64 69 66 0a 23 69 66 64 65 66 20 48 41 56 45 5f  dif.#ifdef HAVE_
04e0: 53 59 53 5f 54 59 50 45 53 5f 48 0a 23 20 20 69  SYS_TYPES_H.#  i
04f0: 6e 63 6c 75 64 65 20 3c 73 79 73 2f 74 79 70 65  nclude <sys/type
0500: 73 2e 68 3e 0a 23 65 6e 64 69 66 0a 23 69 66 64  s.h>.#endif.#ifd
0510: 65 66 20 48 41 56 45 5f 53 59 53 5f 55 4e 5f 48  ef HAVE_SYS_UN_H
0520: 0a 23 20 20 69 6e 63 6c 75 64 65 20 3c 73 79 73  .#  include <sys
0530: 2f 75 6e 2e 68 3e 0a 23 65 6e 64 69 66 0a 23 69  /un.h>.#endif.#i
0540: 66 64 65 66 20 48 41 56 45 5f 55 4e 49 53 54 44  fdef HAVE_UNISTD
0550: 5f 48 0a 23 20 20 69 6e 63 6c 75 64 65 20 3c 75  _H.#  include <u
0560: 6e 69 73 74 64 2e 68 3e 0a 23 65 6e 64 69 66 0a  nistd.h>.#endif.
0570: 23 69 66 64 65 66 20 48 41 56 45 5f 50 54 48 52  #ifdef HAVE_PTHR
0580: 45 41 44 5f 48 0a 23 20 20 69 6e 63 6c 75 64 65  EAD_H.#  include
0590: 20 3c 70 74 68 72 65 61 64 2e 68 3e 0a 23 65 6e   <pthread.h>.#en
05a0: 64 69 66 0a 23 69 66 64 65 66 20 48 41 56 45 5f  dif.#ifdef HAVE_
05b0: 4c 49 4d 49 54 53 5f 48 0a 23 20 20 69 6e 63 6c  LIMITS_H.#  incl
05c0: 75 64 65 20 3c 6c 69 6d 69 74 73 2e 68 3e 0a 23  ude <limits.h>.#
05d0: 65 6e 64 69 66 0a 23 69 66 64 65 66 20 48 41 56  endif.#ifdef HAV
05e0: 45 5f 5a 4c 49 42 5f 48 0a 23 20 20 69 6e 63 6c  E_ZLIB_H.#  incl
05f0: 75 64 65 20 3c 7a 6c 69 62 2e 68 3e 0a 23 65 6e  ude <zlib.h>.#en
0600: 64 69 66 0a 5d 29 0a 0a 64 6e 6c 20 43 68 65 63  dif.])..dnl Chec
0610: 6b 20 66 6f 72 20 50 43 2f 53 43 20 68 65 61 64  k for PC/SC head
0620: 65 72 73 20 61 6e 64 20 6c 69 62 72 61 72 69 65  ers and librarie
0630: 73 0a 44 43 5f 50 43 53 43 0a 0a 64 6e 6c 20 43  s.DC_PCSC..dnl C
0640: 68 65 63 6b 20 66 6f 72 20 5a 4c 49 42 20 6c 69  heck for ZLIB li
0650: 62 72 61 72 69 65 73 0a 41 43 5f 43 48 45 43 4b  braries.AC_CHECK
0660: 5f 4c 49 42 28 7a 2c 20 75 6e 63 6f 6d 70 72 65  _LIB(z, uncompre
0670: 73 73 29 0a 0a 64 6e 6c 20 53 65 74 20 76 65 72  ss)..dnl Set ver
0680: 73 69 6f 6e 20 73 63 72 69 70 74 2c 20 74 6f 20  sion script, to 
0690: 6c 69 6d 69 74 20 74 68 65 20 73 63 6f 70 65 20  limit the scope 
06a0: 6f 66 20 73 79 6d 62 6f 6c 73 0a 44 43 5f 53 45  of symbols.DC_SE
06b0: 54 56 45 52 53 49 4f 4e 53 43 52 49 50 54 28 6c  TVERSIONSCRIPT(l
06c0: 69 62 63 61 63 6b 65 79 2e 76 65 72 73 29 0a 0a  ibcackey.vers)..
06d0: 64 6e 6c 20 55 70 61 74 65 20 4c 44 46 4c 41 47  dnl Upate LDFLAG
06e0: 53 20 74 6f 20 69 6e 63 6c 75 64 65 20 73 65 74  S to include set
06f0: 74 69 6e 67 20 74 68 65 20 72 75 6e 2d 74 69 6d  ting the run-tim
0700: 65 20 6c 69 6e 6b 65 72 20 70 61 74 68 20 74 6f  e linker path to
0710: 20 74 68 65 20 73 61 6d 65 20 61 73 20 6f 75 72   the same as our
0720: 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6c 69   compile-time li
0730: 6e 6b 65 72 0a 44 43 5f 53 59 4e 43 5f 52 50 41  nker.DC_SYNC_RPA
0740: 54 48 0a 0a 64 6e 6c 20 49 66 20 77 65 20 75 70  TH..dnl If we up
0750: 64 61 74 65 64 20 4c 49 42 4f 42 4a 53 2c 20 75  dated LIBOBJS, u
0760: 70 64 61 74 65 20 53 48 4c 49 42 4f 42 4a 53 20  pdate SHLIBOBJS 
0770: 2d 2d 20 6d 75 73 74 20 62 65 20 6c 61 73 74 2e  -- must be last.
0780: 0a 44 43 5f 53 59 4e 43 5f 53 48 4c 49 42 4f 42  .DC_SYNC_SHLIBOB
0790: 4a 53 0a 0a 64 6e 6c 20 50 72 6f 64 75 63 65 20  JS..dnl Produce 
07a0: 4d 61 6b 65 66 69 6c 65 0a 41 43 5f 4f 55 54 50  Makefile.AC_OUTP
07b0: 55 54 28 4d 61 6b 65 66 69 6c 65 29 0a           UT(Makefile).