mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 22:06:40 +02:00
* check for libgdb.a
* slightly better gdbver.exe generation
This commit is contained in:
parent
c0e2d4421c
commit
02af030262
@ -121,6 +121,8 @@ override PACKAGE_NAME=gdbint
|
|||||||
override PACKAGE_VERSION=1.0.5
|
override PACKAGE_VERSION=1.0.5
|
||||||
override TARGET_UNITS+=gdbint gdbcon
|
override TARGET_UNITS+=gdbint gdbcon
|
||||||
override TARGET_EXAMPLES+=testgdb symify
|
override TARGET_EXAMPLES+=testgdb symify
|
||||||
|
override COMPILER_OBJECTDIR+=libgdb/$(OS_TARGET)
|
||||||
|
override COMPILER_LIBRARYDIR+=libgdb/$(OS_TARGET)
|
||||||
ifndef ECHO
|
ifndef ECHO
|
||||||
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH))))
|
ECHO:=$(strip $(wildcard $(addsuffix /gecho$(EXEEXT),$(SEARCHPATH))))
|
||||||
ifeq ($(ECHO),)
|
ifeq ($(ECHO),)
|
||||||
@ -882,20 +884,44 @@ info: fpc_info
|
|||||||
ifneq ($(wildcard fpcmake.loc),)
|
ifneq ($(wildcard fpcmake.loc),)
|
||||||
include fpcmake.loc
|
include fpcmake.loc
|
||||||
endif
|
endif
|
||||||
.PHONY: localgdbverexe
|
ifdef inUnix
|
||||||
localgdbverexe : ./getver$(EXEEXT)
|
CURRDIR=./
|
||||||
./getver$(EXEEXT) : ./gdbver.pp
|
|
||||||
$(COMPILER) -o./getver$(EXEEXT) gdbver.pp
|
|
||||||
ifdef GDBVER
|
|
||||||
gdbint$(PPUEXT): gdbint.pp
|
|
||||||
$(ECHO) Using GDB $(GDBVER)
|
|
||||||
$(COMPILER) -d$(GDBVER) gdbint.pp
|
|
||||||
else
|
else
|
||||||
gdbint$(PPUEXT): localgdbverexe gdbver$(EXEEXT)
|
CURRDIR=
|
||||||
$(MAKE) gdbint$(PPUEXT) GDBVER=GDB_V$(strip $(shell ./gdbver$(EXEEXT) -n))
|
endif
|
||||||
|
GDBLIBDIR+=libgdb/$(OS_TARGET)
|
||||||
|
ifeq ($(OS_TARGET),go32v2)
|
||||||
|
ifneq ($(DJDIR),)
|
||||||
|
GDBLIBDIR+=$(DJDIR)/lib
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
override LIBGDB:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
|
||||||
|
ifeq ($(LIBGDB),)
|
||||||
|
GDBFOUND=0
|
||||||
|
else
|
||||||
|
GDBFOUND=1
|
||||||
|
endif
|
||||||
|
ifeq ($(GDBFOUND),1)
|
||||||
|
$(CURRDIR)getver$(EXEEXT) : gdbver.pp
|
||||||
|
$(COMPILER) -o$(CURRDIR)getver$(EXEEXT) gdbver.pp
|
||||||
|
ifndef GOTGDBVER
|
||||||
|
gdbint$(PPUEXT): $(CURRDIR)gdbver$(EXEEXT)
|
||||||
|
$(MAKE) gdbint$(PPUEXT) GOTGDBVER=1
|
||||||
|
else
|
||||||
|
GDBVER:=GDB_V$(strip $(shell $(CURRDIR)gdbver$(EXEEXT) -n))
|
||||||
|
gdbint$(PPUEXT): gdbint.pp
|
||||||
|
@$(ECHO) Using GDB $(GDBVER)
|
||||||
|
$(COMPILER) -d$(GDBVER) gdbint.pp
|
||||||
|
$(DEL) gdbver$(EXEEXT) gdbver$(OEXT)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
GDBVER=GDB_V5
|
||||||
|
gdbint$(PPUEXT): gdbint.pp
|
||||||
|
@$(ECHO) Warning: libgdb.a not found !
|
||||||
|
@$(ECHO) Using GDB $(GDBVER)
|
||||||
|
$(COMPILER) -d$(GDBVER) gdbint.pp
|
||||||
endif
|
endif
|
||||||
gdbcon$(PPUEXT): gdbcon.pp gdbint$(PPUEXT)
|
gdbcon$(PPUEXT): gdbcon.pp gdbint$(PPUEXT)
|
||||||
gdbver$(EXEEXT): gdbver.pp
|
|
||||||
ifeq ($(OS_TARGET),go32v2)
|
ifeq ($(OS_TARGET),go32v2)
|
||||||
DBGCOM=dbgcom$(OEXT)
|
DBGCOM=dbgcom$(OEXT)
|
||||||
else
|
else
|
||||||
|
@ -11,8 +11,8 @@ units=gdbint gdbcon
|
|||||||
examples=testgdb symify
|
examples=testgdb symify
|
||||||
|
|
||||||
[compiler]
|
[compiler]
|
||||||
objdir=libgdb/$(OS_TARGET)
|
objectdir=libgdb/$(OS_TARGET)
|
||||||
libdir=libgdb/$(OS_TARGET)
|
librarydir=libgdb/$(OS_TARGET)
|
||||||
|
|
||||||
[require]
|
[require]
|
||||||
libc=y
|
libc=y
|
||||||
@ -22,26 +22,57 @@ fpcdir=../..
|
|||||||
|
|
||||||
|
|
||||||
[rules]
|
[rules]
|
||||||
.PHONY: localgdbverexe
|
# For unix be sure to use the locally created gdbver
|
||||||
|
ifdef inUnix
|
||||||
localgdbverexe : ./getver$(EXEEXT)
|
CURRDIR=./
|
||||||
|
|
||||||
./getver$(EXEEXT) : ./gdbver.pp
|
|
||||||
$(COMPILER) -o./getver$(EXEEXT) gdbver.pp
|
|
||||||
|
|
||||||
ifdef GDBVER
|
|
||||||
gdbint$(PPUEXT): gdbint.pp
|
|
||||||
$(ECHO) Using GDB $(GDBVER)
|
|
||||||
$(COMPILER) -d$(GDBVER) gdbint.pp
|
|
||||||
else
|
else
|
||||||
gdbint$(PPUEXT): localgdbverexe gdbver$(EXEEXT)
|
CURRDIR=
|
||||||
$(MAKE) gdbint$(PPUEXT) GDBVER=GDB_V$(strip $(shell ./gdbver$(EXEEXT) -n))
|
endif
|
||||||
|
|
||||||
|
GDBLIBDIR+=libgdb/$(OS_TARGET)
|
||||||
|
ifeq ($(OS_TARGET),go32v2)
|
||||||
|
ifneq ($(DJDIR),)
|
||||||
|
GDBLIBDIR+=$(DJDIR)/lib
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
# Detect if libgdb.a is available
|
||||||
|
override LIBGDB:=$(firstword $(wildcard $(addsuffix /libgdb.a,$(GDBLIBDIR))))
|
||||||
|
ifeq ($(LIBGDB),)
|
||||||
|
GDBFOUND=0
|
||||||
|
else
|
||||||
|
GDBFOUND=1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(GDBFOUND),1)
|
||||||
|
# libgdb.a found
|
||||||
|
|
||||||
|
$(CURRDIR)getver$(EXEEXT) : gdbver.pp
|
||||||
|
$(COMPILER) -o$(CURRDIR)getver$(EXEEXT) gdbver.pp
|
||||||
|
|
||||||
|
ifndef GOTGDBVER
|
||||||
|
# gdbver doesn't exists, build it first
|
||||||
|
gdbint$(PPUEXT): $(CURRDIR)gdbver$(EXEEXT)
|
||||||
|
$(MAKE) gdbint$(PPUEXT) GOTGDBVER=1
|
||||||
|
else
|
||||||
|
# gdbver exists
|
||||||
|
GDBVER:=GDB_V$(strip $(shell $(CURRDIR)gdbver$(EXEEXT) -n))
|
||||||
|
gdbint$(PPUEXT): gdbint.pp
|
||||||
|
@$(ECHO) Using GDB $(GDBVER)
|
||||||
|
$(COMPILER) -d$(GDBVER) gdbint.pp
|
||||||
|
$(DEL) gdbver$(EXEEXT) gdbver$(OEXT)
|
||||||
|
endif
|
||||||
|
|
||||||
|
else
|
||||||
|
# libgdb.a not found, default to libgdb v5
|
||||||
|
GDBVER=GDB_V5
|
||||||
|
gdbint$(PPUEXT): gdbint.pp
|
||||||
|
@$(ECHO) Warning: libgdb.a not found !
|
||||||
|
@$(ECHO) Using GDB $(GDBVER)
|
||||||
|
$(COMPILER) -d$(GDBVER) gdbint.pp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
gdbcon$(PPUEXT): gdbcon.pp gdbint$(PPUEXT)
|
gdbcon$(PPUEXT): gdbcon.pp gdbint$(PPUEXT)
|
||||||
|
|
||||||
gdbver$(EXEEXT): gdbver.pp
|
|
||||||
|
|
||||||
ifeq ($(OS_TARGET),go32v2)
|
ifeq ($(OS_TARGET),go32v2)
|
||||||
DBGCOM=dbgcom$(OEXT)
|
DBGCOM=dbgcom$(OEXT)
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user