From 2476848aafa495e6b9fee09cf15f451a3b5afb41 Mon Sep 17 00:00:00 2001 From: Martin Hunt Date: Thu, 10 Jul 1997 07:15:26 +0000 Subject: [PATCH] Thu Jul 10 00:02:41 1997 Martin M. Hunt * Makefile.in, configure.in, aclocal.m4: Add Itcl, Tix, and IDE configuration information. * gdbtk.c (breakpoint_notify): Send address, linenumber and filename when a breakpoint is set. Avoids call to bp_info. (gdbtk_init): Call Tcl_FindExecutable(). Add code to handle Itcl, Tix and IDE initialization. * defs.h (init_ui_hook): Change prototype to accept one arg. * main.c (gdb_init): Change prototype to accept one arg. * top.c (gdb_init): Accepts one argument which it uses to call (*init_ui_hook), which will be gdbtk_init(). This is used for calling Tcl_FindExecutable(). * gdbtcl/breakpoint.tcl (gdbtk_tcl_breakpoint): Change to accept variable number of args for compatibility with cchanges in gdbtk.c. * configure: Regenerated. * gdbtcl/tclIndex: Regenerated. --- gdb/ChangeLog | 29 +++++ gdb/Makefile.in | 25 +++- gdb/aclocal.m4 | 56 +++++++++ gdb/configure | 289 ++++++++++++++++++++++++++++++----------------- gdb/configure.in | 18 ++- gdb/gdbtk.c | 84 +++++++++++--- gdb/top.c | 7 +- 7 files changed, 383 insertions(+), 125 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0b39b61463a..b4344ab02c9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,32 @@ +start-sanitize-gdbtk +Thu Jul 10 00:02:41 1997 Martin M. Hunt + + * Makefile.in, configure.in, aclocal.m4: Add Itcl, Tix, and + IDE configuration information. + + * gdbtk.c (breakpoint_notify): Send address, linenumber and + filename when a breakpoint is set. Avoids call to bp_info. + (gdbtk_init): Call Tcl_FindExecutable(). Add code to handle + Itcl, Tix and IDE initialization. + + * defs.h (init_ui_hook): Change prototype to accept one arg. + + * main.c (gdb_init): Change prototype to accept one arg. + + * top.c (gdb_init): Accepts one argument which it uses to + call (*init_ui_hook), which will be gdbtk_init(). This is + used for calling Tcl_FindExecutable(). + + * gdbtcl/breakpoint.tcl (gdbtk_tcl_breakpoint): Change to + accept variable number of args for compatibility with + cchanges in gdbtk.c. + + * configure: Regenerated. + + * gdbtcl/tclIndex: Regenerated. + +end-sanitize-gdbtk + Fri Jul 4 14:49:33 1997 Ian Lance Taylor * source.c (OPEN_MODE, FDOPEN_MODE): Define; value depends upon diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 9c38e44c1ac..bec9aa8276d 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -139,11 +139,33 @@ TCL_CFLAGS = @TCLHDIR@ TK = @TK_BUILD_LIB_SPEC@ TK_CFLAGS = @TKHDIR@ +# Where is Itcl? Typically in ../itcl. +ITCL_CFLAGS = @ITCLHDIR@ +ITCL = @ITCLLIB@ + +# Where is Tix? Typically in ../tix. +TIX_CFLAGS = @TIXHDIR@ +TIX = @TIXLIB@ + X11_CFLAGS = @TK_XINCLUDES@ X11_LDFLAGS = X11_LIBS = ENABLE_GDBTK= @ENABLE_GDBTK@ +ENABLE_IDE= @ENABLE_IDE@ + +IDE_CFLAGS_X = ` \ + if [ x"$(ENABLE_IDE)" != x ] ; then \ + echo -DIDE -I$(srcdir)/../libide/src -I$(srcdir)/../ilu/runtime/mainloop;\ + fi` + +IDE_X = ` \ + if [ x"$(ENABLE_IDE)" != x ] ; then \ + echo -L../libide/src -lide -L../ilu/runtime/mainloop -lilu-Tk -L../ilu/runtime/c -lilu-c -L../ilu/runtime/kernel -lilu;\ + fi` + +IDE=$(IDE_X) +IDE_CFLAGS=$(IDE_CFLAGS_X) #end-sanitize-gdbtk ENABLE_CFLAGS= @ENABLE_CFLAGS@ @@ -1162,7 +1184,8 @@ fork-child.o: fork-child.c $(wait_h) $(defs_h) $(gdbcore_h) \ # start-sanitize-gdbtk gdbtk.o: gdbtk.c $(defs_h) $(symtab_h) $(inferior_h) $(command_h) \ $(bfd_h) symfile.h objfiles.h target.h gdb_string.h - $(CC) -c $(INTERNAL_CFLAGS) $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ + $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) $(TIX_CFLAGS) \ + $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) \ $(srcdir)/gdbtk.c -DGDBTK_LIBRARY=\"$(datadir)/gdbtcl\" # end-sanitize-gdbtk diff --git a/gdb/aclocal.m4 b/gdb/aclocal.m4 index 2c134ccdf69..50fb1f02616 100644 --- a/gdb/aclocal.m4 +++ b/gdb/aclocal.m4 @@ -479,3 +479,59 @@ dnl AC_SUBST(TK_EXEC_PREFIX) AC_SUBST(TK_LIB_SPEC) ]) + +# check for Itcl headers. + +AC_DEFUN(CY_AC_PATH_ITCLH, [ +AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir}) +if test x"${ac_cv_c_itclh}" = x ; then + for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ; do + if test -f $i/src/itcl.h ; then + ac_cv_c_itclh=`(cd $i/src; pwd)` + break + fi + done +fi +if test x"${ac_cv_c_itclh}" = x ; then + ITCLHDIR="# no Itcl private headers found" + AC_MSG_ERROR([Can't find Itcl private headers]) +fi +if test x"${ac_cv_c_itclh}" != x ; then + ITCLHDIR="-I${ac_cv_c_itclh}" +fi +# should always be here + ITCLLIB="../itcl/src/libitcl.a" +AC_SUBST(ITCLHDIR) +AC_SUBST(ITCLLIB) +]) + +# check for Tix headers. + +AC_DEFUN(CY_AC_PATH_TIX, [ +AC_MSG_CHECKING(for Tix private headers. srcdir=${srcdir}) +if test x"${ac_cv_c_tixh}" = x ; then + for i in ${srcdir}/../tix ${srcdir}/../../tix ${srcdir}/../../../tix ; do + if test -f $i/generic/tix.h ; then + ac_cv_c_tixh=`(cd $i/generic; pwd)` + break + fi + done +fi +if test x"${ac_cv_c_tixh}" = x ; then + TIXHDIR="# no Tix private headers found" + AC_MSG_ERROR([Can't find Tix private headers]) +fi +if test x"${ac_cv_c_tixh}" != x ; then + TIXHDIR="-I${ac_cv_c_tixh}" +fi +# need to do better than this... +case "${host}" in +*-*-cygwin32*) + TIXLIB="../tix/win/tk4.2/libtix4.1.7.6.a" ;; +*) + TIXLIB="../tix/unix/tk4.2/libtix4.1.7.6.a" ;; +esac +AC_SUBST(TIXHDIR) +AC_SUBST(TIXLIB) +]) + diff --git a/gdb/configure b/gdb/configure index 1fbcd482ac3..90643642101 100755 --- a/gdb/configure +++ b/gdb/configure @@ -15,6 +15,8 @@ ac_help="$ac_help --enable-netrom " ac_help="$ac_help --enable-gm " +ac_help="$ac_help + --enable-ide Enable IDE support" ac_help="$ac_help --enable-gdbtk " ac_help="$ac_help @@ -539,7 +541,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:543: checking for $ac_word" >&5 +echo "configure:545: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -568,7 +570,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:572: checking for $ac_word" >&5 +echo "configure:574: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -616,7 +618,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:620: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:622: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -626,11 +628,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -650,12 +652,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:654: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:656: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:659: checking whether we are using GNU C" >&5 +echo "configure:661: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -664,7 +666,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:668: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:670: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -679,7 +681,7 @@ if test $ac_cv_prog_gcc = yes; then ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:683: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:685: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -707,7 +709,7 @@ else fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:711: checking how to run the C preprocessor" >&5 +echo "configure:713: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -722,13 +724,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:732: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:734: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -739,13 +741,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:751: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -768,9 +770,9 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for AIX""... $ac_c" 1>&6 -echo "configure:772: checking for AIX" >&5 +echo "configure:774: checking for AIX" >&5 cat > conftest.$ac_ext <&6 -echo "configure:797: checking for minix/config.h" >&5 +echo "configure:799: checking for minix/config.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:807: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:809: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -841,7 +843,7 @@ EOF fi echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:845: checking for POSIXized ISC" >&5 +echo "configure:847: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then @@ -909,7 +911,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:913: checking host system type" >&5 +echo "configure:915: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -930,7 +932,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$ac_t""$host" 1>&6 echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:934: checking target system type" >&5 +echo "configure:936: checking target system type" >&5 target_alias=$target case "$target_alias" in @@ -948,7 +950,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$ac_t""$target" 1>&6 echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:952: checking build system type" >&5 +echo "configure:954: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -993,7 +995,7 @@ configdirs="doc testsuite" # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:997: checking for a BSD compatible install" >&5 +echo "configure:999: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1051,7 +1053,7 @@ fi # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1055: checking for $ac_word" >&5 +echo "configure:1057: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1082,7 +1084,7 @@ fi # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1086: checking for $ac_word" >&5 +echo "configure:1088: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1113,7 +1115,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1117: checking for $ac_word" >&5 +echo "configure:1119: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1149,7 +1151,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1153: checking for $ac_word" >&5 +echo "configure:1155: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1183,7 +1185,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1187: checking for $ac_word" >&5 +echo "configure:1189: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1233,12 +1235,12 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:1237: checking return type of signal handlers" >&5 +echo "configure:1239: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1255,7 +1257,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:1259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1261: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -1275,12 +1277,12 @@ EOF echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1279: checking for ANSI C header files" >&5 +echo "configure:1281: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1288,7 +1290,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1292: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1305,7 +1307,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1323,7 +1325,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1344,7 +1346,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1355,7 +1357,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then : else @@ -1382,17 +1384,17 @@ for ac_hdr in limits.h memory.h string.h strings.h unistd.h termios.h termio.h s do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1386: checking for $ac_hdr" >&5 +echo "configure:1388: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1398: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1419,12 +1421,12 @@ fi done echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6 -echo "configure:1423: checking whether stat file-mode macros are broken" >&5 +echo "configure:1425: checking whether stat file-mode macros are broken" >&5 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1476,12 +1478,12 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1480: checking for working const" >&5 +echo "configure:1482: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1536: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -1554,12 +1556,12 @@ fi for ac_func in setpgid sbrk select poll do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1558: checking for $ac_func" >&5 +echo "configure:1560: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1624,19 +1626,19 @@ EOF fi echo $ac_n "checking for gregset_t type""... $ac_c" 1>&6 -echo "configure:1628: checking for gregset_t type" >&5 +echo "configure:1630: checking for gregset_t type" >&5 if eval "test \"`echo '$''{'gdb_cv_have_gregset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { gregset_t *gregsetp = 0 ; return 0; } EOF -if { (eval echo configure:1640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gdb_cv_have_gregset_t=yes else @@ -1657,19 +1659,19 @@ EOF fi echo $ac_n "checking for fpregset_t type""... $ac_c" 1>&6 -echo "configure:1661: checking for fpregset_t type" >&5 +echo "configure:1663: checking for fpregset_t type" >&5 if eval "test \"`echo '$''{'gdb_cv_have_fpregset_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { fpregset_t *fpregsetp = 0 ; return 0; } EOF -if { (eval echo configure:1673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* gdb_cv_have_fpregset_t=yes else @@ -1690,7 +1692,7 @@ EOF fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:1694: checking for main in -lm" >&5 +echo "configure:1696: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1698,14 +1700,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1735,12 +1737,12 @@ fi echo $ac_n "checking for long long support in compiler""... $ac_c" 1>&6 -echo "configure:1739: checking for long long support in compiler" >&5 +echo "configure:1741: checking for long long support in compiler" >&5 if eval "test \"`echo '$''{'gdb_cv_c_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gdb_cv_c_long_long=yes else @@ -1772,7 +1774,7 @@ fi echo $ac_n "checking for long long support in printf""... $ac_c" 1>&6 -echo "configure:1776: checking for long long support in printf" >&5 +echo "configure:1778: checking for long long support in printf" >&5 if eval "test \"`echo '$''{'gdb_cv_printf_has_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1780,7 +1782,7 @@ else gdb_cv_printf_has_long_long=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then gdb_cv_printf_has_long_long=yes else @@ -1814,19 +1816,19 @@ echo "$ac_t""$gdb_cv_printf_has_long_long" 1>&6 echo $ac_n "checking for long double support in compiler""... $ac_c" 1>&6 -echo "configure:1818: checking for long double support in compiler" >&5 +echo "configure:1820: checking for long double support in compiler" >&5 if eval "test \"`echo '$''{'ac_cv_c_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1832: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_long_double=yes else @@ -1848,7 +1850,7 @@ fi echo $ac_n "checking for long double support in printf""... $ac_c" 1>&6 -echo "configure:1852: checking for long double support in printf" >&5 +echo "configure:1854: checking for long double support in printf" >&5 if eval "test \"`echo '$''{'gdb_cv_printf_has_long_double'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1856,7 +1858,7 @@ else gdb_cv_printf_has_long_double=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then gdb_cv_printf_has_long_double=yes else @@ -1892,17 +1894,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1896: checking for $ac_hdr" >&5 +echo "configure:1898: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1906: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -1931,12 +1933,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1935: checking for $ac_func" >&5 +echo "configure:1937: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1965: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -1984,7 +1986,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:1988: checking for working mmap" >&5 +echo "configure:1990: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1992,7 +1994,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -2156,12 +2158,12 @@ fi echo $ac_n "checking whether malloc must be declared""... $ac_c" 1>&6 -echo "configure:2160: checking whether malloc must be declared" >&5 +echo "configure:2162: checking whether malloc must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -2182,7 +2184,7 @@ int main() { char *(*pfn) = (char *(*)) malloc ; return 0; } EOF -if { (eval echo configure:2186: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2188: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_malloc=no else @@ -2204,12 +2206,12 @@ EOF fi echo $ac_n "checking whether realloc must be declared""... $ac_c" 1>&6 -echo "configure:2208: checking whether realloc must be declared" >&5 +echo "configure:2210: checking whether realloc must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_realloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -2230,7 +2232,7 @@ int main() { char *(*pfn) = (char *(*)) realloc ; return 0; } EOF -if { (eval echo configure:2234: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2236: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_realloc=no else @@ -2252,12 +2254,12 @@ EOF fi echo $ac_n "checking whether free must be declared""... $ac_c" 1>&6 -echo "configure:2256: checking whether free must be declared" >&5 +echo "configure:2258: checking whether free must be declared" >&5 if eval "test \"`echo '$''{'bfd_cv_decl_needed_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -2278,7 +2280,7 @@ int main() { char *(*pfn) = (char *(*)) free ; return 0; } EOF -if { (eval echo configure:2282: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2284: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* bfd_cv_decl_needed_free=no else @@ -2306,7 +2308,7 @@ if test ${build} = ${host} -a ${host} = ${target} ; then case ${host_os} in hpux*) echo $ac_n "checking for HPUX/OSF thread support""... $ac_c" 1>&6 -echo "configure:2310: checking for HPUX/OSF thread support" >&5 +echo "configure:2312: checking for HPUX/OSF thread support" >&5 if test -f /usr/include/dce/cma_config.h ; then if test "$GCC" = "yes" ; then echo "$ac_t""yes" 1>&6 @@ -2324,7 +2326,7 @@ EOF ;; solaris*) echo $ac_n "checking for Solaris thread debugging library""... $ac_c" 1>&6 -echo "configure:2328: checking for Solaris thread debugging library" >&5 +echo "configure:2330: checking for Solaris thread debugging library" >&5 if test -f /usr/lib/libthread_db.so.1 ; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -2333,7 +2335,7 @@ EOF CONFIG_OBS="${CONFIG_OBS} sol-thread.o" echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:2337: checking for dlopen in -ldl" >&5 +echo "configure:2339: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2341,7 +2343,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2426,6 +2428,21 @@ fi # end-sanitize-gm # start-sanitize-gdbtk +ENABLE_IDE= +# Check whether --enable-ide or --disable-ide was given. +if test "${enable_ide+set}" = set; then + enableval="$enable_ide" + : +fi + +if test "$enable_ide" = yes; then + enable_ide=yes + ENABLE_IDE=1 +else + enable_ide=no +fi + + ENABLE_GDBTK= # Check whether --enable-gdbtk or --disable-gdbtk was given. @@ -2489,7 +2506,7 @@ if test "${with_tclconfig+set}" = set; then fi echo $ac_n "checking for Tcl configuration""... $ac_c" 1>&6 -echo "configure:2493: checking for Tcl configuration" >&5 +echo "configure:2510: checking for Tcl configuration" >&5 if eval "test \"`echo '$''{'ac_cv_c_tclconfig'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2597,7 +2614,7 @@ if test "${with_tkconfig+set}" = set; then fi echo $ac_n "checking for Tk configuration""... $ac_c" 1>&6 -echo "configure:2601: checking for Tk configuration" >&5 +echo "configure:2618: checking for Tk configuration" >&5 if eval "test \"`echo '$''{'ac_cv_c_tkconfig'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2692,7 +2709,7 @@ fi no_tcl=true echo $ac_n "checking for Tcl private headers. dir=${configdir}""... $ac_c" 1>&6 -echo "configure:2696: checking for Tcl private headers. dir=${configdir}" >&5 +echo "configure:2713: checking for Tcl private headers. dir=${configdir}" >&5 # Check whether --with-tclinclude or --without-tclinclude was given. if test "${with_tclinclude+set}" = set; then withval="$with_tclinclude" @@ -2758,17 +2775,17 @@ fi if test x"${ac_cv_c_tclh}" = x ; then ac_safe=`echo "tclInt.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tclInt.h""... $ac_c" 1>&6 -echo "configure:2762: checking for tclInt.h" >&5 +echo "configure:2779: checking for tclInt.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2828,7 +2845,7 @@ fi # no_tk=true echo $ac_n "checking for Tk private headers""... $ac_c" 1>&6 -echo "configure:2832: checking for Tk private headers" >&5 +echo "configure:2849: checking for Tk private headers" >&5 # Check whether --with-tkinclude or --without-tkinclude was given. if test "${with_tkinclude+set}" = set; then withval="$with_tkinclude" @@ -2894,17 +2911,17 @@ fi if test x"${ac_cv_c_tkh}" = x ; then ac_safe=`echo "tk.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tk.h""... $ac_c" 1>&6 -echo "configure:2898: checking for tk.h" >&5 +echo "configure:2915: checking for tk.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2925: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -2948,11 +2965,66 @@ fi + +echo $ac_n "checking for Itcl private headers. srcdir=${srcdir}""... $ac_c" 1>&6 +echo "configure:2971: checking for Itcl private headers. srcdir=${srcdir}" >&5 +if test x"${ac_cv_c_itclh}" = x ; then + for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ; do + if test -f $i/src/itcl.h ; then + ac_cv_c_itclh=`(cd $i/src; pwd)` + break + fi + done +fi +if test x"${ac_cv_c_itclh}" = x ; then + ITCLHDIR="# no Itcl private headers found" + { echo "configure: error: Can't find Itcl private headers" 1>&2; exit 1; } +fi +if test x"${ac_cv_c_itclh}" != x ; then + ITCLHDIR="-I${ac_cv_c_itclh}" +fi +# should always be here + ITCLLIB="../itcl/src/libitcl.a" + + + + +echo $ac_n "checking for Tix private headers. srcdir=${srcdir}""... $ac_c" 1>&6 +echo "configure:2994: checking for Tix private headers. srcdir=${srcdir}" >&5 +if test x"${ac_cv_c_tixh}" = x ; then + for i in ${srcdir}/../tix ${srcdir}/../../tix ${srcdir}/../../../tix ; do + if test -f $i/generic/tix.h ; then + ac_cv_c_tixh=`(cd $i/generic; pwd)` + break + fi + done +fi +if test x"${ac_cv_c_tixh}" = x ; then + TIXHDIR="# no Tix private headers found" + { echo "configure: error: Can't find Tix private headers" 1>&2; exit 1; } +fi +if test x"${ac_cv_c_tixh}" != x ; then + TIXHDIR="-I${ac_cv_c_tixh}" +fi +# need to do better than this... +case "${host}" in +*-*-cygwin32*) + TIXLIB="../tix/win/tk4.2/libtix4.1.7.6.a" ;; +*) + TIXLIB="../tix/unix/tk4.2/libtix4.1.7.6.a" ;; +esac + + + ENABLE_GDBTK=1 # Include some libraries that Tcl and Tk want. - TCL_LIBS='$(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' + if test "${enable_ide}" = "yes"; then + TCL_LIBS='$(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' + else + TCL_LIBS='$(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' + fi # Yes, the ordering seems wrong here. But it isn't. # TK_LIBS is the list of libraries that need to be linked # after Tcl/Tk. @@ -3109,7 +3181,7 @@ links="${links} nm.h" fi # start-sanitize-gdbtk echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:3113: checking whether ln -s works" >&5 +echo "configure:3185: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3300,6 +3372,7 @@ s%@RANLIB@%$RANLIB%g s%@YACC@%$YACC%g s%@AWK@%$AWK%g s%@CONFIG_LDFLAGS@%$CONFIG_LDFLAGS%g +s%@ENABLE_IDE@%$ENABLE_IDE%g s%@TCL_VERSION@%$TCL_VERSION%g s%@TCL_MAJOR_VERSION@%$TCL_MAJOR_VERSION%g s%@TCL_MINOR_VERSION@%$TCL_MINOR_VERSION%g @@ -3325,6 +3398,10 @@ s%@TK_BUILD_LIB_SPEC@%$TK_BUILD_LIB_SPEC%g s%@TK_LIB_SPEC@%$TK_LIB_SPEC%g s%@TCLHDIR@%$TCLHDIR%g s%@TKHDIR@%$TKHDIR%g +s%@ITCLHDIR@%$ITCLHDIR%g +s%@ITCLLIB@%$ITCLLIB%g +s%@TIXHDIR@%$TIXHDIR%g +s%@TIXLIB@%$TIXLIB%g s%@ENABLE_GDBTK@%$ENABLE_GDBTK%g s%@X_CFLAGS@%$X_CFLAGS%g s%@X_LDFLAGS@%$X_LDFLAGS%g diff --git a/gdb/configure.in b/gdb/configure.in index 6a90e3129cd..b4baf279879 100644 --- a/gdb/configure.in +++ b/gdb/configure.in @@ -239,6 +239,16 @@ esac]) # end-sanitize-gm # start-sanitize-gdbtk +ENABLE_IDE= +AC_ARG_ENABLE(ide, [ --enable-ide Enable IDE support]) +if test "$enable_ide" = yes; then + enable_ide=yes + ENABLE_IDE=1 +else + enable_ide=no +fi +AC_SUBST(ENABLE_IDE) + ENABLE_GDBTK= AC_ARG_ENABLE(gdbtk, @@ -292,11 +302,17 @@ if test "${enable_gdbtk}" = "yes"; then CY_AC_LOAD_TKCONFIG CY_AC_PATH_TCLH CY_AC_PATH_TKH + CY_AC_PATH_ITCLH + CY_AC_PATH_TIX ENABLE_GDBTK=1 # Include some libraries that Tcl and Tk want. - TCL_LIBS='$(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' + if test "${enable_ide}" = "yes"; then + TCL_LIBS='$(IDE) $(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' + else + TCL_LIBS='$(ITCL) $(TIX) $(TK) $(TCL) $(X11_LDFLAGS) $(X11_LIBS)' + fi # Yes, the ordering seems wrong here. But it isn't. # TK_LIBS is the list of libraries that need to be linked # after Tcl/Tk. diff --git a/gdb/gdbtk.c b/gdb/gdbtk.c index f82759ca43a..051cdfccc63 100644 --- a/gdb/gdbtk.c +++ b/gdb/gdbtk.c @@ -29,7 +29,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "target.h" #include #include -/* #include */ +#include +#include + +#ifdef IDE +#include "event.h" +#include "idetcl.h" +#endif + #ifdef ANSI_PROTOTYPES #include #else @@ -69,7 +76,7 @@ static void gdbtk_flush PARAMS ((FILE *)); static void gdbtk_fputs PARAMS ((const char *, FILE *)); static int gdbtk_query PARAMS ((const char *, va_list)); static char *gdbtk_readline PARAMS ((char *)); -static void gdbtk_init PARAMS ((void)); +static void gdbtk_init PARAMS ((char *)); static void tk_command_loop PARAMS ((void)); static void gdbtk_call_command PARAMS ((struct cmd_list_element *, char *, int)); static int gdbtk_wait PARAMS ((int, struct target_waitstatus *)); @@ -191,7 +198,6 @@ gdbtk_fputs (ptr, stream) const char *ptr; FILE *stream; { - if (result_ptr) Tcl_DStringAppend (result_ptr, (char *)ptr, -1); else @@ -203,7 +209,7 @@ gdbtk_fputs (ptr, stream) Tcl_DStringAppend (&str, "gdbtk_tcl_fputs", -1); Tcl_DStringAppendElement (&str, (char *)ptr); - Tcl_Eval (interp, Tcl_DStringValue (&str)); + Tcl_Eval (interp, Tcl_DStringValue (&str)); Tcl_DStringFree (&str); } } @@ -423,13 +429,16 @@ breakpoint_notify(b, action) { char buf[100]; int v; + struct symtab_and_line sal; if (b->type != bp_breakpoint) return; /* We ensure that ACTION contains no special Tcl characters, so we can do this. */ - sprintf (buf, "gdbtk_tcl_breakpoint %s %d", action, b->number); + sal = find_pc_line (b->address, 0); + sprintf (buf, "gdbtk_tcl_breakpoint %s %d 0x%lx %d {%s}", action, b->number, + (long)b->address, sal.line, symtab_to_filename (sal.symtab)); v = Tcl_Eval (interp, buf); @@ -513,7 +522,9 @@ gdb_loc (clientData, interp, argc, argv) dsprintf_append_element (result_ptr, "%d", sal.line); /* line number */ - dsprintf_append_element (result_ptr, "0x%s", paddr_nz(pc)); /* PC */ + dsprintf_append_element (result_ptr, "0x%s", paddr_nz(pc)); /* PC in current frame */ + + dsprintf_append_element (result_ptr, "0x%s", paddr_nz(stop_pc)); /* Real PC */ return TCL_OK; } @@ -1265,8 +1276,8 @@ gdbtk_call_command (cmdblk, arg, from_tty) running_now = 1; Tcl_Eval (interp, "gdbtk_tcl_busy"); (*cmdblk->function.cfunc)(arg, from_tty); - Tcl_Eval (interp, "gdbtk_tcl_idle"); running_now = 0; + Tcl_Eval (interp, "gdbtk_tcl_idle"); } else (*cmdblk->function.cfunc)(arg, from_tty); @@ -1287,13 +1298,19 @@ tk_command_loop () } static void -gdbtk_init () +gdbtk_init ( argv0 ) + char *argv0; { struct cleanup *old_chain; char *lib, *gdbtk_lib, gdbtk_lib_tmp[1024],gdbtk_file[128]; int i, found_main; struct sigaction action; static sigset_t nullsigmask = {0}; +#ifdef IDE + struct ide_event_handle *h; + const char *errmsg; + char *libexecdir; +#endif /* If there is no DISPLAY environment variable, Tk_Init below will fail, causing gdb to abort. If instead we simply return here, gdb will @@ -1307,7 +1324,7 @@ gdbtk_init () old_chain = make_cleanup (cleanup_init, 0); /* First init tcl and tk. */ - + Tcl_FindExecutable (argv0); interp = Tcl_CreateInterp (); if (!interp) @@ -1316,14 +1333,53 @@ gdbtk_init () if (Tcl_Init(interp) != TCL_OK) error ("Tcl_Init failed: %s", interp->result); - /* - if (Itcl_Init(interp) == TCL_ERROR) - error ("Itcl_Init failed: %s", interp->result); - */ - if (Tk_Init(interp) != TCL_OK) error ("Tk_Init failed: %s", interp->result); + if (Itcl_Init(interp) == TCL_ERROR) + error ("Itcl_Init failed: %s", interp->result); + + if (Tix_Init(interp) != TCL_OK) + error ("Tix_Init failed: %s", interp->result); + +#ifdef IDE + /* Initialize the Paths variable. + if (ide_initialize_paths (interp, "gdb") != TCL_OK) + return (TCL_ERROR); + */ + /* Find the directory where we expect to find idemanager. We ignore + errors since it doesn't really matter if this fails. */ + libexecdir = Tcl_GetVar2 (interp, "Paths", "libexecdir", TCL_GLOBAL_ONLY); + + IluTk_Init (); + + h = ide_event_init_client (&errmsg, libexecdir); + if (h == NULL) + { + Tcl_AppendResult (interp, "can't initialize event system: ", errmsg, + (char *) NULL); + fprintf(stderr, "WARNING: ide_event_init_client failed: %s\n", interp->result); + } + else + { + if (ide_create_tclevent_command (interp, h) != TCL_OK) + error ("ide_create_tclevent_command failed: %s", interp->result); + if (ide_create_edit_command (interp, h) != TCL_OK) + error ("ide_create_edit_command failed: %s", interp->result); + + if (ide_create_property_command (interp, h) != TCL_OK) + error ("ide_create_property_command failed: %s", interp->result); + + /* + if (ide_initialize (interp, "gdb") != TCL_OK) + error ("ide_initialize failed: %s", interp->result); + */ + } + Tcl_SetVar (interp, "GDBTK_IDE", "1", 0); +#else + Tcl_SetVar (interp, "GDBTK_IDE", "0", 0); +#endif /* IDE */ + Tcl_CreateCommand (interp, "gdb_cmd", call_wrapper, gdb_cmd, NULL); Tcl_CreateCommand (interp, "gdb_loc", call_wrapper, gdb_loc, NULL); Tcl_CreateCommand (interp, "gdb_path_conv", call_wrapper, gdb_path_conv, NULL); diff --git a/gdb/top.c b/gdb/top.c index 3a4f4b1b6bc..92e9e992330 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -372,7 +372,7 @@ static void stop_sig PARAMS ((int)); /* Called after most modules have been initialized, but before taking users command file. */ -void (*init_ui_hook) PARAMS ((void)); +void (*init_ui_hook) PARAMS ((char *argv0)); /* Called instead of command_loop at top level. Can be invoked via return_to_top_level. */ @@ -633,7 +633,8 @@ extern void init_proc PARAMS ((void)); void (*pre_init_ui_hook) PARAMS ((void)); void -gdb_init () +gdb_init (argv0) + char *argv0; { if (pre_init_ui_hook) pre_init_ui_hook (); @@ -659,7 +660,7 @@ gdb_init () expected_language = current_language; /* don't warn about the change. */ if (init_ui_hook) - init_ui_hook (); + init_ui_hook (argv0); } /* Allocate, initialize a new command line structure for one of the -- 2.30.2