summaryrefslogtreecommitdiffstats
path: root/lang/tcl80/files/patch-aa
blob: 19c49a252d5b1226279c34b03195c6be4f0e6458 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
--- Makefile.in.orig	Tue Nov 25 10:31:41 1997
+++ Makefile.in	Thu Sep 17 17:29:28 1998
@@ -55,7 +55,9 @@
 BIN_INSTALL_DIR =	$(INSTALL_ROOT)$(exec_prefix)/bin
 
 # Directory in which to install the include file tcl.h:
-INCLUDE_INSTALL_DIR =	$(INSTALL_ROOT)$(prefix)/include
+INCLUDE_INSTALL_DIR =	$(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)
+GENERIC_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/generic
+UNIX_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/unix
 
 # Top-level directory in which to install manual entries:
 MAN_INSTALL_DIR =	$(INSTALL_ROOT)$(prefix)/man
@@ -133,7 +135,7 @@
 # "install" around;  better to use the install-sh script that comes
 # with the distribution, which is slower but guaranteed to work.
 
-INSTALL =		@srcdir@/install-sh -c
+INSTALL =		install -c
 INSTALL_PROGRAM =	${INSTALL}
 INSTALL_DATA =		${INSTALL} -m 644
 
@@ -310,15 +312,21 @@
 
 SRCS = $(GENERIC_SRCS) $(UNIX_SRCS)
 
-all: ${TCL_LIB_FILE} tclsh
+all: ${TCL_LIB_FILE} libtcl80.a tclsh
 
 # The following target is configured by autoconf to generate either
 # a shared library or non-shared library for Tcl.
 ${TCL_LIB_FILE}: ${OBJS}
 	rm -f ${TCL_LIB_FILE}
 	@MAKE_LIB@
+	ln -sf ${TCL_LIB_FILE} libtcl80.so
 	$(RANLIB) ${TCL_LIB_FILE}
 
+libtcl80.a: ${OBJS}
+	rm -f libtcl80.a
+	ar cr libtcl80.a ${OBJS}	
+	$(RANLIB) libtcl80.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
 # extensions.  used for the Tcl Plugin.  -- dl
@@ -410,7 +418,7 @@
 # some ranlibs write to current directory, and this might not always be
 # possible (e.g. if installing as root).
 
-install-binaries: $(TCL_LIB_FILE) tclsh
+install-binaries: $(TCL_LIB_FILE) libtcl80.a tclsh
 	@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
 	    do \
 	    if [ ! -d $$i ] ; then \
@@ -424,18 +432,23 @@
 	@$(INSTALL_DATA) $(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 libtcl80.a"
+	@$(INSTALL_DATA) libtcl80.a $(LIB_INSTALL_DIR)/libtcl80.a
+	@(cd $(LIB_INSTALL_DIR); $(RANLIB) libtcl80.a)
+	@chmod 555 $(LIB_INSTALL_DIR)/libtcl80.a
 	@echo "Installing tclsh"
 	@$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
 	@echo "Installing tclConfig.sh"
-	@$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
+	@mkdir -p $(SCRIPT_INSTALL_DIR)
+	@$(INSTALL_DATA) tclConfig.sh $(SCRIPT_INSTALL_DIR)/tclConfig.sh
 
 install-libraries:
-	@for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
-		$(SCRIPT_INSTALL_DIR); \
+	@for i in $(INSTALL_ROOT)$(prefix)/lib $(GENERIC_INCLUDE_INSTALL_DIR) \
+		$(UNIX_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); \
 	    do \
 	    if [ ! -d $$i ] ; then \
 		echo "Making directory $$i"; \
-		mkdir $$i; \
+		mkdir -p $$i; \
 		chmod 755 $$i; \
 		else true; \
 		fi; \
@@ -449,8 +462,15 @@
 		else true; \
 		fi; \
 	    done;
-	@echo "Installing tcl.h"
-	@$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
+	@echo "Installing libraries, tcl.h and other headers"
+	@for i in $(GENERIC_DIR)/*.h ; \
+	    do \
+	    echo "Installing $$i"; \
+	    $(INSTALL_DATA) $$i $(GENERIC_INCLUDE_INSTALL_DIR); \
+	    done;
+	@ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
+	@echo "Installing $(TOP_DIR)unix/tclUnixPort.h"
+	@$(INSTALL_DATA) $(TOP_DIR)/unix/tclUnixPort.h $(UNIX_INCLUDE_INSTALL_DIR)
 	@for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \
 	    do \
 	    echo "Installing $$i"; \
@@ -478,30 +498,37 @@
 	@cd $(TOP_DIR)/doc; for i in *.1; \
 	    do \
 	    echo "Installing doc/$$i"; \
-	    rm -f $(MAN1_INSTALL_DIR)/$$i; \
+	    rm -f $(MAN1_INSTALL_DIR)/$$i $(MAN1_INSTALL_DIR)/$$i.gz ; \
 	    sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
-		    $$i > $(MAN1_INSTALL_DIR)/$$i; \
-	    chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
+		    $$i | gzip -c > $(MAN1_INSTALL_DIR)/$$i.gz; \
+	    chmod 444 $(MAN1_INSTALL_DIR)/$$i.gz; \
 	    done;
 	$(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR)
 	@cd $(TOP_DIR)/doc; for i in *.3; \
 	    do \
 	    echo "Installing doc/$$i"; \
-	    rm -f $(MAN3_INSTALL_DIR)/$$i; \
+	    rm -f $(MAN3_INSTALL_DIR)/$$i $(MAN3_INSTALL_DIR)/$$i.gz ; \
 	    sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
-		    $$i > $(MAN3_INSTALL_DIR)/$$i; \
-	    chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
+		    $$i | gzip -c > $(MAN3_INSTALL_DIR)/$$i.gz; \
+	    chmod 444 $(MAN3_INSTALL_DIR)/$$i.gz; \
 	    done;
 	$(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR)
 	@cd $(TOP_DIR)/doc; for i in *.n; \
 	    do \
 	    echo "Installing doc/$$i"; \
-	    rm -f $(MANN_INSTALL_DIR)/$$i; \
+	    rm -f $(MANN_INSTALL_DIR)/$$i $(MANN_INSTALL_DIR)/$$i.gz; \
 	    sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
-		    $$i > $(MANN_INSTALL_DIR)/$$i; \
-	    chmod 444 $(MANN_INSTALL_DIR)/$$i; \
+		    $$i | gzip -c > $(MANN_INSTALL_DIR)/$$i.gz; \
+	    chmod 444 $(MANN_INSTALL_DIR)/$$i.gz; \
 	    done;
 	$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)
+	@echo "**********"
+	@echo "IMPORTANT:"
+	@echo "**********"
+	@echo "tclConfig.sh in $(SCRIPT_INSTALL_DIR)/tclConfig.sh"
+	@echo "tcl.h        in $(INCLUDE_INSTALL_DIR)/tcl.h"
+	@echo "There are NOT default place, but good place to avoid"
+	@echo "conflicting with another version of Tcl/Tks."
 
 Makefile: $(UNIX_DIR)/Makefile.in
 	$(SHELL) config.status
OpenPOWER on IntegriCloud