* src/build:

+ Build libelk as shared and static libraries.
    + Dynamically link scheme with -lelk
  * debian/control:
    + New libelk0 and libelk0-dev packages.
  * debian/rules:
    + Changed build rules according to the new libelk.
    + Remove .svn directories from the examples in the elkdoc package.


git-svn-id: svn://svn.zoy.org/elk/trunk@19 55e467fa-43c5-0310-a8a2-de718669efc6
This commit is contained in:
sam 2003-08-21 12:40:09 +00:00
parent 166aa29795
commit 1c03bfe4a9
8 changed files with 71 additions and 27 deletions

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
elk (3.99-1) unstable; urgency=low
* Pending release.
-- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Thu, 21 Aug 2003 12:55:31 +0200
elk (3.0-16) unstable; urgency=low
* **/build: Use gcc to link shared objects instead of ld, because gcc does

37
debian/control vendored
View File

@ -2,26 +2,49 @@ Source: elk
Section: devel
Priority: optional
Maintainer: Sam Hocevar (Debian packages) <sam+deb@zoy.org>
Build-Depends: debhelper (>= 3.0), libelfg0-dev, xlibs-dev, lesstif-dev, libgdbm-dev, libxaw7-dev
Build-Depends: debhelper (>= 3.0), groff-base, libelfg0-dev, xlibs-dev, lesstif-dev, libgdbm-dev, libxaw7-dev
Standards-Version: 3.6.0
Package: elk
Architecture: any
Section: devel
Section: interpreters
Priority: optional
Depends: ${shlibs:Depends}
Conflicts: pact (<= 980714-1)
Description: the Elk Scheme interpreted
Elk is an implementation of the Scheme programming language,
designed specifically as an embeddable, reusable extension
language subsystem for applications written in C or C++.
.
This package contains the Elk Scheme interpreter.
Package: libelk0
Architecture: any
Section: libs
Priority: optional
Depends: ${shlibs:Depends}
Description: implementation of Scheme (the Extension Language Kit)
Elk is an implementation of the Scheme programming language,
designed specifically as an embeddable, reusable extension
language subsystem for applications written in C or C++.
.
Elk is also useful as a stand-alone Scheme implementation.
This package contains the libelk0 runtime library, as well as several plugins
shipped with Elk. They provide hooks for Unix system calls, the X Window
System, as well as the X Athena Widgets and the Motif toolkits. Example
scripts on how to use these plugins are provided in the elkdoc package.
Package: libelk0-dev
Architecture: any
Section: libdevel
Priority: optional
Depends: ${shlibs:Depends}
Description: development files for libelk0
Elk is an implementation of the Scheme programming language,
designed specifically as an embeddable, reusable extension
language subsystem for applications written in C or C++.
.
This package also contains several plugins shipped with Elk. They provide
hooks for Unix system calls, the X Window System, as well as the X Athena
Widgets and the Motif toolkits. Example scripts on how to use these plugins
are provided in the elkdoc package.
This package contains the header files and static library needed to
compile applications that use libelk0.
Package: elkdoc
Architecture: all

3
debian/libelk0-dev.dirs vendored Normal file
View File

@ -0,0 +1,3 @@
usr/lib
usr/include/elk
usr/share/doc

2
debian/libelk0.dirs vendored Normal file
View File

@ -0,0 +1,2 @@
usr/lib
usr/share/doc

14
debian/rules vendored
View File

