* Removed all references to the utilities in script/ because we will be
using libelk instead. git-svn-id: svn://svn.zoy.org/elk/trunk@32 55e467fa-43c5-0310-a8a2-de718669efc6
This commit is contained in:
		
							parent
							
								
									67e7e23f48
								
							
						
					
					
						commit
						64bffe9a5b
					
				| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
NULL = 
 | 
			
		||||
 | 
			
		||||
SUBDIRS = src lib scm scripts
 | 
			
		||||
SUBDIRS = src lib scm
 | 
			
		||||
DIST_SUBDIRS = $(SUBDIRS) autotools debian doc examples util
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +0,0 @@
 | 
			
		|||
.TH LDFLAGS-ELK 1 
 | 
			
		||||
.SH NAME
 | 
			
		||||
ldflags-elk \- echo the LDFLAGS required for linking the Elk 
 | 
			
		||||
interpreter kernel.
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
.B ldflags-elk
 | 
			
		||||
.SH AUTHOR
 | 
			
		||||
This manual page was written by E. Zanardi,
 | 
			
		||||
for the Debian GNU/Linux system.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,16 +0,0 @@
 | 
			
		|||
.TH LINKSCHEME 1
 | 
			
		||||
.SH NAME
 | 
			
		||||
linkscheme \- links ELK Scheme interpreter with your application
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
.B linkscheme
 | 
			
		||||
.I "output-file [object-file ...]"
 | 
			
		||||
.SH "DESCRIPTION"
 | 
			
		||||
This script creates an interpreter that is linked statically with your
 | 
			
		||||
