ADDED Makefile Index: Makefile ================================================================== --- Makefile +++ Makefile @@ -0,0 +1,28 @@ +TUAPI_VERSION = $(shell ./build-common.sh version) +TCLCONFIGSH = $(shell find /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 /lib /lib64 -name tclConfig.sh -print -quit) +TCL_PACKAGE_PATH = $(shell . "$(TCLCONFIGSH)"; echo "$${TCL_PACKAGE_PATH}" | tr ' ' $$'\n' | grep -v '^ *$$' | head -n 1) +PACKAGE_INSTALL_DIR = $(TCL_PACKAGE_PATH)/tuapi-$(TUAPI_VERSION) + +export TCLCONFIGSH + +all: tuapi.so pkgIndex.tcl + +tuapi.so: build-dyn.sh tuapi.c tuapi.tcl stringify.tcl + @echo "Using tclConfig.sh = $(TCLCONFIGSH)" + ./build-dyn.sh + +pkgIndex.tcl: tuapi.so + +install: tuapi.so pkgIndex.tcl + mkdir -p $(DESTDIR)$(PACKAGE_INSTALL_DIR) + cp tuapi.so pkgIndex.tcl $(DESTDIR)$(PACKAGE_INSTALL_DIR) + +clean: + rm -f tuapi.so pkgIndex.tcl + +distclean: clean + +mrproper: distclean + rm -f tuapi.tcl.h + +.PHONY: all install clean distclean mrproper Index: build-common.sh ================================================================== --- build-common.sh +++ build-common.sh @@ -1,16 +1,19 @@ #! /bin/bash set -e +tuapi_version="$(grep Tcl_PkgProvide tuapi.c | awk '{ print $3 }' | sed 's@[");]*@@g')" + case "$1" in clean|distclean) rm -rf out inst rm -f libtuapi.a tuapi.o tuapi.so rm -f tuapi.tcl.h exit 0 ;; + version) + echo "${tuapi_version}" + ;; esac -tuapi_version="$(grep Tcl_PkgProvide tuapi.c | awk '{ print $3 }' | sed 's@[");]*@@g')" - ./stringify.tcl tuapi.tcl > tuapi.tcl.h Index: build-dyn.sh ================================================================== --- build-dyn.sh +++ build-dyn.sh @@ -2,13 +2,15 @@ # Perform common build options . build-common.sh # Compile using the same options as Tcl -TCLCONFIGSH="$(find /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 /lib /lib64 -name tclConfig.sh -print -quit)" +if [ -z "${TCLCONFIGSH}" ]; then + TCLCONFIGSH="$(find /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 /lib /lib64 -name tclConfig.sh -print -quit)" +fi . "${TCLCONFIGSH}" echo "${TCL_CC} -ggdb3 -fPIC -DPIC -Wall -DUSE_TCL_STUBS=1 ${TCL_DEFS} ${TCL_INCLUDE_SPEC} ${TCL_STUB_LIB_SPEC} -shared -rdynamic -o tuapi.so tuapi.c" eval ${TCL_CC} -ggdb3 -fPIC -DPIC -Wall -DUSE_TCL_STUBS=1 ${TCL_DEFS} ${TCL_INCLUDE_SPEC} ${TCL_STUB_LIB_SPEC} -shared -rdynamic -o tuapi.so tuapi.c echo 'package ifneeded tuapi '"${tuapi_version}"' [list load [file join $dir tuapi.so]]' > pkgIndex.tcl