/[MITgcm]/MITgcm_contrib/mpack_src/mpack-1.6-4/cmulocal/tcl.m4
ViewVC logotype

Annotation of /MITgcm_contrib/mpack_src/mpack-1.6-4/cmulocal/tcl.m4

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Sat Feb 23 20:13:31 2008 UTC (17 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: HEAD
- get new version from: http://packages.qa.debian.org/m/mpack.html
  (files: mpack_1.6.orig.tar.gz, mpack_1.6-4.diff.gz, mpack_1.6-4.dsc)
  and apply patch 'mpack_1.6-4.diff' to original dir: mpack_1.6/
- this fix the MD5 coding on 64.bit platforms (well, seems to).
- added in Contrib to allow separate test (since building mpack seems fishy)

1 jmc 1.1 dnl FIRST PASS AFTER STEALING THIS FROM CYRUS!
2     dnl USE AT YOUR OWN PERIL!
3     dnl I MEAN IT!
4     dnl
5     dnl tcl.m4: an autoconf Tcl locator
6     dnl $Id: tcl.m4,v 1.3 2002/05/25 19:57:42 leg Exp $
7     dnl
8     dnl This is rob's Tcl macro, fixed by tjs. It may need occasional tweaking,
9     dnl but until the next impediment to compilation, it's fill-in-the-blank,
10     dnl and it should be able to do reasonable things with user input.
11     dnl
12     dnl This will probably just work on Andrew systems, but given the variety
13     dnl and apparent creativity of people who compile Tcl elsewhere, I don't know
14     dnl what it will do. I have yet to see an autoconf Tcl test that users were
15     dnl happy with.
16     dnl
17     dnl BUGS
18     dnl The command-line arguments are overcomplicated.
19     dnl There are doubtlessly others...
20    
21     dnl To use this macro, just do CMU_TCL. It outputs
22     dnl TCL_LIBS, TCL_CPPFLAGS, and TCL_DEFS and SUBSTs them.
23     dnl If successful, these have stuff in them. If not, they're empty.
24     dnl If not successful, with_tcl has the value "no".
25    
26     AC_DEFUN(CMU_TCL, [
27     # --- BEGIN CMU_TCL ---
28     dnl To link against Tcl, configure does several things to make my life
29     dnl "easier".
30     dnl
31     dnl * maybe ask the user where they think Tcl lives, and try to find it
32     dnl * maybe ask the user what "tclsh" is called this week (i.e., "tclsh8.0")
33     dnl * run tclsh, ask it for a path, then run that path through sed
34     dnl * sanity check its result (many installs are a little broken)
35     dnl * try to figure out where Tcl is based on this result
36     dnl * try to guess where the Tcl include files are
37     dnl
38     dnl Notes from previous incarnations:
39     dnl > XXX MUST CHECK FOR TCL BEFORE KERBEROS V4 XXX
40     dnl > This is because some genius at MIT named one of the Kerberos v4
41     dnl > library functions log(). This of course conflicts with the
42     dnl > logarithm function in the standard math library, used by Tcl.
43     dnl
44     dnl > Checking for Tcl first puts -lm before -lkrb on the library list.
45     dnl
46    
47     dnl Check for some information from the user on what the world looks like
48     AC_ARG_WITH(tclconfig,[ --with-tclconfig=PATH use tclConfig.sh from PATH
49     (configure gets Tcl configuration from here)],
50     dnl trim tclConfig.sh off the end so we can add it back on later.
51     TclLibBase=`echo ${withval} | sed s/tclConfig.sh\$//`)
52     AC_ARG_WITH(tcl, [ --with-tcl=PATH use Tcl from PATH],
53     TclLibBase="${withval}/lib")
54     AC_ARG_WITH(tclsh, [ --with-tclsh=TCLSH use TCLSH as the tclsh program
55     (let configure find Tcl using this program)],
56     TCLSH="${withval}")
57    
58     if test "$TCLSH" = "no" -o "$with_tclconfig" = "no" ; then
59     AC_MSG_WARN([Tcl disabled because tclsh or tclconfig specified as "no"])
60     with_tcl=no
61     fi
62    
63     if test "$with_tcl" != "no"; then
64     if test \! -z "$with_tclconfig" -a \! -d "$with_tclconfig" ; then
65     AC_MSG_ERROR([--with-tclconfig requires a directory argument.])
66     fi
67    
68     if test \! -z "$TCLSH" -a \! -x "$TCLSH" ; then
69     AC_MSG_ERROR([--with-tclsh must specify an executable file.])
70     fi
71    
72     if test -z "$TclLibBase"; then # do we already know?
73     # No? Run tclsh and ask it where it lives.
74    
75     # Do we know where a tclsh lives?
76     if test -z "$TCLSH"; then
77     # Try and find tclsh. Any tclsh.
78     # If a new version of tcl comes out and unfortunately adds another
79     # filename, it should be safe to add it (to the front of the line --
80     # somef vendors have older, badly installed tclshs that we want to avoid
81     # if we can)
82     AC_PATH_PROGS(TCLSH, [tclsh8.1 tclsh8.0 tclsh], "unknown")
83     fi
84    
85     # Do we know where to get a tclsh?
86     if test "${TCLSH}" != "unknown"; then
87     AC_MSG_CHECKING([where Tcl says it lives])
88     TclLibBase=`echo puts \\\$tcl_library | ${TCLSH} | sed -e 's,[^/]*$,,'`
89     AC_MSG_RESULT($TclLibBase)
90     fi
91     fi
92    
93     if test -z "$TclLibBase" ; then
94     AC_MSG_RESULT([can't find tclsh])
95     AC_MSG_WARN([can't find Tcl installtion; use of Tcl disabled.])
96     with_tcl=no
97     else
98     AC_MSG_CHECKING([for tclConfig.sh])
99     # Check a list of places where the tclConfig.sh file might be.
100     for tcldir in "${TclLibBase}" \
101     "${TclLibBase}/.." \
102     "${TclLibBase}"`echo ${TCLSH} | sed s/sh//` ; do
103     if test -f "${tcldir}/tclConfig.sh"; then
104     TclLibBase="${tcldir}"
105     break
106     fi
107     done
108    
109     if test -z "${TclLibBase}" ; then
110     AC_MSG_RESULT("unknown")
111     AC_MSG_WARN([can't find Tcl configuration; use of Tcl disabled.])
112     with_tcl=no
113     else
114     AC_MSG_RESULT(${TclLibBase}/)
115     fi
116    
117     if test "${with_tcl}" != no ; then
118     AC_MSG_CHECKING([Tcl configuration on what Tcl needs to compile])
119     . ${TclLibBase}/tclConfig.sh
120     AC_MSG_RESULT(ok)
121     dnl no TK stuff for us.
122     dnl . ${TclLibBase}/tkConfig.sh
123     fi
124    
125     if test "${with_tcl}" != no ; then
126     dnl Now, hunt for the Tcl include files, since we don't strictly
127     dnl know where they are; some folks put them (properly) in the
128     dnl default include path, or maybe in /usr/local; the *BSD folks
129     dnl put them in other places.
130     AC_MSG_CHECKING([where Tcl includes are])
131     for tclinclude in "${TCL_PREFIX}/include/tcl${TCL_VERSION}" \
132     "${TCL_PREFIX}/include/tcl" \
133     "${TCL_PREFIX}/include" ; do
134     if test -r "${tclinclude}/tcl.h" ; then
135     TCL_CPPFLAGS="-I${tclinclude}"
136     break
137     fi
138     done
139     if test -z "${TCL_CPPFLAGS}" ; then
140     AC_MSG_WARN(can't find Tcl includes; use of Tcl disabled.)
141     with_tcl=no
142     fi
143     AC_MSG_RESULT(${TCL_CPPFLAGS})
144     fi
145    
146     # Finally, pick up the Tcl configuration if we haven't found an
147     # excuse not to.
148     if test "${with_tcl}" != no; then
149     dnl TCL_LIBS="${TK_LIB_SPEC} ${TK_XLIBSW} ${TCL_LD_SEARCH_FLAGS} ${TCL_LIB_SPEC}"
150     TCL_LIBS="${TCL_LD_SEARCH_FLAGS} ${TCL_LIB_SPEC} ${TCL_LIBS}"
151     fi
152     fi
153     fi
154    
155     AC_SUBST(TCL_DEFS)
156     AC_SUBST(TCL_LIBS)
157     AC_SUBST(TCL_CPPFLAGS)
158    
159     # --- END CMU_TCL ---
160     ]) dnl CMU_TCL

  ViewVC Help
Powered by ViewVC 1.1.22