Hex Artifact Content

Artifact 622c712f8af7d85c43dc66cfc541084c36226a38:


0000: 23 21 2f 62 69 6e 2f 62 61 73 68 0a 23 20 53 68  #!/bin/bash.# Sh
0010: 65 6c 6c 20 53 63 72 69 70 74 20 74 6f 20 6d 61  ell Script to ma
0020: 6b 65 20 4d 61 63 20 4f 53 20 58 20 52 65 6c 65  ke Mac OS X Rele
0030: 61 73 65 73 20 6f 66 20 43 41 43 4b 65 79 0a 23  ases of CACKey.#
0040: 20 4b 65 6e 6e 65 74 68 20 56 61 6e 20 41 6c 73   Kenneth Van Als
0050: 74 79 6e 65 0a 23 20 6b 65 6e 6e 65 74 68 2e 6c  tyne.# kenneth.l
0060: 2e 76 61 6e 61 6c 73 74 79 6e 65 40 75 73 61 63  .vanalstyne@usac
0070: 65 2e 61 72 6d 79 2e 6d 69 6c 0a 23 20 32 30 31  e.army.mil.# 201
0080: 30 30 37 31 31 0a 0a 23 20 55 73 61 67 65 20 66  00711..# Usage f
0090: 75 6e 63 74 69 6f 6e 0a 75 73 61 67 65 28 29 20  unction.usage() 
00a0: 7b 0a 09 65 63 68 6f 20 22 55 73 61 67 65 3a 20  {..echo "Usage: 
00b0: 62 75 69 6c 64 5f 6f 73 78 2e 73 68 20 3c 74 61  build_osx.sh <ta
00c0: 72 67 65 74 3e 22 0a 09 65 63 68 6f 20 57 68 65  rget>"..echo Whe
00d0: 72 65 20 74 61 72 67 65 74 20 69 73 20 6f 6e 65  re target is one
00e0: 20 6f 66 3a 0a 09 65 63 68 6f 20 22 20 20 20 20   of:..echo "    
00f0: 70 61 6e 74 68 65 72 20 20 2d 20 28 42 75 69 6c  panther  - (Buil
0100: 64 73 20 31 30 2e 33 20 4c 69 62 72 61 72 79 20  ds 10.3 Library 
0110: 66 6f 72 20 50 50 43 47 33 29 22 0a 09 65 63 68  for PPCG3)"..ech
0120: 6f 20 22 20 20 20 20 74 69 67 65 72 20 20 2d 20  o "    tiger  - 
0130: 28 42 75 69 6c 64 73 20 55 6e 69 76 65 72 73 61  (Builds Universa
0140: 6c 20 31 30 2e 34 20 4c 69 62 72 61 72 79 20 66  l 10.4 Library f
0150: 6f 72 20 50 50 43 47 33 2f 69 33 38 36 29 22 0a  or PPCG3/i386)".
0160: 09 65 63 68 6f 20 22 20 20 20 20 6c 65 6f 70 61  .echo "    leopa
0170: 72 64 20 20 2d 20 28 42 75 69 6c 64 73 20 55 6e  rd  - (Builds Un
0180: 69 76 65 72 73 61 6c 20 31 30 2e 35 20 4c 69 62  iversal 10.5 Lib
0190: 72 61 72 79 20 66 6f 72 20 50 50 43 47 34 2f 69  rary for PPCG4/i
01a0: 33 38 36 29 22 0a 09 65 63 68 6f 20 22 20 20 20  386)"..echo "   
01b0: 20 73 6e 6f 77 6c 65 6f 70 61 72 64 20 20 2d 20   snowleopard  - 
01c0: 28 42 75 69 6c 64 73 20 55 6e 69 76 65 72 73 61  (Builds Universa
01d0: 6c 20 31 30 2e 36 20 4c 69 62 72 61 72 79 20 66  l 10.6 Library f
01e0: 6f 72 20 69 33 38 36 2f 78 38 36 5f 36 34 29 22  or i386/x86_64)"
01f0: 0a 09 65 63 68 6f 20 22 20 20 20 20 61 6c 6c 20  ..echo "    all 
0200: 2d 20 28 42 75 69 6c 64 73 20 66 6f 72 20 61 6c  - (Builds for al
0210: 6c 20 73 75 70 70 6f 72 74 65 64 20 74 61 72 67  l supported targ
0220: 65 74 73 29 22 0a 09 65 63 68 6f 20 22 20 20 20  ets)"..echo "   
0230: 20 63 6c 65 61 6e 20 2d 20 28 43 6c 65 61 6e 73   clean - (Cleans
0240: 20 75 70 29 22 0a 09 65 63 68 6f 20 22 52 75 6e   up)"..echo "Run
0250: 20 66 72 6f 6d 20 43 41 43 4b 65 79 20 42 75 69   from CACKey Bui
0260: 6c 64 20 52 6f 6f 74 2e 22 0a 09 65 63 68 6f 20  ld Root."..echo 
0270: 22 43 41 43 4b 65 79 20 42 75 69 6c 64 20 52 6f  "CACKey Build Ro
0280: 6f 74 20 44 69 72 65 63 74 6f 72 79 20 4d 55 53  ot Directory MUS
0290: 54 20 62 65 20 6e 61 6d 65 64 20 27 63 61 63 6b  T be named 'cack
02a0: 65 79 27 22 0a 09 65 78 69 74 20 24 3f 0a 7d 0a  ey'"..exit $?.}.
02b0: 0a 23 20 43 6c 65 61 6e 20 75 70 20 66 75 6e 63  .# Clean up func
02c0: 74 69 6f 6e 0a 63 6c 65 61 6e 28 29 20 7b 0a 09  tion.clean() {..
02d0: 72 6d 20 2d 72 66 20 6d 61 63 62 75 69 6c 64 0a  rm -rf macbuild.
02e0: 09 6d 61 6b 65 20 64 69 73 74 63 6c 65 61 6e 0a  .make distclean.
02f0: 7d 0a 0a 23 20 44 69 72 65 63 74 6f 72 79 20 63  }..# Directory c
0300: 72 65 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e  reation function
0310: 0a 6d 61 6b 65 64 69 72 28 29 20 7b 0a 09 69 66  .makedir() {..if
0320: 20 5b 20 21 20 2d 64 20 6d 61 63 62 75 69 6c 64   [ ! -d macbuild
0330: 20 5d 3b 20 74 68 65 6e 0a 09 09 6d 6b 64 69 72   ]; then...mkdir
0340: 20 6d 61 63 62 75 69 6c 64 0a 09 09 6d 6b 64 69   macbuild...mkdi
0350: 72 20 6d 61 63 62 75 69 6c 64 2f 50 61 6e 74 68  r macbuild/Panth
0360: 65 72 0a 09 09 6d 6b 64 69 72 20 6d 61 63 62 75  er...mkdir macbu
0370: 69 6c 64 2f 54 69 67 65 72 0a 09 09 6d 6b 64 69  ild/Tiger...mkdi
0380: 72 20 6d 61 63 62 75 69 6c 64 2f 4c 65 6f 70 61  r macbuild/Leopa
0390: 72 64 0a 09 09 6d 6b 64 69 72 20 6d 61 63 62 75  rd...mkdir macbu
03a0: 69 6c 64 2f 53 6e 6f 77 4c 65 6f 70 61 72 64 0a  ild/SnowLeopard.
03b0: 09 09 6d 6b 64 69 72 20 6d 61 63 62 75 69 6c 64  ..mkdir macbuild
03c0: 2f 70 6b 67 0a 09 66 69 0a 7d 0a 0a 23 20 42 75  /pkg..fi.}..# Bu
03d0: 69 6c 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72  ild function for
03e0: 20 50 61 6e 74 68 65 72 0a 70 61 6e 74 68 65 72   Panther.panther
03f0: 28 29 20 7b 0a 09 6d 61 6b 65 64 69 72 0a 09 48  () {..makedir..H
0400: 45 41 44 45 52 53 3d 2f 44 65 76 65 6c 6f 70 65  EADERS=/Develope
0410: 72 2f 53 44 4b 73 2f 4d 61 63 4f 53 58 31 30 2e  r/SDKs/MacOSX10.
0420: 33 2e 39 2e 73 64 6b 2f 53 79 73 74 65 6d 2f 4c  3.9.sdk/System/L
0430: 69 62 72 61 72 79 2f 46 72 61 6d 65 77 6f 72 6b  ibrary/Framework
0440: 73 2f 50 43 53 43 2e 66 72 61 6d 65 77 6f 72 6b  s/PCSC.framework
0450: 2f 56 65 72 73 69 6f 6e 73 2f 41 2f 48 65 61 64  /Versions/A/Head
0460: 65 72 73 2f 0a 09 4c 49 42 52 41 52 59 3d 2f 44  ers/..LIBRARY=/D
0470: 65 76 65 6c 6f 70 65 72 2f 53 44 4b 73 2f 4d 61  eveloper/SDKs/Ma
0480: 63 4f 53 58 31 30 2e 33 2e 39 2e 73 64 6b 2f 53  cOSX10.3.9.sdk/S
0490: 79 73 74 65 6d 2f 4c 69 62 72 61 72 79 2f 46 72  ystem/Library/Fr
04a0: 61 6d 65 77 6f 72 6b 73 2f 50 43 53 43 2e 66 72  ameworks/PCSC.fr
04b0: 61 6d 65 77 6f 72 6b 2f 50 43 53 43 0a 09 4f 53  amework/PCSC..OS
04c0: 58 3d 50 61 6e 74 68 65 72 0a 09 48 4f 53 54 3d  X=Panther..HOST=
04d0: 70 6f 77 65 72 70 63 2d 61 70 70 6c 65 2d 64 61  powerpc-apple-da
04e0: 72 77 69 6e 37 0a 09 6d 61 6b 65 20 64 69 73 74  rwin7..make dist
04f0: 63 6c 65 61 6e 0a 09 41 52 43 48 3d 22 70 70 63  clean..ARCH="ppc
0500: 20 2d 6d 63 70 75 3d 47 33 22 0a 09 43 46 4c 41   -mcpu=G3"..CFLA
0510: 47 53 3d 22 2d 61 72 63 68 20 24 7b 41 52 43 48  GS="-arch ${ARCH
0520: 7d 22 20 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d  }" ./configure -
0530: 2d 77 69 74 68 2d 70 63 73 63 2d 68 65 61 64 65  -with-pcsc-heade
0540: 72 73 3d 24 7b 48 45 41 44 45 52 53 7d 20 2d 2d  rs=${HEADERS} --
0550: 77 69 74 68 2d 70 63 73 63 2d 6c 69 62 73 3d 24  with-pcsc-libs=$
0560: 7b 4c 49 42 52 41 52 59 7d 20 2d 2d 68 6f 73 74  {LIBRARY} --host
0570: 3d 24 7b 48 4f 53 54 7d 0a 09 6d 61 6b 65 0a 09  =${HOST}..make..
0580: 63 70 20 6c 69 62 63 61 63 6b 65 79 2e 64 79 6c  cp libcackey.dyl
0590: 69 62 20 6d 61 63 62 75 69 6c 64 2f 24 7b 4f 53  ib macbuild/${OS
05a0: 58 7d 2f 6c 69 62 63 61 63 6b 65 79 2e 64 79 6c  X}/libcackey.dyl
05b0: 69 62 0a 09 63 70 20 6c 69 62 63 61 63 6b 65 79  ib..cp libcackey
05c0: 5f 67 2e 64 79 6c 69 62 20 6d 61 63 62 75 69 6c  _g.dylib macbuil
05d0: 64 2f 24 7b 4f 53 58 7d 2f 6c 69 62 63 61 63 6b  d/${OSX}/libcack
05e0: 65 79 5f 67 2e 64 79 6c 69 62 0a 09 70 6b 67 62  ey_g.dylib..pkgb
05f0: 75 69 6c 64 0a 7d 0a 0a 23 20 42 75 69 6c 64 20  uild.}..# Build 
0600: 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 54 69 67  function for Tig
0610: 65 72 0a 74 69 67 65 72 28 29 20 7b 0a 09 6d 61  er.tiger() {..ma
0620: 6b 65 64 69 72 0a 09 48 45 41 44 45 52 53 3d 2f  kedir..HEADERS=/
0630: 44 65 76 65 6c 6f 70 65 72 2f 53 44 4b 73 2f 4d  Developer/SDKs/M
0640: 61 63 4f 53 58 31 30 2e 34 75 2e 73 64 6b 2f 53  acOSX10.4u.sdk/S
0650: 79 73 74 65 6d 2f 4c 69 62 72 61 72 79 2f 46 72  ystem/Library/Fr
0660: 61 6d 65 77 6f 72 6b 73 2f 50 43 53 43 2e 66 72  ameworks/PCSC.fr
0670: 61 6d 65 77 6f 72 6b 2f 56 65 72 73 69 6f 6e 73  amework/Versions
0680: 2f 41 2f 48 65 61 64 65 72 73 2f 0a 09 4c 49 42  /A/Headers/..LIB
0690: 52 41 52 59 3d 2f 44 65 76 65 6c 6f 70 65 72 2f  RARY=/Developer/
06a0: 53 44 4b 73 2f 4d 61 63 4f 53 58 31 30 2e 34 75  SDKs/MacOSX10.4u
06b0: 2e 73 64 6b 2f 53 79 73 74 65 6d 2f 4c 69 62 72  .sdk/System/Libr
06c0: 61 72 79 2f 46 72 61 6d 65 77 6f 72 6b 73 2f 50  ary/Frameworks/P
06d0: 43 53 43 2e 66 72 61 6d 65 77 6f 72 6b 2f 50 43  CSC.framework/PC
06e0: 53 43 0a 09 4c 49 42 3d 22 22 0a 09 41 52 43 48  SC..LIB=""..ARCH
06f0: 4c 49 53 54 3d 22 22 0a 09 44 4c 49 42 3d 22 22  LIST=""..DLIB=""
0700: 0a 09 44 41 52 43 48 4c 49 53 54 3d 22 22 0a 09  ..DARCHLIST=""..
0710: 4f 53 58 3d 54 69 67 65 72 0a 09 66 6f 72 20 48  OSX=Tiger..for H
0720: 4f 53 54 20 69 6e 20 70 6f 77 65 72 70 63 2d 61  OST in powerpc-a
0730: 70 70 6c 65 2d 64 61 72 77 69 6e 38 20 69 33 38  pple-darwin8 i38
0740: 36 2d 61 70 70 6c 65 2d 64 61 72 77 69 6e 38 3b  6-apple-darwin8;
0750: 20 64 6f 0a 09 09 67 65 6e 62 75 69 6c 64 0a 09   do...genbuild..
0760: 64 6f 6e 65 0a 09 6c 69 62 62 75 69 6c 64 0a 09  done..libbuild..
0770: 70 6b 67 62 75 69 6c 64 0a 7d 0a 0a 23 20 42 75  pkgbuild.}..# Bu
0780: 69 6c 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72  ild function for
0790: 20 4c 65 6f 70 61 72 64 0a 6c 65 6f 70 61 72 64   Leopard.leopard
07a0: 28 29 20 7b 0a 09 6d 61 6b 65 64 69 72 0a 09 48  () {..makedir..H
07b0: 45 41 44 45 52 53 3d 2f 44 65 76 65 6c 6f 70 65  EADERS=/Develope
07c0: 72 2f 53 44 4b 73 2f 4d 61 63 4f 53 58 31 30 2e  r/SDKs/MacOSX10.
07d0: 35 2e 73 64 6b 2f 53 79 73 74 65 6d 2f 4c 69 62  5.sdk/System/Lib
07e0: 72 61 72 79 2f 46 72 61 6d 65 77 6f 72 6b 73 2f  rary/Frameworks/
07f0: 50 43 53 43 2e 66 72 61 6d 65 77 6f 72 6b 2f 56  PCSC.framework/V
0800: 65 72 73 69 6f 6e 73 2f 41 2f 48 65 61 64 65 72  ersions/A/Header
0810: 73 2f 0a 09 4c 49 42 52 41 52 59 3d 2f 44 65 76  s/..LIBRARY=/Dev
0820: 65 6c 6f 70 65 72 2f 53 44 4b 73 2f 4d 61 63 4f  eloper/SDKs/MacO
0830: 53 58 31 30 2e 35 2e 73 64 6b 2f 53 79 73 74 65  SX10.5.sdk/Syste
0840: 6d 2f 4c 69 62 72 61 72 79 2f 46 72 61 6d 65 77  m/Library/Framew
0850: 6f 72 6b 73 2f 50 43 53 43 2e 66 72 61 6d 65 77  orks/PCSC.framew
0860: 6f 72 6b 2f 50 43 53 43 0a 09 4c 49 42 3d 22 22  ork/PCSC..LIB=""
0870: 0a 09 41 52 43 48 4c 49 53 54 3d 22 22 0a 09 44  ..ARCHLIST=""..D
0880: 4c 49 42 3d 22 22 0a 09 44 41 52 43 48 4c 49 53  LIB=""..DARCHLIS
0890: 54 3d 22 22 0a 09 4f 53 58 3d 4c 65 6f 70 61 72  T=""..OSX=Leopar
08a0: 64 0a 09 66 6f 72 20 48 4f 53 54 20 69 6e 20 70  d..for HOST in p
08b0: 6f 77 65 72 70 63 2d 61 70 70 6c 65 2d 64 61 72  owerpc-apple-dar
08c0: 77 69 6e 39 20 69 33 38 36 2d 61 70 70 6c 65 2d  win9 i386-apple-
08d0: 64 61 72 77 69 6e 39 3b 20 64 6f 0a 09 09 67 65  darwin9; do...ge
08e0: 6e 62 75 69 6c 64 0a 09 64 6f 6e 65 0a 09 6c 69  nbuild..done..li
08f0: 62 62 75 69 6c 64 0a 09 70 6b 67 62 75 69 6c 64  bbuild..pkgbuild
0900: 0a 7d 0a 0a 23 20 42 75 69 6c 64 20 66 75 6e 63  .}..# Build func
0910: 74 69 6f 6e 20 66 6f 72 20 53 6e 6f 77 20 4c 65  tion for Snow Le
0920: 6f 70 61 72 64 0a 73 6e 6f 77 6c 65 6f 70 61 72  opard.snowleopar
0930: 64 28 29 20 7b 0a 09 6d 61 6b 65 64 69 72 0a 09  d() {..makedir..
0940: 48 45 41 44 45 52 53 3d 2f 44 65 76 65 6c 6f 70  HEADERS=/Develop
0950: 65 72 2f 53 44 4b 73 2f 4d 61 63 4f 53 58 31 30  er/SDKs/MacOSX10
0960: 2e 36 2e 73 64 6b 2f 53 79 73 74 65 6d 2f 4c 69  .6.sdk/System/Li
0970: 62 72 61 72 79 2f 46 72 61 6d 65 77 6f 72 6b 73  brary/Frameworks
0980: 2f 50 43 53 43 2e 66 72 61 6d 65 77 6f 72 6b 2f  /PCSC.framework/
0990: 56 65 72 73 69 6f 6e 73 2f 41 2f 48 65 61 64 65  Versions/A/Heade
09a0: 72 73 2f 0a 09 4c 49 42 52 41 52 59 3d 2f 44 65  rs/..LIBRARY=/De
09b0: 76 65 6c 6f 70 65 72 2f 53 44 4b 73 2f 4d 61 63  veloper/SDKs/Mac
09c0: 4f 53 58 31 30 2e 36 2e 73 64 6b 2f 53 79 73 74  OSX10.6.sdk/Syst
09d0: 65 6d 2f 4c 69 62 72 61 72 79 2f 46 72 61 6d 65  em/Library/Frame
09e0: 77 6f 72 6b 73 2f 50 43 53 43 2e 66 72 61 6d 65  works/PCSC.frame
09f0: 77 6f 72 6b 2f 50 43 53 43 0a 09 4c 49 42 3d 22  work/PCSC..LIB="
0a00: 22 0a 09 41 52 43 48 4c 49 53 54 3d 22 22 0a 09  "..ARCHLIST=""..
0a10: 44 4c 49 42 3d 22 22 0a 09 44 41 52 43 48 4c 49  DLIB=""..DARCHLI
0a20: 53 54 3d 22 22 0a 09 4f 53 58 3d 53 6e 6f 77 4c  ST=""..OSX=SnowL
0a30: 65 6f 70 61 72 64 0a 09 66 6f 72 20 48 4f 53 54  eopard..for HOST
0a40: 20 69 6e 20 69 33 38 36 2d 61 70 70 6c 65 2d 64   in i386-apple-d
0a50: 61 72 77 69 6e 31 30 20 78 38 36 5f 36 34 2d 61  arwin10 x86_64-a
0a60: 70 70 6c 65 2d 64 61 72 77 69 6e 31 30 3b 20 64  pple-darwin10; d
0a70: 6f 0a 09 09 67 65 6e 62 75 69 6c 64 0a 09 64 6f  o...genbuild..do
0a80: 6e 65 0a 09 6c 69 62 62 75 69 6c 64 0a 09 70 6b  ne..libbuild..pk
0a90: 67 62 75 69 6c 64 0a 7d 0a 0a 23 20 47 65 6e 65  gbuild.}..# Gene
0aa0: 72 69 63 20 62 75 69 6c 64 20 66 75 6e 63 74 69  ric build functi
0ab0: 6f 6e 0a 67 65 6e 62 75 69 6c 64 28 29 20 7b 0a  on.genbuild() {.
0ac0: 09 6d 61 6b 65 20 64 69 73 74 63 6c 65 61 6e 0a  .make distclean.
0ad0: 09 41 52 43 48 3d 60 65 63 68 6f 20 24 7b 48 4f  .ARCH=`echo ${HO
0ae0: 53 54 7d 20 7c 20 63 75 74 20 2d 64 20 22 2d 22  ST} | cut -d "-"
0af0: 20 2d 66 20 31 60 0a 09 69 66 20 5b 20 24 7b 41   -f 1`..if [ ${A
0b00: 52 43 48 7d 20 3d 3d 20 22 70 6f 77 65 72 70 63  RCH} == "powerpc
0b10: 22 20 5d 3b 20 74 68 65 6e 0a 09 09 69 66 20 5b  " ]; then...if [
0b20: 20 24 7b 4f 53 58 7d 20 3d 3d 20 22 4c 65 6f 70   ${OSX} == "Leop
0b30: 61 72 64 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09  ard" ]; then....
0b40: 41 52 43 48 3d 22 70 70 63 20 2d 6d 63 70 75 3d  ARCH="ppc -mcpu=
0b50: 47 34 22 0a 09 09 65 6c 73 65 0a 09 09 09 41 52  G4"...else....AR
0b60: 43 48 3d 22 70 70 63 20 2d 6d 63 70 75 3d 47 33  CH="ppc -mcpu=G3
0b70: 22 0a 09 09 66 69 0a 09 66 69 0a 09 43 46 4c 41  "...fi..fi..CFLA
0b80: 47 53 3d 22 2d 61 72 63 68 20 24 7b 41 52 43 48  GS="-arch ${ARCH
0b90: 7d 22 20 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d  }" ./configure -
0ba0: 2d 77 69 74 68 2d 70 63 73 63 2d 68 65 61 64 65  -with-pcsc-heade
0bb0: 72 73 3d 24 7b 48 45 41 44 45 52 53 7d 20 2d 2d  rs=${HEADERS} --
0bc0: 77 69 74 68 2d 70 63 73 63 2d 6c 69 62 73 3d 24  with-pcsc-libs=$
0bd0: 7b 4c 49 42 52 41 52 59 7d 20 2d 2d 68 6f 73 74  {LIBRARY} --host
0be0: 3d 24 7b 48 4f 53 54 7d 0a 09 6d 61 6b 65 0a 09  =${HOST}..make..
0bf0: 63 70 20 6c 69 62 63 61 63 6b 65 79 2e 64 79 6c  cp libcackey.dyl
0c00: 69 62 20 6d 61 63 62 75 69 6c 64 2f 24 7b 4f 53  ib macbuild/${OS
0c10: 58 7d 2f 6c 69 62 63 61 63 6b 65 79 2e 64 79 6c  X}/libcackey.dyl
0c20: 69 62 2e 60 65 63 68 6f 20 24 7b 41 52 43 48 7d  ib.`echo ${ARCH}
0c30: 20 7c 20 63 75 74 20 2d 64 20 27 20 27 20 2d 66   | cut -d ' ' -f
0c40: 20 31 60 0a 09 63 70 20 6c 69 62 63 61 63 6b 65   1`..cp libcacke
0c50: 79 5f 67 2e 64 79 6c 69 62 20 6d 61 63 62 75 69  y_g.dylib macbui
0c60: 6c 64 2f 24 7b 4f 53 58 7d 2f 6c 69 62 63 61 63  ld/${OSX}/libcac
0c70: 6b 65 79 5f 67 2e 64 79 6c 69 62 2e 60 65 63 68  key_g.dylib.`ech
0c80: 6f 20 24 7b 41 52 43 48 7d 20 7c 20 63 75 74 20  o ${ARCH} | cut 
0c90: 2d 64 20 27 20 27 20 2d 66 20 31 60 20 0a 7d 0a  -d ' ' -f 1` .}.
0ca0: 0a 23 20 4c 69 62 72 61 72 79 20 62 75 69 6c 64  .# Library build
0cb0: 20 66 75 6e 63 74 69 6f 6e 0a 6c 69 62 62 75 69   function.libbui
0cc0: 6c 64 28 29 20 7b 0a 09 66 6f 72 20 4c 49 42 20  ld() {..for LIB 
0cd0: 69 6e 20 6d 61 63 62 75 69 6c 64 2f 24 7b 4f 53  in macbuild/${OS
0ce0: 58 7d 2f 6c 69 62 63 61 63 6b 65 79 2e 64 79 6c  X}/libcackey.dyl
0cf0: 69 62 2e 2a 3b 20 64 6f 0a 09 09 41 52 43 48 4c  ib.*; do...ARCHL
0d00: 49 53 54 3d 22 24 7b 41 52 43 48 4c 49 53 54 7d  IST="${ARCHLIST}
0d10: 20 60 65 63 68 6f 20 27 2d 61 72 63 68 20 27 60   `echo '-arch '`
0d20: 20 60 65 63 68 6f 20 24 7b 4c 49 42 7d 20 7c 20   `echo ${LIB} | 
0d30: 63 75 74 20 2d 64 20 2e 20 2d 66 20 33 60 20 60  cut -d . -f 3` `
0d40: 65 63 68 6f 20 27 20 27 60 20 60 65 63 68 6f 20  echo ' '` `echo 
0d50: 24 7b 4c 49 42 7d 60 22 0a 09 64 6f 6e 65 0a 09  ${LIB}`"..done..
0d60: 6c 69 70 6f 20 2d 63 72 65 61 74 65 20 24 7b 41  lipo -create ${A
0d70: 52 43 48 4c 49 53 54 7d 20 2d 6f 75 74 70 75 74  RCHLIST} -output
0d80: 20 6d 61 63 62 75 69 6c 64 2f 24 7b 4f 53 58 7d   macbuild/${OSX}
0d90: 2f 6c 69 62 63 61 63 6b 65 79 2e 64 79 6c 69 62  /libcackey.dylib
0da0: 0a 09 66 6f 72 20 44 4c 49 42 20 69 6e 20 6d 61  ..for DLIB in ma
0db0: 63 62 75 69 6c 64 2f 24 7b 4f 53 58 7d 2f 6c 69  cbuild/${OSX}/li
0dc0: 62 63 61 63 6b 65 79 5f 67 2e 64 79 6c 69 62 2e  bcackey_g.dylib.
0dd0: 2a 3b 20 64 6f 0a 09 09 44 41 52 43 48 4c 49 53  *; do...DARCHLIS
0de0: 54 3d 22 24 7b 44 41 52 43 48 4c 49 53 54 7d 20  T="${DARCHLIST} 
0df0: 60 65 63 68 6f 20 27 2d 61 72 63 68 20 27 60 20  `echo '-arch '` 
0e00: 60 65 63 68 6f 20 24 7b 44 4c 49 42 7d 20 7c 20  `echo ${DLIB} | 
0e10: 63 75 74 20 2d 64 20 2e 20 2d 66 20 33 60 20 60  cut -d . -f 3` `
0e20: 65 63 68 6f 20 27 20 27 60 20 60 65 63 68 6f 20  echo ' '` `echo 
0e30: 24 7b 44 4c 49 42 7d 60 22 0a 09 64 6f 6e 65 0a  ${DLIB}`"..done.
0e40: 09 6c 69 70 6f 20 2d 63 72 65 61 74 65 20 24 7b  .lipo -create ${
0e50: 44 41 52 43 48 4c 49 53 54 7d 20 2d 6f 75 74 70  DARCHLIST} -outp
0e60: 75 74 20 6d 61 63 62 75 69 6c 64 2f 24 7b 4f 53  ut macbuild/${OS
0e70: 58 7d 2f 6c 69 62 63 61 63 6b 65 79 5f 67 2e 64  X}/libcackey_g.d
0e80: 79 6c 69 62 0a 09 72 6d 20 6d 61 63 62 75 69 6c  ylib..rm macbuil
0e90: 64 2f 24 7b 4f 53 58 7d 2f 6c 69 62 63 61 63 6b  d/${OSX}/libcack
0ea0: 65 79 2a 2e 64 79 6c 69 62 2e 2a 0a 7d 0a 0a 23  ey*.dylib.*.}..#
0eb0: 20 46 75 6e 63 74 69 6f 6e 20 74 6f 20 62 75 69   Function to bui
0ec0: 6c 64 20 4d 61 63 20 4f 53 20 58 20 50 61 63 6b  ld Mac OS X Pack
0ed0: 61 67 65 73 0a 70 6b 67 62 75 69 6c 64 28 29 20  ages.pkgbuild() 
0ee0: 7b 0a 09 69 66 20 5b 20 24 7b 4f 53 58 7d 20 3d  {..if [ ${OSX} =
0ef0: 3d 20 22 50 61 6e 74 68 65 72 22 20 5d 3b 20 74  = "Panther" ]; t
0f00: 68 65 6e 0a 09 09 45 58 54 3d 6d 70 6b 67 0a 09  hen...EXT=mpkg..
0f10: 65 6c 73 65 0a 09 09 45 58 54 3d 70 6b 67 0a 09  else...EXT=pkg..
0f20: 66 69 0a 09 2f 44 65 76 65 6c 6f 70 65 72 2f 41  fi../Developer/A
0f30: 70 70 6c 69 63 61 74 69 6f 6e 73 2f 55 74 69 6c  pplications/Util
0f40: 69 74 69 65 73 2f 50 61 63 6b 61 67 65 4d 61 6b  ities/PackageMak
0f50: 65 72 2e 61 70 70 2f 43 6f 6e 74 65 6e 74 73 2f  er.app/Contents/
0f60: 4d 61 63 4f 53 2f 50 61 63 6b 61 67 65 4d 61 6b  MacOS/PackageMak
0f70: 65 72 20 2d 64 20 62 75 69 6c 64 2f 63 61 63 6b  er -d build/cack
0f80: 65 79 5f 6f 73 78 5f 62 75 69 6c 64 2f 24 7b 4f  ey_osx_build/${O
0f90: 53 58 7d 5f 70 6d 62 75 69 6c 64 2e 70 6d 64 6f  SX}_pmbuild.pmdo
0fa0: 63 20 2d 6f 20 6d 61 63 62 75 69 6c 64 2f 70 6b  c -o macbuild/pk
0fb0: 67 2f 43 41 43 4b 65 79 5f 24 7b 4f 53 58 7d 2e  g/CACKey_${OSX}.
0fc0: 24 7b 45 58 54 7d 0a 09 74 61 72 20 2d 2d 63 72  ${EXT}..tar --cr
0fd0: 65 61 74 65 20 2d 2d 64 69 72 65 63 74 6f 72 79  eate --directory
0fe0: 20 6d 61 63 62 75 69 6c 64 2f 70 6b 67 2f 20 2d   macbuild/pkg/ -
0ff0: 2d 66 69 6c 65 20 6d 61 63 62 75 69 6c 64 2f 70  -file macbuild/p
1000: 6b 67 2f 43 41 43 4b 65 79 5f 24 7b 4f 53 58 7d  kg/CACKey_${OSX}
1010: 2e 24 7b 45 58 54 7d 2e 74 61 72 20 43 41 43 4b  .${EXT}.tar CACK
1020: 65 79 5f 24 7b 4f 53 58 7d 2e 24 7b 45 58 54 7d  ey_${OSX}.${EXT}
1030: 0a 09 67 7a 69 70 20 2d 39 20 6d 61 63 62 75 69  ..gzip -9 macbui
1040: 6c 64 2f 70 6b 67 2f 43 41 43 4b 65 79 5f 24 7b  ld/pkg/CACKey_${
1050: 4f 53 58 7d 2e 24 7b 45 58 54 7d 2e 74 61 72 0a  OSX}.${EXT}.tar.
1060: 09 72 6d 20 2d 72 66 20 6d 61 63 62 75 69 6c 64  .rm -rf macbuild
1070: 2f 70 6b 67 2f 43 41 43 4b 65 79 5f 24 7b 4f 53  /pkg/CACKey_${OS
1080: 58 7d 2e 24 7b 45 58 54 7d 0a 09 65 63 68 6f 20  X}.${EXT}..echo 
1090: 22 24 7b 4f 53 58 7d 20 62 75 69 6c 64 20 63 6f  "${OSX} build co
10a0: 6d 70 6c 65 74 65 22 0a 7d 0a 0a 23 20 54 61 6b  mplete".}..# Tak
10b0: 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61  e command line a
10c0: 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 65 78 65  rguments and exe
10d0: 63 75 74 65 0a 63 61 73 65 20 22 24 31 22 20 69  cute.case "$1" i
10e0: 6e 0a 09 22 22 29 0a 09 09 75 73 61 67 65 0a 09  n.."")...usage..
10f0: 09 65 78 69 74 20 24 3f 0a 09 3b 3b 0a 0a 09 22  .exit $?..;;..."
1100: 70 61 6e 74 68 65 72 22 29 0a 09 09 70 61 6e 74  panther")...pant
1110: 68 65 72 0a 09 09 65 78 69 74 20 24 3f 0a 09 3b  her...exit $?..;
1120: 3b 0a 0a 09 22 74 69 67 65 72 22 29 0a 09 09 74  ;..."tiger")...t
1130: 69 67 65 72 0a 09 09 65 78 69 74 20 24 3f 0a 09  iger...exit $?..
1140: 3b 3b 0a 0a 09 22 6c 65 6f 70 61 72 64 22 29 0a  ;;..."leopard").
1150: 09 09 6c 65 6f 70 61 72 64 0a 09 09 65 78 69 74  ..leopard...exit
1160: 20 24 3f 0a 09 3b 3b 0a 0a 09 22 73 6e 6f 77 6c   $?..;;..."snowl
1170: 65 6f 70 61 72 64 22 29 0a 09 09 73 6e 6f 77 6c  eopard")...snowl
1180: 65 6f 70 61 72 64 0a 09 09 65 78 69 74 20 24 3f  eopard...exit $?
1190: 0a 09 3b 3b 0a 0a 09 22 61 6c 6c 22 29 0a 09 09  ..;;..."all")...
11a0: 70 61 6e 74 68 65 72 0a 09 09 74 69 67 65 72 0a  panther...tiger.
11b0: 09 09 6c 65 6f 70 61 72 64 0a 09 09 73 6e 6f 77  ..leopard...snow
11c0: 6c 65 6f 70 61 72 64 0a 09 09 65 78 69 74 20 24  leopard...exit $
11d0: 3f 0a 09 3b 3b 0a 0a 09 22 63 6c 65 61 6e 22 29  ?..;;..."clean")
11e0: 0a 09 09 63 6c 65 61 6e 0a 09 09 65 78 69 74 20  ...clean...exit 
11f0: 24 3f 0a 09 3b 3b 0a 0a 09 2a 29 0a 09 09 75 73  $?..;;...*)...us
1200: 61 67 65 0a 09 09 65 78 69 74 20 24 3f 0a 09 3b  age...exit $?..;
1210: 3b 0a 65 73 61 63 20 0a                          ;.esac .