configure.in
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:25k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #! /bin/bash -norc
  2. dnl This file is an input file used by the GNU "autoconf" program to
  3. dnl generate the file "configure", which is run during Tk installation
  4. dnl to configure the system for the local environment.
  5. #
  6. # RCS: @(#) $Id: configure.in,v 1.83.2.47 2008/02/06 15:31:41 dgp Exp $
  7. AC_INIT(../generic/tk.h)
  8. AC_PREREQ(2.13)
  9. TK_VERSION=8.4
  10. TK_MAJOR_VERSION=8
  11. TK_MINOR_VERSION=4
  12. TK_PATCH_LEVEL=".18"
  13. VERSION=${TK_VERSION}
  14. LOCALES="cs de el en en_gb eo es fr hu it nl pl pt ru"
  15. #--------------------------------------------------------------------
  16. # Find and load the tclConfig.sh file
  17. #--------------------------------------------------------------------
  18. SC_PATH_TCLCONFIG
  19. SC_LOAD_TCLCONFIG
  20. SC_PROG_TCLSH
  21. SC_BUILD_TCLSH
  22. if test "${TCL_VERSION}" != "${TK_VERSION}"; then
  23.     AC_MSG_ERROR([${TCL_BIN_DIR}/tclConfig.sh is for Tcl ${TCL_VERSION}.
  24. Tk ${TK_VERSION}${TK_PATCH_LEVEL} needs Tcl ${TK_VERSION}.
  25. Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl ${TK_VERSION}.])
  26. fi
  27. #------------------------------------------------------------------------
  28. # Handle the --prefix=... option
  29. #------------------------------------------------------------------------
  30. if test "${prefix}" = "NONE"; then
  31.     prefix="$TCL_PREFIX"
  32. fi
  33. if test "${exec_prefix}" = "NONE"; then
  34.     exec_prefix=$prefix
  35. fi
  36. # Make sure srcdir is fully qualified!
  37. srcdir=`cd $srcdir ; pwd`
  38. TK_SRC_DIR=`cd $srcdir/..; pwd`
  39. #------------------------------------------------------------------------
  40. # Compress and/or soft link the manpages?
  41. #------------------------------------------------------------------------
  42. SC_CONFIG_MANPAGES([tk])
  43. #------------------------------------------------------------------------
  44. # Standard compiler checks
  45. #------------------------------------------------------------------------
  46. # If the user did not set CFLAGS, set it now to keep
  47. # the AC_PROG_CC macro from adding "-g -O2".
  48. if test "${CFLAGS+set}" != "set" ; then
  49.     CFLAGS=""
  50. fi
  51. AC_PROG_CC
  52. # limits header checks must come early to prevent
  53. # an autoconf bug that throws errors on configure
  54. AC_CHECK_HEADER(limits.h,
  55.     [AC_DEFINE(HAVE_LIMITS_H)], [AC_DEFINE(NO_LIMITS_H)])
  56. AC_HAVE_HEADERS(unistd.h)
  57. #--------------------------------------------------------------------
  58. # Supply a substitute for stdlib.h if it doesn't define strtol,
  59. # strtoul, or strtod (which it doesn't in some versions of SunOS).
  60. #--------------------------------------------------------------------
  61. AC_MSG_CHECKING(stdlib.h)
  62. AC_EGREP_HEADER(strtol, stdlib.h, tk_ok=yes, tk_ok=no)
  63. AC_EGREP_HEADER(strtoul, stdlib.h, , tk_ok=no)
  64. AC_EGREP_HEADER(strtod, stdlib.h, , tk_ok=no)
  65. if test $tk_ok = no; then
  66.     AC_DEFINE(NO_STDLIB_H)
  67. fi
  68. AC_MSG_RESULT([$tk_ok])
  69. #------------------------------------------------------------------------
  70. # If we're using GCC, see if the compiler understands -pipe.  If so, use it.
  71. # It makes compiling go faster.  (This is only a performance feature.)
  72. #------------------------------------------------------------------------
  73. if test -z "$no_pipe" && test -n "$GCC"; then
  74.     AC_CACHE_CHECK([if the compiler understands -pipe],
  75. tcl_cv_cc_pipe, [
  76. hold_cflags=$CFLAGS; CFLAGS="$CFLAGS -pipe"
  77. AC_TRY_COMPILE(,, tcl_cv_cc_pipe=yes, tcl_cv_cc_pipe=no)
  78. CFLAGS=$hold_cflags])
  79.     if test $tcl_cv_cc_pipe = yes; then
  80. CFLAGS="$CFLAGS -pipe"
  81.     fi
  82. fi
  83. #------------------------------------------------------------------------
  84. # Threads support - this auto-enables if Tcl was compiled threaded
  85. #------------------------------------------------------------------------
  86. SC_ENABLE_THREADS
  87. #--------------------------------------------------------------------
  88. # On a few very rare systems, all of the libm.a stuff is
  89. # already in libc.a.  Set compiler flags accordingly.
  90. # Also, Linux requires the "ieee" library for math to work
  91. # right (and it must appear before "-lm").
  92. #--------------------------------------------------------------------
  93. MATH_LIBS=""
  94. AC_CHECK_FUNC(sin, , MATH_LIBS="-lm")
  95. AC_CHECK_LIB(ieee, main, [MATH_LIBS="-lieee $MATH_LIBS"])
  96. # Add the threads support libraries
  97. LIBS="$LIBS$THREADS_LIBS"
  98. SC_ENABLE_SHARED
  99. #--------------------------------------------------------------------
  100. # The statements below define a collection of compile flags.  This
  101. # macro depends on the value of SHARED_BUILD, and should be called
  102. # after SC_ENABLE_SHARED checks the configure switches.
  103. #--------------------------------------------------------------------
  104. SC_CONFIG_CFLAGS
  105. SC_ENABLE_SYMBOLS
  106. TK_DBGX=${DBGX}
  107. #--------------------------------------------------------------------
  108. # Detect what compiler flags to set for 64-bit support.
  109. #--------------------------------------------------------------------
  110. SC_TCL_EARLY_FLAGS
  111. SC_TCL_64BIT_FLAGS
  112. #--------------------------------------------------------------------
  113. # Check endianness because we can optimize some operations
  114. #--------------------------------------------------------------------
  115. AC_C_BIGENDIAN
  116. #------------------------------------------------------------------------
  117. # If Tcl and Tk are installed in different places, adjust the library
  118. # search path to reflect this.
  119. #------------------------------------------------------------------------
  120. LIB_RUNTIME_DIR='${LIB_RUNTIME_DIR}'
  121. if test "$TCL_EXEC_PREFIX" != "$exec_prefix"; then
  122.     LIB_RUNTIME_DIR="${LIB_RUNTIME_DIR}:${TCL_EXEC_PREFIX}/lib"
  123. fi
  124. if test "$TCL_PREFIX" != "$prefix"; then
  125.     AC_MSG_WARN([
  126.         Different --prefix selected for Tk and Tcl!
  127.         [[package require Tk]] may not work correctly in tclsh.])
  128. fi
  129. #--------------------------------------------------------------------
  130. # Include sys/select.h if it exists and if it supplies things
  131. # that appear to be useful and aren't already in sys/types.h.
  132. # This appears to be true only on the RS/6000 under AIX.  Some
  133. # systems like OSF/1 have a sys/select.h that's of no use, and
  134. # other systems like SCO UNIX have a sys/select.h that's
  135. # pernicious.  If "fd_set" isn't defined anywhere then set a
  136. # special flag.
  137. #--------------------------------------------------------------------
  138. AC_CACHE_CHECK([for fd_set in sys/types], tcl_cv_type_fd_set, [
  139.     AC_TRY_COMPILE([#include <sys/types.h>],[fd_set readMask, writeMask;],
  140. tcl_cv_type_fd_set=yes, tcl_cv_type_fd_set=no)])
  141. tk_ok=$tcl_cv_type_fd_set
  142. if test $tk_ok = no; then
  143.     AC_CACHE_CHECK([for fd_mask in sys/select], tcl_cv_grep_fd_mask, [
  144. AC_EGREP_HEADER(fd_mask, sys/select.h,
  145.      tcl_cv_grep_fd_mask=present, tcl_cv_grep_fd_mask=missing)])
  146.     if test $tcl_cv_grep_fd_mask = present; then
  147. AC_DEFINE(HAVE_SYS_SELECT_H)
  148. tk_ok=yes
  149.     fi
  150. fi
  151. if test $tk_ok = no; then
  152.     AC_DEFINE(NO_FD_SET)
  153. fi
  154. #------------------------------------------------------------------------------
  155. #       Find out all about time handling differences.
  156. #------------------------------------------------------------------------------
  157. AC_CHECK_HEADERS(sys/time.h)
  158. AC_HEADER_TIME
  159. #--------------------------------------------------------------------
  160. # Under Solaris 2.4, strtod returns the wrong value for the
  161. # terminating character under some conditions.  Check for this
  162. # and if the problem exists use a substitute procedure
  163. # "fixstrtod" (provided by Tcl) that corrects the error.
  164. #--------------------------------------------------------------------
  165. SC_BUGGY_STRTOD
  166. #--------------------------------------------------------------------
  167. # Check for various typedefs and provide substitutes if
  168. # they don't exist.
  169. #--------------------------------------------------------------------
  170. AC_TYPE_MODE_T
  171. AC_TYPE_PID_T
  172. AC_TYPE_SIZE_T
  173. AC_TYPE_UID_T
  174. #-------------------------------------------
  175. #     In OS/390 struct pwd has no pw_gecos field
  176. #-------------------------------------------
  177. AC_CACHE_CHECK([pw_gecos in struct pwd], tcl_cv_pwd_pw_gecos, [
  178.     AC_TRY_COMPILE([#include <pwd.h>],
  179.     [struct passwd pwd; pwd.pw_gecos;],
  180.     tcl_cv_pwd_pw_gecos=yes, tcl_cv_pwd_pw_gecos=no)])
  181. if test $tcl_cv_pwd_pw_gecos = yes; then
  182.     AC_DEFINE(HAVE_PW_GECOS)
  183. fi
  184. #--------------------------------------------------------------------
  185. # On Mac OS X, we can build either with X11 or with Aqua
  186. #--------------------------------------------------------------------
  187. if test "`uname -s`" = "Darwin" ; then
  188.     AC_MSG_CHECKING([whether to use Aqua])
  189.     AC_ARG_ENABLE(aqua, [  --enable-aqua           enable Aqua windowingsystem on Mac OS X [--disable-aqua]],
  190. [tk_aqua=$enableval], [tk_aqua=no])
  191.     if test $tk_aqua = yes; then
  192. if test $tcl_corefoundation = no; then
  193.     AC_MSG_WARN([Aqua can only be used when CoreFoundation is available])
  194.     tk_aqua=no
  195. fi
  196. if test ! -d /System/Library/Frameworks/Carbon.framework; then
  197.     AC_MSG_WARN([Aqua can only be used when Carbon is available])
  198.     tk_aqua=no
  199. fi
  200. if test "`uname -r | awk -F. '{print [$]1}'`" -lt 6; then
  201.     AC_MSG_WARN([Aqua requires Mac OS X 10.2 or later])
  202.     tk_aqua=no
  203. fi
  204.     fi
  205.     AC_MSG_RESULT([$tk_aqua])
  206.     if test "$fat_32_64" = yes; then
  207. if test $tk_aqua = no; then
  208.     AC_CACHE_CHECK([for 64-bit X11], tcl_cv_lib_x11_64, [
  209. for v in CFLAGS CPPFLAGS LDFLAGS; do
  210.     eval 'hold_'$v'="$'$v'";'$v'="`echo "$'$v' "|sed -e "s/-arch ppc / /g" -e "s/-arch i386 / /g"`"'
  211. done
  212. CPPFLAGS="$CPPFLAGS -I/usr/X11R6/include"
  213. LDFLAGS="$LDFLAGS -L/usr/X11R6/lib -lX11"
  214. AC_TRY_LINK([#include <X11/Xlib.h>], [XrmInitialize();], 
  215.     tcl_cv_lib_x11_64=yes, tcl_cv_lib_x11_64=no)
  216. for v in CFLAGS CPPFLAGS LDFLAGS; do
  217.     eval $v'="$hold_'$v'"'
  218. done])
  219. fi
  220. # remove 64-bit arch flags from CFLAGS et al. for combined 32 & 64 bit
  221. # fat builds if configuration does not support 64-bit.
  222. if test $tk_aqua = yes -o "$tcl_cv_lib_x11_64" = no; then
  223.     AC_MSG_WARN([Removing 64-bit architectures from compiler & linker flags])
  224.     for v in CFLAGS CPPFLAGS LDFLAGS; do
  225. eval $v'="`echo "$'$v' "|sed -e "s/-arch ppc64 / /g" -e "s/-arch x86_64 / /g"`"'
  226.     done
  227. fi
  228.     fi
  229. else
  230.     tk_aqua=no
  231. fi
  232. if test $tk_aqua = yes; then
  233.     AC_DEFINE(MAC_OSX_TK)
  234.     LIBS="$LIBS -framework Carbon"
  235.     CFLAGS="$CFLAGS -fpascal-strings"
  236.     TK_WINDOWINGSYSTEM=AQUA
  237.     if test -n "${enable_symbols}" -a "${enable_symbols}" != no; then
  238.         AC_DEFINE(TK_MAC_DEBUG)
  239.     fi
  240. else
  241.     #--------------------------------------------------------------------
  242.     # Locate the X11 header files and the X11 library archive.  Try
  243.     # the ac_path_x macro first, but if it doesn't find the X stuff
  244.     # (e.g. because there's no xmkmf program) then check through
  245.     # a list of possible directories.  Under some conditions the
  246.     # autoconf macro will return an include directory that contains
  247.     # no include files, so double-check its result just to be safe.
  248.     #--------------------------------------------------------------------
  249.     
  250.     SC_PATH_X
  251.     TK_WINDOWINGSYSTEM=X11
  252. fi
  253. #--------------------------------------------------------------------
  254. # Various manipulations on the search path used at runtime to
  255. # find shared libraries:
  256. # 1. If the X library binaries are in a non-standard directory,
  257. #    add the X library location into that search path.
  258. # 2. On systems such as AIX and Ultrix that use "-L" as the
  259. #    search path option, colons cannot be used to separate
  260. #    directories from each other. Change colons to " -L".
  261. # 3. Create two sets of search flags, one for use in cc lines
  262. #    and the other for when the linker is invoked directly.  In
  263. #    the second case, '-Wl,' must be stripped off and commas must
  264. #    be replaced by spaces.
  265. #--------------------------------------------------------------------
  266. if test "x${x_libraries}" != "x"; then
  267.     LIB_RUNTIME_DIR="${LIB_RUNTIME_DIR}:${x_libraries}"
  268. fi
  269. if test "${TCL_LD_SEARCH_FLAGS}" = '-L${LIB_RUNTIME_DIR}'; then
  270.     LIB_RUNTIME_DIR=`echo ${LIB_RUNTIME_DIR} |sed -e 's/:/ -L/g'`
  271. fi
  272. # The statement below is very tricky!  It actually *evaluates* the
  273. # string in TCL_CC_SEARCH_FLAGS and TCL_LD_SEARCH_FLAGS which
  274. # causes a substitution of the variable LIB_RUNTIME_DIR.
  275. eval "CC_SEARCH_FLAGS="$TCL_CC_SEARCH_FLAGS""
  276. eval "LD_SEARCH_FLAGS="$TCL_LD_SEARCH_FLAGS""
  277. #--------------------------------------------------------------------
  278. # Check for the existence of various libraries.  The order here
  279. # is important, so that then end up in the right order in the
  280. # command line generated by make.  The -lsocket and -lnsl libraries
  281. # require a couple of special tricks:
  282. # 1. Use "connect" and "accept" to check for -lsocket, and
  283. #    "gethostbyname" to check for -lnsl.
  284. # 2. Use each function name only once:  can't redo a check because
  285. #    autoconf caches the results of the last check and won't redo it.
  286. # 3. Use -lnsl and -lsocket only if they supply procedures that
  287. #    aren't already present in the normal libraries.  This is because
  288. #    IRIX 5.2 has libraries, but they aren't needed and they're
  289. #    bogus:  they goof up name resolution if used.
  290. # 4. On some SVR4 systems, can't use -lsocket without -lnsl too.
  291. #    To get around this problem, check for both libraries together
  292. #    if -lsocket doesn't work by itself.
  293. #--------------------------------------------------------------------
  294. if test $tk_aqua = no; then
  295.     AC_CHECK_LIB(Xbsd, main, [LIBS="$LIBS -lXbsd"])
  296. fi
  297. tk_checkBoth=0
  298. AC_CHECK_FUNC(connect, tk_checkSocket=0, tk_checkSocket=1)
  299. if test "$tk_checkSocket" = 1; then
  300.     AC_CHECK_LIB(socket, main, LIBS="$LIBS -lsocket", tk_checkBoth=1)
  301. fi
  302. if test "$tk_checkBoth" = 1; then
  303.     tk_oldLibs=$LIBS
  304.     LIBS="$LIBS -lsocket -lnsl"
  305.     AC_CHECK_FUNC(accept, tk_checkNsl=0, [LIBS=$tk_oldLibs])
  306. fi
  307. AC_CHECK_FUNC(gethostbyname, , [AC_CHECK_LIB(nsl, main, [LIBS="$LIBS -lnsl"])])
  308. #--------------------------------------------------------------------
  309. # One more check related to the X libraries.  The standard releases
  310. # of Ultrix don't support the "xauth" mechanism, so send won't work
  311. # unless TK_NO_SECURITY is defined.  However, there are usually copies
  312. # of the MIT X server available as well, which do support xauth.
  313. # Check for the MIT stuff and use it if it exists.
  314. #
  315. # Note: can't use ac_check_lib macro (at least, not in Autoconf 2.1)
  316. # because it can't deal with the "-" in the library name.
  317. #--------------------------------------------------------------------
  318. if test -d /usr/include/mit -a $tk_aqua = no; then
  319.     AC_MSG_CHECKING([MIT X libraries])
  320.     tk_oldCFlags=$CFLAGS
  321.     CFLAGS="$CFLAGS -I/usr/include/mit"
  322.     tk_oldLibs=$LIBS
  323.     LIBS="$LIBS -lX11-mit"
  324.     AC_TRY_LINK([
  325. #include <X11/Xlib.h>
  326.     ], [
  327. XOpenDisplay(0);
  328.     ], [
  329. AC_MSG_RESULT([yes])
  330. XLIBSW="-lX11-mit"
  331. XINCLUDES="-I/usr/include/mit"
  332.     ], AC_MSG_RESULT([no]))
  333.     CFLAGS=$tk_oldCFlags
  334.     LIBS=$tk_oldLibs
  335. fi
  336. #--------------------------------------------------------------------
  337. # Figure out whether "char" is unsigned.  If so, set a
  338. # #define for __CHAR_UNSIGNED__.
  339. #--------------------------------------------------------------------
  340. AC_C_CHAR_UNSIGNED
  341. #--------------------------------------------------------------------
  342. # The statements below define a collection of symbols related to
  343. # building libtk as a shared library instead of a static library.
  344. #--------------------------------------------------------------------
  345. eval eval "TK_UNSHARED_LIB_SUFFIX=${UNSHARED_LIB_SUFFIX}"
  346. eval eval "TK_SHARED_LIB_SUFFIX=${SHARED_LIB_SUFFIX}"
  347. eval "TK_LIB_FILE=libtk${LIB_SUFFIX}"
  348. # tkConfig.sh needs a version of the _LIB_SUFFIX that has been eval'ed
  349. # so that the backslashes quoting the DBX braces are dropped.
  350. # Trick to replace DBGX with TK_DBGX
  351. DBGX='${TK_DBGX}'
  352. eval "TK_LIB_FILE=${TK_LIB_FILE}"
  353. if test "${SHARED_BUILD}" = "1" -a "${SHLIB_SUFFIX}" != ""; then
  354.     SHLIB_LD_LIBS="${SHLIB_LD_LIBS} ${TCL_STUB_LIB_SPEC}"
  355.     TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
  356. fi
  357. TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
  358. PRIVATE_INCLUDE_DIR='$(includedir)'
  359. HTML_DIR='$(DISTDIR)/html'
  360. TK_PKG_DIR='tk$(VERSION)$(TK_DBGX)'
  361. TK_RSRC_FILE='tk$(VERSION).rsrc'
  362. WISH_RSRC_FILE='wish$(VERSION).rsrc'
  363. # Note:  in the following variable, it's important to use the absolute
  364. # path name of the Tcl directory rather than "..":  this is because
  365. # AIX remembers this path and will attempt to use it at run-time to look
  366. # up the Tcl library.
  367. if test "`uname -s`" = "Darwin" ; then
  368.     SC_ENABLE_FRAMEWORK
  369.     TK_SHLIB_LD_EXTRAS="-compatibility_version ${TK_VERSION} -current_version ${TK_VERSION}`echo ${TK_PATCH_LEVEL} | awk ['{match($0, "\.[0-9]+"); print substr($0,RSTART,RLENGTH)}']`"
  370.     TK_SHLIB_LD_EXTRAS="${TK_SHLIB_LD_EXTRAS}"' -install_name ${DYLIB_INSTALL_DIR}/${TK_LIB_FILE} -unexported_symbols_list $$(f=$(TCL_STUB_LIB_FILE).E && nm -gjp $(TCL_BIN_DIR)/$(TCL_STUB_LIB_FILE) | grep ^_[[^_]] > $$f && echo $$f)'
  371.     echo "$LDFLAGS " | grep -q -- '-prebind ' && TK_SHLIB_LD_EXTRAS="${TK_SHLIB_LD_EXTRAS}"' -seg1addr 0xb000000'
  372.     TK_SHLIB_LD_EXTRAS="${TK_SHLIB_LD_EXTRAS}"' -sectcreate __TEXT __info_plist Tk-Info.plist'
  373.     EXTRA_WISH_LIBS='-sectcreate __TEXT __info_plist Wish-Info.plist'
  374.     EXTRA_APP_CC_SWITCHES='-mdynamic-no-pic'
  375.     tk_config_files="${tk_config_files} [Tk-Info.plist:../macosx/Tk-Info.plist.in Wish-Info.plist:../macosx/Wish-Info.plist.in]"
  376.     for l in ${LOCALES}; do CFBUNDLELOCALIZATIONS="${CFBUNDLELOCALIZATIONS}<string>$l</string>"; done
  377.     TK_YEAR="`date +%Y`"
  378. fi
  379. if test "$FRAMEWORK_BUILD" = "1" ; then
  380.     AC_DEFINE(TK_FRAMEWORK)
  381.     # Construct a fake local framework structure to make linking with
  382.     # '-framework Tk' and running of tktest work
  383.     AC_OUTPUT_COMMANDS([test "$FRAMEWORK_BUILD" = "1" && n=Tk &&
  384. f=$n.framework && v=Versions/$VERSION &&
  385. echo "creating $f" && rm -rf $f && mkdir -p $f/$v/Resources &&
  386. ln -s $v/$n $v/Resources $f && ln -s ../../../$n $f/$v &&
  387. ln -s ../../../../$n-Info.plist $f/$v/Resources/Info.plist &&
  388. if test $tk_aqua = yes; then ln -s ../../../../$n.rsrc $f/$v/Resources; fi &&
  389. unset n f v
  390.     ], [VERSION=${TK_VERSION} FRAMEWORK_BUILD=${FRAMEWORK_BUILD}
  391. tk_aqua=${tk_aqua}])
  392.     LD_LIBRARY_PATH_VAR="DYLD_FRAMEWORK_PATH"
  393.     if test "${libdir}" = '${exec_prefix}/lib'; then
  394.         # override libdir default
  395.         libdir="/Library/Frameworks"
  396.     fi
  397.     TK_LIB_FILE="Tk"
  398.     TK_LIB_FLAG="-framework Tk"
  399.     TK_BUILD_LIB_SPEC="-F`pwd` -framework Tk"
  400.     TK_LIB_SPEC="-F${libdir} -framework Tk"
  401.     libdir="${libdir}/Tk.framework/Versions/${VERSION}"
  402.     TK_LIBRARY="${libdir}/Resources/Scripts"
  403.     TK_PKG_DIR="Resources/Scripts"
  404.     TK_RSRC_FILE="Tk.rsrc"
  405.     WISH_RSRC_FILE="Wish.rsrc"
  406.     includedir="${libdir}/Headers"
  407.     PRIVATE_INCLUDE_DIR="${libdir}/PrivateHeaders"
  408.     HTML_DIR="${libdir}/Resources/Documentation/Reference/Tk"
  409.     EXTRA_INSTALL="install-private-headers html-tk"
  410.     EXTRA_BUILD_HTML='@ln -fs contents.htm $(HTML_INSTALL_DIR)/TkTOC.html' 
  411.     EXTRA_INSTALL_BINARIES='@echo "Installing Info.plist to $(LIB_INSTALL_DIR)/Resources" && mkdir -p "$(LIB_INSTALL_DIR)/Resources" && $(INSTALL_DATA) Tk-Info.plist "$(LIB_INSTALL_DIR)/Resources/Info.plist"'
  412.     EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing license.terms to $(LIB_INSTALL_DIR)/Resources" && $(INSTALL_DATA) "$(TOP_DIR)/license.terms" "$(LIB_INSTALL_DIR)/Resources"'
  413.     if test $tk_aqua = yes; then
  414.         EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing ${TK_RSRC_FILE} to $(LIB_INSTALL_DIR)/Resources" && mkdir -p "$(LIB_INSTALL_DIR)/Resources" && $(INSTALL_DATA) "${TK_RSRC_FILE}" "$(LIB_INSTALL_DIR)/Resources"'
  415.         EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing wish$(VERSION) script to $(INSTALL_ROOT)/'"${bindir}"'" && mkdir -p "$(INSTALL_ROOT)/'"${bindir}"'" && printf > "$(INSTALL_ROOT)/'"${bindir}"'/wish$(VERSION)" "#!/bin/shn"$$(dirname $$0)'"`eval d="${bindir}"; echo "$d" | sed -e 's#/[^/][^/]*#/..#g'`"'$(bindir)/Wish" "$$@"" && chmod +x "$(INSTALL_ROOT)/'"${bindir}"'/wish$(VERSION)"'
  416.         bindir="${libdir}/Resources/Wish.app/Contents/MacOS"
  417.         EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Info.plist to $(BIN_INSTALL_DIR)/.." && $(INSTALL_DATA) Wish-Info.plist "$(BIN_INSTALL_DIR)/../Info.plist" && mv -f "$(BIN_INSTALL_DIR)/wish$(VERSION)" "$(BIN_INSTALL_DIR)/Wish"'
  418.         EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing Wish.icns to $(BIN_INSTALL_DIR)/../Resources" && mkdir -p "$(BIN_INSTALL_DIR)/../Resources" && $(INSTALL_DATA) "'$(MAC_OSX_DIR)'/Wish.icns" "$(BIN_INSTALL_DIR)/../Resources"'
  419.         EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Installing ${WISH_RSRC_FILE} to $(BIN_INSTALL_DIR)/../Resources" && $(INSTALL_DATA) "${WISH_RSRC_FILE}" "$(BIN_INSTALL_DIR)/../Resources"'
  420.     fi
  421.     EXTRA_INSTALL_BINARIES="$EXTRA_INSTALL_BINARIES"' && echo "Finalizing Tk.framework" && rm -f "$(LIB_INSTALL_DIR)/../Current" && ln -s "$(VERSION)" "$(LIB_INSTALL_DIR)/../Current" && for f in "$(LIB_FILE)" tkConfig.sh Resources Headers PrivateHeaders; do rm -f "$(LIB_INSTALL_DIR)/../../$$f" && ln -s "Versions/Current/$$f" "$(LIB_INSTALL_DIR)/../.."; done && f="$(STUB_LIB_FILE)" && rm -f "$(LIB_INSTALL_DIR)/../../$$f" && ln -s "Versions/$(VERSION)/$$f" "$(LIB_INSTALL_DIR)/../.."'
  422.     # Don't use AC_DEFINE for the following as the framework version define 
  423.     # needs to go into the Makefile even when using autoheader, so that we  
  424.     # can pick up a potential make override of VERSION. Also, don't put this
  425.     # into CFLAGS as it should not go into tkConfig.sh
  426.     EXTRA_CC_SWITCHES='-DTK_FRAMEWORK_VERSION="$(VERSION)"'
  427. else
  428.     # libdir must be a fully qualified path and not ${exec_prefix}/lib
  429.     eval libdir="$libdir"
  430.     if test "$SHARED_BUILD" = "0" || test "$TCL_NEEDS_EXP_FILE" = "0"; then
  431.         if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
  432.             eval TK_LIB_FLAG="-ltk${VERSION}${TK_DBGX}"
  433.         else
  434.             eval TK_LIB_FLAG="-ltk`echo ${VERSION} | tr -d .`${TK_DBGX}"
  435.         fi
  436.         TK_BUILD_LIB_SPEC="-L`pwd` ${TK_LIB_FLAG}"
  437.         TK_LIB_SPEC="-L${libdir} ${TK_LIB_FLAG}"
  438.     else
  439.         TK_BUILD_EXP_FILE="lib.exp"
  440.         eval "TK_EXP_FILE=libtk${TCL_EXPORT_FILE_SUFFIX}"
  441.     
  442.         if test "$GCC" = "yes" ; then
  443.             TK_BUILD_LIB_SPEC="-Wl,-bI:`pwd`/${TK_BUILD_EXP_FILE} -L`pwd`"
  444.             TK_LIB_SPEC="-Wl,-bI:${libdir}/${TK_EXP_FILE} -L`pwd`"
  445.         else
  446.             TK_BUILD_LIB_SPEC="-bI:`pwd`/${TK_BUILD_EXP_FILE}"
  447.             TK_LIB_SPEC="-bI:${libdir}/${TK_EXP_FILE}"
  448.         fi
  449.     fi
  450. fi
  451. # Support for building the Aqua resource files
  452. if test $tk_aqua = yes; then
  453.     LIB_RSRC_FILE='${TK_RSRC_FILE}'
  454.     APP_RSRC_FILE='${WISH_RSRC_FILE}'
  455.     REZ=/Developer/Tools/Rez
  456.     REZ_FLAGS='-d "SystemSevenOrLater=1" -useDF -ro'
  457.     if test "$SHARED_BUILD" = 0; then
  458.         EXTRA_INSTALL_BINARIES='@echo "Installing $(TK_RSRC_FILE) to $(LIB_INSTALL_DIR)" && $(INSTALL_DATA) $(TK_RSRC_FILE) $(LIB_INSTALL_DIR)'
  459. TK_BUILD_LIB_SPEC="$TK_BUILD_LIB_SPEC -sectcreate __TEXT __tk_rsrc `pwd`/${TK_RSRC_FILE}"
  460. TK_LIB_SPEC="$TK_LIB_SPEC -sectcreate __TEXT __tk_rsrc ${libdir}/${TK_RSRC_FILE}"        
  461.     else
  462.         TK_SHLIB_LD_EXTRAS="$TK_SHLIB_LD_EXTRAS -sectcreate __TEXT __tk_rsrc ${TK_RSRC_FILE}"
  463.     fi
  464. fi
  465. #--------------------------------------------------------------------
  466. #       The statements below define various symbols relating to Tk
  467. #       stub support.
  468. #--------------------------------------------------------------------
  469. # Replace ${VERSION} with contents of ${TK_VERSION}
  470. eval "TK_STUB_LIB_FILE=libtkstub${TK_UNSHARED_LIB_SUFFIX}"
  471. eval "TK_STUB_LIB_DIR=${libdir}"
  472. if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
  473.     eval TK_STUB_LIB_FLAG="-ltkstub${TK_VERSION}${TK_DBGX}"
  474. else
  475.     eval TK_STUB_LIB_FLAG="-ltkstub`echo ${TK_VERSION} | tr -d .`${TK_DBGX}"
  476. fi
  477. TK_BUILD_STUB_LIB_SPEC="-L`pwd` ${TK_STUB_LIB_FLAG}"
  478. TK_STUB_LIB_SPEC="-L${TK_STUB_LIB_DIR} ${TK_STUB_LIB_FLAG}"
  479. TK_BUILD_STUB_LIB_PATH="`pwd`/${TK_STUB_LIB_FILE}"
  480. TK_STUB_LIB_PATH="${TK_STUB_LIB_DIR}/${TK_STUB_LIB_FILE}"
  481. # Install time header dir can be set via --includedir
  482. eval "TK_INCLUDE_SPEC="-I${includedir}""
  483. #------------------------------------------------------------------------
  484. # tkConfig.sh refers to this by a different name
  485. #------------------------------------------------------------------------
  486. TK_SHARED_BUILD=${SHARED_BUILD}
  487. AC_SUBST(TK_VERSION)
  488. AC_SUBST(TK_MAJOR_VERSION)
  489. AC_SUBST(TK_MINOR_VERSION)
  490. AC_SUBST(TK_PATCH_LEVEL)
  491. AC_SUBST(TK_YEAR)
  492. AC_SUBST(TK_LIB_FILE)
  493. AC_SUBST(TK_LIB_FLAG)
  494. AC_SUBST(TK_LIB_SPEC)
  495. AC_SUBST(TK_STUB_LIB_FILE)
  496. AC_SUBST(TK_STUB_LIB_FLAG)
  497. AC_SUBST(TK_STUB_LIB_SPEC)
  498. AC_SUBST(TK_STUB_LIB_PATH)
  499. AC_SUBST(TK_INCLUDE_SPEC)
  500. AC_SUBST(TK_BUILD_STUB_LIB_SPEC)
  501. AC_SUBST(TK_BUILD_STUB_LIB_PATH)
  502. AC_SUBST(TK_SRC_DIR)
  503. AC_SUBST(TK_DBGX)
  504. AC_SUBST(TK_SHARED_BUILD)
  505. AC_SUBST(LD_LIBRARY_PATH_VAR)
  506. AC_SUBST(TK_BUILD_LIB_SPEC)
  507. AC_SUBST(TK_BUILD_EXP_FILE)
  508. AC_SUBST(TK_EXP_FILE)
  509. AC_SUBST(TCL_STUB_FLAGS)
  510. AC_SUBST(MATH_LIBS)
  511. AC_SUBST(XINCLUDES)
  512. AC_SUBST(XLIBSW)
  513. AC_SUBST(LOCALES)
  514. AC_SUBST(TK_WINDOWINGSYSTEM)
  515. AC_SUBST(TK_PKG_DIR)
  516. AC_SUBST(TK_LIBRARY)
  517. AC_SUBST(PRIVATE_INCLUDE_DIR)
  518. AC_SUBST(HTML_DIR)
  519. AC_SUBST(EXTRA_CC_SWITCHES)
  520. AC_SUBST(EXTRA_APP_CC_SWITCHES)
  521. AC_SUBST(EXTRA_INSTALL)
  522. AC_SUBST(EXTRA_INSTALL_BINARIES)
  523. AC_SUBST(EXTRA_BUILD_HTML)
  524. AC_SUBST(EXTRA_WISH_LIBS)
  525. AC_SUBST(CFBUNDLELOCALIZATIONS)
  526. AC_SUBST(TK_RSRC_FILE)
  527. AC_SUBST(WISH_RSRC_FILE)
  528. AC_SUBST(LIB_RSRC_FILE)
  529. AC_SUBST(APP_RSRC_FILE)
  530. AC_SUBST(REZ)
  531. AC_SUBST(REZ_FLAGS)
  532. SC_OUTPUT_COMMANDS_PRE
  533. tk_config_files="${tk_config_files} [Makefile tkConfig.sh]"
  534. AC_OUTPUT([${tk_config_files}])