Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH] Fix build/17105: don't install guile/python if not configured
@ 2014-07-21  4:01 Doug Evans
  2014-07-21 20:39 ` Jan Kratochvil
  0 siblings, 1 reply; 3+ messages in thread
From: Doug Evans @ 2014-07-21  4:01 UTC (permalink / raw)
  To: gdb-patches, jan.kratochvil

Hi.

This patch fixes build/17105.
Tested with/without guile,python on amd64-linux.

I'm not sure we still have to deal with shells that can't
handle empty for lists, but I played it safe.
Otherwise this patch would be a lot smaller (though a diff -b
will still show the real changes).

2014-07-19  Doug Evans  <xdje42@gmail.com>

	PR build/17105
	* configure.ac: Add AM_CONDITIONALs for HAVE_PYTHON, HAVE_GUILE.
	* configure: Regenerate.
	* data-directory/Makefile.in (PYTHON_FILE_LIST): Renamed from
	PYTHON_FILES.
	(PYTHON_FILES): New variable.
	(GUILE_FILE_LIST): Renamed from GUILE_FILES.
	(GUILE_FILES): New variable.
	(stamp-python, install-python, uninstall-python): Handle empty
	file list.
	(stamp-guile, install-guile, uninstall-guile): Ditto.

diff --git a/gdb/configure.ac b/gdb/configure.ac
index a2ac15f..3ce1a1d 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -1053,6 +1053,7 @@ fi
 AC_SUBST(PYTHON_CFLAGS)
 AC_SUBST(PYTHON_CPPFLAGS)
 AC_SUBST(PYTHON_LIBS)
+AM_CONDITIONAL(HAVE_PYTHON, test "${have_libpython}" != no)
 
 # -------------------- #
 # Check for libguile.  #
@@ -1217,6 +1218,7 @@ else
 fi
 AC_SUBST(GUILE_CPPFLAGS)
 AC_SUBST(GUILE_LIBS)
+AM_CONDITIONAL(HAVE_GUILE, test "${have_libguile}" != no)
 
 # --------------------- #
 # Check for libmcheck.  #
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
index b9fcc03..c7497db 100644
--- a/gdb/data-directory/Makefile.in
+++ b/gdb/data-directory/Makefile.in
@@ -55,7 +55,7 @@ SYSCALLS_FILES = \
 
 PYTHON_DIR = python
 PYTHON_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(PYTHON_DIR)
-PYTHON_FILES = \
+PYTHON_FILE_LIST = \
 	gdb/__init__.py \
 	gdb/frames.py \
 	gdb/FrameIterator.py \
@@ -75,9 +75,12 @@ PYTHON_FILES = \
 	gdb/function/__init__.py \
 	gdb/function/strfns.py
 
+@HAVE_PYTHON_TRUE@PYTHON_FILES = $(PYTHON_FILE_LIST)
+@HAVE_PYTHON_FALSE@PYTHON_FILES =
+
 GUILE_DIR = guile
 GUILE_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(GUILE_DIR)
-GUILE_FILES = \
+GUILE_FILE_LIST = \
 	./gdb.scm \
 	gdb/boot.scm \
 	gdb/experimental.scm \
@@ -86,6 +89,9 @@ GUILE_FILES = \
 	gdb/printing.scm \
 	gdb/types.scm
 
+@HAVE_GUILE_TRUE@GUILE_FILES = $(GUILE_FILE_LIST)
+@HAVE_GUILE_FALSE@GUILE_FILES =
+
 SYSTEM_GDBINIT_DIR = system-gdbinit
 SYSTEM_GDBINIT_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(SYSTEM_GDBINIT_DIR)
 SYSTEM_GDBINIT_FILES = \
@@ -175,11 +181,13 @@ uninstall-syscalls:
 stamp-python: Makefile $(PYTHON_FILES)
 	rm -rf ./$(PYTHON_DIR)
 	files='$(PYTHON_FILES)' ; \
-	for file in $$files ; do \
-	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
-	  $(INSTALL_DIR) ./$(PYTHON_DIR)/$$dir ; \
-	  $(INSTALL_DATA) $(PYTHON_SRCDIR)/$$file ./$(PYTHON_DIR)/$$dir ; \
-	done
+	if test "x$$files" != x ; then \
+	  for file in $$files ; do \
+	    dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	    $(INSTALL_DIR) ./$(PYTHON_DIR)/$$dir ; \
+	    $(INSTALL_DATA) $(PYTHON_SRCDIR)/$$file ./$(PYTHON_DIR)/$$dir ; \
+	  done ; \
+	fi
 	touch $@
 
 .PHONY: clean-python
@@ -190,33 +198,39 @@ clean-python:
 .PHONY: install-python
 install-python:
 	files='$(PYTHON_FILES)' ; \
-	for file in $$files ; do \
-	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
-	  $(INSTALL_DIR) $(PYTHON_INSTALL_DIR)/$$dir ; \
-	  $(INSTALL_DATA) ./$(PYTHON_DIR)/$$file $(PYTHON_INSTALL_DIR)/$$dir ; \
-	done
+	if test "x$$files" != x ; then \
+	  for file in $$files ; do \
+	    dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	    $(INSTALL_DIR) $(PYTHON_INSTALL_DIR)/$$dir ; \
+	    $(INSTALL_DATA) ./$(PYTHON_DIR)/$$file $(PYTHON_INSTALL_DIR)/$$dir ; \
+	  done ; \
+	fi
 
 .PHONY: uninstall-python
 uninstall-python:
 	files='$(PYTHON_FILES)' ; \
-	for file in $$files ; do \
-	  slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
-	  rm -f $(PYTHON_INSTALL_DIR)/$$file ; \
-	  while test "x$$file" != "x$$slashdir" ; do \
-	    rmdir 2>/dev/null "$(PYTHON_INSTALL_DIR)$$slashdir" ; \
-	    file="$$slashdir" ; \
-	    slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
-	  done \
-	done
+	if test "x$$files" != x ; then \
+	  for file in $$files ; do \
+	    slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
+	    rm -f $(PYTHON_INSTALL_DIR)/$$file ; \
+	    while test "x$$file" != "x$$slashdir" ; do \
+	      rmdir 2>/dev/null "$(PYTHON_INSTALL_DIR)$$slashdir" ; \
+	      file="$$slashdir" ; \
+	      slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	    done \
+	  done ; \
+	fi
 
 stamp-guile: Makefile $(GUILE_FILES)
 	rm -rf ./$(GUILE_DIR)
 	files='$(GUILE_FILES)' ; \
-	for file in $$files ; do \
-	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
-	  $(INSTALL_DIR) ./$(GUILE_DIR)/$$dir ; \
-	  $(INSTALL_DATA) $(GUILE_SRCDIR)/$$file ./$(GUILE_DIR)/$$dir ; \
-	done
+	if test "x$$files" != x ; then \
+	  for file in $$files ; do \
+	    dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	    $(INSTALL_DIR) ./$(GUILE_DIR)/$$dir ; \
+	    $(INSTALL_DATA) $(GUILE_SRCDIR)/$$file ./$(GUILE_DIR)/$$dir ; \
+	  done ; \
+	fi
 	touch $@
 
 .PHONY: clean-guile
@@ -227,24 +241,28 @@ clean-guile:
 .PHONY: install-guile
 install-guile:
 	files='$(GUILE_FILES)' ; \
-	for file in $$files ; do \
-	  dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
-	  $(INSTALL_DIR) $(GUILE_INSTALL_DIR)/$$dir ; \
-	  $(INSTALL_DATA) ./$(GUILE_DIR)/$$file $(GUILE_INSTALL_DIR)/$$dir ; \
-	done
+	if test "x$$files" != x ; then \
+	  for file in $$files ; do \
+	    dir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	    $(INSTALL_DIR) $(GUILE_INSTALL_DIR)/$$dir ; \
+	    $(INSTALL_DATA) ./$(GUILE_DIR)/$$file $(GUILE_INSTALL_DIR)/$$dir ; \
+	  done ; \
+	fi
 
 .PHONY: uninstall-guile
 uninstall-guile:
 	files='$(GUILE_FILES)' ; \
-	for file in $$files ; do \
-	  slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
-	  rm -f $(GUILE_INSTALL_DIR)/$$file ; \
-	  while test "x$$file" != "x$$slashdir" ; do \
-	    rmdir 2>/dev/null "$(GUILE_INSTALL_DIR)$$slashdir" ; \
-	    file="$$slashdir" ; \
-	    slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
-	  done \
-	done
+	if test "x$$files" != x ; then \
+	  for file in $$files ; do \
+	    slashdir=`echo "/$$file" | sed 's,/[^/]*$$,,'` ; \
+	    rm -f $(GUILE_INSTALL_DIR)/$$file ; \
+	    while test "x$$file" != "x$$slashdir" ; do \
+	      rmdir 2>/dev/null "$(GUILE_INSTALL_DIR)$$slashdir" ; \
+	      file="$$slashdir" ; \
+	      slashdir=`echo "$$file" | sed 's,/[^/]*$$,,'` ; \
+	    done \
+	  done ; \
+	fi
 
 stamp-system-gdbinit: Makefile $(SYSTEM_GDBINIT_FILES)
 	rm -rf ./$(SYSTEM_GDBINIT_DIR)


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix build/17105: don't install guile/python if not configured
  2014-07-21  4:01 [PATCH] Fix build/17105: don't install guile/python if not configured Doug Evans
@ 2014-07-21 20:39 ` Jan Kratochvil
  2014-07-27 14:43   ` Doug Evans
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kratochvil @ 2014-07-21 20:39 UTC (permalink / raw)
  To: Doug Evans; +Cc: gdb-patches

On Mon, 21 Jul 2014 02:02:23 +0200, Doug Evans wrote:
> This patch fixes build/17105.
> Tested with/without guile,python on amd64-linux.

BTW I find the patch fine.


Thanks,
Jan


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix build/17105: don't install guile/python if not configured
  2014-07-21 20:39 ` Jan Kratochvil
@ 2014-07-27 14:43   ` Doug Evans
  0 siblings, 0 replies; 3+ messages in thread
From: Doug Evans @ 2014-07-27 14:43 UTC (permalink / raw)
  To: Jan Kratochvil, gdb-patches

Jan Kratochvil <jan.kratochvil@redhat.com> writes:
> On Mon, 21 Jul 2014 02:02:23 +0200, Doug Evans wrote:
>> This patch fixes build/17105.
>> Tested with/without guile,python on amd64-linux.
>
> BTW I find the patch fine.

Committed to trunk and 7.8 branch.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-07-27  4:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-21  4:01 [PATCH] Fix build/17105: don't install guile/python if not configured Doug Evans
2014-07-21 20:39 ` Jan Kratochvil
2014-07-27 14:43   ` Doug Evans

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox