From 4b5ee0b48be9cdb5a0fa8871fef1806ddda14d40 Mon Sep 17 00:00:00 2001 From: swallace Date: Sat, 31 Dec 1994 03:48:36 +0000 Subject: Added shared library support. Submitted by: jmacd@uclink.berkeley.edu --- lang/schemetoc/files/Makefile | 13 +++++++------ lang/schemetoc/files/README.FreeBSD | 20 ++++++++++++++++++++ lang/schemetoc/files/makefile-head | 5 +++++ lang/schemetoc/pkg-descr | 4 +++- lang/schemetoc/pkg-plist | 9 ++++++--- 5 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 lang/schemetoc/files/README.FreeBSD 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 -- cgit