[Ping] Re: [Patch] Fix PR56780: --disable-install-libiberty still installs libiberty.a
Hi, Is anyone able to review the below please (original patch attached to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56780 and first posted at http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00167.html Thanks, Matt. On Wed, 2013-04-03 at 15:03 +0100, Matt Burgess wrote: > Hi, > > Please find attached a patch that fixes PR56780. Build tested on > x86_64-linux. I've also attached it to the bug. > > Regards, > > Matt Burgess > > 2013-04-03 Matt Burgess > > other/PR56780 > * libiberty/configure.ac: > Move test for --enable-install-libiberty outside of the > 'with_target_subdir' test so that it actually gets run. > Add output messages to show the test result. > > * libiberty/configure: > Regenerate. > > * libiberty/Makefile.in (install_to_libdir): > Place the installation of the libiberty library in the same guard as > that used for the headers to prevent it being installed unless requested > via --enable-install-libiberty.
Re: [Patch] Fix PR56780: --disable-install-libiberty still installs libiberty.a
Hi Ian, Thanks for the review. Here's v2, which I think addresses both of your comments. Kind Regards, Matt. 2013-05-22 Matt Burgess other/PR56780 * libiberty/configure.ac: Move test for --enable-install-libiberty outside of the 'with_target_subdir' test so that it actually gets run. Add output messages to show the test result. * libiberty/configure: Regenerate. * libiberty/Makefile.in (install_to_libdir): Place the installation of the libiberty library in the same guard as that used for the headers to prevent it being installed unless requested via --enable-install-libiberty. Index: libiberty/Makefile.in === --- libiberty/Makefile.in (revision 197373) +++ libiberty/Makefile.in (working copy) @@ -355,19 +355,19 @@ # since it will be passed the multilib flags. MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` install_to_libdir: all - ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) - $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n - ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ) - mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB) if test -n "${target_header_dir}"; then \ - case "${target_header_dir}" in \ - /*)thd=${target_header_dir};; \ - *) thd=${includedir}/${target_header_dir};; \ - esac; \ - ${mkinstalldirs} $(DESTDIR)$${thd}; \ - for h in ${INSTALLED_HEADERS}; do \ - ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ - done; \ + ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ + $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \ + ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ + mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ + case "${target_header_dir}" in \ + /*)thd=${target_header_dir};; \ + *) thd=${includedir}/${target_header_dir};; \ + esac; \ + ${mkinstalldirs} $(DESTDIR)$${thd}; \ + for h in ${INSTALLED_HEADERS}; do \ + ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ + done; \ fi @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install Index: libiberty/configure.ac === --- libiberty/configure.ac (revision 197373) +++ libiberty/configure.ac (working copy) @@ -128,6 +128,31 @@ cross_compiling=maybe fi +# We may wish to install the target headers somewhere. +AC_MSG_CHECKING([whether to install libiberty headers and static library]) +dnl install-libiberty is disabled by default + +AC_ARG_ENABLE(install-libiberty, +[ --enable-install-libiberty Install headers and library for end users], +enable_install_libiberty=$enableval, +enable_install_libiberty=no)dnl + +# Option parsed, now set things appropriately. +case x"$enable_install_libiberty" in + xyes|x) +target_header_dir=libiberty +;; + xno) +target_header_dir= +;; + *) +# This could be sanity-checked in various ways... +target_header_dir="${enable_install_libiberty}" +;; +esac +AC_MSG_RESULT($enable_install_libiberty) +AC_MSG_NOTICE([target_header_dir = $target_header_dir]) + GCC_NO_EXECUTABLES AC_PROG_CC AC_SYS_LARGEFILE @@ -492,27 +517,6 @@ esac - # We may wish to install the target headers somewhere. - AC_ARG_ENABLE(install-libiberty, - [ --enable-install-libiberty Install headers for end users], - enable_install_libiberty=$enableval, - enable_install_libiberty=no)dnl - - # Option parsed, now set things appropriately. - case x"$enable_install_libiberty" in -xyes|x) - target_header_dir=libiberty - ;; -xno) - target_header_dir= - ;; -*) - # This could be sanity-checked in various ways... - target_header_dir="${enable_install_libiberty}" - ;; - esac - - else # Not a target library, so we set things up to run the test suite.
Re: [Patch] Fix PR56780: --disable-install-libiberty still installs libiberty.a
On Wed, 2013-05-22 at 15:13 -0700, Ian Lance Taylor wrote: > On Wed, May 22, 2013 at 2:41 PM, Matt Burgess > wrote: > > > > 2013-05-22 Matt Burgess > > > > other/PR56780 > > * libiberty/configure.ac: Move test for --enable-install-libiberty > > outside of the 'with_target_subdir' test so that it actually gets > > run. > > Add output messages to show the test result. > > * libiberty/configure: Regenerate. > > * libiberty/Makefile.in (install_to_libdir): Place the installation > > of the libiberty library in the same guard as that used for the > > headers to prevent it being installed unless requested via > > --enable-install-libiberty. > > This is OK. Thanks, Ian. Another step in the contributing guidelines I seem to have missed is to inform you that I don't have write access to the GCC repo. If you could commit this for me please, I'd appreciate it. Thanks, Matt.
[Patch] Fix PR56780: --disable-install-libiberty still installs libiberty.a
Hi, Please find attached a patch that fixes PR56780. Build tested on x86_64-linux. I've also attached it to the bug. Regards, Matt Burgess 2013-04-03 Matt Burgess other/PR56780 * libiberty/configure.ac: Move test for --enable-install-libiberty outside of the 'with_target_subdir' test so that it actually gets run. Add output messages to show the test result. * libiberty/configure: Regenerate. * libiberty/Makefile.in (install_to_libdir): Place the installation of the libiberty library in the same guard as that used for the headers to prevent it being installed unless requested via --enable-install-libiberty. Index: libiberty/Makefile.in === --- libiberty/Makefile.in (revision 197373) +++ libiberty/Makefile.in (working copy) @@ -355,19 +355,19 @@ # since it will be passed the multilib flags. MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` install_to_libdir: all - ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) - $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n - ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ) - mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB) if test -n "${target_header_dir}"; then \ - case "${target_header_dir}" in \ - /*)thd=${target_header_dir};; \ - *) thd=${includedir}/${target_header_dir};; \ - esac; \ - ${mkinstalldirs} $(DESTDIR)$${thd}; \ - for h in ${INSTALLED_HEADERS}; do \ - ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ - done; \ + ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ + $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \ + ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ + mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ + case "${target_header_dir}" in \ + /*)thd=${target_header_dir};; \ + *) thd=${includedir}/${target_header_dir};; \ + esac; \ + ${mkinstalldirs} $(DESTDIR)$${thd}; \ + for h in ${INSTALLED_HEADERS}; do \ + ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \ + done; \ fi @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install Index: libiberty/configure.ac === --- libiberty/configure.ac (revision 197373) +++ libiberty/configure.ac (working copy) @@ -128,6 +128,31 @@ cross_compiling=maybe fi +# We may wish to install the target headers somewhere. +AC_MSG_CHECKING([whether to install libiberty headers and static library]) +dnl install-libiberty is disabled by default + +AC_ARG_ENABLE(install-libiberty, +[ --enable-install-libiberty Install headers for end users], +enable_install_libiberty=$enableval, +enable_install_libiberty=no)dnl + +# Option parsed, now set things appropriately. +case x"$enable_install_libiberty" in + xyes|x) +target_header_dir=libiberty +;; + xno) +target_header_dir= +;; + *) +# This could be sanity-checked in various ways... +target_header_dir="${enable_install_libiberty}" +;; +esac +AC_MSG_RESULT($enable_install_libiberty) +AC_MSG_NOTICE([target_header_dir = $target_header_dir]) + GCC_NO_EXECUTABLES AC_PROG_CC AC_SYS_LARGEFILE @@ -492,27 +517,6 @@ esac - # We may wish to install the target headers somewhere. - AC_ARG_ENABLE(install-libiberty, - [ --enable-install-libiberty Install headers for end users], - enable_install_libiberty=$enableval, - enable_install_libiberty=no)dnl - - # Option parsed, now set things appropriately. - case x"$enable_install_libiberty" in -xyes|x) - target_header_dir=libiberty - ;; -xno) - target_header_dir= - ;; -*) - # This could be sanity-checked in various ways... - target_header_dir="${enable_install_libiberty}" - ;; - esac - - else # Not a target library, so we set things up to run the test suite.