Integrate GTK GUI debugger frontend module
This commit is contained in:
parent
dd21ea963e
commit
717f323722
@ -2,9 +2,9 @@ Changes after 2.3.7 release:
|
||||
|
||||
Brief summary :
|
||||
|
||||
- Added graphical Bochs debugger under Win32 host !
|
||||
- Added graphical Bochs debugger frontend for most of the supported platforms.
|
||||
- Thanks for Chourdakis Michael and Bruce Ewing.
|
||||
- Added user plugin interface support
|
||||
- Added user plugin interface support.
|
||||
- Many fixes in Bochs internal debugger and CPU instrumentation.
|
||||
- Bugfixes for CPU emulation correctness.
|
||||
|
||||
|
363
bochs/configure
vendored
363
bochs/configure
vendored
@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# From configure.in Id: configure.in,v 1.382 2009/01/18 13:11:27 vruppert Exp .
|
||||
# From configure.in Id: configure.in,v 1.383 2009/01/19 09:48:11 vruppert Exp .
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.61.
|
||||
#
|
||||
@ -892,14 +892,13 @@ EXTERNAL_DEPENDENCY
|
||||
RC_CMD
|
||||
WX_CONFIG
|
||||
XPM_LIB
|
||||
PKG_CONFIG
|
||||
GTK_CFLAGS
|
||||
GTK_LIBS
|
||||
GUI_CFLAGS
|
||||
GUI_CXXFLAGS
|
||||
WX_CFLAGS
|
||||
WX_CXXFLAGS
|
||||
TOOLKIT_CXXFLAGS
|
||||
WGET
|
||||
ENH_DBG_OBJS
|
||||
DIALOG_OBJS
|
||||
EXPORT_DYNAMIC
|
||||
PTHREAD_CC
|
||||
@ -962,10 +961,7 @@ CPP
|
||||
CXXCPP
|
||||
F77
|
||||
FFLAGS
|
||||
XMKMF
|
||||
PKG_CONFIG
|
||||
GTK_CFLAGS
|
||||
GTK_LIBS'
|
||||
XMKMF'
|
||||
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@ -1655,9 +1651,6 @@ Some influential environment variables:
|
||||
F77 Fortran 77 compiler command
|
||||
FFLAGS Fortran 77 compiler flags
|
||||
XMKMF Path to xmkmf, Makefile generator for X Window System
|
||||
PKG_CONFIG path to pkg-config utility
|
||||
GTK_CFLAGS C compiler flags for GTK, overriding pkg-config
|
||||
GTK_LIBS linker flags for GTK, overriding pkg-config
|
||||
|
||||
Use these variables to override the choices made by `configure' or to help
|
||||
it to find libraries and programs with nonstandard names/locations.
|
||||
@ -4376,7 +4369,7 @@ ia64-*-hpux*)
|
||||
;;
|
||||
*-*-irix6*)
|
||||
# Find out which ABI we are using.
|
||||
echo '#line 4379 "configure"' > conftest.$ac_ext
|
||||
echo '#line 4372 "configure"' > conftest.$ac_ext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>&5
|
||||
ac_status=$?
|
||||
@ -6578,11 +6571,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:6581: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:6574: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:6585: \$? = $ac_status" >&5
|
||||
echo "$as_me:6578: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -6811,11 +6804,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:6814: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:6807: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:6818: \$? = $ac_status" >&5
|
||||
echo "$as_me:6811: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -6878,11 +6871,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:6881: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:6874: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:6885: \$? = $ac_status" >&5
|
||||
echo "$as_me:6878: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -9007,7 +9000,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 9010 "configure"
|
||||
#line 9003 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -9105,7 +9098,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 9108 "configure"
|
||||
#line 9101 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -11280,11 +11273,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:11283: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:11276: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:11287: \$? = $ac_status" >&5
|
||||
echo "$as_me:11280: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -11347,11 +11340,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:11350: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:11343: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:11354: \$? = $ac_status" >&5
|
||||
echo "$as_me:11347: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -12657,7 +12650,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 12660 "configure"
|
||||
#line 12653 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -12755,7 +12748,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 12758 "configure"
|
||||
#line 12751 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -13578,11 +13571,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:13581: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:13574: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:13585: \$? = $ac_status" >&5
|
||||
echo "$as_me:13578: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -13645,11 +13638,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:13648: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:13641: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:13652: \$? = $ac_status" >&5
|
||||
echo "$as_me:13645: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -15656,11 +15649,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:15659: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:15652: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:15663: \$? = $ac_status" >&5
|
||||
echo "$as_me:15656: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -15889,11 +15882,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:15892: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:15885: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>conftest.err)
|
||||
ac_status=$?
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:15896: \$? = $ac_status" >&5
|
||||
echo "$as_me:15889: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s "$ac_outfile"; then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
# So say no if there are warnings
|
||||
@ -15956,11 +15949,11 @@ else
|
||||
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
|
||||
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
|
||||
-e 's:$: $lt_compiler_flag:'`
|
||||
(eval echo "\"\$as_me:15959: $lt_compile\"" >&5)
|
||||
(eval echo "\"\$as_me:15952: $lt_compile\"" >&5)
|
||||
(eval "$lt_compile" 2>out/conftest.err)
|
||||
ac_status=$?
|
||||
cat out/conftest.err >&5
|
||||
echo "$as_me:15963: \$? = $ac_status" >&5
|
||||
echo "$as_me:15956: \$? = $ac_status" >&5
|
||||
if (exit $ac_status) && test -s out/conftest2.$ac_objext
|
||||
then
|
||||
# The compiler can only warn and ignore the option if not recognized
|
||||
@ -18085,7 +18078,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 18088 "configure"
|
||||
#line 18081 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -18183,7 +18176,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 18186 "configure"
|
||||
#line 18179 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -20370,7 +20363,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 20373 "configure"
|
||||
#line 20366 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -34824,6 +34817,7 @@ echo "${ECHO_T}yes" >&6; }
|
||||
#define BX_DEBUGGER_GUI 1
|
||||
_ACEOF
|
||||
|
||||
gui_debugger=1
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
@ -34831,6 +34825,7 @@ echo "${ECHO_T}no" >&6; }
|
||||
#define BX_DEBUGGER_GUI 0
|
||||
_ACEOF
|
||||
|
||||
gui_debugger=0
|
||||
fi
|
||||
else
|
||||
|
||||
@ -34841,6 +34836,7 @@ echo "${ECHO_T}yes" >&6; }
|
||||
#define BX_DEBUGGER_GUI 1
|
||||
_ACEOF
|
||||
|
||||
gui_debugger=1
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
@ -34848,6 +34844,7 @@ echo "${ECHO_T}no" >&6; }
|
||||
#define BX_DEBUGGER_GUI 0
|
||||
_ACEOF
|
||||
|
||||
gui_debugger=0
|
||||
fi
|
||||
|
||||
|
||||
@ -37070,7 +37067,7 @@ echo "${ECHO_T}$WX_CONFIG" >&6; }
|
||||
|
||||
ok_wx_version=0
|
||||
wx_multi_lib=0
|
||||
wx_needs_gtk2=0
|
||||
needs_gtk2=0
|
||||
{ echo "$as_me:$LINENO: checking for wxWidgets library version" >&5
|
||||
echo $ECHO_N "checking for wxWidgets library version... $ECHO_C" >&6; }
|
||||
if test x$WX_CONFIG != xnot_found; then
|
||||
@ -37087,7 +37084,7 @@ if test x$WX_CONFIG != xnot_found; then
|
||||
ok_wx_version=1
|
||||
wx_multi_lib=1
|
||||
case x$WX_BASENAME in
|
||||
xwx_gtk2|xwx_gtk2u) wx_needs_gtk2=1 ;;
|
||||
xwx_gtk2|xwx_gtk2u) needs_gtk2=1 ;;
|
||||
*) ;;
|
||||
esac
|
||||
;;
|
||||
@ -37139,6 +37136,10 @@ _ACEOF
|
||||
GUI_CFLAGS="$GUI_CFLAGS \$(X_CFLAGS)"
|
||||
GUI_CXXFLAGS="$GUI_CXXFLAGS \$(X_CFLAGS)"
|
||||
GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_X)"
|
||||
# The enhanced X debugger depends on GTK2
|
||||
if test "$BX_DEBUGGER_GUI" = 1; then
|
||||
needs_gtk2=1
|
||||
fi
|
||||
check_xpm=0
|
||||
{ echo "$as_me:$LINENO: checking whether user wants XPM support" >&5
|
||||
echo $ECHO_N "checking whether user wants XPM support... $ECHO_C" >&6; }
|
||||
@ -37463,250 +37464,6 @@ _ACEOF
|
||||
else
|
||||
GUI_LINK_OPTS_WX="`$WX_CONFIG --libs`"
|
||||
fi
|
||||
if test "$wx_needs_gtk2" = 1; then
|
||||
|
||||
|
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
case $PKG_CONFIG in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
{ echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
|
||||
echo "${ECHO_T}$PKG_CONFIG" >&6; }
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
if test -z "$ac_cv_path_PKG_CONFIG"; then
|
||||
ac_pt_PKG_CONFIG=$PKG_CONFIG
|
||||
# Extract the first word of "pkg-config", so it can be a program name with args.
|
||||
set dummy pkg-config; ac_word=$2
|
||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
||||
if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then
|
||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||
else
|
||||
case $ac_pt_PKG_CONFIG in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
|
||||
if test -n "$ac_pt_PKG_CONFIG"; then
|
||||
{ echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5
|
||||
echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; }
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
fi
|
||||
|
||||
if test "x$ac_pt_PKG_CONFIG" = x; then
|
||||
PKG_CONFIG=""
|
||||
else
|
||||
case $cross_compiling:$ac_tool_warned in
|
||||
yes:)
|
||||
{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
|
||||
whose name does not start with the host triplet. If you think this
|
||||
configuration is useful to you, please write to autoconf@gnu.org." >&5
|
||||
echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
|
||||
whose name does not start with the host triplet. If you think this
|
||||
configuration is useful to you, please write to autoconf@gnu.org." >&2;}
|
||||
ac_tool_warned=yes ;;
|
||||
esac
|
||||
PKG_CONFIG=$ac_pt_PKG_CONFIG
|
||||
fi
|
||||
else
|
||||
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
|
||||
fi
|
||||
|
||||
fi
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
_pkg_min_version=0.9.0
|
||||
{ echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5
|
||||
echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; }
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
{ echo "$as_me:$LINENO: result: yes" >&5
|
||||
echo "${ECHO_T}yes" >&6; }
|
||||
else
|
||||
{ echo "$as_me:$LINENO: result: no" >&5
|
||||
echo "${ECHO_T}no" >&6; }
|
||||
PKG_CONFIG=""
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
pkg_failed=no
|
||||
{ echo "$as_me:$LINENO: checking for GTK" >&5
|
||||
echo $ECHO_N "checking for GTK... $ECHO_C" >&6; }
|
||||
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
if test -n "$GTK_CFLAGS"; then
|
||||
pkg_cv_GTK_CFLAGS="$GTK_CFLAGS"
|
||||
else
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5
|
||||
($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; then
|
||||
pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0" 2>/dev/null`
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
if test -n "$GTK_LIBS"; then
|
||||
pkg_cv_GTK_LIBS="$GTK_LIBS"
|
||||
else
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0\"") >&5
|
||||
($PKG_CONFIG --exists --print-errors "gtk+-2.0") 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; then
|
||||
pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-2.0" 2>/dev/null`
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0"`
|
||||
else
|
||||
GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0"`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$GTK_PKG_ERRORS" >&5
|
||||
|
||||
{ { echo "$as_me:$LINENO: error: Package requirements (gtk+-2.0) were not met:
|
||||
|
||||
$GTK_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
Alternatively, you may set the environment variables GTK_CFLAGS
|
||||
and GTK_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.
|
||||
" >&5
|
||||
echo "$as_me: error: Package requirements (gtk+-2.0) were not met:
|
||||
|
||||
$GTK_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
Alternatively, you may set the environment variables GTK_CFLAGS
|
||||
and GTK_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.
|
||||
" >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
elif test $pkg_failed = untried; then
|
||||
{ { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
Alternatively, you may set the environment variables GTK_CFLAGS
|
||||
and GTK_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.
|
||||
|
||||
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
|
||||
See \`config.log' for more details." >&5
|
||||
echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
Alternatively, you may set the environment variables GTK_CFLAGS
|
||||
and GTK_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.
|
||||
|
||||
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.
|
||||
See \`config.log' for more details." >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
else
|
||||
GTK_CFLAGS=$pkg_cv_GTK_CFLAGS
|
||||
GTK_LIBS=$pkg_cv_GTK_LIBS
|
||||
{ echo "$as_me:$LINENO: result: yes" >&5
|
||||
echo "${ECHO_T}yes" >&6; }
|
||||
|
||||
WX_CFLAGS="$WX_CFLAGS $GTK_CFLAGS"
|
||||
WX_CXXFLAGS="$WX_CXXFLAGS $GTK_CFLAGS"
|
||||
|
||||
fi
|
||||
else
|
||||
# if gtk-config exists, then add it to the cflags.
|
||||
gtkconf=`gtk-config --cflags`
|
||||
if test $? = 0; then
|
||||
# gtk-config was found and returned 0, so it must return valid output
|
||||
WX_CFLAGS="$WX_CFLAGS $gtkconf"
|
||||
WX_CXXFLAGS="$WX_CXXFLAGS $gtkconf"
|
||||
fi
|
||||
fi
|
||||
# GUI_C*FLAGS are added to the compilation of every bochs file, not just
|
||||
# the files in gui/*.cc. They are not used when building other things
|
||||
# such as bximage.
|
||||
@ -37744,6 +37501,22 @@ if test "$display_libs" = ""; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# some display libraries and the enhanced debugger may depend on the GTK+ software package
|
||||
if test "$needs_gtk2" = 1; then
|
||||
# if pkg-config exists, then add it to the /gui cflags.
|
||||
gtkconf=`pkg-config --cflags gtk+-2.0`
|
||||
if test $? = 0; then
|
||||
# pkg-config was found and returned 0, so it must return valid output
|
||||
TOOLKIT_CXXFLAGS="$gtkconf"
|
||||
LIBS="$LIBS `pkg-config --libs gtk+-2.0`"
|
||||
else
|
||||
echo "ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package."
|
||||
echo "Install pkg-config and the gtk+ development package,"
|
||||
echo "or disable the gui debugger, or the wxWidgets display library (whichever is being used)."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$display_libs" = " wxWidgets"; then
|
||||
{ echo "$as_me:$LINENO: checking for default configuration interface" >&5
|
||||
echo $ECHO_N "checking for default configuration interface... $ECHO_C" >&6; }
|
||||
@ -37787,6 +37560,7 @@ fi
|
||||
|
||||
|
||||
|
||||
|
||||
for ac_prog in wget curl fetch
|
||||
do
|
||||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
@ -38016,6 +37790,16 @@ _ACEOF
|
||||
;;
|
||||
esac
|
||||
|
||||
ENH_DBG_OBJS=""
|
||||
if test "$gui_debugger" = 1; then
|
||||
if test "$with_win32" = yes; then
|
||||
ENH_DBG_OBJS="win32_enh_dbg_osdep.o"
|
||||
else
|
||||
ENH_DBG_OBJS="gtk_enh_dbg_osdep.o"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
DIALOG_OBJS=""
|
||||
EXPORT_DYNAMIC="-export-dynamic"
|
||||
case $target in
|
||||
@ -38095,7 +37879,7 @@ fi
|
||||
LIBS="$LIBS -lcomctl32"
|
||||
fi
|
||||
fi
|
||||
DIALOG_OBJS="win32dialog.o win32_enh_dbg_osdep.o"
|
||||
DIALOG_OBJS="win32dialog.o"
|
||||
EXPORT_DYNAMIC=""
|
||||
;;
|
||||
esac
|
||||
@ -40422,14 +40206,13 @@ EXTERNAL_DEPENDENCY!$EXTERNAL_DEPENDENCY$ac_delim
|
||||
RC_CMD!$RC_CMD$ac_delim
|
||||
WX_CONFIG!$WX_CONFIG$ac_delim
|
||||
XPM_LIB!$XPM_LIB$ac_delim
|
||||
PKG_CONFIG!$PKG_CONFIG$ac_delim
|
||||
GTK_CFLAGS!$GTK_CFLAGS$ac_delim
|
||||
GTK_LIBS!$GTK_LIBS$ac_delim
|
||||
GUI_CFLAGS!$GUI_CFLAGS$ac_delim
|
||||
GUI_CXXFLAGS!$GUI_CXXFLAGS$ac_delim
|
||||
WX_CFLAGS!$WX_CFLAGS$ac_delim
|
||||
WX_CXXFLAGS!$WX_CXXFLAGS$ac_delim
|
||||
TOOLKIT_CXXFLAGS!$TOOLKIT_CXXFLAGS$ac_delim
|
||||
WGET!$WGET$ac_delim
|
||||
ENH_DBG_OBJS!$ENH_DBG_OBJS$ac_delim
|
||||
DIALOG_OBJS!$DIALOG_OBJS$ac_delim
|
||||
EXPORT_DYNAMIC!$EXPORT_DYNAMIC$ac_delim
|
||||
PTHREAD_CC!$PTHREAD_CC$ac_delim
|
||||
@ -40478,7 +40261,7 @@ LIBOBJS!$LIBOBJS$ac_delim
|
||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 81; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 80; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
|
@ -2,7 +2,7 @@ dnl // Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.50)
|
||||
AC_INIT(bochs.h)
|
||||
AC_REVISION([[$Id: configure.in,v 1.383 2009-01-19 09:48:11 vruppert Exp $]])
|
||||
AC_REVISION([[$Id: configure.in,v 1.384 2009-01-31 10:04:25 sshwarts Exp $]])
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_CONFIG_HEADER(ltdlconf.h)
|
||||
|
||||
@ -1260,17 +1260,21 @@ AC_ARG_ENABLE(debugger-gui,
|
||||
[if test "$enableval" = yes; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BX_DEBUGGER_GUI, 1)
|
||||
gui_debugger=1
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BX_DEBUGGER_GUI, 0)
|
||||
gui_debugger=0
|
||||
fi],
|
||||
[
|
||||
if test "$bx_debugger" = 1; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(BX_DEBUGGER_GUI, 1)
|
||||
gui_debugger=1
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_DEFINE(BX_DEBUGGER_GUI, 0)
|
||||
gui_debugger=0
|
||||
fi
|
||||
]
|
||||
)
|
||||
@ -2297,7 +2301,7 @@ AC_MSG_RESULT($WX_CONFIG)
|
||||
|
||||
ok_wx_version=0
|
||||
wx_multi_lib=0
|
||||
wx_needs_gtk2=0
|
||||
needs_gtk2=0
|
||||
AC_MSG_CHECKING(for wxWidgets library version)
|
||||
if test x$WX_CONFIG != xnot_found; then
|
||||
WX_VERSION=`$WX_CONFIG --version`
|
||||
@ -2313,7 +2317,7 @@ if test x$WX_CONFIG != xnot_found; then
|
||||
ok_wx_version=1
|
||||
wx_multi_lib=1
|
||||
case x$WX_BASENAME in
|
||||
xwx_gtk2|xwx_gtk2u) wx_needs_gtk2=1 ;;
|
||||
xwx_gtk2|xwx_gtk2u) needs_gtk2=1 ;;
|
||||
*) ;;
|
||||
esac
|
||||
;;
|
||||
@ -2358,6 +2362,10 @@ if test "$with_x11" = yes; then
|
||||
GUI_CFLAGS="$GUI_CFLAGS \$(X_CFLAGS)"
|
||||
GUI_CXXFLAGS="$GUI_CXXFLAGS \$(X_CFLAGS)"
|
||||
GUI_LINK_OPTS="$GUI_LINK_OPTS \$(GUI_LINK_OPTS_X)"
|
||||
# The enhanced X debugger depends on GTK2
|
||||
if test "$BX_DEBUGGER_GUI" = 1; then
|
||||
needs_gtk2=1
|
||||
fi
|
||||
check_xpm=0
|
||||
AC_MSG_CHECKING(whether user wants XPM support)
|
||||
AC_ARG_ENABLE(xpm,
|
||||
@ -2513,20 +2521,6 @@ if test "$with_wx" = yes; then
|
||||
else
|
||||
GUI_LINK_OPTS_WX="`$WX_CONFIG --libs`"
|
||||
fi
|
||||
if test "$wx_needs_gtk2" = 1; then
|
||||
PKG_CHECK_MODULES([GTK], [gtk+-2.0], [
|
||||
WX_CFLAGS="$WX_CFLAGS $GTK_CFLAGS"
|
||||
WX_CXXFLAGS="$WX_CXXFLAGS $GTK_CFLAGS"
|
||||
])
|
||||
else
|
||||
# if gtk-config exists, then add it to the cflags.
|
||||
gtkconf=`gtk-config --cflags`
|
||||
if test $? = 0; then
|
||||
# gtk-config was found and returned 0, so it must return valid output
|
||||
WX_CFLAGS="$WX_CFLAGS $gtkconf"
|
||||
WX_CXXFLAGS="$WX_CXXFLAGS $gtkconf"
|
||||
fi
|
||||
fi
|
||||
# GUI_C*FLAGS are added to the compilation of every bochs file, not just
|
||||
# the files in gui/*.cc. They are not used when building other things
|
||||
# such as bximage.
|
||||
@ -2559,6 +2553,22 @@ if test "$display_libs" = ""; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# some display libraries and the enhanced debugger may depend on the GTK+ software package
|
||||
if test "$needs_gtk2" = 1; then
|
||||
# if pkg-config exists, then add it to the /gui cflags.
|
||||
gtkconf=`pkg-config --cflags gtk+-2.0`
|
||||
if test $? = 0; then
|
||||
# pkg-config was found and returned 0, so it must return valid output
|
||||
TOOLKIT_CXXFLAGS="$gtkconf"
|
||||
LIBS="$LIBS `pkg-config --libs gtk+-2.0`"
|
||||
else
|
||||
echo "ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package."
|
||||
echo "Install pkg-config and the gtk+ development package,"
|
||||
echo "or disable the gui debugger, or the wxWidgets display library (whichever is being used)."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl To use wxWidgets you must select it as both the configuration interface
|
||||
dnl and the display library. In the simplest case where the user has
|
||||
dnl only configured with --with-wx, set both defaults to wxWidgets.
|
||||
@ -2591,6 +2601,7 @@ AC_SUBST(GUI_CXXFLAGS)
|
||||
AC_SUBST(WX_CONFIG)
|
||||
AC_SUBST(WX_CFLAGS)
|
||||
AC_SUBST(WX_CXXFLAGS)
|
||||
AC_SUBST(TOOLKIT_CXXFLAGS)
|
||||
|
||||
AC_CHECK_PROGS(WGET, wget curl fetch, not_found)
|
||||
if test "$WGET" = not_found; then
|
||||
@ -2688,6 +2699,16 @@ case "$target" in
|
||||
;;
|
||||
esac
|
||||
|
||||
ENH_DBG_OBJS=""
|
||||
if test "$gui_debugger" = 1; then
|
||||
if test "$with_win32" = yes; then
|
||||
ENH_DBG_OBJS="win32_enh_dbg_osdep.o"
|
||||
else
|
||||
ENH_DBG_OBJS="gtk_enh_dbg_osdep.o"
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(ENH_DBG_OBJS)
|
||||
|
||||
DIALOG_OBJS=""
|
||||
EXPORT_DYNAMIC="-export-dynamic"
|
||||
case $target in
|
||||
@ -2703,7 +2724,7 @@ case $target in
|
||||
LIBS="$LIBS -lcomctl32"
|
||||
fi
|
||||
fi
|
||||
DIALOG_OBJS="win32dialog.o win32_enh_dbg_osdep.o"
|
||||
DIALOG_OBJS="win32dialog.o"
|
||||
EXPORT_DYNAMIC=""
|
||||
;;
|
||||
esac
|
||||
|
@ -46,7 +46,7 @@ SHELL = /bin/sh
|
||||
|
||||
CXX = @CXX@
|
||||
CXXFLAGS = $(BX_INCDIRS) @CXXFLAGS@ @GUI_CXXFLAGS@
|
||||
LOCAL_CXXFLAGS =
|
||||
LOCAL_CXXFLAGS = @TOOLKIT_CXXFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
@ -70,7 +70,7 @@ GUI_OBJS_RFB = rfb.o
|
||||
GUI_OBJS_AMIGAOS = amigaos.o
|
||||
GUI_OBJS_WX = wx.o
|
||||
GUI_OBJS_WX_SUPPORT = wxmain.o wxdialog.o
|
||||
OBJS_THAT_CANNOT_BE_PLUGINS = keymap.o gui.o siminterface.o textconfig.o enh_dbg.o @DIALOG_OBJS@
|
||||
OBJS_THAT_CANNOT_BE_PLUGINS = keymap.o gui.o siminterface.o textconfig.o enh_dbg.o @ENH_DBG_OBJS@ @DIALOG_OBJS@
|
||||
OBJS_THAT_CAN_BE_PLUGINS = @GUI_OBJS@
|
||||
|
||||
X_LIBS = @X_LIBS@
|
||||
@ -285,7 +285,7 @@ win32.o: win32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.
|
||||
../iodev/svga_cirrus.h ../iodev/ioapic.h ../cpu/apic.h \
|
||||
../iodev/keyboard.h
|
||||
win32dialog.o: win32dialog.@CPP_SUFFIX@ win32dialog.h ../config.h
|
||||
win32_enh_dbg_osdep.o: win32_enh_dbg_osdep.@CPP_SUFFIX@ ../config.h
|
||||
win32_enh_dbg_osdep.o: win32_enh_dbg_osdep.@CPP_SUFFIX@ enh_dbg.h ../config.h
|
||||
wx.o: wx.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
|
||||
../config.h ../osdep.h ../bxversion.h ../gui/siminterface.h \
|
||||
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h \
|
||||
@ -303,6 +303,7 @@ wxmain.o: wxmain.@CPP_SUFFIX@ ../config.h \
|
||||
bitmaps/power.xpm bitmaps/reset.xpm bitmaps/snapshot.xpm \
|
||||
bitmaps/mouse.xpm bitmaps/userbutton.xpm bitmaps/saverestore.xpm \
|
||||
icon_bochs.xpm
|
||||
gtk_enh_dbg_osdep.o: gtk_enh_dbg_osdep.@CPP_SUFFIX@ enh_dbg.h ../config.h
|
||||
x.o: x.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
|
||||
../config.h ../osdep.h ../bxversion.h ../gui/siminterface.h \
|
||||
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h \
|
||||
@ -405,7 +406,7 @@ win32.lo: win32.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug
|
||||
../iodev/svga_cirrus.h ../iodev/ioapic.h ../cpu/apic.h \
|
||||
../iodev/keyboard.h
|
||||
win32dialog.lo: win32dialog.@CPP_SUFFIX@ win32dialog.h ../config.h
|
||||
win32_enh_dbg_osdep.lo: win32_enh_dbg_osdep.@CPP_SUFFIX@ ../config.h
|
||||
win32_enh_dbg_osdep.lo: win32_enh_dbg_osdep.@CPP_SUFFIX@ enh_dbg.h ../config.h
|
||||
wx.lo: wx.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
|
||||
../config.h ../osdep.h ../bxversion.h ../gui/siminterface.h \
|
||||
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h \
|
||||
@ -423,6 +424,7 @@ wxmain.lo: wxmain.@CPP_SUFFIX@ ../config.h \
|
||||
bitmaps/power.xpm bitmaps/reset.xpm bitmaps/snapshot.xpm \
|
||||
bitmaps/mouse.xpm bitmaps/userbutton.xpm bitmaps/saverestore.xpm \
|
||||
icon_bochs.xpm
|
||||
gtk_enh_dbg_osdep.lo: gtk_enh_dbg_osdep.@CPP_SUFFIX@ enh_dbg.h ../config.h
|
||||
x.lo: x.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
|
||||
../config.h ../osdep.h ../bxversion.h ../gui/siminterface.h \
|
||||
../memory/memory.h ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h \
|
||||
|
@ -1,3 +1,7 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: enh_dbg.cc,v 1.9 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// BOCHS ENHANCED DEBUGGER Ver 1.2
|
||||
// (C) Chourdakis Michael, 2008
|
||||
// http://www.turboirc.com
|
||||
@ -16,7 +20,6 @@
|
||||
#include "disasm/disasm.h"
|
||||
|
||||
#include "enh_dbg.h"
|
||||
#include "wenhdbg_res.h" // MenuIDs
|
||||
|
||||
// Match stuff
|
||||
#define MATCH_TRUE 1
|
||||
@ -31,8 +34,13 @@
|
||||
// -- i.e. No further initialization necessary.
|
||||
static disassembler bx_disassemble;
|
||||
|
||||
int useCR = 1; // Win32 needs CRLF pairs for an EOL
|
||||
bx_bool NeedSysRresize = TRUE; // use Sys Reg to help autosize Reg "hex" column
|
||||
#ifdef WIN32
|
||||
int useCR = 1; // Win32 needs CRLF pairs for an EOL
|
||||
bx_bool NeedSysRresize = TRUE; // use Sys Reg to help autosize Reg "hex" column
|
||||
#else
|
||||
int useCR = 0;
|
||||
bx_bool NeedSysRresize = FALSE; // use Sys Reg to help autosize Reg "hex" column
|
||||
#endif
|
||||
|
||||
bx_bool SeeReg[8] = {
|
||||
TRUE, // in 64bit mode, show 32bit versions of registers also (EAX, ...)
|
||||
@ -161,6 +169,10 @@ int CommandHistoryIdx = 0;
|
||||
char *CmdHistory[CmdHistorySize]; // 64 command History storage (fixed 80b each)
|
||||
int CmdHInsert = 0; // index of next history entry to store
|
||||
|
||||
int SizeList = 0;
|
||||
Bit32s xClick = -1; // halfway through a mouseclick flag + location
|
||||
Bit32s yClick = 0; // values are in Listview coordinates
|
||||
|
||||
static char* GDTt2[8] = {
|
||||
"16-bit code",
|
||||
"64-bit code",
|
||||
@ -311,12 +323,11 @@ int IsMatching(const char *text, const char *p, bx_bool IsCaseSensitive)
|
||||
}
|
||||
|
||||
// utility function for list resizing operation -- set LoX and HiX
|
||||
// the resize/dock operation exits if the mouse moves beyond LoX or HiX
|
||||
// ParentX is the x-coordinate of the mouse in the list's parent's coord sys
|
||||
void SetHorzLimits(Bit32s ParentX)
|
||||
// the resize operation exits if the mouse moves beyond LoX or HiX
|
||||
void SetHorzLimits()
|
||||
{
|
||||
int i;
|
||||
if (ParentX < BarClix[0] + 10) // is it the left or right bar?
|
||||
if (Sizing == -2) // is it the left or right bar?
|
||||
{
|
||||
Resize_LoX = OneCharWide << 2; // set horizontal limits
|
||||
i = ListWidthPix[(DockOrder >> 8) -1]; // col1 width
|
||||
@ -324,7 +335,7 @@ void SetHorzLimits(Bit32s ParentX)
|
||||
Resize_HiX = i + ListWidthPix[CurCenterList] - (OneCharWide << 2);
|
||||
Sizing = 1;
|
||||
}
|
||||
else if (ParentX > BarClix[1] - 10)
|
||||
else
|
||||
{
|
||||
i = ListWidthPix[(DockOrder >> 8) -1]; // col1 width
|
||||
Resize_LoX = i + (OneCharWide << 2); // set horizontal limits
|
||||
@ -339,14 +350,14 @@ void DockResize (int DestIdx, Bit32u ParentX)
|
||||
{
|
||||
if (Sizing >= 10) // dock operation
|
||||
{
|
||||
Sizing -= 10; // calculate which list initiated dock = moving window
|
||||
if (Sizing != DestIdx) // moving window = destination window is a no-op
|
||||
int Siz = Sizing - 10; // calculate which list initiated dock = moving window
|
||||
if (Siz != DestIdx) // moving window = destination window is a no-op
|
||||
{
|
||||
// Convert Sizing and DestIdx into a table lookup index (j)
|
||||
// -- otherwise, the "algorithm" to compute new DockOrder is annoying
|
||||
int j = (Sizing*2 + ((Sizing | DestIdx) & 1)) *6;
|
||||
if (Sizing == 1)
|
||||
j = (Sizing*4 + (DestIdx & 2)) *3;
|
||||
int j = (Siz*2 + ((Siz | DestIdx) & 1)) *6;
|
||||
if (Siz == 1)
|
||||
j = (Siz*4 + (DestIdx & 2)) *3;
|
||||
|
||||
// convert current DockOrder to a number from 0 to 5, add to j
|
||||
j += ((DockOrder >> 7) - 2) &6;
|
||||
@ -356,8 +367,7 @@ void DockResize (int DestIdx, Bit32u ParentX)
|
||||
MoveLists();
|
||||
}
|
||||
}
|
||||
|
||||
else // resize operation
|
||||
else // resize operation
|
||||
{
|
||||
int idx, totpix;
|
||||
if (Sizing == 1)
|
||||
@ -375,9 +385,9 @@ void DockResize (int DestIdx, Bit32u ParentX)
|
||||
ListWidthPix[CurCenterList] = ParentX;
|
||||
ListWidthPix[idx] = totpix - ParentX; // reset the widths of the right and center windows
|
||||
}
|
||||
|
||||
MoveLists();
|
||||
}
|
||||
Sizing = 0;
|
||||
}
|
||||
|
||||
// Convert a string (except for the 0x in a hex number) to uppercase
|
||||
@ -2379,7 +2389,7 @@ void ToggleGDT()
|
||||
return;
|
||||
GrayMenuItem (0, CMD_WPTWR);
|
||||
GrayMenuItem (0, CMD_WPTRD);
|
||||
if (DViewMode == VIEW_GDT || (GDT_Len & 7) != 7 || (unsigned) GDT_Len >= 0x10000)
|
||||
if (DViewMode == VIEW_GDT || /*(GDT_Len & 7) != 7 ||*/ (unsigned) GDT_Len >= 0x10000)
|
||||
{
|
||||
if (DViewMode != VIEW_GDT)
|
||||
DispMessage("GDT limit is illegal","Simulation error");
|
||||
@ -2399,7 +2409,7 @@ void ToggleIDT()
|
||||
return;
|
||||
GrayMenuItem (0, CMD_WPTWR);
|
||||
GrayMenuItem (0, CMD_WPTRD);
|
||||
if (DViewMode == VIEW_IDT || (IDT_Len & 3) != 3 || (unsigned) IDT_Len >= 0x10000)
|
||||
if (DViewMode == VIEW_IDT || /*(IDT_Len & 3) != 3 ||*/ (unsigned) IDT_Len >= 0x10000)
|
||||
{
|
||||
if (DViewMode != VIEW_IDT)
|
||||
DispMessage("IDT limit is illegal","Simulation error");
|
||||
|
@ -1,8 +1,27 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: enh_dbg.h,v 1.7 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// BOCHS ENHANCED DEBUGGER Ver 1.2
|
||||
// (C) Chourdakis Michael, 2008
|
||||
// http://www.turboirc.com
|
||||
//
|
||||
// Modified by Bruce Ewing
|
||||
//
|
||||
|
||||
#ifndef BX_ENH_DBG_DEF_H
|
||||
#define BX_ENH_DBG_DEF_H
|
||||
|
||||
#if BX_DEBUGGER && BX_DEBUGGER_GUI
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
void MoveLists();
|
||||
void SetStatusText(int column, char *buf); // should it be here ?
|
||||
void MakeListsGray();
|
||||
@ -39,10 +58,15 @@ int GetNextSelectedLI(int listnum, int StartPt);
|
||||
bx_bool OSInit();
|
||||
void SpecialInit();
|
||||
|
||||
void HitBreak();
|
||||
void ParseIDText(char *x);
|
||||
|
||||
extern char *debug_cmd;
|
||||
extern bx_bool debug_cmd_ready;
|
||||
extern bx_bool vgaw_refresh;
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
#define CHK_CMD_MODEB CMD_MODEB
|
||||
#define CHK_CMD_ONECPU CMD_ONECPU
|
||||
#define CHK_CMD_UCASE CMD_UCASE
|
||||
@ -56,12 +80,42 @@ extern bx_bool vgaw_refresh;
|
||||
#define CHK_CMD_RCLR CMD_RCLR
|
||||
#define CHK_CMD_EREG CMD_EREG
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
#else // GTK+
|
||||
|
||||
// checkmark indices
|
||||
#define MODE_BRK 0
|
||||
#define ONE_CPU 1
|
||||
#define U_CASE 2
|
||||
#define IO_WIN 3
|
||||
#define SHOW_BTN 4
|
||||
#define MD_HEX 5
|
||||
#define MD_ASC 6
|
||||
#define L_END 7
|
||||
#define IGN_SA 8
|
||||
#define IGN_NT 9
|
||||
#define R_CLR 10
|
||||
#define E_REG 11
|
||||
#define S_REG 12
|
||||
#define SYS_R 13
|
||||
#define C_REG 14
|
||||
#define FPU_R 15
|
||||
#define XMM_R 16
|
||||
#define D_REG 17
|
||||
//#define T_REG 18
|
||||
|
||||
#define CHK_CMD_MODEB MODE_BRK
|
||||
#define CHK_CMD_ONECPU ONE_CPU
|
||||
#define CHK_CMD_UCASE U_CASE
|
||||
#define CHK_CMD_IOWIN IO_WIN
|
||||
#define CHK_CMD_SBTN SHOW_BTN
|
||||
#define CHK_CMD_MHEX MD_HEX
|
||||
#define CHK_CMD_MASCII MD_ASC
|
||||
#define CHK_CMD_LEND L_END
|
||||
#define CHK_CMD_IGNSA IGN_SA
|
||||
#define CHK_CMD_IGNNT IGN_NT
|
||||
#define CHK_CMD_RCLR R_CLR
|
||||
#define CHK_CMD_EREG E_REG
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef WIN32
|
||||
@ -200,8 +254,9 @@ extern int PO_Tdelay; // delay before displaying partial output lin
|
||||
|
||||
extern int AsmPgSize;
|
||||
extern int ListLineRatio; // number of vertical pixels in a ListView Item
|
||||
extern int ListVerticalPix; // number of vertical pixels in each List
|
||||
extern Bit64u AsmLA[MAX_ASM]; // linear address of each disassembled ASM line
|
||||
extern int ListVerticalPix; // number of vertical pixels in each List
|
||||
extern int AsmLineCount; // # of disassembled asm lines loaded
|
||||
extern Bit64u AsmLA[MAX_ASM]; // linear address of each disassembled ASM line
|
||||
|
||||
// Command stuff
|
||||
extern int CommandHistoryIdx;
|
||||
@ -331,6 +386,26 @@ extern unsigned short RWPSnapCount;
|
||||
extern bx_phy_address WWP_Snapshot[16];
|
||||
extern bx_phy_address RWP_Snapshot[16];
|
||||
|
||||
extern int SizeList;
|
||||
extern Bit32s xClick; // halfway through a mouseclick flag + location
|
||||
extern Bit32s yClick; // values are in Listview coordinates
|
||||
|
||||
#include "wenhdbg_res.h" // MenuIDs
|
||||
|
||||
static char* DC0txt[2] = {"P.Address","L.Address"}; // DumpMode definitions in text
|
||||
|
||||
static const char* BTxt[6] = {
|
||||
"Continue [c]",
|
||||
"Step [s]",
|
||||
"Step N [s ###]",
|
||||
"Refresh",
|
||||
"Break [^C]",
|
||||
"Break All"};
|
||||
|
||||
static int BtnLkup[6] = {
|
||||
CMD_CONT, CMD_STEP1, CMD_STEPN, CMD_RFRSH, CMD_BREAK
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -1,3 +1,14 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: gtk_enh_dbg_osdep.cc,v 1.2 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// BOCHS ENHANCED DEBUGGER Ver 1.2
|
||||
// (C) Chourdakis Michael, 2008
|
||||
// http://www.turboirc.com
|
||||
//
|
||||
// Modified by Bruce Ewing
|
||||
//
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#if BX_DEBUGGER && BX_DEBUGGER_GUI
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: siminterface.cc,v 1.189 2009-01-12 19:15:35 sshwarts Exp $
|
||||
// $Id: siminterface.cc,v 1.190 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2009 The Bochs Project
|
||||
@ -180,8 +180,8 @@ private:
|
||||
bx_bool save_sr_param(FILE *fp, bx_param_c *node, const char *sr_path, int level);
|
||||
};
|
||||
|
||||
#if BX_DEBUGGER
|
||||
// FIXME: you will probably want to put these into the SIM-> structure
|
||||
#if BX_DEBUGGER && BX_DEBUGGER_GUI
|
||||
// FIXME: these probably belong inside the bx_simulator_interface_c structure
|
||||
char *debug_cmd = NULL;
|
||||
bx_bool debug_cmd_ready = 0;
|
||||
bx_bool vgaw_refresh = 0;
|
||||
|
@ -1,7 +1,6 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: textconfig.h,v 1.7 2006-08-29 20:10:26 vruppert Exp $
|
||||
// $Id: textconfig.h,v 1.8 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
#include "config.h"
|
||||
|
||||
|
@ -1,3 +1,14 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: wenhdbg_res.h,v 1.3 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// BOCHS ENHANCED DEBUGGER Ver 1.2
|
||||
// (C) Chourdakis Michael, 2008
|
||||
// http://www.turboirc.com
|
||||
//
|
||||
// Modified by Bruce Ewing
|
||||
//
|
||||
|
||||
#ifndef BX_ENH_DBG_RES_H
|
||||
#define BX_ENH_DBG_RES_H
|
||||
|
||||
|
@ -1,15 +1,22 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: win32_enh_dbg_osdep.cc,v 1.7 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// BOCHS ENHANCED DEBUGGER Ver 1.2
|
||||
// (C) Chourdakis Michael, 2008
|
||||
// http://www.turboirc.com
|
||||
//
|
||||
// Modified by Bruce Ewing
|
||||
//
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#if BX_DEBUGGER && BX_DEBUGGER_GUI
|
||||
|
||||
#include "bochs.h"
|
||||
#include "disasm/disasm.h"
|
||||
|
||||
#include "win32dialog.h"
|
||||
#include "enh_dbg.h"
|
||||
|
||||
#include "wenhdbg_res.h" // MenuIDs
|
||||
|
||||
// Important Note! All the string manipulation functions assume one byte chars -- ie. "ascii",
|
||||
// instead of "wide" chars. If there exists a compiler that automatically assumes wide chars
|
||||
// (ie. 2 byte), then all the function names in here need to be changed to FORCE the compiler
|
||||
@ -64,7 +71,7 @@ COLORREF AsmColors[4] = {
|
||||
#define WS_POPUP_IDX 14
|
||||
|
||||
void DockResize (int j, Bit32u x); // need some function prototypes
|
||||
void SetHorzLimits(Bit32s i);
|
||||
void SetHorzLimits(void);
|
||||
void ParseIDText(char *x);
|
||||
void ShowData();
|
||||
void UpdateStatus();
|
||||
@ -80,18 +87,7 @@ void ActivateMenuItem (int LW);
|
||||
void SetMemLine (int L);
|
||||
void MakeBL(HTREEITEM *h_P, bx_param_c *p);
|
||||
|
||||
static char* DC0txt[2] = {"P.Address","L.Address"}; // DumpMode definitions in text
|
||||
|
||||
static const char* BTxt[6] = {"Continue [c]","Step [s]","Step N [s ###]","Refresh","Break [^C]","Break All"};
|
||||
|
||||
static int BtnLkup[6] = {
|
||||
CMD_CONT, CMD_STEP1, CMD_STEPN, CMD_RFRSH, CMD_BREAK
|
||||
};
|
||||
|
||||
static unsigned LstTop = 0;
|
||||
static int SizeList = 0;
|
||||
static Bit32s xClick = -1; // halfway through a mouseclick flag + location
|
||||
static Bit32s yClick = 0; // values are in Listview coordinates
|
||||
static Bit32u CurTimeStamp = 0; // last mousedown time
|
||||
|
||||
// Handles to Windows and global stuff
|
||||
@ -309,6 +305,7 @@ LRESULT CALLBACK LVProc(HWND hh, UINT mm, WPARAM ww, LPARAM ll)
|
||||
ClientToScreen(hh,&pt);
|
||||
ScreenToClient(hY,&pt); // convert to parent's coordinates
|
||||
DockResize (j, (Bit32u)pt.x);
|
||||
Sizing = 0;
|
||||
}
|
||||
}
|
||||
if (Sizing != 0)
|
||||
@ -327,6 +324,7 @@ LRESULT CALLBACK LVProc(HWND hh, UINT mm, WPARAM ww, LPARAM ll)
|
||||
else if (hh == hL[ASM_WND])
|
||||
j = ASM_WND;
|
||||
DockResize (j, (Bit32u)pt.x);
|
||||
Sizing = 0;
|
||||
}
|
||||
else if (Sizing > 5)
|
||||
SetCursor(hCursDock);
|
||||
@ -371,7 +369,7 @@ LRESULT CALLBACK LVProc(HWND hh, UINT mm, WPARAM ww, LPARAM ll)
|
||||
ScreenToClient(hY,&pt); // convert to parent's coordinates
|
||||
if (Sizing < 0) // doing a presize? -- enter full resize mode
|
||||
{
|
||||
SetHorzLimits((int) pt.x);
|
||||
SetHorzLimits();
|
||||
SetCursor(hCursResize);
|
||||
return 0; // important to eat the mousedown (for scrollbars)
|
||||
}
|
||||
@ -387,9 +385,7 @@ LRESULT CALLBACK LVProc(HWND hh, UINT mm, WPARAM ww, LPARAM ll)
|
||||
case WM_LBUTTONDOWN:
|
||||
if (Sizing < 0) // doing a presize?
|
||||
{
|
||||
GetCursorPos(&pt); // Screen coordinates
|
||||
ScreenToClient(hY,&pt); // convert to parent's coordinates
|
||||
SetHorzLimits((int) pt.x);
|
||||
SetHorzLimits();
|
||||
SetCursor(hCursResize);
|
||||
}
|
||||
else // set "pre-dock" mode
|
||||
@ -423,6 +419,7 @@ LRESULT CALLBACK LVProc(HWND hh, UINT mm, WPARAM ww, LPARAM ll)
|
||||
GetCursorPos(&pt); // Screen coordinates
|
||||
ScreenToClient(hY,&pt); // convert to parent's coordinates
|
||||
DockResize (j, (Bit32u) pt.x);
|
||||
Sizing = 0;
|
||||
}
|
||||
else if (xClick >= 0)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
// $Id: x.cc,v 1.119 2008-12-29 08:51:34 vruppert Exp $
|
||||
// $Id: x.cc,v 1.120 2009-01-31 10:04:25 sshwarts Exp $
|
||||
/////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2002 MandrakeSoft S.A.
|
||||
@ -34,6 +34,7 @@
|
||||
|
||||
#include "bochs.h"
|
||||
#include "iodev.h"
|
||||
#include "enh_dbg.h"
|
||||
#if BX_WITH_X11
|
||||
|
||||
extern "C" {
|
||||
@ -648,6 +649,14 @@ void bx_x_gui_c::specific_init(int argc, char **argv, unsigned tilewidth, unsign
|
||||
// parse x11 specific options
|
||||
if (argc > 1) {
|
||||
for (i = 1; i < argc; i++) {
|
||||
#if BX_DEBUGGER && BX_DEBUGGER_GUI
|
||||
if (!strcmp(argv[i], "gui_debug")) {
|
||||
void InitDebugDialog();
|
||||
SIM->set_debug_gui(1);
|
||||
InitDebugDialog();
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#if BX_SHOW_IPS
|
||||
if (!strcmp(argv[i], "hideIPS")) {
|
||||
x11_hide_ips = 1;
|
||||
@ -2546,6 +2555,34 @@ BxEvent *x11_notify_callback (void *unused, BxEvent *event)
|
||||
event->retcode = x11_yesno_dialog((bx_param_bool_c *)param);
|
||||
return event;
|
||||
}
|
||||
#if BX_DEBUGGER && BX_DEBUGGER_GUI
|
||||
case BX_SYNC_EVT_GET_DBG_COMMAND:
|
||||
{
|
||||
debug_cmd = new char[512];
|
||||
debug_cmd_ready = 0;
|
||||
HitBreak();
|
||||
while (debug_cmd_ready == 0 && bx_user_quit == 0)
|
||||
{
|
||||
if (vgaw_refresh != 0) // is the GUI frontend requesting a VGAW refresh?
|
||||
DEV_vga_refresh();
|
||||
vgaw_refresh = 0;
|
||||
sleep(1);
|
||||
}
|
||||
if (bx_user_quit != 0)
|
||||
BX_EXIT(0);
|
||||
|
||||
event->u.debugcmd.command = debug_cmd;
|
||||
event->retcode = 1;
|
||||
return event;
|
||||
}
|
||||
case BX_ASYNC_EVT_DBG_MSG:
|
||||
{
|
||||
ParseIDText ((char*) event->u.logmsg.msg);
|
||||
// free the char* which was allocated in dbg_printf
|
||||
delete [] ((char*)event->u.logmsg.msg);
|
||||
return event;
|
||||
}
|
||||
#endif
|
||||
case BX_SYNC_EVT_TICK: // called periodically by siminterface.
|
||||
case BX_ASYNC_EVT_REFRESH: // called when some bx_param_c parameters have changed.
|
||||
// fall into default case
|
||||
|
Loading…
Reference in New Issue
Block a user