$OpenBSD: patch-unix_Makefile_in,v 1.5 2009/04/24 21:13:13 sthen Exp $
--- unix/Makefile.in.orig	Wed Apr 15 10:11:42 2009
+++ unix/Makefile.in	Wed Apr 15 23:16:23 2009
@@ -95,6 +95,9 @@ HTML_INSTALL_DIR	= $(INSTALL_ROOT)$(HTML_DIR)
 # Directory in which to install the configuration file tkConfig.sh:
 CONFIG_INSTALL_DIR	= $(INSTALL_ROOT)$(libdir)
 
+# Directory in which to install the demo files:
+DEMO_INSTALL_DIR	= $(INSTALL_ROOT)$(TK_LIBRARY)/demos
+
 # The directory containing the Tcl sources and headers appropriate
 # for this version of Tk ("srcdir" will be replaced or has already
 # been replaced by the configure script):
@@ -190,7 +193,7 @@ NO_DEPRECATED_FLAGS	= -DTCL_NO_DEPRECATED
 
 # Some versions of make, like SGI's, use the following variable to
 # determine which shell to use for executing commands:
-SHELL			= /bin/sh
+SHELL			= @SHELL@
 
 # BUILD_TCLSH is the fully qualified path name of the tclsh shell
 # in the Tcl build directory. Test that need to be run in the