extensions and/or application-specific object files (usually on platforms
 | 
			
		||||
that don't support incremental linking).
 | 
			
		||||
 | 
			
		||||
The first argument is the executable to be created, the remaining
 | 
			
		||||
arguments are the object files and optional libraries.
 | 
			
		||||
.SH AUTHOR
 | 
			
		||||
This manual page was written by E. Zanardi,
 | 
			
		||||
for the Debian GNU/Linux system.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,14 +0,0 @@
 | 
			
		|||
.TH MAKEDL 1
 | 
			
		||||
.SH NAME
 | 
			
		||||
makedl \- create dynamically loadable extension
 | 
			
		||||
.SH SYNOPSIS
 | 
			
		||||
.B makedl
 | 
			
		||||
.I "output-file object-file ... [library ...]"
 | 
			
		||||
.SH "DESCRIPTION"
 | 
			
		||||
.B makedl
 | 
			
		||||
can be used to link one dynamically loadable extension (an object file); or
 | 
			
		||||
combine several object files into one dynamically loadable extension
 | 
			
		||||
and resolve against libraries.
 | 
			
		||||
.SH AUTHOR
 | 
			
		||||
This manual page was written by E. Zanardi,
 | 
			
		||||
for the Debian GNU/Linux system.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +0,0 @@
 | 
			
		|||
doc/man/elk.1
 | 
			
		||||
debian/ldflags-elk.1
 | 
			
		||||
debian/linkscheme.1
 | 
			
		||||
debian/makedl.1
 | 
			
		||||
debian/scheme-elk.1
 | 
			
		||||
| 
						 | 
				
			
			@ -101,7 +101,7 @@ binary-arch: build install
 | 
			
		|||
#	dh_installinit
 | 
			
		||||
#	dh_installcron
 | 
			
		||||
#	dh_installmanpages
 | 
			
		||||
	dh_installman
 | 
			
		||||
	dh_installman doc/man/elk.1
 | 
			
		||||
#	dh_installinfo
 | 
			
		||||
#	dh_undocumented
 | 
			
		||||
	dh_installchangelogs NEWS
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1 +0,0 @@
 | 
			
		|||
.so man1/elk.1
 | 
			
		||||
| 
						 | 
				
			
			@ -1,20 +0,0 @@
 | 
			
		|||
Running `make' in this directory creates the localized versions of the
 | 
			
		||||
shell scripts from the (unlocalized) source files in the subdirectory
 | 
			
		||||
`src'.  A script `makedl' (without suffix) is created by choosing the
 | 
			
		||||
correct makedl-xyz version from src.
 | 
			
		||||
 | 
			
		||||
Running `make install' copies linkscheme, ldflags, and makedl into
 | 
			
		||||
$install_dir/lib.
 | 
			
		||||
 | 
			
		||||
The shell script `linkscheme' can be used used to link the Scheme
 | 
			
		||||
interpreter statically with a number of extensions and/or with an
 | 
			
		||||
application.  The script `makedl' is used to create a dynamically
 | 
			
		||||
loadable object file from one or more ordinary object files.  There is
 | 
			
		||||
one `makedl-xyz' script in `src' for each dynamic loading mechanism
 | 
			
		||||
supported by Elk; the `xyz' suffix corresponds to the possible values
 | 
			
		||||
of $load_obj in config/system.
 | 
			
		||||
 | 
			
		||||
The shell script `ldflags' echoes the linker flags that are required to
 | 
			
		||||
link the interpreter (at least -lm).  You are supposed to use this
 | 
			
		||||
script in your Makefiles when linking the interpreter with extensions
 | 
			
		||||
and/or an application.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,47 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
if [ _$load_obj = _ ]; then
 | 
			
		||||
    load_obj=none
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
echo Building Makefile.local...
 | 
			
		||||
cat <<EOT >Makefile.local
 | 
			
		||||
# This Makefile was produced by running ./build in this directory.
 | 
			
		||||
 | 
			
		||||
SHELL=/bin/sh
 | 
			
		||||
 | 
			
		||||
FILES= linkscheme makedl ldflags
 | 
			
		||||
 | 
			
		||||
all:      \$(FILES)
 | 
			
		||||
 | 
			
		||||
localize: \$(FILES)
 | 
			
		||||
 | 
			
		||||
linkscheme:	src/linkscheme ../config/system ../config/site
 | 
			
		||||
	\$(SHELL) src/\$@ > \$@
 | 
			
		||||
	chmod +x \$@
 | 
			
		||||
 | 
			
		||||
makedl:		src/makedl-$load_obj ../config/system ../config/site
 | 
			
		||||
	\$(SHELL) src/makedl-$load_obj > \$@
 | 
			
		||||
	chmod +x \$@
 | 
			
		||||
 | 
			
		||||
ldflags:	src/ldflags ../config/system ../config/site
 | 
			
		||||
	\$(SHELL) src/\$@ > \$@
 | 
			
		||||
	chmod +x \$@
 | 
			
		||||
 | 
			
		||||
install: \$(FILES)
 | 
			
		||||
	-@if [ ! -d $install_dir/bin ]; then \\
 | 
			
		||||
	    echo mkdir $install_dir/bin; \\
 | 
			
		||||
	    mkdir $install_dir/bin; \\
 | 
			
		||||
	fi
 | 
			
		||||
	cp linkscheme $install_dir/bin
 | 
			
		||||
	cp makedl $install_dir/bin
 | 
			
		||||
	-@if [ ! -d $install_dir/lib/elk ]; then \\
 | 
			
		||||
	    echo mkdir $install_dir/lib/elk; \\
 | 
			
		||||
	    mkdir -p $install_dir/lib/elk; \\
 | 
			
		||||
	fi
 | 
			
		||||
	cp ldflags $install_dir/lib/elk
 | 
			
		||||
 | 
			
		||||
distclean:
 | 
			
		||||
	rm -f \$(FILES) Makefile.local
 | 
			
		||||
EOT
 | 
			
		||||
| 
						 | 
				
			
			@ -1,9 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
cat <<HERE
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# Echo the LDFLAGS required for linking the Elk interpreter kernel.
 | 
			
		||||
 | 
			
		||||
echo $ldflags
 | 
			
		||||
HERE
 | 
			
		||||
| 
						 | 
				
			
			@ -1,89 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
cat <<HERE
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# This script creates an interpreter that is linked statically with your
 | 
			
		||||
# extensions and/or application-specific object files (usually on platforms
 | 
			
		||||
# that don't support incremental linking).
 | 
			
		||||
# 
 | 
			
		||||
# The first argument is the executable to be created, the remaining
 | 
			
		||||
# arguments are the object files and optional libraries.
 | 
			
		||||
#
 | 
			
		||||
# See INSTALL in the toplevel directory of the distribution for an
 | 
			
		||||
# example and further information.
 | 
			
		||||
 | 
			
		||||
if [ \$# = 0 ]
 | 
			
		||||
then
 | 
			
		||||
    echo Usage: "\$0: output-file [object-files]"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
ofile=$final_dir/lib/elk/standalone.o
 | 
			
		||||
aout=\$1
 | 
			
		||||
if [ -f \$aout ]
 | 
			
		||||
then
 | 
			
		||||
    echo \$aout already exists.
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
shift
 | 
			
		||||
extensions=\$*
 | 
			
		||||
 | 
			
		||||
# A special case is required for AIX.  The AIX linker discards all object
 | 
			
		||||
# files whose external symbols are not referenced.  This stupid \`garbage
 | 
			
		||||
# collection' cannot be switched off.  Since extensions do not have entry
 | 
			
		||||
# points that are called directly, they are garbage collected away by the
 | 
			
		||||
# linker (the interpreter scans its symbol table on startup to find the
 | 
			
		||||
# entry points and calls them indirectly by using the symbol values).
 | 
			
		||||
#
 | 
			
		||||
# To avoid this, we have to create an \`export list' containing at least one
 | 
			
		||||
# external function from each extension.  We are using the elk_init_
 | 
			
		||||
# functions, as it is guaranteed that each extensions exports at least one
 | 
			
		||||
# such function.
 | 
			
		||||
#
 | 
			
		||||
# We grep in the nm output for all lines of this form (i.e. entries that
 | 
			
		||||
# start with .elk_init_ and have a symbol type of "extern"):
 | 
			
		||||
# 
 | 
			
		||||
# .elk_init_foobar      |    113520|extern|             |      |     |.text
 | 
			
		||||
#
 | 
			
		||||
# then select the symbol name, and delete the initial period.
 | 
			
		||||
 | 
			
		||||
case $system in
 | 
			
		||||
*-aix3*-cc)
 | 
			
		||||
    echo Creating export list for AIX 3.x linker:
 | 
			
		||||
    for e in \$extensions
 | 
			
		||||
    do
 | 
			
		||||
	case \$e in
 | 
			
		||||
	-l*) ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    nm -e \$e | grep '^\.$init_prefix.*|extern|' | sed -e 's/[|.]//g'\\
 | 
			
		||||
		| awk '{print \$1}' >> exportlist
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
    done
 | 
			
		||||
    cat exportlist
 | 
			
		||||
    $cc -o \$aout -bexport:exportlist \$ofile \$extensions $ldflags
 | 
			
		||||
    rm exportlist
 | 
			
		||||
    ;;
 | 
			
		||||
