Hex Artifact Content

Artifact 3714b15ff77c87cd2e643c7f7b168568c68ecadc:


0000: 64 6e 6c 20 44 65 66 69 6e 65 20 6f 75 72 73 65  dnl Define ourse
0010: 6c 76 65 73 0a 41 43 5f 49 4e 49 54 28 74 63 63  lves.AC_INIT(tcc
0020: 34 74 63 6c 2c 20 40 40 56 45 52 53 40 40 29 0a  4tcl, @@VERS@@).
0030: 0a 64 6e 6c 20 43 68 65 63 6b 73 20 66 6f 72 20  .dnl Checks for 
0040: 70 72 6f 67 72 61 6d 73 2e 0a 41 43 5f 50 52 4f  programs..AC_PRO
0050: 47 5f 43 43 0a 41 43 5f 50 52 4f 47 5f 43 50 50  G_CC.AC_PROG_CPP
0060: 0a 41 43 5f 50 52 4f 47 5f 4d 41 4b 45 5f 53 45  .AC_PROG_MAKE_SE
0070: 54 0a 41 43 5f 50 52 4f 47 5f 49 4e 53 54 41 4c  T.AC_PROG_INSTAL
0080: 4c 0a 41 43 5f 47 4e 55 5f 53 4f 55 52 43 45 0a  L.AC_GNU_SOURCE.
0090: 41 43 5f 4c 41 4e 47 28 43 29 0a 0a 64 6e 6c 20  AC_LANG(C)..dnl 
00a0: 44 65 74 65 72 6d 69 6e 65 20 73 79 73 74 65 6d  Determine system
00b0: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 44 43 5f   information.DC_
00c0: 43 48 4b 5f 4f 53 5f 49 4e 46 4f 0a 0a 64 6e 6c  CHK_OS_INFO..dnl
00d0: 20 44 65 74 65 72 6d 69 6e 65 20 69 66 20 61 20   Determine if a 
00e0: 73 68 61 72 65 64 20 6f 72 20 73 74 61 74 69 63  shared or static
00f0: 20 62 75 69 6c 64 20 69 73 20 72 65 71 75 65 73   build is reques
0100: 74 65 64 0a 41 43 5f 41 52 47 5f 45 4e 41 42 4c  ted.AC_ARG_ENABL
0110: 45 28 5b 73 68 61 72 65 64 5d 2c 20 41 53 5f 48  E([shared], AS_H
0120: 45 4c 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 64 69  ELP_STRING([--di
0130: 73 61 62 6c 65 2d 73 68 61 72 65 64 5d 2c 20 5b  sable-shared], [
0140: 62 75 69 6c 64 20 73 74 61 74 69 63 20 6c 69 62  build static lib
0150: 72 61 72 79 20 69 6e 73 74 65 61 64 20 6f 66 20  rary instead of 
0160: 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 5d 29  shared library])
0170: 2c 20 5b 0a 09 69 66 20 74 65 73 74 20 22 24 65  , [..if test "$e
0180: 6e 61 62 6c 65 76 61 6c 22 20 3d 20 22 6e 6f 22  nableval" = "no"
0190: 3b 20 74 68 65 6e 0a 09 09 54 43 43 34 54 43 4c  ; then...TCC4TCL
01a0: 5f 54 41 52 47 45 54 3d 73 74 61 74 69 63 0a 09  _TARGET=static..
01b0: 65 6c 73 65 0a 09 09 54 43 43 34 54 43 4c 5f 54  else...TCC4TCL_T
01c0: 41 52 47 45 54 3d 73 68 61 72 65 64 0a 09 66 69  ARGET=shared..fi
01d0: 0a 5d 2c 20 5b 0a 09 54 43 43 34 54 43 4c 5f 54  .], [..TCC4TCL_T
01e0: 41 52 47 45 54 3d 73 68 61 72 65 64 0a 5d 29 0a  ARGET=shared.]).
01f0: 0a 64 6e 6c 20 43 6f 6e 66 69 67 75 72 65 20 54  .dnl Configure T
0200: 43 43 20 62 75 69 6c 64 20 6f 70 74 69 6f 6e 73  CC build options
0210: 0a 41 43 5f 53 55 42 53 54 28 54 43 43 5f 43 4f  .AC_SUBST(TCC_CO
0220: 4e 46 49 47 55 52 45 5f 4f 50 54 53 29 0a 54 43  NFIGURE_OPTS).TC
0230: 43 5f 43 4f 4e 46 49 47 55 52 45 5f 4f 50 54 53  C_CONFIGURE_OPTS
0240: 3d 22 22 0a 0a 64 6e 6c 20 2d 2d 20 49 66 20 63  =""..dnl -- If c
0250: 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 2c 20  ross-compiling, 
0260: 73 70 65 63 69 66 79 20 61 20 22 2d 2d 63 72 6f  specify a "--cro
0270: 73 73 2d 70 72 65 66 69 78 22 20 61 6e 64 20 64  ss-prefix" and d
0280: 65 66 69 6e 65 20 74 68 65 20 43 50 55 0a 69 66  efine the CPU.if
0290: 20 74 65 73 74 20 22 24 7b 68 6f 73 74 7d 22 20   test "${host}" 
02a0: 21 3d 20 22 24 7b 62 75 69 6c 64 7d 22 3b 20 74  != "${build}"; t
02b0: 68 65 6e 0a 09 54 43 43 5f 43 4f 4e 46 49 47 55  hen..TCC_CONFIGU
02c0: 52 45 5f 4f 50 54 53 3d 22 24 7b 54 43 43 5f 43  RE_OPTS="${TCC_C
02d0: 4f 4e 46 49 47 55 52 45 5f 4f 50 54 53 7d 20 2d  ONFIGURE_OPTS} -
02e0: 2d 63 72 6f 73 73 2d 70 72 65 66 69 78 3d 24 7b  -cross-prefix=${
02f0: 68 6f 73 74 5f 61 6c 69 61 73 7d 2d 20 2d 2d 63  host_alias}- --c
0300: 70 75 3d 24 7b 68 6f 73 74 5f 63 70 75 7d 20 2d  pu=${host_cpu} -
0310: 2d 6f 73 3d 24 7b 68 6f 73 74 5f 6f 73 7d 22 0a  -os=${host_os}".
0320: 66 69 0a 0a 69 66 20 74 65 73 74 20 22 24 7b 54  fi..if test "${T
0330: 43 43 34 54 43 4c 5f 54 41 52 47 45 54 7d 22 20  CC4TCL_TARGET}" 
0340: 3d 20 22 73 68 61 72 65 64 22 3b 20 74 68 65 6e  = "shared"; then
0350: 0a 09 64 6e 6c 20 44 65 74 65 72 6d 69 6e 65 20  ..dnl Determine 
0360: 68 6f 77 20 74 6f 20 6d 61 6b 65 20 73 68 61 72  how to make shar
0370: 65 64 20 6f 62 6a 65 63 74 73 0a 09 44 43 5f 47  ed objects..DC_G
0380: 45 54 5f 53 48 4f 42 4a 46 4c 41 47 53 0a 0a 09  ET_SHOBJFLAGS...
0390: 64 6e 6c 20 4f 6e 6c 79 20 65 78 70 6f 72 74 20  dnl Only export 
03a0: 73 79 6d 62 6f 6c 73 20 77 65 20 77 69 73 68 20  symbols we wish 
03b0: 74 6f 20 65 78 70 6f 73 65 0a 09 54 41 52 47 45  to expose..TARGE
03c0: 54 3d 22 74 63 63 34 74 63 6c 2e 24 7b 53 48 4f  T="tcc4tcl.${SHO
03d0: 42 4a 45 58 54 7d 22 0a 65 6c 73 65 0a 09 54 43  BJEXT}".else..TC
03e0: 43 5f 45 58 54 52 41 5f 43 46 4c 41 47 53 3d 22  C_EXTRA_CFLAGS="
03f0: 24 7b 54 43 43 5f 45 58 54 52 41 5f 43 46 4c 41  ${TCC_EXTRA_CFLA
0400: 47 53 7d 20 2d 44 43 4f 4e 46 49 47 5f 54 43 43  GS} -DCONFIG_TCC
0410: 5f 53 54 41 54 49 43 3d 31 22 0a 0a 09 41 43 5f  _STATIC=1"...AC_
0420: 43 48 45 43 4b 5f 54 4f 4f 4c 28 5b 52 41 4e 4c  CHECK_TOOL([RANL
0430: 49 42 5d 2c 20 5b 72 61 6e 6c 69 62 5d 29 0a 09  IB], [ranlib])..
0440: 41 43 5f 43 48 45 43 4b 5f 54 4f 4f 4c 28 5b 41  AC_CHECK_TOOL([A
0450: 52 5d 2c 20 5b 61 72 5d 29 0a 0a 09 54 41 52 47  R], [ar])...TARG
0460: 45 54 3d 22 74 63 63 34 74 63 6c 2d 73 74 61 74  ET="tcc4tcl-stat
0470: 69 63 2e 61 22 0a 66 69 0a 41 43 5f 53 55 42 53  ic.a".fi.AC_SUBS
0480: 54 28 54 41 52 47 45 54 29 0a 41 43 5f 53 55 42  T(TARGET).AC_SUB
0490: 53 54 28 54 43 43 34 54 43 4c 5f 54 41 52 47 45  ST(TCC4TCL_TARGE
04a0: 54 29 0a 41 43 5f 53 55 42 53 54 28 54 43 43 5f  T).AC_SUBST(TCC_
04b0: 45 58 54 52 41 5f 43 46 4c 41 47 53 29 0a 0a 6e  EXTRA_CFLAGS)..n
04c0: 6f 5f 64 6c 6f 70 65 6e 3d 27 30 27 0a 41 43 5f  o_dlopen='0'.AC_
04d0: 41 52 47 5f 57 49 54 48 28 5b 64 6c 6f 70 65 6e  ARG_WITH([dlopen
04e0: 5d 2c 20 41 53 5f 48 45 4c 50 5f 53 54 52 49 4e  ], AS_HELP_STRIN
04f0: 47 28 5b 2d 2d 77 69 74 68 6f 75 74 2d 64 6c 6f  G([--without-dlo
0500: 70 65 6e 5d 2c 20 5b 64 6f 20 6e 6f 74 20 64 65  pen], [do not de
0510: 66 69 6e 65 20 64 6c 6f 70 65 6e 2f 64 6c 63 6c  fine dlopen/dlcl
0520: 6f 73 65 2f 64 6c 65 72 72 6f 72 5d 29 2c 20 5b  ose/dlerror]), [
0530: 0a 09 69 66 20 74 65 73 74 20 22 24 77 69 74 68  ..if test "$with
0540: 76 61 6c 22 20 3d 20 22 6e 6f 22 3b 20 74 68 65  val" = "no"; the
0550: 6e 0a 09 09 6e 6f 5f 64 6c 6f 70 65 6e 3d 27 31  n...no_dlopen='1
0560: 27 0a 09 65 6c 73 65 0a 09 09 6e 6f 5f 64 6c 6f  '..else...no_dlo
0570: 70 65 6e 3d 27 30 27 0a 09 66 69 0a 5d 29 0a 0a  pen='0'..fi.])..
0580: 69 66 20 74 65 73 74 20 22 24 6e 6f 5f 64 6c 6f  if test "$no_dlo
0590: 70 65 6e 22 20 3d 20 27 31 27 3b 20 74 68 65 6e  pen" = '1'; then
05a0: 0a 09 43 50 50 46 4c 41 47 53 3d 22 24 7b 43 50  ..CPPFLAGS="${CP
05b0: 50 46 4c 41 47 53 7d 20 2d 44 43 4f 4e 46 49 47  PFLAGS} -DCONFIG
05c0: 5f 54 43 43 5f 53 54 41 54 49 43 5f 4e 4f 44 4c  _TCC_STATIC_NODL
05d0: 4f 50 45 4e 3d 31 22 0a 66 69 0a 0a 64 6e 6c 20  OPEN=1".fi..dnl 
05e0: 44 65 74 65 72 6d 69 6e 65 20 48 4f 53 54 5f 50  Determine HOST_P
05f0: 41 54 48 5f 53 45 50 45 52 41 54 4f 52 0a 63 61  ATH_SEPERATOR.ca
0600: 73 65 20 24 68 6f 73 74 5f 6f 73 20 69 6e 0a 09  se $host_os in..
0610: 2a 6d 69 6e 67 77 2a 29 0a 09 09 48 4f 53 54 5f  *mingw*)...HOST_
0620: 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 3d 27  PATH_SEPARATOR='
0630: 3b 27 0a 09 09 3b 3b 0a 09 2a 29 0a 09 09 48 4f  ;'...;;..*)...HO
0640: 53 54 5f 50 41 54 48 5f 53 45 50 41 52 41 54 4f  ST_PATH_SEPARATO
0650: 52 3d 27 3a 27 0a 09 09 3b 3b 0a 65 73 61 63 0a  R=':'...;;.esac.
0660: 41 43 5f 53 55 42 53 54 28 48 4f 53 54 5f 50 41  AC_SUBST(HOST_PA
0670: 54 48 5f 53 45 50 41 52 41 54 4f 52 29 0a 0a 64  TH_SEPARATOR)..d
0680: 6e 6c 20 46 69 6e 64 20 61 20 73 75 69 74 61 62  nl Find a suitab
0690: 6c 65 20 61 77 6b 0a 41 43 5f 43 48 45 43 4b 5f  le awk.AC_CHECK_
06a0: 54 4f 4f 4c 53 28 41 57 4b 2c 20 67 61 77 6b 20  TOOLS(AWK, gawk 
06b0: 61 77 6b 2c 20 5b 66 61 6c 73 65 5d 29 0a 0a 64  awk, [false])..d
06c0: 6e 6c 20 50 65 72 66 6f 72 6d 20 54 63 6c 20 45  nl Perform Tcl E
06d0: 78 74 65 6e 73 69 6f 6e 20 72 65 71 75 69 72 65  xtension require
06e0: 64 20 73 74 75 66 66 0a 54 43 4c 45 58 54 5f 49  d stuff.TCLEXT_I
06f0: 4e 49 54 0a 0a 64 6e 6c 20 54 68 69 73 20 6d 75  NIT..dnl This mu
0700: 73 74 20 62 65 20 64 6f 6e 65 20 6c 61 73 74 20  st be done last 
0710: 73 69 6e 63 65 20 69 74 20 62 72 65 61 6b 73 20  since it breaks 
0720: 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a  the compilation.
0730: 69 66 20 74 65 73 74 20 22 24 7b 54 43 43 34 54  if test "${TCC4T
0740: 43 4c 5f 54 41 52 47 45 54 7d 22 20 3d 20 22 73  CL_TARGET}" = "s
0750: 68 61 72 65 64 22 3b 20 74 68 65 6e 0a 09 44 43  hared"; then..DC
0760: 5f 53 45 54 55 50 5f 53 54 41 42 4c 45 5f 41 50  _SETUP_STABLE_AP
0770: 49 28 5b 24 7b 73 72 63 64 69 72 7d 2f 74 63 63  I([${srcdir}/tcc
0780: 34 74 63 6c 2e 76 65 72 73 5d 2c 20 5b 74 63 63  4tcl.vers], [tcc
0790: 34 74 63 6c 2e 73 79 6d 73 5d 29 0a 66 69 0a 0a  4tcl.syms]).fi..
07a0: 64 6e 6c 20 50 72 6f 64 75 63 65 20 6f 75 74 70  dnl Produce outp
07b0: 75 74 0a 41 43 5f 4f 55 54 50 55 54 28 4d 61 6b  ut.AC_OUTPUT(Mak
07c0: 65 66 69 6c 65 20 70 6b 67 49 6e 64 65 78 2e 74  efile pkgIndex.t
07d0: 63 6c 20 74 63 63 34 74 63 6c 2e 73 79 6d 73 29  cl tcc4tcl.syms)
07e0: 0a                                               .