#!/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