RE: gdb/gnulib problems with BSD operating systems

Pierre Muller
2012-03-31T18:17:31Z

> > % /path/to/gdb/configure
> > % /home/brobecke/gmake
> >
I was wondering if the fact of
adding a full path could have an influence.
So I tested 4 variants (on GDB-7.4 sources)
Variant 1) Using just 'gmake'
Variant 2) Using '/usr/local/bin/gmake'
Variant 3) Using 'gmake all-gdb'
Variant 4) Using '/usr/local/bin/gmake all-gdb'

Clearly, only variants 1 and 2 complete successfully,
while variants using all-gdb
do have
MAKE = make
instead of
MAKE = 'gmake as called, i.e. with or without path'

There are differences in the gdb/Makefile's (see below)
but I have no idea if this explains the
failure with all-gdb target.

Pierre Muller
GDB pascal language maintainer

[pierre@freelove832 ~]$ diff -c test-gmake/gdb/Makefile
test-gmake-all-gdb/gdb/Makefile
*** test-gmake/gdb/Makefile Sat Mar 31 08:38:04 2012
--- test-gmake-all-gdb/gdb/Makefile Sat Mar 31 08:43:46 2012
***************
*** 55,62 ****
LN_S = ln -s

INSTALL = /usr/bin/install -c
! INSTALL_PROGRAM = /usr/bin/install -c
! INSTALL_DATA = /usr/bin/install -c -m 644

DESTDIR =

--- 55,62 ----
LN_S = ln -s

INSTALL = /usr/bin/install -c
! INSTALL_PROGRAM = ${INSTALL}
! INSTALL_DATA = ${INSTALL} -m 644

DESTDIR =

***************
*** 107,113 ****
YLWRAP = $(srcdir)/../ylwrap

# where to find makeinfo, preferably one designed for texinfo-2
! MAKEINFO = makeinfo --split-size=5000000
MAKEINFOFLAGS = --split-size=5000000
MAKEINFO_EXTRA_FLAGS =
MAKEINFO_CMD = $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
--- 107,113 ----
YLWRAP = $(srcdir)/../ylwrap

# where to find makeinfo, preferably one designed for texinfo-2
! MAKEINFO = makeinfo
MAKEINFOFLAGS = --split-size=5000000
MAKEINFO_EXTRA_FLAGS =
MAKEINFO_CMD = $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
***************
*** 2197,2217 ****
# simpler scheme.
#

! ifeq ($(DEPMODE),depmode=gcc3)
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.
! override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
! -MF $(DEPDIR)/$(basename $(@F)).Tpo
! override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
! $(DEPDIR)/$(basename $(@F)).Po
! else
! override COMPILE.pre = source='$<' object='$@' libtool=no \
! DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
# depcomp handles atomicity for us, so we don't need a postcompile
# step.
! override POSTCOMPILE =
! endif

# A list of all the objects we might care about in this build, for
# dependency tracking.
--- 2197,2217 ----
# simpler scheme.
#

! #ifeq ($(DEPMODE),depmode=gcc3)
# Note that we put the dependencies into a .Tpo file, then move them
# into place if the compile succeeds. We need this because gcc does
# not atomically write the dependency output file.
! #override COMPILE.post = -c -o $@ -MT $@ -MMD -MP \
! # -MF $(DEPDIR)/$(basename $(@F)).Tpo
! #override POSTCOMPILE = @mv $(DEPDIR)/$(basename $(@F)).Tpo \
! # $(DEPDIR)/$(basename $(@F)).Po
! #else
! #override COMPILE.pre = source='$<' object='$@' libtool=no \
! # DEPDIR=$(DEPDIR) $(DEPMODE) $(depcomp) $(CC)
# depcomp handles atomicity for us, so we don't need a postcompile
# step.
! #override POSTCOMPILE =
! #endif

# A list of all the objects we might care about in this build, for
# dependency tracking.
***************
*** 2221,2233 ****
# Ensure that generated files are created early. Use order-only
# dependencies if available. They require GNU make 3.80 or newer,
# and the .VARIABLES variable was introduced at the same time.
! ifdef .VARIABLES
! $(all_object_files): | $(generated_files)
! else
$(all_object_files) : $(generated_files)
! endif

# Dependencies.
! -include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))

### end of the gdb Makefile.in.
--- 2221,2233 ----
# Ensure that generated files are created early. Use order-only
# dependencies if available. They require GNU make 3.80 or newer,
# and the .VARIABLES variable was introduced at the same time.
! #ifdef .VARIABLES
! #$(all_object_files): | $(generated_files)
! #else
$(all_object_files) : $(generated_files)
! #endif

# Dependencies.
! #-include $(patsubst %.o, $(DEPDIR)/%.Po, $(all_object_files))

### end of the gdb Makefile.in.