@@ -540,7 +543,8 @@ AQUA_XLIB_HDRS = $(XLIB_DIR)/X11/*.h $(XLIB_DIR)/xbyte
 
 AQUA_PRIVATE_HDRS = $(MAC_OSX_DIR)/tkMacOSXPort.h $(MAC_OSX_DIR)/tkMacOSXInt.h
 
-X11_PRIVATE_HDRS = $(UNIX_DIR)/tkUnixPort.h $(UNIX_DIR)/tkUnixInt.h
+X11_PRIVATE_HDRS = $(UNIX_DIR)/tkUnixPort.h $(UNIX_DIR)/tkUnixInt.h \
+	$(UNIX_DIR)/tkUnixDefault.h
 
 # Currently private, eventually public
 TTK_HDRS = $(TTK_DIR)/ttkTheme.h $(TTK_DIR)/ttkDecls.h
@@ -551,9 +555,9 @@ PUBLIC_HDRS = $(GENERIC_DIR)/tk.h $(GENERIC_DIR)/tkDec
 # The private headers we want installed for install-private-headers
 PRIVATE_HDRS = $(GENERIC_DIR)/tkInt.h $(GENERIC_DIR)/tkIntDecls.h \
 	$(GENERIC_DIR)/tkIntPlatDecls.h $(GENERIC_DIR)/tkPort.h \
-	$(TTK_HDRS) $(@TK_WINDOWINGSYSTEM@_PRIVATE_HDRS)
+	$(GENERIC_DIR)/default.h
 
-DEMOPROGS = browse hello ixset rmt rolodex square tcolor timer widget
+DEMOPROGS = browse hello ixset rmt rolodex tcolor timer widget
 
 SHELL_ENV = \
 	@LD_LIBRARY_PATH_VAR@="`pwd`:${TCL_BIN_DIR}:$${@LD_LIBRARY_PATH_VAR@}"; \
@@ -583,6 +587,10 @@ ${STUB_LIB_FILE}: ${STUB_LIB_OBJS}
 	rm -f $@
 	@MAKE_STUB_LIB@
 
+${TK_BUILD_EXP_FILE}: ${OBJS}
+	rm -f $@
+	${STLIB_LD} $@ ${OBJS} ; ${RANLIB} $@
+
 # Build Aqua resource files
 ${TK_RSRC_FILE}: $(AQUA_RESOURCES)
 	rm -f $@
@@ -638,7 +646,6 @@ xttest: test.o tkTest.o tkSquare.o $(TK_LIB_FILE)
 #	% make test TESTFLAGS="-verbose bps -file fileName.test"
 
 test: test-classic test-ttk
-	@
 
 test-classic: tktest
 	$(SHELL_ENV) ./tktest $(TEST_DIR)/all.tcl -geometry +0+0 $(TESTFLAGS)
@@ -696,14 +703,10 @@ install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $
 	    do \
 	    if [ ! -d "$$i" ] ; then \
 		echo "Making directory $$i"; \
-		mkdir -p "$$i"; \
-		chmod 755 "$$i"; \
+		$(INSTALL_DATA_DIR) "$$i"; \
 		else true; \
 		fi; \
 	    done;
-	@if test ! -x $(SRC_DIR)/install-sh; then \
-	    chmod +x $(SRC_DIR)/install-sh; \
-	    fi
 	@if test "x$(TK_SHARED_BUILD)" = "x1"; then \
 	    echo "Creating package index $(PKG_INDEX)"; \
 	    rm -f "$(PKG_INDEX)"; \
@@ -713,14 +716,15 @@ install-binaries: $(TK_LIB_FILE) $(TK_STUB_LIB_FILE) $
 	    echo "package ifneeded Tk $(MAJOR_VERSION).$(MINOR_VERSION)$(PATCH_LEVEL)\
 		[list load [file join \$$dir $${relative}$(TK_LIB_FILE)] Tk]";\
 	    ) > "$(PKG_INDEX)"; \
+	    chmod 444 "$(PKG_INDEX)"; \
 	    fi
 	@echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/"
 	@@INSTALL_LIB@
-	@chmod 555 "$(LIB_INSTALL_DIR)"/$(LIB_FILE)
 	@if test "$(TK_BUILD_EXP_FILE)" != ""; then \
 	    echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \
 	    $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \
 			"$(LIB_INSTALL_DIR)"/$(TK_EXP_FILE); \
+	    (cd "$(LIB_INSTALL_DIR)" ; $(RANLIB) $(TK_EXP_FILE)); \
 	    fi
 	@echo "Installing wish as $(BIN_INSTALL_DIR)/wish$(VERSION)"
 	@$(INSTALL_PROGRAM) wish "$(BIN_INSTALL_DIR)"/wish$(VERSION)
@@ -736,24 +740,35 @@ install-libraries: libraries
 	@if test "$(@TK_WINDOWINGSYSTEM@_XLIB_HDRS)" != ""; then \
 	    XLIB_INCLUDE_INSTALL_DIR="$(INCLUDE_INSTALL_DIR)"/X11; fi; \
 	for i in "$(INCLUDE_INSTALL_DIR)" "$${XLIB_INCLUDE_INSTALL_DIR}" \
+		"$(INCLUDE_INSTALL_DIR)"/generic "$(INCLUDE_INSTALL_DIR)"/generic/ttk \
+		"$(INCLUDE_INSTALL_DIR)"/unix \
 		"$(SCRIPT_INSTALL_DIR)" "$(SCRIPT_INSTALL_DIR)"/images \
 		"$(SCRIPT_INSTALL_DIR)"/msgs "$(SCRIPT_INSTALL_DIR)"/ttk; \
 	    do \
 	    if [ -n "$$i" -a ! -d "$$i" ] ; then \
 		echo "Making directory $$i"; \
-		mkdir -p "$$i"; \
-		chmod 755 "$$i"; \
+		$(INSTALL_DATA_DIR) "$$i"; \
 		else true; \
 		fi; \
 	    done;
-	@if test ! -x $(SRC_DIR)/install-sh; then \
-	    chmod +x $(SRC_DIR)/install-sh; \
-	    fi
 	@echo "Installing header files";
 	@for i in $(PUBLIC_HDRS); \
 	    do \
 	    $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"; \
+	    cd "$(INCLUDE_INSTALL_DIR)"/generic && ln -sf ../`basename $$i` ./`basename $$i`; \
 	    done;
+	@for i in $(PRIVATE_HDRS); \
+	    do \
+	    $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"/generic; \
+	    done;
+	@for i in $(TTK_HDRS); \
+	    do \
+	    $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"/generic/ttk; \
+	    done;
+	@for i in $(@TK_WINDOWINGSYSTEM@_PRIVATE_HDRS); \
+	    do \
+	    $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"/unix; \
+	    done;
 	@list='$(@TK_WINDOWINGSYSTEM@_XLIB_HDRS)'; for i in $$list ; \
 	    do \
 	    $(INSTALL_DATA) $$i "$(INCLUDE_INSTALL_DIR)"/X11; \
@@ -787,63 +802,57 @@ install-libraries: libraries
 	    done;
 
 install-demos:
-	@for i in "$(SCRIPT_INSTALL_DIR)" \
-		"$(SCRIPT_INSTALL_DIR)"/demos \
-		"$(SCRIPT_INSTALL_DIR)"/demos/images ; \
+	@for i in "$(DEMO_INSTALL_DIR)" "$(DEMO_INSTALL_DIR)"/images ; \
 	    do \
 	    if [ ! -d "$$i" ] ; then \
 		echo "Making directory $$i"; \
-		mkdir -p "$$i"; \
-		chmod 755 "$$i"; \
+		$(INSTALL_DATA_DIR) "$$i"; \
 		else true; \
 		fi; \
 	    done;
-	@echo "Installing demos to $(SCRIPT_INSTALL_DIR)/demos/";
+	@echo "Installing demos to $(DEMO_INSTALL_DIR)/";
 	@for i in $(TOP_DIR)/library/demos/*; \
 	    do \
 	    if [ -f $$i ] ; then \
 		sed -e '3 s|exec wish|exec wish$(VERSION)|' \
-			$$i > "$(SCRIPT_INSTALL_DIR)"/demos/`basename $$i`; \
+			$$i > "$(DEMO_INSTALL_DIR)"/`basename $$i`; \
+		chmod 444 "$(DEMO_INSTALL_DIR)"/`basename $$i`; \
 	    fi; \
 	    done;
 	@for i in $(DEMOPROGS); \
 	    do \
-	    chmod 755 "$(SCRIPT_INSTALL_DIR)"/demos/$$i; \
+	    chmod 555 "$(DEMO_INSTALL_DIR)"/$$i; \
 	    done;
 	@echo "Installing demo images";
 	@for i in $(TOP_DIR)/library/demos/images/*; \
 	    do \
 	    if [ -f $$i ] ; then \
-		$(INSTALL_DATA) $$i "$(SCRIPT_INSTALL_DIR)"/demos/images; \
+		$(INSTALL_DATA) $$i "$(DEMO_INSTALL_DIR)"/images; \
 		fi; \
 	    done;
 
 install-doc:
-	@if test ! -x $(UNIX_DIR)/installManPage; then \
-	    chmod +x $(UNIX_DIR)/installManPage; \
-	    fi
 	@for i in "$(MAN_INSTALL_DIR)" "$(MAN1_INSTALL_DIR)" "$(MAN3_INSTALL_DIR)" "$(MANN_INSTALL_DIR)" ; \
 	    do \
 	    if [ ! -d "$$i" ] ; then \
 		echo "Making directory $$i"; \
-		mkdir -p "$$i"; \
-		chmod 755 "$$i"; \
+		$(INSTALL_DATA_DIR) "$$i"; \
 		else true; \
 		fi; \
 	    done;
 	@echo "Installing and cross-linking top-level (.1) docs";
 	@for i in $(TOP_DIR)/doc/*.1; do \
-	    $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN1_INSTALL_DIR)"; \
+	    $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN1_INSTALL_DIR)"; \
 	done
 
 	@echo "Installing and cross-linking C API (.3) docs";
 	@for i in $(TOP_DIR)/doc/*.3; do \
-	    $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN3_INSTALL_DIR)"; \
+	    $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MAN3_INSTALL_DIR)"; \
 	done
 
 	@echo "Installing and cross-linking command (.n) docs";
 	@for i in $(TOP_DIR)/doc/*.n; do \
-	    $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MANN_INSTALL_DIR)"; \
+	    $(SHELL) $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i "$(MANN_INSTALL_DIR)"; \
 	done
 
 # Optional target to install private headers
