X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00 X-Spam-Check-By: sourceware.org Date: Wed, 19 Aug 2009 13:53:02 -0400 From: "cygwin at sipxx.com" Subject: PATCH: Cygwin 1.7 build system, reason: not all Makefiles honor installation into DESTDIR To: Cygwin Reply-to: cygwin AT sipxx DOT com Message-id: <4A8C3BFE.1030905@sipxx.com> MIME-version: 1.0 Content-type: multipart/mixed; boundary="Boundary_(ID_65ypwCQxxkW9aB2GNXjReg)" User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com --Boundary_(ID_65ypwCQxxkW9aB2GNXjReg) Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT When building the cygwin1.dll and associated pieces, it is desirable to use the proper runtime --prefix parameters to 'configure'. After building the tree, one might want to install it into a different base directory than 'prefix' using, e.g., 'make install DESTDIR=/my/own/dest', rather than installing into the running system. Unfortunately as it stands, the build system will install only a portion of the code into 'DESTDIR/prefix', and another portion simply into 'prefix'. The attached patch corrects the relevant Makefiles to honor the DESTDIR variable. -Karl Brose --Boundary_(ID_65ypwCQxxkW9aB2GNXjReg) Content-type: text/plain; name=cygwin-1.7.0-build.patch Content-transfer-encoding: 7BIT Content-disposition: inline; filename=cygwin-1.7.0-build.patch diff -ru orig/winsup/mingw/Makefile.in src/winsup/mingw/Makefile.in --- orig/winsup/mingw/Makefile.in 2009-07-27 16:27:09.000000000 -0400 +++ src/winsup/mingw/Makefile.in 2009-08-18 21:56:33.968750000 -0400 @@ -86,10 +86,11 @@ # configure script should simply assign appropriate values to # the standard macros, which should be used herein. # -inst_bindir:=$(tooldir)/bin -inst_includedir:=$(tooldir)/include/mingw -inst_libdir:=$(tooldir)/lib/mingw -inst_docdir:=$(tooldir)/share/doc/mingw-runtime +inst_bindir:=$(DESTDIR)$(tooldir)/bin +inst_includedir:=$(DESTDIR)$(tooldir)/include/mingw +inst_libdir:=$(DESTDIR)$(tooldir)/lib/mingw +inst_docdir:=$(DESTDIR)$(tooldir)/share/doc/mingw-runtime +inst_mandir:=$(DESTDIR)$(mandir) else ifneq (,$(with_cross_host)) # @@ -100,15 +101,17 @@ # of these settings is the prerogative of the configure script, # and they should use standard names, as noted above. # -inst_bindir:=$(tooldir)/bin -inst_includedir:=$(tooldir)/include -inst_libdir:=$(tooldir)/lib -inst_docdir:=$(tooldir)/share/doc/mingw-runtime +inst_bindir:=$(DESTDIR)$(tooldir)/bin +inst_includedir:=$(DESTDIR)$(tooldir)/include +inst_libdir:=$(DESTDIR)$(tooldir)/lib +inst_docdir:=$(DESTDIR)$(tooldir)/share/doc/mingw-runtime +inst_mandir:=$(DESTDIR)$(mandir) else -inst_bindir:=$(bindir) -inst_includedir:=$(includedir) -inst_libdir:=$(libdir) -inst_docdir:=$(prefix)/doc/runtime +inst_bindir:=$(DESTDIR)$(bindir) +inst_includedir:=$(DESTDIR)$(includedir) +inst_libdir:=$(DESTDIR)$(libdir) +inst_docdir:=$(DESTDIR)$(prefix)/doc/runtime +inst_mandir:=$(DESTDIR)$(mandir) endif endif @@ -195,6 +198,7 @@ # FIXME: Most of these are either redundant, or should be set # directly in the subdirectories' Makefiles, by `configure'. FLAGS_TO_PASS:=\ + DESTDIR="$(DESTDIR)" \ AS="$(AS)" \ CC="$(CC)" \ CFLAGS="$(CFLAGS) $(CFLAGS_COMMON) $(CFLAGS_CONFIG)" \ @@ -498,7 +502,7 @@ $(mkinstalldirs) $(inst_includedir) $(mkinstalldirs) $(inst_libdir) $(mkinstalldirs) $(inst_docdir) - $(mkinstalldirs) $(mandir)/man$(mansection) + $(mkinstalldirs) $(inst_mandir)/man$(mansection) install: all install-dirs $(install_dlls_host) for i in $(LIBS); do \ @@ -521,10 +525,10 @@ # This provisional hack installs the only manpage we have at present... # It simply CANNOT suffice, when we have more manpages to ship. # - $(mkinstalldirs) $(mandir)/man$(mansection) - $(INSTALL_DATA) $(srcdir)/man/dirname.man $(mandir)/man$(mansection)/`\ + $(mkinstalldirs) $(inst_mandir)/man$(mansection) + $(INSTALL_DATA) $(srcdir)/man/dirname.man $(inst_mandir)/man$(mansection)/`\ echo dirname.man|sed '$(manpage_transform);s,man$$,$(mansection),'` - $(INSTALL_DATA) $(srcdir)/man/dirname.man $(mandir)/man$(mansection)/`\ + $(INSTALL_DATA) $(srcdir)/man/dirname.man $(inst_mandir)/man$(mansection)/`\ echo basename.man|sed '$(manpage_transform);s,man$$,$(mansection),'` # # End provisional hack. diff -ru orig/winsup/w32api/lib/Makefile.in src/winsup/w32api/lib/Makefile.in --- orig/winsup/w32api/lib/Makefile.in 2008-01-29 16:18:49.000000000 -0500 +++ src/winsup/w32api/lib/Makefile.in 2009-08-18 21:24:16.281250000 -0400 @@ -41,15 +41,15 @@ datadir = @datadir@ infodir = @infodir@ ifneq (,$(findstring cygwin,$(target_alias))) -inst_includedir:=$(tooldir)/include/w32api -inst_libdir:=$(tooldir)/lib/w32api +inst_includedir:=$(DESTDIR)$(tooldir)/include/w32api +inst_libdir:=$(DESTDIR)$(tooldir)/lib/w32api else ifneq (,$(with_cross_host)) -inst_includedir:=$(tooldir)/include/w32api -inst_libdir:=$(tooldir)/lib +inst_includedir:=$(DESTDIR)$(tooldir)/include/w32api +inst_libdir:=$(DESTDIR)$(tooldir)/lib else -inst_includedir:=$(includedir) -inst_libdir:=$(libdir) +inst_includedir:=$(DESTDIR)$(includedir) +inst_libdir:=$(DESTDIR)$(libdir) endif endif diff -ru orig/winsup/w32api/lib/ddk/Makefile.in src/winsup/w32api/lib/ddk/Makefile.in --- orig/winsup/w32api/lib/ddk/Makefile.in 2006-09-11 20:29:04.000000000 -0400 +++ src/winsup/w32api/lib/ddk/Makefile.in 2009-08-18 21:32:45.468750000 -0400 @@ -37,15 +37,15 @@ datadir = @datadir@ infodir = @infodir@ ifneq (,$(findstring cygwin,$(target_alias))) -inst_includedir:=$(tooldir)/include/w32api/ddk -inst_libdir:=$(tooldir)/lib/w32api +inst_includedir:=$(DESTDIR)$(tooldir)/include/w32api/ddk +inst_libdir:=$(DESTDIR)$(tooldir)/lib/w32api else ifneq (,$(with_cross_host)) -inst_includedir:=$(tooldir)/include/w32api/ddk -inst_libdir:=$(tooldir)/lib +inst_includedir:=$(DESTDIR)$(tooldir)/include/w32api/ddk +inst_libdir:=$(DESTDIR)$(tooldir)/lib else -inst_includedir:=$(includedir)/ddk -inst_libdir:=$(libdir) +inst_includedir:=$(DESTDIR)$(includedir)/ddk +inst_libdir:=$(DESTDIR)$(libdir) endif endif diff -ru orig/winsup/w32api/lib/directx/Makefile.in src/winsup/w32api/lib/directx/Makefile.in --- orig/winsup/w32api/lib/directx/Makefile.in 2006-09-11 20:29:04.000000000 -0400 +++ src/winsup/w32api/lib/directx/Makefile.in 2009-08-18 21:39:49.750000000 -0400 @@ -37,15 +37,15 @@ datadir = @datadir@ infodir = @infodir@ ifneq (,$(findstring cygwin,$(target_alias))) -inst_includedir:=$(tooldir)/include/w32api -inst_libdir:=$(tooldir)/lib/w32api +inst_includedir:=$(DESTDIR)$(tooldir)/include/w32api +inst_libdir:=$(DESTDIR)$(tooldir)/lib/w32api else ifneq (,$(with_cross_host)) -inst_includedir:=$(tooldir)/include/w32api -inst_libdir:=$(tooldir)/lib +inst_includedir:=$(DESTDIR)$(tooldir)/include/w32api +inst_libdir:=$(DESTDIR)$(tooldir)/lib else -inst_includedir:=$(includedir) -inst_libdir:=$(libdir) +inst_includedir:=$(DESTDIR)$(includedir) +inst_libdir:=$(DESTDIR)$(libdir) endif endif --Boundary_(ID_65ypwCQxxkW9aB2GNXjReg) Content-Type: text/plain; charset=us-ascii -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple --Boundary_(ID_65ypwCQxxkW9aB2GNXjReg)--