www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/08/19/13:53:07

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" <cygwin AT sipxx DOT com>
Subject: PATCH: Cygwin 1.7 build system, reason: not all Makefiles honor installation into DESTDIR
To: Cygwin <cygwin AT cygwin DOT com>
Reply-to: cygwin AT sipxx DOT com
Message-id: <4A8C3BFE.1030905@sipxx.com>
MIME-version: 1.0
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: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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)--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019