*-aix4*-cc)
 | 
			
		||||
    echo Creating export list for AIX 4.x linker:
 | 
			
		||||
    for e in \$extensions
 | 
			
		||||
    do
 | 
			
		||||
	case \$e in
 | 
			
		||||
	-l*) ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    nm \$e | grep '^\.$init_prefix.* *T ' \\
 | 
			
		||||
		| awk '{print \$1}' >> exportlist
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
    done
 | 
			
		||||
    cat exportlist
 | 
			
		||||
    $cc -o \$aout -bexport:exportlist \$ofile \$extensions $ldflags
 | 
			
		||||
    rm exportlist
 | 
			
		||||
    ;;
 | 
			
		||||
*)
 | 
			
		||||
    $cc -o \$aout \$ofile \$extensions $ldflags
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
chmod +x \$aout
 | 
			
		||||
HERE
 | 
			
		||||
| 
						 | 
				
			
			@ -1,24 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
cat <<HERE
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Link one dynamically loadable extension (an object file); or
 | 
			
		||||
# combine several object files into one dynamically loadable extension
 | 
			
		||||
# and resolve against libraries.
 | 
			
		||||
#
 | 
			
		||||
# Arguments are the output file and one or more object files and libraries.
 | 
			
		||||
 | 
			
		||||
if [ \$# -lt 2 ]; then
 | 
			
		||||
    echo Usage: "\$0: output-file object-files [libraries]"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
output=\$1
 | 
			
		||||
shift
 | 
			
		||||
 | 
			
		||||
$ld -r $obj_ldflags \$*
 | 
			
		||||
mv a.out \$output
 | 
			
		||||
chmod 644 \$output
 | 
			
		||||
HERE
 | 
			
		||||
| 
						 | 
				
			
			@ -1,24 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
cat <<HERE
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Link one dynamically loadable extension (an object file); or
 | 
			
		||||
# combine several object files into one dynamically loadable extension
 | 
			
		||||
# and resolve against libraries.
 | 
			
		||||
#
 | 
			
		||||
# Arguments are the output file and one or more object files and libraries.
 | 
			
		||||
 | 
			
		||||
if [ \$# -lt 2 ]; then
 | 
			
		||||
    echo Usage: "\$0: output-file object-files [libraries]"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
output=\$1
 | 
			
		||||
shift
 | 
			
		||||
 | 
			
		||||
$ld -r $obj_ldflags $xflag \$*
 | 
			
		||||
mv a.out \$output
 | 
			
		||||
chmod 644 \$output
 | 
			
		||||
HERE
 | 
			
		||||
| 
						 | 
				
			
			@ -1,25 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
cat <<HERE
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Dynamic loading is not supported on this platform.  This shell script
 | 
			
		||||
# just combines several .o files into a single .o file.
 | 
			
		||||
#
 | 
			
		||||
# Arguments are the output file and one or more object files and libraries.
 | 
			
		||||
 | 
			
		||||
if [ \$# -lt 2 ]; then
 | 
			
		||||
    echo Usage: "\$0: output-file object-files [libraries]"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
output=\$1
 | 
			
		||||
shift
 | 
			
		||||
 | 
			
		||||
if [ \$# != 1 -o _\$1 != _\$output ]; then
 | 
			
		||||
    $ld -r $obj_ldflags $xflag \$*
 | 
			
		||||
    mv a.out \$output
 | 
			
		||||
    chmod 644 \$output
 | 
			
		||||
fi
 | 
			
		||||
HERE
 | 
			
		||||
| 
						 | 
				
			
			@ -1,23 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
cat <<HERE
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Link one dynamically loadable extension (an object file); or
 | 
			
		||||
# combine several object files into one dynamically loadable extension
 | 
			
		||||
# and resolve against libraries.
 | 
			
		||||
#
 | 
			
		||||
# Arguments are the output file and one or more object files and libraries.
 | 
			
		||||
 | 
			
		||||
if [ \$# -lt 2 ]; then
 | 
			
		||||
    echo Usage: "\$0: output-file object-files [libraries]"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
output=\$1
 | 
			
		||||
shift
 | 
			
		||||
 | 
			
		||||
$ld -r -o \$output $obj_ldflags $xflag \$*
 | 
			
		||||
chmod 644 \$output
 | 
			
		||||
HERE
 | 
			
		||||
| 
						 | 
				
			
			@ -1,24 +0,0 @@
 | 
			
		|||
. ../config/system
 | 
			
		||||
. ../config/site
 | 
			
		||||
 | 
			
		||||
cat <<HERE
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Link one dynamically loadable extension (an object file); or
 | 
			
		||||
# combine several object files into one dynamically loadable extension
 | 
			
		||||
# and resolve against libraries.
 | 
			
		||||
#
 | 
			
		||||
# Arguments are the output file and one or more object files and libraries.
 | 
			
		||||
 | 
			
		||||
if [ \$# -lt 2 ]; then
 | 
			
		||||
    echo Usage: "\$0: output-file object-files [libraries]"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
output=\$1
 | 
			
		||||
shift
 | 
			
		||||
 | 
			
		||||
$ld -b $obj_ldflags $xflag \$*
 | 
			
		||||
mv a.out \$output
 | 
			
		||||
chmod 755 \$output
 | 
			
		||||
HERE
 | 
			
		||||
		Loading…
	
		Reference in New Issue