From 0311e4f3416ebe2f3dbd15d9d4ede9e27af0c2cd Mon Sep 17 00:00:00 2001 From: keithmarshall Date: Tue, 28 Oct 2008 23:55:39 +0000 Subject: [PATCH] Correct some binary distribution packaging defects. --- winsup/mingw/ChangeLog | 10 ++++++++++ winsup/mingw/Makefile.in | 45 +++++++++++++++++++++++++++------------------ 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index 975e3adafc..affe5e164a 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,13 @@ +2008-10-28 Keith Marshall + + Correct some binary distribution packaging defects. + + * Makefile.in (bindist): Remove `make' conditionals; segregate into... + (bindist-common, bindist-mingwrt, bindist-mingw-runtime): ...these new + intermediate goals; they make packages of files, as specified by... + (BINDIST_FILES, DEVDIST_FILES, DLLDIST_FILES): ...these new macros. + (dist_prefix) [target_alias !~ cygwin]: Leave it undefined. + 2008-10-18 Keith Marshall Fix MinGW-Bug [2136252]: (Reported by Roumen Petrov). diff --git a/winsup/mingw/Makefile.in b/winsup/mingw/Makefile.in index e01885710f..9f0fa96bda 100644 --- a/winsup/mingw/Makefile.in +++ b/winsup/mingw/Makefile.in @@ -367,12 +367,7 @@ endif ifneq (,$(findstring cygwin, $(target_alias))) TARFLAGS = j TARFILEEXT = .tar.bz2 -endif - -ifneq (,$(findstring mingw, $(target_alias))) - dist_prefix = -else - dist_prefix = $(conf_prefix) + dist_prefix = $(conf_prefix) endif dist: srcdist bindist @@ -404,27 +399,41 @@ srcdist: rm -f $(distdir)-src.tar.gz $(TAR) $(TARFLAGS)cf $(distdir)-src$(TARFILEEXT) $(distdir) +# Binary package structure is determined according to the +# preferred package name assigned at configure time... +# +bindist: bindist-$(PACKAGE) -ifneq (,$(findstring cygwin, $(target_alias))) -bindist: +# The directory structure is common to both package styles... +# +bindist-common: rm -rf $(distdir) mkdir $(distdir) chmod 755 $(distdir) $(MAKE) install prefix=$(shell pwd)/$(distdir)$(dist_prefix) rm -f $(distdir).tar.gz + +# Current MinGW distributions prefer separate `dev' and `dll' bundles, +# and use the abbreviated `mingwrt' form for the package name... +# +DEVDIST_FILES = * --exclude=bin +DLLDIST_FILES = bin/*.dll doc/* +# +bindist-mingwrt: bindist-common cd $(distdir); \ - $(TAR) $(TARFLAGS)cf ../$(distdir)$(TARFILEEXT) * -else -bindist: + $(TAR) $(TARFLAGS)cf ../$(distdir)-dev$(TARFILEEXT) $(DEVDIST_FILES); \ + $(TAR) $(TARFLAGS)cf ../$(distdir)-dll$(TARFILEEXT) $(DLLDIST_FILES) rm -rf $(distdir) - mkdir $(distdir) - chmod 755 $(distdir) - $(MAKE) install prefix=$(shell pwd)/$(distdir)$(dist_prefix) - rm -f $(distdir).tar.gz + +# However, Cygwin maintainers continue to prefer a composite package, +# retaining the older `mingw-runtime' naming convention... +# +BINDIST_FILES = * +# +bindist-mingw-runtime: bindist-common cd $(distdir); \ - $(TAR) $(TARFLAGS)cf ../$(distdir)-dev$(TARFILEEXT) * --exclude=bin; \ - $(TAR) $(TARFLAGS)cf ../$(distdir)-dll$(TARFILEEXT) bin/*.dll -endif + $(TAR) $(TARFLAGS)cf ../$(distdir)$(TARFILEEXT) $(BINDIST_FILES) + rm -rf $(distdir) snapshot: make dist SNAPDATE=$(shell date '+%Y%m%d') -- 2.11.0