Initial support for VDB python-based variable objects
Due to a limitation of GDB itself, one cannot create variable
object for "synthetic" argument/local created by custom frame
decorator. Therefore one cannot "dig deeper" and inspect contents
of such a variable in case it is a kind of composite - like an
object on a heap referring to another objects.
This is a problem when a debugee is does not have debug information
and / or it's language is not C - such as when debugging JITed code.
This (experimental) commit adds a parallel implementation of variable
objects done completely in python. This new varobj MI interface is a
super-set of GDB's builtin varobj MI interface.
# $Header$
#
# DO NOT EDIT
# automagically generated from the projectDefinition: jv_vdb_tests.
#
# Warning: once you modify this file, do not rerun
# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
#
# Notice, that the name bc.mak is historical (from times, when only borland c was supported).
# This file contains make rules for the win32 platform using either borland-bcc or visual-c.
# It shares common definitions with the unix-make in Make.spec.
# The bc.mak supports the following targets:
# bmake - compile all st-files to a classLib (dll)
# bmake clean - clean all temp files
# bmake clobber - clean all
#
# Historic Note:
# this used to contain only rules to make with borland
# (called via bmake, by "make.exe -f bc.mak")
# this has changed; it is now also possible to build using microsoft visual c
# (called via vcmake, by "make.exe -f bc.mak -DUSEVC")
#
TOP=..\..\..\stx
INCLUDE_TOP=$(TOP)\..
!INCLUDE $(TOP)\rules\stdHeader_bc
!INCLUDE Make.spec
LIBNAME=libjv_vdb_tests
MODULE_PATH=vdb\tests
RESFILES=jv_vdb_testsWINrc.$(RES)
LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\libgdbs -I$(INCLUDE_TOP)\jv\libgdbs\tests -I$(INCLUDE_TOP)\jv\vdb -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libview -I$(INCLUDE_TOP)\stx\libview2
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
LOCALLIBS=
OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
ALL:: classLibRule
classLibRule: $(OUTDIR) $(OUTDIR)$(LIBNAME).dll
!INCLUDE $(TOP)\rules\stdRules_bc
# build all mandatory prerequisite packages (containing superclasses) for this package
prereq:
pushd ..\..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\goodies\announcements & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\..\stx\goodies\magritte & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libgdbs & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
pushd ..\..\libgdbs\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
test: $(TOP)\goodies\builder\reports
pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
clean::
-del *.$(CSUFFIX)
# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
$(OUTDIR)VDBAbstractApplicationTests.$(O) VDBAbstractApplicationTests.$(C) VDBAbstractApplicationTests.$(H): VDBAbstractApplicationTests.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBSimpleConsoleViewTest.$(O) VDBSimpleConsoleViewTest.$(C) VDBSimpleConsoleViewTest.$(H): VDBSimpleConsoleViewTest.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBVariableObjectTests.$(O) VDBVariableObjectTests.$(C) VDBVariableObjectTests.$(H): VDBVariableObjectTests.st $(INCLUDE_TOP)\jv\libgdbs\tests\GDBDebuggerTestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)jv_vdb_tests.$(O) jv_vdb_tests.$(C) jv_vdb_tests.$(H): jv_vdb_tests.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
$(OUTDIR)VDBInstructionListApplicationTests.$(O) VDBInstructionListApplicationTests.$(C) VDBInstructionListApplicationTests.$(H): VDBInstructionListApplicationTests.st $(INCLUDE_TOP)\jv\vdb\tests\VDBAbstractApplicationTests.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)VDBSimpleDebuggerConsoleApplicationTest.$(O) VDBSimpleDebuggerConsoleApplicationTest.$(C) VDBSimpleDebuggerConsoleApplicationTest.$(H): VDBSimpleDebuggerConsoleApplicationTest.st $(INCLUDE_TOP)\jv\vdb\tests\VDBAbstractApplicationTests.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
# ENDMAKEDEPEND --- do not remove this line
# **Must be at end**
# Enforce recompilation of package definition class if Mercurial working
# copy state changes. Together with --guessVersion it ensures that package
# definition class always contains correct binary revision string.
!IFDEF HGROOT
$(OUTDIR)jv_vdb_tests.$(O): $(HGROOT)\.hg\dirstate
!ENDIF