[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-ports
Subject:    Re: bad tcl patch
From:       Kevin Lo <kevlo () openbsd ! org>
Date:       2002-12-04 6:53:05
[Download RAW message or body]

Marco S Hyman wrote:
> The new patch-Makefile_in in the latest version of tcl is incorrect.
> Specifically, it does a ranlib after libtcl83.a is created, but not
> after the file is installed.
> 
> Side effect of this error: XF4 fails to build.

My bad. Please try this diff, thanks.

> // marc

- Kevin

["patch-Makefile_in" (patch-Makefile_in)]

$OpenBSD: patch-Makefile_in,v 1.1 2002/11/29 09:45:51 kevlo Exp $
--- Makefile.in.orig	Fri Oct 18 20:44:46 2002
+++ Makefile.in	Wed Dec  4 14:42:18 2002
@@ -37,6 +37,9 @@
 # when installing files.
 INSTALL_ROOT		=
 
+# Path for the platform independent Tcl scripting generic header files:
+TCL_INCLUDE_GENERIC	= $(prefix)/include/tcl$(VERSION)/generic
+
 # Path for the platform independent Tcl scripting libraries:
 TCL_LIBRARY		= $(prefix)/lib/tcl$(VERSION)
 
@@ -407,7 +410,7 @@
 
 all: binaries libraries doc
 
-binaries: ${TCL_LIB_FILE} $(TCL_STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) tclsh
+binaries: ${TCL_LIB_FILE} $(TCL_STUB_LIB_FILE) $(TCL_BUILD_EXP_FILE) libtcl83.a \
tclsh  
 libraries:
 
@@ -423,7 +426,11 @@
 ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
 	rm -f ${STUB_LIB_FILE}
 	@MAKE_STUB_LIB@
-	$(RANLIB) ${STUB_LIB_FILE}
+
+libtcl83.a: ${OBJS}
+	rm -f libtcl83.a
+	ar cr libtcl83.a ${OBJS}
+	$(RANLIB) libtcl83.a
 
 # Make target which outputs the list of the .o contained in the Tcl lib
 # usefull to build a single big shared library containing Tcl and other
@@ -561,6 +568,9 @@
 	@$(INSTALL_LIBRARY) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
 	@(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE))
 	@chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
+	@echo "Installing libtcl83.a"
+	@$(INSTALL_DATA) libtcl83.a $(LIB_INSTALL_DIR)/libtcl83.a
+	@chmod 555 $(LIB_INSTALL_DIR)/libtcl83.a
 	@if test "$(TCL_BUILD_EXP_FILE)" != ""; then \
 	    echo "Installing $(TCL_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \
 	    $(INSTALL_DATA) $(TCL_BUILD_EXP_FILE) \
@@ -569,7 +579,8 @@
 	@echo "Installing tclsh as $(BIN_INSTALL_DIR)/tclsh$(VERSION)"
 	@$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
 	@echo "Installing tclConfig.sh to $(LIB_INSTALL_DIR)/"
-	@$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
+	@mkdir -p $(SCRIPT_INSTALL_DIR)
+	@$(INSTALL_DATA) tclConfig.sh $(SCRIPT_INSTALL_DIR)/tclConfig.sh
 	@if test "$(TCL_STUB_LIB_FILE)" != "" ; then \
 	    echo "Installing $(TCL_STUB_LIB_FILE) to $(LIB_INSTALL_DIR)/"; \
 	    $(INSTALL_LIBRARY) $(STUB_LIB_FILE) \
@@ -577,7 +588,8 @@
 	    fi
 
 install-libraries: libraries
-	@for i in $(INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); \
+	@for i in $(INSTALL_ROOT)$(prefix)/lib \
$(INSTALL_ROOT)$(GENERIC_INCLUDE_INSTALL_DIR) \ +	    \
$(INSTALL_ROOT)$(UNIX_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); \  do \
 	    if [ ! -d $$i ] ; then \
 		echo "Making directory $$i"; \
@@ -599,11 +611,19 @@
 	    chmod +x $(SRC_DIR)/install-sh; \
 	    fi
 	@echo "Installing header files";
-	@for i in $(GENERIC_DIR)/tcl.h $(GENERIC_DIR)/tclDecls.h \
-		$(GENERIC_DIR)/tclPlatDecls.h ; \
+	@echo "Installing libraries, tcl.h and other headers"
+	@for i in $(GENERIC_DIR)/*.h ; \
+	    do \
+	    echo "Installing $$i"; \
+	    $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(GENERIC_INCLUDE_INSTALL_DIR); \
+	    done;
+	@for i in $(UNIX_DIR)/*.h ; \
 	    do \
-	    $(INSTALL_DATA) $$i $(INCLUDE_INSTALL_DIR); \
+	    $(INSTALL_DATA) $$i $(INSTALL_ROOT)$(UNIX_INCLUDE_INSTALL_DIR); \
 	    done;
+	@ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
+	@ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tclDecls.h $(INCLUDE_INSTALL_DIR)/tclDecls.h
+	@ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tclPlatDecls.h \
$(INCLUDE_INSTALL_DIR)/tclPlatDecls.h  @echo "Installing library files to \
$(SCRIPT_INSTALL_DIR)";  @for i in $(TOP_DIR)/library/*.tcl \
$(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \  do \
@@ -682,6 +702,15 @@
 	    done;
 	@echo "Cross-linking command (.n) docs";
 	@$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)
+	@echo "**********"
+	@echo "IMPORTANT:"
+	@echo "**********"
+	@echo "tclConfig.sh     in $(TCL_LIBRARY)/tclConfig.sh"
+	@echo "tcl.h            in $(TCL_INCLUDE_GENERIC)/tcl.h"
+	@echo "tclDecls.h       in $(TCL_INCLUDE_GENERIC)/tclDecls.h"
+	@echo "tclPlatDecls.h   in $(TCL_INCLUDE_GENERIC)/tclPlatDecls.h"
+	@echo "These are NOT in the default place, but in a good place to avoid"
+	@echo "conflicting with another version of Tcl/Tk."
 
 Makefile: $(UNIX_DIR)/Makefile.in
 	$(SHELL) config.status



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic