* 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 =
|
NULL =
|
||||||
|
|
||||||
SUBDIRS = src lib scm scripts
|
SUBDIRS = src lib scm
|
||||||
DIST_SUBDIRS = $(SUBDIRS) autotools debian doc examples util
|
DIST_SUBDIRS = $(SUBDIRS) autotools debian doc examples util
|
||||||
|
|
||||||
EXTRA_DIST = \
|
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_installinit
|
||||||
# dh_installcron
|
# dh_installcron
|
||||||
# dh_installmanpages
|
# dh_installmanpages
|
||||||
dh_installman
|
dh_installman doc/man/elk.1
|
||||||
# dh_installinfo
|
# dh_installinfo
|
||||||
# dh_undocumented
|
# dh_undocumented
|
||||||
dh_installchangelogs NEWS
|
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