Package: mingw32
Version: 4.2.1.dfsg-1
Severity: wishlist
Tags: patch

Please could you provide a 64-bit version of mingw32?  Patch attached.

Note: only the compiler itself is built, since libgcc etc requires runtime
      headers/libraries which are not yet packaged (and can't be packaged
      without the compiler ;-)).

-- System Information:
Debian Release: 5.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.18-6-amd64 (SMP w/2 CPU cores)
Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages mingw32 depends on:
ii  libc6                 2.7-18             GNU C Library: Shared libraries
ii  libgmp3c2             2:4.2.2+dfsg-3     Multiprecision arithmetic library
ii  libmpfr1ldbl          2.3.2.dfsg.1-1     multiple precision floating-point 
ii  mingw32-binutils      2.18.50-20080109-1 Minimalist GNU win32 (cross) binut
ii  mingw32-runtime       3.13-1             Minimalist GNU win32 (cross) runti

mingw32 recommends no packages.

Versions of packages mingw32 suggests:
pn  cpp-doc                       <none>     (no description available)
pn  gcc-doc                       <none>     (no description available)
diff -ur mingw32-4.2.1.dfsg.gcc-source/debian/control mingw32-4.2.1.dfsg.amd64/debian/control
--- mingw32-4.2.1.dfsg.gcc-source/debian/control	2009-02-04 22:58:25.000000000 +0100
+++ mingw32-4.2.1.dfsg.amd64/debian/control	2009-02-05 00:48:49.000000000 +0100
@@ -17,3 +17,14 @@
  .
  This package contains the C and C++ cross compilers.
 
+Package: mingw64
+Architecture: any
+Depends: ${shlibs:Depends}
+Suggests: gcc-doc, cpp-doc
+Description: Minimalist GNU win64 (cross) compiler
+ A Linux hosted, win64 target, cross compiler for C/C++
+ .
+ Freedom through obsolescence.  Those who still really need to
+ can now build windows executables from the comfort of Debian.
+ .
+ This package contains the C and C++ cross compilers.
diff -ur mingw32-4.2.1.dfsg.gcc-source/debian/rules mingw32-4.2.1.dfsg.amd64/debian/rules
--- mingw32-4.2.1.dfsg.gcc-source/debian/rules	2009-02-04 23:19:40.000000000 +0100
+++ mingw32-4.2.1.dfsg.amd64/debian/rules	2009-02-05 02:18:32.000000000 +0100
@@ -7,7 +7,9 @@
 #export DH_VERBOSE=1
 
 package = mingw32
+package64 = mingw64
 target  = i586-mingw32msvc
+target64 = amd64-mingw32msvc
 
 top_dir      := $(shell pwd)
 upstream_dir := /usr/src/gcc-4.3
@@ -15,6 +17,7 @@
 build_dir    := $(top_dir)/build_dir
 build_src    := $(build_dir)/src
 build_objs   := $(build_dir)/objs
+build_objs64 := $(build_dir)/objs64
 
 man1dir = usr/share/man/man1
 
@@ -31,20 +34,27 @@
 endif
 
 
-build : build-stamp
+build : build-stamp build64-stamp
 
-configure-stamp : unpack-stamp
-	dh_testdir
-	mkdir -p $(build_objs)
-	cd $(build_objs)							\
-		&& $(build_src)/gcc-$(release)/configure -v			\
+CONFFLAGS = 				 -v					\
 					--prefix=/usr				\
-					--target=$(target)			\
 					--enable-languages=c,c++		\
 					--enable-threads			\
 					--enable-sjlj-exceptions		\
 					--disable-multilib			\
 					--enable-version-specific-runtime-libs
+
+
+configure-stamp : unpack-stamp
+	dh_testdir
+	mkdir -p $(build_objs)
+	cd $(build_objs) && $(build_src)/gcc-$(release)/configure $(CONFFLAGS) --target=$(target)
+	touch $@
+
+configure64-stamp : unpack-stamp
+	dh_testdir
+	mkdir -p $(build_objs64)
+	cd $(build_objs64) && $(build_src)/gcc-$(release)/configure $(CONFFLAGS) --target=$(target64)
 	touch $@
 
 build-stamp : configure-stamp
@@ -53,30 +63,40 @@
 
 	touch $@
 
+build64-stamp : configure64-stamp
+	dh_testdir
+	cd $(build_objs64) && $(MAKE) all-gcc
+
+	touch $@
+
 
 install : install-stamp
 
-install-stamp : build-stamp
+install-stamp : build-stamp build64-stamp
 	dh_testdir
 	dh_testroot
 	dh_clean -k
 
