* 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 elk (3.0-16) unstable; urgency=low
* **/build: Use gcc to link shared objects instead of ld, because gcc does * **/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 Section: devel
Priority: optional Priority: optional
Maintainer: Sam Hocevar (Debian packages) <sam+deb@zoy.org> 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 Standards-Version: 3.6.0
Package: elk Package: elk
Architecture: any Architecture: any
Section: devel Section: interpreters
Priority: optional Priority: optional
Depends: ${shlibs:Depends} Depends: ${shlibs:Depends}
Conflicts: pact (<= 980714-1) 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) Description: implementation of Scheme (the Extension Language Kit)
Elk is an implementation of the Scheme programming language, Elk is an implementation of the Scheme programming language,
designed specifically as an embeddable, reusable extension designed specifically as an embeddable, reusable extension
language subsystem for applications written in C or C++. 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 This package contains the header files and static library needed to
hooks for Unix system calls, the X Window System, as well as the X Athena compile applications that use libelk0.
Widgets and the Motif toolkits. Example scripts on how to use these plugins
are provided in the elkdoc package.
Package: elkdoc Package: elkdoc
Architecture: all 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 755 debian/scheme-warning-elk $(CURDIR)/debian/elk/usr/bin/
install -m 644 debian/elk.ini $(CURDIR)/debian/elk/usr/share/elk 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. # Build architecture-independent files here.
# Pass -i to all debhelper commands in this target to reduce clutter. # Pass -i to all debhelper commands in this target to reduce clutter.
@ -61,6 +68,7 @@ binary-indep: build install
# dh_installdebconf # dh_installdebconf
dh_installdocs dh_installdocs
dh_installexamples examples/* dh_installexamples examples/*
rm -Rf `find $(CURDIR)/debian/elkdoc/ -type d -name .svn`
# dh_installmenu # dh_installmenu
# dh_installemacsen # dh_installemacsen
# dh_installpam # dh_installpam
@ -103,9 +111,9 @@ binary-arch: build install
dh_compress dh_compress
dh_fixperms dh_fixperms
dh_installdeb dh_installdeb
# dh_makeshlibs dh_makeshlibs
# dh_perl # dh_perl
dh_shlibdeps dh_shlibdeps -L libelk0 -l debian/libelk0/usr/lib
dh_gencontrol dh_gencontrol
dh_md5sums dh_md5sums
dh_builddeb dh_builddeb

View File

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

View File

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

View File

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