mirror of
				https://github.com/netwide-assembler/nasm.git
				synced 2025-10-10 00:25:06 -04:00 
			
		
		
		
	Use the -9e compression level when doing xz compression. It only saves a few kilobytes, but since our files are pretty small it doesn't really take all that much time. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
		
			
				
	
	
		
			102 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash -xe
 | |
| #
 | |
| # Generate a NASM release
 | |
| #
 | |
| # Usage: release version [destination]
 | |
| #
 | |
| 
 | |
| version="$1"
 | |
| if [ -z "$1" ]; then
 | |
|     echo "Usage: $0 version [destination]" 1>&2
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| WHERE="$2"
 | |
| if [ -z "$WHERE" ]; then
 | |
|     WHERE=/var/tmp
 | |
| fi
 | |
| 
 | |
| if [ -n "$GIT_DIR" ]; then
 | |
|     HERE="$GIT_DIR"
 | |
| else
 | |
|     HERE=`pwd`
 | |
| fi
 | |
| 
 | |
| if [ x`cat version` != x"${version}" ]; then
 | |
|     echo "${version}" > version
 | |
|     git update-index version
 | |
|     git commit -m "Version ${version}" -- version
 | |
| fi
 | |
| git tag -m "NASM version ${version}" -f "nasm-${version}" 
 | |
| 
 | |
| cd "$WHERE"
 | |
| rm -rf nasm-release.*
 | |
| work=nasm-release.$$
 | |
| mkdir $work
 | |
| cd $work
 | |
| unset GIT_DIR
 | |
| git clone -s -l "$HERE" nasm
 | |
| rm -rf nasm/.git nasm/.gitignore
 | |
| 
 | |
| # Create files which are in the release but automatically generated
 | |
| cd nasm
 | |
| ./autogen.sh
 | |
| ./configure --prefix=/usr/local
 | |
| make perlreq spec
 | |
| make alldeps
 | |
| make distclean
 | |
| cd ..
 | |
| 
 | |
| # Clean up any previous attempt
 | |
| rm -f ../nasm-"$version".tar.gz  ../nasm-"$version"-xdoc.tar.gz
 | |
| rm -f ../nasm-"$version".tar.bz2 ../nasm-"$version"-xdoc.tar.bz2
 | |
| rm -f ../nasm-"$version".tar.xz  ../nasm-"$version"-xdoc.tar.xz
 | |
| rm -f ../nasm-"$version".zip     ../nasm-"$version"-xdoc.zip
 | |
| 
 | |
| # Create tarfile (Unix convention: file includes prefix)
 | |
| mv nasm nasm-"$version"
 | |
| tar cvvf  nasm-"$version".tar nasm-"$version"
 | |
| xz    -9ek nasm-"$version".tar
 | |
| bzip2 -9k  nasm-"$version".tar
 | |
| gzip  -9   nasm-"$version".tar
 | |
| mv nasm-"$version".tar.gz nasm-"$version".tar.bz2 nasm-"$version".tar.xz ..
 | |
| 
 | |
| # Create zipfile (DOS convention: no prefix, convert file endings)
 | |
| cd nasm-"$version"
 | |
| zip -9Dlr ../../nasm-"$version".zip * -x \*.jpg -x \*.zip -x \*.ico	# Text files
 | |
| zip -9Dgr ../../nasm-"$version".zip * -i \*.jpg -i \*.zip -i \*.ico	# Binary files
 | |
| cd ..
 | |
| 
 | |
| # Record what we have already generated
 | |
| find nasm-"$version" -not -type d -print > main
 | |
| 
 | |
| # Create documentation
 | |
| cd nasm-"$version"
 | |
| ./configure --prefix=/usr/local
 | |
| make doc
 | |
| # Remove intermediate files.
 | |
| make cleaner
 | |
| cd ..
 | |
| 
 | |
| # Remove non-documentation
 | |
| cat main | xargs rm -f
 | |
| # Delete empty subdirectories
 | |
| find nasm-"$version"/doc -type d -exec rmdir '{}' \; 2>/dev/null || true
 | |
| 
 | |
| # Create doc tarfile
 | |
| tar cvvf nasm-"$version"-xdoc.tar nasm-"$version"/doc
 | |
| xz    -9ek nasm-"$version"-xdoc.tar
 | |
| bzip2 -9k  nasm-"$version"-xdoc.tar
 | |
| gzip  -9   nasm-"$version"-xdoc.tar
 | |
| mv nasm-"$version"-xdoc.tar.gz nasm-"$version"-xdoc.tar.bz2 nasm-"$version"-xdoc.tar.xz ..
 | |
| 
 | |
| # Create doc zipfile (DOS convention: no prefix, convert file endings)
 | |
| # (Note: generating Win .hlp files requires additional tools)
 | |
| cd nasm-"$version"
 | |
| zip -9Dlr ../../nasm-"$version"-xdoc.zip doc -x \*.pdf -x \*.info\*
 | |
| zip -9Dgr ../../nasm-"$version"-xdoc.zip doc -i \*.pdf -i \*.info\*
 | |
| 
 | |
| # Clean up
 | |
| cd ../..
 | |
| rm -rf "$work"
 |