-	dh_installdirs usr/share/lintian/overrides
+	dh_installdirs -A usr/share/lintian/overrides
 	cd $(build_objs)								\
 		&& $(MAKE) install prefix=$(top_dir)/debian/$(package)/usr		\
 				   mandir=$(top_dir)/debian/$(package)/usr/share/man
+	cd $(build_objs64)								\
+		&& $(MAKE) install-gcc prefix=$(top_dir)/debian/$(package64)/usr	\
+				   mandir=$(top_dir)/debian/$(package64)/usr/share/man
 
 	# remove some non-cross stuff that will clash with other packages
 	# and shuffle things about as required.
-	rm -rf debian/$(package)/usr/include
-	rm -rf debian/$(package)/usr/info
-	rm -rf debian/$(package)/usr/share/locale
-	rm debian/$(package)/usr/lib/*a
-	rm -rf debian/$(package)/usr/share/man/man7
+	rm -rf debian/{$(package),$(package64)}/usr/include
+	rm -rf debian/{$(package),$(package64)}/usr/info
+	rm -rf debian/{$(package),$(package64)}/usr/share/locale
+	rm -f debian/{$(package),$(package64)}/usr/lib/*a
+	rm -rf debian/{$(package),$(package64)}/usr/share/man/man7
 
 	# install override for the non fhs target dir gcc wants to use
 	# (until we find a better solution or change policy)
 	cp debian/lintian-overrides debian/$(package)/usr/share/lintian/overrides/$(package)
+	cp debian/lintian-overrides debian/$(package64)/usr/share/lintian/overrides/$(package64)
 
 	touch $@
 
@@ -121,7 +141,7 @@
 binary-arch: build install
 	dh_testdir
 	dh_testroot
-	dh_installdocs
+	dh_installdocs -s
 
 	# Don't make symlinks to the non-free docs,
 	# some people seem happy enough to do without them
@@ -134,19 +154,25 @@
 #		$(man1dir)/$(target)-gcc.1.gz	$(man1dir)/$(target)-cc.1.gz	\
 #		$(man1dir)/$(target)-gcc.1.gz  	$(man1dir)/$(target)-gcc-$(version).1.gz
 
-	dh_installchangelogs
+	dh_installchangelogs -s
 
 	# install symlinks to enable compilercache use.
 # This first one is just missing from the gcc install.
 #
-	dh_link /usr/bin/$(target)-gcc /usr/bin/$(target)-cc				  \
+	dh_link -p$(package) /usr/bin/$(target)-gcc /usr/bin/$(target)-cc				  \
 		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target)-c++ \
 		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target)-cc  \
 		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target)-g++ \
 		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target)-gcc
 
-	dh_strip -Xusr/$(target)/lib                         \
-		 -Xusr/lib/gcc/$(target)/$(version)/lib
+	dh_link -p$(package64) /usr/bin/$(target64)-gcc /usr/bin/$(target64)-cc				  \
+		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target64)-c++ \
+		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target64)-cc  \
+		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target64)-g++ \
+		/usr/lib/compilercache/compilercache /usr/lib/compilercache/$(target64)-gcc
+
+	dh_strip -s -Xusr/{$(target),$(target64)}/lib                         \
+		 -Xusr/lib/gcc/{$(target),$(target64)}/$(version)/lib
 	$(target)-strip --strip-debug 	debian/$(package)/usr/$(target)/lib/*.a
 	$(target)-strip --strip-debug 	debian/$(package)/usr/lib/gcc/$(target)/$(version)/*.{a,o}
 
@@ -154,18 +180,20 @@
 
 	find debian/$(package)/usr/lib/gcc/$(target)/$(version)/include  \
 	     -type f -exec chmod 644 {} \;
+	find debian/$(package64)/usr/lib/gcc/$(target64)/$(version)/include  \
+	     -type f -exec chmod 644 {} \;
 
 # This is wrong, they are host not target binaries, let dh_strip get them above.
 #	$(target)-strip --remove-section=.comment --remove-section=.note \
 #		debian/$(package)/usr/lib/gcc-lib/$(target)/$(version)/{cc1,cc1plus,cpp0,tradcpp0}
 
-	dh_compress
-	dh_fixperms
-	dh_installdeb
-	dh_shlibdeps
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
+	dh_compress -s
+	dh_fixperms -s
+	dh_installdeb -s
+	dh_shlibdeps -s
+	dh_gencontrol -s
+	dh_md5sums -s
+	dh_builddeb -s
 
 binary: binary-indep binary-arch
 

Reply via email to