1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
+
+
+
+
+
-
+
+
-
+
+
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
AC_DEFUN(DC_DO_TCL, [
AC_MSG_CHECKING([path to tcl])
AC_ARG_WITH(tcl, AC_HELP_STRING([--with-tcl], [directory containing tcl configuration (tclConfig.sh)]), [], [
with_tcl="auto"
])
if test "${with_tcl}" = "auto"; then
for dir in `echo "${PATH}" | sed 's@:@ @g'`; do
if test -f "${dir}/tclConfig.sh"; then
tclconfigshdir="${dir}"
tclconfigsh="${tclconfigshdir}/tclConfig.sh"
break
fi
if test -f "${dir}/../lib/tclConfig.sh"; then
tclconfigsh="${dir}/../lib/tclConfig.sh"
tclconfigshdir="${dir}/../lib"
tclconfigsh="${tclconfigshdir}/tclConfig.sh"
break
fi
if test -f "${dir}/../lib64/tclConfig.sh"; then
tclconfigsh="${dir}/../lib64/tclConfig.sh"
tclconfigshdir="${dir}/../lib64"
tclconfigsh="${tclconfigshdir}/tclConfig.sh"
break
fi
done
if test -z "${tclconfigsh}"; then
AC_MSG_ERROR([Unable to find tclConfig.sh])
fi
else
tclconfigsh="${with_tcl}/tclConfig.sh"
tclconfigshdir="${with_tcl}"
tclconfigsh="${tclconfigshdir}/tclConfig.sh"
fi
if test -f "${tclconfigsh}"; then
source "${tclconfigsh}"
CFLAGS="${CFLAGS} ${TCL_INCLUDE_SPEC} -I${TCL_SRC_DIR}/generic -I${TCL_SRC_DIR}/unix"
CPPFLAGS="${CPPFLAGS} ${TCL_INCLUDE_SPEC} -I${TCL_SRC_DIR}/generic -I${TCL_SRC_DIR}/unix"
CFLAGS="${CFLAGS} ${TCL_INCLUDE_SPEC} -I${TCL_SRC_DIR}/generic -I${tclconfigshdir}"
CPPFLAGS="${CPPFLAGS} ${TCL_INCLUDE_SPEC} -I${TCL_SRC_DIR}/generic -I${tclconfigshdir}"
LDFLAGS="${LDFLAGS}"
LIBS="${LIBS} ${TCL_LIBS}"
fi
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(LIBS)
AC_MSG_RESULT([$tclconfigsh])
])
AC_DEFUN(DC_DO_TK, [
AC_MSG_CHECKING([path to tk])
AC_ARG_WITH(tk, AC_HELP_STRING([--with-tk], [directory containing tk configuration (tkConfig.sh)]), [], [
with_tk="auto"
])
if test "${with_tk}" = "auto"; then
for dir in ../../../tk/build/tk*/*/ `echo "${PATH}" | sed 's@:@ @g'`; do
if test -f "${dir}/tkConfig.sh"; then
tkconfigshdir="${dir}"
tkconfigsh="${tkconfigshdir}/tkConfig.sh"
break
fi
if test -f "${dir}/../lib/tkConfig.sh"; then
tkconfigshdir="${dir}/../lib"
tkconfigsh="${tkconfigshdir}/tkConfig.sh"
break
fi
if test -f "${dir}/../lib64/tkConfig.sh"; then
tkconfigshdir="${dir}/../lib64"
tkconfigsh="${tkconfigshdir}/tkConfig.sh"
break
fi
done
if test -z "${tkconfigsh}"; then
AC_MSG_ERROR([Unable to find tkConfig.sh])
fi
else
tkconfigshdir="${with_tk}"
tkconfigsh="${tkconfigshdir}/tkConfig.sh"
fi
if test -f "${tkconfigsh}"; then
source "${tkconfigsh}"
CFLAGS="${CFLAGS} ${TK_INCLUDE_SPEC} -I${TK_SRC_DIR}/generic -I${tkconfigshdir}"
CPPFLAGS="${CPPFLAGS} ${TK_INCLUDE_SPEC} -I${TK_SRC_DIR}/generic -I${tkconfigshdir}"
LDFLAGS="${LDFLAGS}"
LIBS="${LIBS} ${TK_LIBS}"
fi
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
AC_SUBST(LIBS)
AC_MSG_RESULT([$tkconfigsh])
])
AC_DEFUN(DC_DO_STATIC_LINK_LIBCXX, [
AC_MSG_CHECKING([for how to statically link to libstdc++])
SAVELIBS="${LIBS}"
staticlibcxx=""
for trylink in "-Wl,-Bstatic -lCstd -lCrun -Wl,-Bdynamic" "-Wl,-Bstatic -lstdc++ -Wl,-Bdynamic" "-lCstd -lCrun" "-lstdc++"; do
|
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
+
-
+
-
+
+
+
+
+
+
+
+
+
+
|
AC_MSG_RESULT([${staticlibcxx}])
AC_SUBST(LIBS)
])
AC_DEFUN(DC_FIND_TCLKIT_LIBS, [
DC_SETUP_TCL_PLAT_DEFS
for proj in mk4tcl tcl tclvfs; do
for proj in mk4tcl tcl tclvfs tk; do
AC_MSG_CHECKING([for libraries required for ${proj}])
libdir="../../../${proj}/inst"
libfiles="`find "${libdir}" -name '*.a' | tr "\n" ' '`"
libfiles="`find "${libdir}" -name '*.a' | grep -v 'stub' | tr "\n" ' '`"
ARCHS="${ARCHS} ${libfiles}"
AC_MSG_RESULT([${libfiles}])
if test "${libfiles}" != ""; then
if test "${proj}" = "mk4tcl"; then
AC_DEFINE(KIT_INCLUDES_MK4TCL, [1], [Specify this if you link against mkt4tcl])
DC_DO_STATIC_LINK_LIBCXX
fi
if test "${proj}" = "tk"; then
DC_DO_TK
AC_DEFINE(KIT_INCLUDES_TK, [1], [Specify this if we link statically to Tk])
if test "$host_os" = "mingw32msvc"; then
AC_DEFINE(KITSH_NEED_WINMAIN, [1], [Define if you need WinMain (Windows)])
CFLAGS="${CFLAGS} -mwindows"
fi
fi
fi
done
AC_SUBST(ARCHS)
])
|
94
95
96
97
98
99
100
101
102
103
104
105
106
|
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
+
-
+
|
mingw32msvc*)
CFLAGS="${CFLAGS} -mno-cygwin -mms-bitfields"
dnl If we are building for Win32, we need to define "BUILD_tcl" so that
dnl TCL_STORAGE_CLASS gets defined as DLLEXPORT, to make static linking
dnl work
AC_DEFINE(BUILD_tcl, [1], [Define if you need to pretend to be building Tcl (Windows)])
AC_DEFINE(BUILD_tk, [1], [Define if you need to pretend to be building Tk (Windows)])
;;
cygwin*)
CFLAGS="${CFLAGS} -mms-bitfields"
;;
esac
])
])
|