From: p DOT dalgaard AT biostat DOT ku DOT dk (Peter Dalgaard BSA) Subject: Re: i586-linux-pc -> i386-mingw32 [One man's porting experience] 1 Aug 1998 22:01:54 -0700 Message-ID: References: To: Marcus Brown Cc: gnu-win32 AT cygnus DOT com Marcus Brown writes: > said that it found some garbage characters in an assembler file. Trying > to make the best of a situation, I then resorted to just "make install" > and believe it or not the whole thing worked perfectly. Even the test > programs compiled and ran on NT without a hitch...Has anyone else ever > encountered anything strange when trying to do this? Yes, exactly that. The process is completely bewitched. There's some kind of mess with the egcs Makefiles that essentially makes the make work if you have a cross-compiler installed already. So you mess around, try something and it dies, try something else and it dies in another place, at some point you try "make install", and some key bit falls into place and everything works from then on -- unless you try and delete *everything* and start over in order to find a clean way of building it. Below is a Makefile that I finally persuaded to do a clean build for me. I've sent it to Mumit and he's probably able to improve it considerably, but till then, here it is: # Preliminaries: # Unpack binutils-2.9.1 somewhere # Unpack egcs somewhere and PATCH IT with Mumit's patches # if (and only if) it's version 1.0.2 # [ cd to egcs dir and # gzip -dc egcs-1.0.2-mingw32.diff.gz | patch -p2 # ] # Get the zipped files for the *native* egcs-mingw32 from Mumits # site prefix=$(shell pwd)# ... or e.g. /usr/local wkdir=$(shell pwd) # This name got a bit mangled by the Joliet CD "standard" # Note that I'm not asking you to unpack it. native=/mnt/cdrom/egcs-1~1.zip binutils=~/binutils-2.9.1 egcs=~/egcs-1.0.2 all: egcs-final egcs-final: egcs export PATH=$(PATH):$(prefix)/bin ;\ cd $(wkdir)/EGCS ;\ $(egcs)/configure --srcdir=$(egcs)\ --prefix=$(prefix) --target=i386-mingw32 ; \ make &&\ make install touch egcs-final egcs: inc-install binutils-install mkdir -p $(wkdir)/EGCS cd $(wkdir)/EGCS ; \ export PATH=$(PATH):$(prefix)/bin ;\ $(egcs)/configure --srcdir=$(egcs)\ --prefix=$(prefix) --target=i386-mingw32 ; \ make info &&\ make install LANGUAGES="c c++" touch egcs binutils-install: binutils cd $(wkdir)/BINU ; make install touch binutils-install binutils: inc-install mkdir -p $(wkdir)/BINU cd $(wkdir)/BINU ; \ $(binutils)/configure --srcdir=$(binutils) \ --prefix=$(prefix) --target=i386-mingw32 ; \ make touch binutils inc-install: unzip -o $(native) 'i386-mingw32/*' -d $(prefix) touch inc-install # This doesn't quite cut it, but I'm not going to rm $(prefix)/bin/*, etc. clean: rm -rf $(wkdir)/EGCS $(wkdir)/BINU rm egcs-final egcs binutils binutils-install inc-install -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p DOT dalgaard AT biostat DOT ku DOT dk) FAX: (+45) 35327907 - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".