@ -50,7 +50,14 @@ install: build
install -m 755 debian/scheme-warning-elk $(CURDIR)/debian/elk/usr/bin/
install -m 644 debian/elk.ini $(CURDIR)/debian/elk/usr/share/elk
# dh_movefiles
mv $(CURDIR)/debian/elk/usr/lib/*.so.* \
$(CURDIR)/debian/libelk0/usr/lib/
mv $(CURDIR)/debian/elk/usr/include/elk/* \
$(CURDIR)/debian/libelk0-dev/usr/include/elk/
mv $(CURDIR)/debian/elk/usr/lib/*.so \
$(CURDIR)/debian/elk/usr/lib/*.a \
$(CURDIR)/debian/libelk0-dev/usr/lib/
# Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter.
@ -61,6 +68,7 @@ binary-indep: build install
# dh_installdebconf
dh_installdocs
dh_installexamples examples/*
rm -Rf `find $(CURDIR)/debian/elkdoc/ -type d -name .svn`
# dh_installmenu
# dh_installemacsen
# dh_installpam
@ -103,9 +111,9 @@ binary-arch: build install
dh_compress
dh_fixperms
dh_installdeb
# dh_makeshlibs
dh_makeshlibs
# dh_perl
dh_shlibdeps
dh_shlibdeps -L libelk0 -l debian/libelk0/usr/lib
dh_gencontrol
dh_md5sums
dh_builddeb

View File

@ -86,10 +86,10 @@ WIDGET_SET= xaw
../../scripts/makedl \$@ \$@
.d.c:
../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$@ \$(WIDGET_SET)
LD_LIBRARY_PATH=../../src ../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$@ \$(WIDGET_SET)
.d.o:
../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$*.c \$(WIDGET_SET)
LD_LIBRARY_PATH=../../src ../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$*.c \$(WIDGET_SET)
\$(CC) \$(CFLAGS) -I\$(INC) -I../xlib $x11_incl -c \$*.c
../../scripts/makedl \$@ \$@

View File

@ -92,10 +92,10 @@ WIDGET_SET= xm
../../scripts/makedl \$@ \$@
.d.c:
../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$@ \$(WIDGET_SET)
LD_LIBRARY_PATH=../../src ../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$@ \$(WIDGET_SET)
.d.o:
../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$*.c \$(WIDGET_SET)
LD_LIBRARY_PATH=../../src ../../src/scheme \$(SCMFLAGS) -l mkwidget.scm \$< \$*.c \$(WIDGET_SET)
\$(CC) \$(CFLAGS) -I\$(INC) -I../xlib $sys_incl -c \$*.c
../../scripts/makedl \$@ \$@

View File

@ -112,17 +112,22 @@ OCOMMON=\\
type.o\\
vector.o
O1= \$(OCOMMON) libelk.o stab.o
O1= main.o
O2= \$(OCOMMON) libelk2.o stab2.o
O3= \$(OCOMMON) libelk3.o stab2.o
all: scheme libelk.so standalone.a module.a
all: libelk.so.0.0.0 libelk.a scheme
scheme: \$(O1)
\$(CC) -o \$@ \$(CFLAGS) \$(O1) \$(LDFLAGS)
scheme: libelk.so.0.0.0 \$(O1)
\$(CC) -o \$@ \$(CFLAGS) \$(O1) -L. -lelk \$(LDFLAGS)
libelk.so: \$(O3)
gcc -shared -o \$@ \$(O3) \$(LDFLAGS)
libelk.so.0.0.0: \$(O3)
\$(CC) -shared -fPIC -Wl,-soname,libelk.so.0 -o \$@ \$(O3) \$(LDFLAGS)
rm -f libelk.so.0 && ln -s libelk.so.0.0.0 libelk.so.0
rm -f libelk.so && ln -s libelk.so.0 libelk.so
libelk.a: \$(O3)
ar cru \$@ \$(O3)
standalone.a: \$(O2)
ar cru \$@ \$(O2)
@ -195,24 +200,21 @@ install: scheme standalone.a module.a
echo mkdir $install_dir/bin; \\
mkdir $install_dir/bin; \\
fi
cp scheme $install_dir/bin
cp -d scheme $install_dir/bin
-@if [ ! -d $install_dir/lib ]; then \\
echo mkdir $install_dir/lib; \\
mkdir $install_dir/lib; \\
fi
-@if [ ! -d $install_dir/lib/elk ]; then \\
echo mkdir $install_dir/lib/elk; \\
mkdir $install_dir/lib/elk; \\
fi
cp standalone.a $install_dir/lib/elk
cp module.a $install_dir/lib/elk
cp -d libelk.a libelk.so libelk.so.* $install_dir/lib
lint:
lint \$(LINTFLAGS) -I\$(INC) \$(C)
clean:
rm -f *.o *.a core libelk2.c stab2.c libelk3.c
rm -f libelk.so.0.0.0 libelk.so.0 libelk.so libelk.a
distclean:
rm -f *.o *.a core libelk2.c stab2.c libelk3.c lint.out scheme Makefile.local
rm -f libelk.so.0.0.0 libelk.so.0 libelk.so libelk.a
EOT