diff options
author | H. Peter Anvin <hpa@zytor.com> | 2016-05-25 12:06:29 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2016-05-25 12:06:29 -0700 |
commit | e1f985c167495185c55c46e640f2607604597383 (patch) | |
tree | 3ddd11d12e6a3bf6e21c39d1342175d5488d8d39 /misc | |
parent | 22538e2b6713d6e4e05fb82c6969320a519b4c93 (diff) | |
download | nasm-e1f985c167495185c55c46e640f2607604597383.tar.gz |
Reorganize the source code into subdirectories
Make the source code easier to understand and keep track of by
organizing it into subdirectories depending on the function.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'misc')
-rwxr-xr-x | misc/cleanfile | 176 | ||||
-rwxr-xr-x | misc/cleanpatch | 258 | ||||
-rwxr-xr-x | misc/makedist.sh | 71 | ||||
-rwxr-xr-x | misc/release | 101 | ||||
-rwxr-xr-x | misc/tag-release | 58 |
5 files changed, 0 insertions, 664 deletions
diff --git a/misc/cleanfile b/misc/cleanfile deleted file mode 100755 index cefd29e5..00000000 --- a/misc/cleanfile +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/perl -w -# -# Clean a text file -- or directory of text files -- of stealth whitespace. -# WARNING: this can be a highly destructive operation. Use with caution. -# - -use bytes; -use File::Basename; - -# Default options -$max_width = 79; - -# Clean up space-tab sequences, either by removing spaces or -# replacing them with tabs. -sub clean_space_tabs($) -{ - no bytes; # Tab alignment depends on characters - - my($li) = @_; - my($lo) = ''; - my $pos = 0; - my $nsp = 0; - my($i, $c); - - for ($i = 0; $i < length($li); $i++) { - $c = substr($li, $i, 1); - if ($c eq "\t") { - my $npos = ($pos+$nsp+8) & ~7; - my $ntab = ($npos >> 3) - ($pos >> 3); - $lo .= "\t" x $ntab; - $pos = $npos; - $nsp = 0; - } elsif ($c eq "\n" || $c eq "\r") { - $lo .= " " x $nsp; - $pos += $nsp; - $nsp = 0; - $lo .= $c; - $pos = 0; - } elsif ($c eq " ") { - $nsp++; - } else { - $lo .= " " x $nsp; - $pos += $nsp; - $nsp = 0; - $lo .= $c; - $pos++; - } - } - $lo .= " " x $nsp; - return $lo; -} - -# Compute the visual width of a string -sub strwidth($) { - no bytes; # Tab alignment depends on characters - - my($li) = @_; - my($c, $i); - my $pos = 0; - my $mlen = 0; - - for ($i = 0; $i < length($li); $i++) { - $c = substr($li,$i,1); - if ($c eq "\t") { - $pos = ($pos+8) & ~7; - } elsif ($c eq "\n") { - $mlen = $pos if ($pos > $mlen); - $pos = 0; - } else { - $pos++; - } - } - - $mlen = $pos if ($pos > $mlen); - return $mlen; -} - -$name = basename($0); - -@files = (); - -while (defined($a = shift(@ARGV))) { - if ($a =~ /^-/) { - if ($a eq '-width' || $a eq '-w') { - $max_width = shift(@ARGV)+0; - } else { - print STDERR "Usage: $name [-width #] files...\n"; - exit 1; - } - } else { - push(@files, $a); - } -} - -foreach $f ( @files ) { - print STDERR "$name: $f\n"; - - if (! -f $f) { - print STDERR "$f: not a file\n"; - next; - } - - if (!open(FILE, '+<', $f)) { - print STDERR "$name: Cannot open file: $f: $!\n"; - next; - } - - binmode FILE; - - # First, verify that it is not a binary file; consider any file - # with a zero byte to be a binary file. Is there any better, or - # additional, heuristic that should be applied? - $is_binary = 0; - - while (read(FILE, $data, 65536) > 0) { - if ($data =~ /\0/) { - $is_binary = 1; - last; - } - } - - if ($is_binary) { - print STDERR "$name: $f: binary file\n"; - next; - } - - seek(FILE, 0, 0); - - $in_bytes = 0; - $out_bytes = 0; - $blank_bytes = 0; - - @blanks = (); - @lines = (); - $lineno = 0; - - while ( defined($line = <FILE>) ) { - $lineno++; - $in_bytes += length($line); - $line =~ s/[ \t\r]*$//; # Remove trailing spaces - $line = clean_space_tabs($line); - - if ( $line eq "\n" ) { - push(@blanks, $line); - $blank_bytes += length($line); - } else { - push(@lines, @blanks); - $out_bytes += $blank_bytes; - push(@lines, $line); - $out_bytes += length($line); - @blanks = (); - $blank_bytes = 0; - } - - $l_width = strwidth($line); - if ($max_width && $l_width > $max_width) { - print STDERR - "$f:$lineno: line exceeds $max_width characters ($l_width)\n"; - } - } - - # Any blanks at the end of the file are discarded - - if ($in_bytes != $out_bytes) { - # Only write to the file if changed - seek(FILE, 0, 0); - print FILE @lines; - - if ( !defined($where = tell(FILE)) || - !truncate(FILE, $where) ) { - die "$name: Failed to truncate modified file: $f: $!\n"; - } - } - - close(FILE); -} diff --git a/misc/cleanpatch b/misc/cleanpatch deleted file mode 100755 index 9680d03a..00000000 --- a/misc/cleanpatch +++ /dev/null @@ -1,258 +0,0 @@ -#!/usr/bin/perl -w -# -# Clean a patch file -- or directory of patch files -- of stealth whitespace. -# WARNING: this can be a highly destructive operation. Use with caution. -# - -use bytes; -use File::Basename; - -# Default options -$max_width = 79; - -# Clean up space-tab sequences, either by removing spaces or -# replacing them with tabs. -sub clean_space_tabs($) -{ - no bytes; # Tab alignment depends on characters - - my($li) = @_; - my($lo) = ''; - my $pos = 0; - my $nsp = 0; - my($i, $c); - - for ($i = 0; $i < length($li); $i++) { - $c = substr($li, $i, 1); - if ($c eq "\t") { - my $npos = ($pos+$nsp+8) & ~7; - my $ntab = ($npos >> 3) - ($pos >> 3); - $lo .= "\t" x $ntab; - $pos = $npos; - $nsp = 0; - } elsif ($c eq "\n" || $c eq "\r") { - $lo .= " " x $nsp; - $pos += $nsp; - $nsp = 0; - $lo .= $c; - $pos = 0; - } elsif ($c eq " ") { - $nsp++; - } else { - $lo .= " " x $nsp; - $pos += $nsp; - $nsp = 0; - $lo .= $c; - $pos++; - } - } - $lo .= " " x $nsp; - return $lo; -} - -# Compute the visual width of a string -sub strwidth($) { - no bytes; # Tab alignment depends on characters - - my($li) = @_; - my($c, $i); - my $pos = 0; - my $mlen = 0; - - for ($i = 0; $i < length($li); $i++) { - $c = substr($li,$i,1); - if ($c eq "\t") { - $pos = ($pos+8) & ~7; - } elsif ($c eq "\n") { - $mlen = $pos if ($pos > $mlen); - $pos = 0; - } else { - $pos++; - } - } - - $mlen = $pos if ($pos > $mlen); - return $mlen; -} - -$name = basename($0); - -@files = (); - -while (defined($a = shift(@ARGV))) { - if ($a =~ /^-/) { - if ($a eq '-width' || $a eq '-w') { - $max_width = shift(@ARGV)+0; - } else { - print STDERR "Usage: $name [-width #] files...\n"; - exit 1; - } - } else { - push(@files, $a); - } -} - -foreach $f ( @files ) { - print STDERR "$name: $f\n"; - - if (! -f $f) { - print STDERR "$f: not a file\n"; - next; - } - - if (!open(FILE, '+<', $f)) { - print STDERR "$name: Cannot open file: $f: $!\n"; - next; - } - - binmode FILE; - - # First, verify that it is not a binary file; consider any file - # with a zero byte to be a binary file. Is there any better, or - # additional, heuristic that should be applied? - $is_binary = 0; - - while (read(FILE, $data, 65536) > 0) { - if ($data =~ /\0/) { - $is_binary = 1; - last; - } - } - - if ($is_binary) { - print STDERR "$name: $f: binary file\n"; - next; - } - - seek(FILE, 0, 0); - - $in_bytes = 0; - $out_bytes = 0; - $lineno = 0; - - @lines = (); - - $in_hunk = 0; - $err = 0; - - while ( defined($line = <FILE>) ) { - $lineno++; - $in_bytes += length($line); - - if (!$in_hunk) { - if ($line =~ - /^\@\@\s+\-([0-9]+),([0-9]+)\s+\+([0-9]+),([0-9]+)\s\@\@/) { - $minus_lines = $2; - $plus_lines = $4; - if ($minus_lines || $plus_lines) { - $in_hunk = 1; - @hunk_lines = ($line); - } - } else { - push(@lines, $line); - $out_bytes += length($line); - } - } else { - # We're in a hunk - - if ($line =~ /^\+/) { - $plus_lines--; - - $text = substr($line, 1); - $text =~ s/[ \t\r]*$//; # Remove trailing spaces - $text = clean_space_tabs($text); - - $l_width = strwidth($text); - if ($max_width && $l_width > $max_width) { - print STDERR - "$f:$lineno: adds line exceeds $max_width ", - "characters ($l_width)\n"; - } - - push(@hunk_lines, '+'.$text); - } elsif ($line =~ /^\-/) { - $minus_lines--; - push(@hunk_lines, $line); - } elsif ($line =~ /^ /) { - $plus_lines--; - $minus_lines--; - push(@hunk_lines, $line); - } else { - print STDERR "$name: $f: malformed patch\n"; - $err = 1; - last; - } - - if ($plus_lines < 0 || $minus_lines < 0) { - print STDERR "$name: $f: malformed patch\n"; - $err = 1; - last; - } elsif ($plus_lines == 0 && $minus_lines == 0) { - # End of a hunk. Process this hunk. - my $i; - my $l; - my @h = (); - my $adj = 0; - my $done = 0; - - for ($i = scalar(@hunk_lines)-1; $i > 0; $i--) { - $l = $hunk_lines[$i]; - if (!$done && $l eq "+\n") { - $adj++; # Skip this line - } elsif ($l =~ /^[ +]/) { - $done = 1; - unshift(@h, $l); - } else { - unshift(@h, $l); - } - } - - $l = $hunk_lines[0]; # Hunk header - undef @hunk_lines; # Free memory - - if ($adj) { - die unless - ($l =~ /^\@\@\s+\-([0-9]+),([0-9]+)\s+\+([0-9]+),([0-9]+)\s\@\@(.*)$/); - my $mstart = $1; - my $mlin = $2; - my $pstart = $3; - my $plin = $4; - my $tail = $5; # doesn't include the final newline - - $l = sprintf("@@ -%d,%d +%d,%d @@%s\n", - $mstart, $mlin, $pstart, $plin-$adj, - $tail); - } - unshift(@h, $l); - - # Transfer to the output array - foreach $l (@h) { - $out_bytes += length($l); - push(@lines, $l); - } - - $in_hunk = 0; - } - } - } - - if ($in_hunk) { - print STDERR "$name: $f: malformed patch\n"; - $err = 1; - } - - if (!$err) { - if ($in_bytes != $out_bytes) { - # Only write to the file if changed - seek(FILE, 0, 0); - print FILE @lines; - - if ( !defined($where = tell(FILE)) || - !truncate(FILE, $where) ) { - die "$name: Failed to truncate modified file: $f: $!\n"; - } - } - } - - close(FILE); -} diff --git a/misc/makedist.sh b/misc/makedist.sh deleted file mode 100755 index 3027196a..00000000 --- a/misc/makedist.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh -# * THIS SCRIPT IS OBSOLETE DO NOT USE * - -MAJORVER=`grep NASM_MAJOR_VER nasm.h | head -1 | cut -f3 -d' '` -MINORVER=`grep NASM_MINOR_VER nasm.h | head -1 | cut -f3 -d' '` -VERSION=`grep NASM_VER nasm.h | head -1 | cut -f3 -d' ' | sed s/\"//g` -DOSVERSION="${MAJORVER}${MINORVER}" -NASM_TAR_GZ=dist/nasm-${VERSION}.tar.gz -NASM_ZIP=dist/nasm${DOSVERSION}s.zip -NASM_DOS_ZIP=dist/nasm${DOSVERSION}.zip -NASM_DOC_ZIP=dist/nasm${DOSVERSION}d.zip - -if [ -d dist ]; then rm -rf dist; fi -if [ -d nasm-${VERSION} ]; then rm -rf nasm-${VERSION}; fi -if [ ! -d dist ]; then mkdir dist; fi -if [ -f dist/nasm.tar.gz ]; then rm dist/nasm.tar.gz; fi -mkdir nasm-${VERSION} -(cd nasm-${VERSION}; ln -s ../* .; - rm -f nasm-${VERSION} dist Checklist GNUmakefile) -find nasm-${VERSION}/ -follow -name GNUmakefile > tar-exclude -find nasm-${VERSION}/ -follow -name RCS >> tar-exclude -find nasm-${VERSION}/ -follow -name '*.exe' >> tar-exclude -find nasm-${VERSION}/ -follow -name '*.uu' >> tar-exclude -find nasm-${VERSION}/ -follow -name '*,v' >> tar-exclude -for i in nasm-${VERSION}/doc/{nasmdoc.hpj,nasmdoc.rtf,nasmdoc.texi,Readme}; - do echo $i; done >> tar-exclude -tar chvfX dist/nasm-${VERSION}.tar tar-exclude nasm-${VERSION} -rm -f tar-exclude -tar tf dist/nasm-${VERSION}.tar | (echo nasm.doc; sed \ - -e 's:^nasm-[^/]*/::' \ - -e 's:/$::' \ - -e '/install-sh/d' \ - -e '/makedist\.sh/d' \ - -e '/exasm\.zip/d' \ - -e '/config/d' \ - -e '/doc\/.*\.html/d' \ - -e '/doc\/Readme/d' \ - -e '/doc\/nasmdoc\.ps/d' \ - -e '/doc\/nasmdoc\.txt/d' \ - -e '/doc\/nasmdoc\.rtf/d' \ - -e '/doc\/nasmdoc\.hpj/d' \ - -e '/doc\/nasmdoc\.texi/d' \ - -e '/doc\/nasmdoc\.hlp/d' \ - -e '/doc\/nasm\.info/d' \ - ) | sort > zipfiles -sed \ - -e '/^[^\/]*\.\(c\|h\|pl\|bas\|dat\)$/d' \ - -e '/^doc\(\/.*\)\?/d' \ - -e '/standard\.mac/d' \ - -e '/Makefile/d' \ - -e '/rdoff/d' \ - < zipfiles > zipfiles.dos -gzip -9 dist/nasm-${VERSION}.tar -rm -rf nasm-${VERSION} -ln -s doc/nasmdoc.src nasm.doc -zip -l -k ${NASM_ZIP} `cat zipfiles` -zip -k ${NASM_ZIP} *.exe misc/exasm.zip -zip -l -k ${NASM_DOS_ZIP} `cat zipfiles.dos` -zip -k ${NASM_DOS_ZIP} *.exe misc/exasm.zip -rm -f nasm.doc -(cd doc; zip -l -k ../${NASM_DOC_ZIP} \ - Readme \ - nasmdoc.src rdsrc.pl inslist.pl \ - nasmdoc.txt \ - nasmdoc.ps \ - *.html - zip -k ../${NASM_DOC_ZIP} \ - nasmdoc.hlp \ - nasm.info) -rm -f zipfiles zipfiles.dos -echo Distributions complete. diff --git a/misc/release b/misc/release deleted file mode 100755 index 14e750a6..00000000 --- a/misc/release +++ /dev/null @@ -1,101 +0,0 @@ -#!/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 manpages -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" diff --git a/misc/tag-release b/misc/tag-release deleted file mode 100755 index 9e3a0bd0..00000000 --- a/misc/tag-release +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh - -version="" -repo="" -branch="" -push=0 - -for opt; do - case "$opt" in - --ver=*) - version=`echo $opt | sed 's/[-a-zA-Z0-9]*=//'` - ;; - --repo=*) - repo=`echo $opt | sed 's/[-a-zA-Z0-9]*=//'` - ;; - --branch=*) - branch=`echo $opt | sed 's/[-a-zA-Z0-9]*=//'` - ;; - --push) - push=1 - ;; - --no-push) - push=0 - ;; - -*) - echo "Invalid option: $opt" 1>&2 - exit 1 - ;; - *) - version=$opt - ;; - esac -done - -if [ -z "$version" ]; then - echo " Usage" - echo " $0 --ver=num [--repo=name --branch=name --push]" 1>&2 - echo " Example" - echo " $0 --ver=2.10rc1 --repo=git+ssh://user@repo.or.cz/nasm.git --branch=master --no-push" 1>&2 - echo " With --no-push the changes are not pushed out to remote repo" - exit 1 -fi - -tag="nasm-$version" - -echo "$version" > version -git add version -git commit -m "NASM $version" -git tag -a -m "NASM $version" "$tag" - -if [ $push = 1 ]; then - set -x - git push $repo $branch - git push $repo $tag - git push --tags $repo - set +x -fi - |