59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
# Make sure we're in our directory (i.e., where this shell script is)
 | 
						|
echo $0
 | 
						|
cd `dirname $0`
 | 
						|
 | 
						|
# Default sed: whatever's in $PATH; set by the buildsystem to be the
 | 
						|
# host-built sed tool we know supports the syntax we use
 | 
						|
: ${SED=sed}
 | 
						|
 | 
						|
# Configure fetch method
 | 
						|
URL="http://www.minix3.org/pkgsrc/distfiles/minix/3.3.0/gcc-4.5.3.tar.bz2"
 | 
						|
BACKUP_URL="ftp://ftp.gwdg.de/pub/misc/gcc/releases/gcc-4.5.3/gcc-4.5.3.tar.bz2"
 | 
						|
FETCH=ftp
 | 
						|
if which curl >/dev/null
 | 
						|
then
 | 
						|
	FETCH="curl -O -f"
 | 
						|
fi
 | 
						|
 | 
						|
# Remove a few directories from the start, so we do not end up with a 165MB patch...
 | 
						|
DELETEDIRS="include/elf 
 | 
						|
	libada libjava libffi libgfortran 
 | 
						|
	boehm-gc gnattools 
 | 
						|
	gcc/ada gcc/fortran gcc/java 
 | 
						|
	gcc/testsuite/ada  gcc/testsuite/gnat gcc/testsuite/gnat.dg 
 | 
						|
	gcc/testsuite/gfortran.dg  gcc/testsuite/gfortran.fortran-torture 
 | 
						|
"
 | 
						|
# Fetch sources if not available
 | 
						|
if [ ! -d dist ];
 | 
						|
then
 | 
						|
	if [ ! -f gcc-4.5.3.tar.bz2 ];
 | 
						|
	then
 | 
						|
		$FETCH $URL
 | 
						|
		if [ $? -ne 0 ]; then
 | 
						|
			$FETCH $BACKUP_URL
 | 
						|
		fi
 | 
						|
	fi
 | 
						|
 | 
						|
	tar -oxjf gcc-4.5.3.tar.bz2
 | 
						|
	mv gcc-4.5.3 dist
 | 
						|
	cd dist
 | 
						|
	rm -rf $DELETEDIRS
 | 
						|
	for f in gcc/doc/gccinstall.info gcc/doc/gccint.info
 | 
						|
	do	# This is a hack to remove NUL characters in these .info
 | 
						|
		# files. They make some patch(1)es fail.
 | 
						|
		$SED 's/^..\[index..\]$/[index]/' <$f >k && mv k $f
 | 
						|
	done
 | 
						|
	cat ../patches/* | patch -p1
 | 
						|
	cp ../files/minix.h gcc/config/
 | 
						|
	cp ../files/t-minix gcc/config/
 | 
						|
	cp ../files/minix-spec.h gcc/config/
 | 
						|
	cp ../files/arm-minix.h gcc/config/arm/minix.h
 | 
						|
	cp ../files/i386-minix.h gcc/config/i386/minix.h
 | 
						|
	cp ../files/gcov-minix-fs-wrapper.h gcc/ 
 | 
						|
fi
 | 
						|
 |