blob: a1cd256ec5ea9e71f9b3e48e3ae24a9a2d4ff1f8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
#!/usr/bin/make -f
include ../source.mk
V = $${OPK_SOURCE\#tcl}
nop:
@:
configure:
TCL_PACKAGE_PATH='$${TCL_LIBRARY}' \
TCL_SHLIB_LD_EXTRAS='-Wl,-soname,$${TCL_LIB_FILE}' \
oh-autoconfigure -s src/unix -B src/unix -- \
--includedir=/usr/include/$(OPK_SOURCE) \
--enable-shared \
--enable-threads \
--enable-dll-unloading \
--disable-rpath \
--enable-man-symlinks
touch $@
build: configure
oh-autobuild -s src/unix -B src/unix -- \
TCL_LIBRARY='/usr/share/tcltk/$(OPK_SOURCE)'
touch $@
install: build
oh-autoinstall -s src/unix -B src/unix -- \
TCL_LIBRARY='/usr/share/tcltk/$(OPK_SOURCE)' \
MANN_INSTALL_DIR='$$(MAN_INSTALL_DIR)/man3'
# TODO: Temporary hack for bootstrapping on Debian with tcl8.6 <
# 8.6.0-2. Fixes this error:
# /usr/bin/expect: error while loading shared libraries:
# libtcl8.6.so.0: cannot open shared object file: No such file or
# directory
ln -sf libtcl$(V).so dest/usr/lib/$(OPK_HOST_ARCH)/libtcl$(V).so.0
# Remove static library.
rm dest/usr/lib/$(OPK_HOST_ARCH)/libtcl$(V).a
# Move tcl*Config.sh.
mkdir -p dest/usr/lib/$(OPK_HOST_ARCH)/$(OPK_SOURCE)
mv dest/usr/lib/$(OPK_HOST_ARCH)/tcl*Config.sh \
dest/usr/lib/$(OPK_HOST_ARCH)/$(OPK_SOURCE)
# Move bundled modules.
mv dest/usr/share/tcltk/tcl8/*/* dest/usr/share/tcltk/$(OPK_SOURCE)
rmdir dest/usr/share/tcltk/tcl8/* dest/usr/share/tcltk/tcl8
# Rename tcl.pc.
mv dest/usr/lib/$(OPK_HOST_ARCH)/pkgconfig/tcl.pc \
dest/usr/lib/$(OPK_HOST_ARCH)/pkgconfig/$(OPK_SOURCE).pc
# Install tcl.m4.
mkdir -p dest/usr/share/aclocal
cp src/unix/tcl.m4 dest/usr/share/aclocal/$(OPK_SOURCE).m4
# Install private headers.
for dir in generic unix compat libtommath; do \
mkdir -p dest/usr/include/$(OPK_SOURCE)/tcl-private/$${dir}; \
cp src/$${dir}/*.h \
dest/usr/include/$(OPK_SOURCE)/tcl-private/$${dir}; \
done
# Rename tclsh.1.
mv dest/usr/share/man/man1/tclsh.1 dest/usr/share/man/man1/tclsh$(V).1
# TODO: Rename ".3" and ".n" manual pages to have a ".3tcl" extension.
# This requires some thought about handling links.
# Also change the .TH macros and cross references in the manual pages.
oh-fixperms
oh-strip
oh-installfiles
oh-shlibdeps
|