summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorSteven Wallace <swallace@FreeBSD.org>1994-12-31 03:48:36 +0000
committerSteven Wallace <swallace@FreeBSD.org>1994-12-31 03:48:36 +0000
commit2a2494692897627f0f45de5ed042b2008468eff6 (patch)
tree00ce93c23c90d0c515949a973e35ee79a9842fee /lang
parentAr no longer needs -T option, so we don't need patch-01. (diff)
Added shared library support.
Submitted by: jmacd@uclink.berkeley.edu
Notes
Notes: svn path=/head/; revision=652
Diffstat (limited to 'lang')
-rw-r--r--lang/schemetoc/files/Makefile13
-rw-r--r--lang/schemetoc/files/README.FreeBSD20
-rw-r--r--lang/schemetoc/files/makefile-head5
-rw-r--r--lang/schemetoc/pkg-descr4
-rw-r--r--lang/schemetoc/pkg-plist9
5 files changed, 41 insertions, 10 deletions
diff --git a/lang/schemetoc/files/Makefile b/lang/schemetoc/files/Makefile
index 9f19403d3e93..b788bf0cc538 100644
--- a/lang/schemetoc/files/Makefile
+++ b/lang/schemetoc/files/Makefile
@@ -10,16 +10,15 @@ all:
(cd FREEBSD;make port)
(cd FREEBSD/cdecl; make all)
(cd FREEBSD/xlib; make all)
+
install:
mkdir -p ${SCHEME_DIR}/doc
(cd FREEBSD/scrt; make "LIBDIR = ${LIB_DIR}" \
"BINDIR = ${BIN_DIR}" install)
(cd FREEBSD/scsc; make "LIBDIR = ${LIB_DIR}" \
"BINDIR = ${BIN_DIR}" install)
- strip ${BIN_DIR}/sccomp ${BIN_DIR}/sci
- cp FREEBSD/xlib/scxl.a ${SCHEME_DIR}
- ranlib ${SCHEME_DIR}/scxl.a
- install -cs -g bin -o bin FREEBSD/xlib/scixl ${BIN_DIR}
+ (cd FREEBSD/xlib; make "LIBDIR = ${LIB_DIR}" \
+ "BINDIR = ${BIN_DIR}" install)
(cd doc; install -c -m 444 index.psf \
embedded.psf \
intro.psf \
@@ -29,10 +28,12 @@ install:
cp test/test51.sc ${SCHEME_DIR}/doc/test.sc
cp xlib/hello.sc ${SCHEME_DIR}/doc
cp xlib/puzzle.sc ${SCHEME_DIR}/doc
+ cp README.FreeBSD ${SCHEME_DIR}/doc
cp doc/scc.l ${MAN_DIR}/scc.1
cp doc/sci.l ${MAN_DIR}/sci.1
gzip -f ${MAN_DIR}/sci.1 ${MAN_DIR}/scc.1
- @if [ ! -e ${MAN_DIR}/scixl.1.gz ] ; then ln ${MAN_DIR}/sci.1.gz ${MAN_DIR}/scixl.1.gz;fi
- @if [ ! -e ${MAN_DIR}/sccxl.1.gz ] ; then ln ${MAN_DIR}/scc.1.gz ${MAN_DIR}/sccxl.1.gz;fi
+ chmod 444 ${LIB_DIR}/libsc.so.1.0 ${LIB_DIR}/libscxl.so.1.0
chown -R bin:bin ${SCHEME_DIR}
+ strip ${BIN_DIR}/sccomp ${BIN_DIR}/sci ${BIN_DIR}/scixl
+
diff --git a/lang/schemetoc/files/README.FreeBSD b/lang/schemetoc/files/README.FreeBSD
new file mode 100644
index 000000000000..65ac05fb71f0
--- /dev/null
+++ b/lang/schemetoc/files/README.FreeBSD
@@ -0,0 +1,20 @@
+Notes for Scheme-to-C port for FreeBSD:
+
+The documentation provided on the X library interface for Scheme-to-C
+was very limited and as a result I'm not sure if I've got it right.
+Instead of using having the compiler link the library archives libsc.a
+(the standard schemetoc library) or scxl.a (the x library), two shared
+libraries are included, libsc.so.1.0 and libscxl.so.1.0.
+
+The syntax of the scc compiler has been extended to automatically
+use dynamic linking unless the -static flag is specified on the scc
+command line.
+
+Those not wishing to use the X library support can delete the following
+files:
+
+libscxl.so.1.0 The shared lib.
+schemetoc/scxl.a The library archive.
+bin/scixl The X lib interpreter.
+
+Each is about 1.4 megabytes.
diff --git a/lang/schemetoc/files/makefile-head b/lang/schemetoc/files/makefile-head
index b090736aa8e1..07a5f6e8ffe3 100644
--- a/lang/schemetoc/files/makefile-head
+++ b/lang/schemetoc/files/makefile-head
@@ -10,6 +10,7 @@ CC = gcc
# Assembly language object files.
Aruntime = x86.o
+SAruntime = x86.so
# Profiled library
@@ -18,10 +19,14 @@ Plib = libsc_p.a
# Installation tools
RANLIB = ranlib
+AS = as
+CPP = cpp
# X library
XLIB = -lX11
XLIBCFLAGS =
+PICFLAGS = -fpic -DPIC
+
# End of FREEBSD header.
diff --git a/lang/schemetoc/pkg-descr b/lang/schemetoc/pkg-descr
index 8e1943d9936c..99148e3367de 100644
--- a/lang/schemetoc/pkg-descr
+++ b/lang/schemetoc/pkg-descr
@@ -6,6 +6,8 @@ This implementation has certain extensions to the language which
allows Scheme to be compiled to C into standalone programs, combined
with other languages, or compiled into the interpreter itself.
-Scheme->C also includes an X interface library.
+Scheme->C also includes an X interface library.
+
+This port includes shared libs.
Ported to FreeBSD by Josh MacDonald, jmacd@uclink.berkeley.edu
diff --git a/lang/schemetoc/pkg-plist b/lang/schemetoc/pkg-plist
index 83810624ce3b..2df6f0ff08ae 100644
--- a/lang/schemetoc/pkg-plist
+++ b/lang/schemetoc/pkg-plist
@@ -3,9 +3,12 @@ bin/sci
bin/scc
bin/sccomp
bin/scixl
-bin/sccxl
man/man1/sci.1.gz
man/man1/scc.1.gz
-man/man1/scixl.1.gz
-man/man1/sccxl.1.gz
lib/schemetoc
+lib/libsc.so.1.0
+lib/libscxl.so.1.0
+@exec ranlib lib/schemetoc/libsc.a
+@exec ranlib lib/schemetoc/libsc_p.a
+@exec ranlib lib/schemetoc/scxl.a
+@exec ldconfig