1 | #!/bin/sh
|
---|
2 | #
|
---|
3 | # Tcl ( Reqd for expect )
|
---|
4 | #
|
---|
5 | # TODO: work to be done to make tclConfig.sh behave
|
---|
6 | cd ${SRC}
|
---|
7 | LOG=tcl-blfs.log
|
---|
8 |
|
---|
9 | SELF=`basename ${0}`
|
---|
10 | set_buildenv
|
---|
11 | set_libdirname
|
---|
12 | setup_multiarch
|
---|
13 |
|
---|
14 | unpack_tarball tcl${TCL_VER}-src &&
|
---|
15 | cd ${PKGDIR}/unix
|
---|
16 |
|
---|
17 | if [ ! "${libdirname}" = "lib" ]; then
|
---|
18 | extra_conf="--libdir=/usr/${libdirname}"
|
---|
19 | # change TCL_LIBRARY in Makefile so it is under $(libdir)
|
---|
20 | if [ ! -f Makefile.in-ORIG ]; then cp -p Makefile.in Makefile.in-ORIG ; fi
|
---|
21 | sed '/TCL_LIBRARY/s@\$(prefix)/lib@$(libdir)@g' Makefile.in-ORIG > Makefile.in
|
---|
22 | fi
|
---|
23 |
|
---|
24 | max_log_init Tcl ${TCL_VER} "blfs (shared)" ${CONFLOGS} ${LOG}
|
---|
25 | CC="${CC-gcc} ${ARCH_CFLAGS}" \
|
---|
26 | CFLAGS="${TGT_CFLAGS}" \
|
---|
27 | ./configure --prefix=/usr --enable-threads ${extra_conf} \
|
---|
28 | --mandir=/usr/share/man --infodir=/usr/share/info \
|
---|
29 | >> ${LOGFILE} 2>&1 &&
|
---|
30 | echo " o Configure OK" &&
|
---|
31 |
|
---|
32 | min_log_init ${BUILDLOGS} &&
|
---|
33 | make ${PMFLAGS} LDFLAGS="-s" \
|
---|
34 | >> ${LOGFILE} 2>&1 &&
|
---|
35 | echo " o Build OK" &&
|
---|
36 |
|
---|
37 | min_log_init ${TESTLOGS} &&
|
---|
38 | make test \
|
---|
39 | >> ${LOGFILE} 2>&1 &&
|
---|
40 | echo " o Test OK" &&
|
---|
41 | # clock test may fail... not a real concern for our purposes...
|
---|
42 |
|
---|
43 | # TODO: get version from tcl itself
|
---|
44 | V=`echo ${TCL_VER} | cut -d "." -f 1,2`
|
---|
45 |
|
---|
46 | sed -i "s@${SRC}/${PKGDIR}/unix@/usr/${libdirname}@" tclConfig.sh &&
|
---|
47 | sed -i "s@${SRC}/${PKGDIR}@/usr/include/tcl${V}@" tclConfig.sh &&
|
---|
48 | sed -i "s@^TCL_LIB_FILE='libtcl${V}..TCL_DBGX..so'@TCL_LIB_FILE=\"libtcl${V}\$\{TCL_DBGX\}.so\"@" \
|
---|
49 | tclConfig.sh
|
---|
50 |
|
---|
51 | # The following isn't required for tcl 8.4.9 ...
|
---|
52 | # TODO: check which versions (apart from 8.4.6) this is needed for
|
---|
53 | case ${TCL_VER} in
|
---|
54 | 8.4.6 )
|
---|
55 | mv ../doc/{,Tcl_}Thread.3 &&
|
---|
56 | sed -i 's/ Thread.3/ Tcl_Thread.3/' mkLinks
|
---|
57 | ;;
|
---|
58 | esac
|
---|
59 |
|
---|
60 | min_log_init ${INSTLOGS} &&
|
---|
61 | make install \
|
---|
62 | >> ${LOGFILE} 2>&1 &&
|
---|
63 | echo " o ALL OK" || barf
|
---|
64 |
|
---|
65 | install -d /usr/include/tcl${V}/unix &&
|
---|
66 | install -m644 *.h /usr/include/tcl${V}/unix/ &&
|
---|
67 | install -d /usr/include/tcl${V}/generic &&
|
---|
68 | install -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/ &&
|
---|
69 | rm -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h &&
|
---|
70 | ln -nsf ../../include/tcl${V} /usr/${libdirname}/tcl${V}/include &&
|
---|
71 | ln -sf libtcl${V}.so /usr/${libdirname}/libtcl.so
|
---|
72 |
|
---|
73 | # Create symlink for tclsh
|
---|
74 | TCLSH=$(basename $(find /usr/bin -type f -name tclsh\*))
|
---|
75 | test "tclsh" != "${TCLSH}" &&
|
---|
76 | ln -sf ./${TCLSH} /usr/bin/tclsh
|
---|
77 |
|
---|