freebsd-ports/japanese/tcl80/files/patch-aa
Satoshi Asami 2c48db7b1c My goodness. Why did you decrease the a.out shlib number from 1.2 to
1.0?!?  (That's one thing you absolutely cannot do!)
1998-09-28 10:24:57 +00:00

246 lines
8.8 KiB
Plaintext

--- configure.in.ORIG Sun Sep 20 20:57:48 1998
+++ configure.in Sun Sep 20 21:00:47 1998
@@ -811,15 +811,21 @@
NetBSD-*|FreeBSD-*|OpenBSD-*)
# Not available on all versions: check for include file.
AC_CHECK_HEADER(dlfcn.h, [
+ # FreeBSD-current supports elf format, now.
+ if test "X$PORTOBJFORMAT" = "Xelf"; then
+ SHLIB_LD='${CC} -shared -Wl,-x'
+ TCL_SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
+ else
+ SHLIB_LD="ld -Bshareable -x"
+ TCL_SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.2'
+ fi
SHLIB_CFLAGS="-fpic"
- SHLIB_LD="ld -Bshareable -x"
SHLIB_LD_LIBS=""
SHLIB_SUFFIX=".so"
DL_OBJS="tclLoadDl.o"
DL_LIBS=""
LD_FLAGS=""
LD_SEARCH_FLAGS=""
- TCL_SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1.0'
], [
SHLIB_CFLAGS=""
SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r"
@@ -1182,6 +1188,7 @@
if test "$TCL_UNSHARED_LIB_SUFFIX" = "" ; then
TCL_UNSHARED_LIB_SUFFIX='${VERSION}\$\{DBGX\}.a'
fi
+TCL_STATIC_LIB_FILE=""
AC_ARG_ENABLE(shared,
[ --enable-shared build libtcl as a shared library],
[tcl_ok=$enableval], [tcl_ok=no])
@@ -1190,10 +1197,15 @@
TCL_SHLIB_CFLAGS="${SHLIB_CFLAGS}"
TCL_LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS}"
eval "TCL_LIB_FILE=libtcl${TCL_SHARED_LIB_SUFFIX}"
+ eval "TCL_STATIC_LIB_FILE=libtcl${TCL_UNSHARED_LIB_SUFFIX}"
if test "x$DL_OBJS" = "xtclLoadAout.o"; then
MAKE_LIB="ar cr \${TCL_LIB_FILE} \${OBJS}"
else
- MAKE_LIB="\${SHLIB_LD} -o \${TCL_LIB_FILE} \${OBJS} ${SHLIB_LD_LIBS}"
+ if test "X$PORTOBJFORMAT" = "Xelf"; then
+ MAKE_LIB="\${SHLIB_LD} -o \${TCL_LIB_FILE} \${OBJS} -Wl,-soname,${TCL_LIB_FILE} ${SHLIB_LD_LIBS}"
+ else
+ MAKE_LIB="\${SHLIB_LD} -o \${TCL_LIB_FILE} \${OBJS} ${SHLIB_LD_LIBS}"
+ fi
RANLIB=":"
fi
else
@@ -1234,6 +1246,7 @@
# Trick to replace DBGX with TCL_DBGX
DBGX='${TCL_DBGX}'
eval "TCL_LIB_FILE=${TCL_LIB_FILE}"
+eval "TCL_STATIC_LIB_FILE=${TCL_STATIC_LIB_FILE}"
VERSION='${VERSION}'
eval "CFG_TCL_SHARED_LIB_SUFFIX=${TCL_SHARED_LIB_SUFFIX}"
@@ -1272,6 +1285,7 @@
AC_SUBST(TCL_BUILD_LIB_SPEC)
AC_SUBST(TCL_LD_SEARCH_FLAGS)
AC_SUBST(TCL_LIB_FILE)
+AC_SUBST(TCL_STATIC_LIB_FILE)
AC_SUBST(TCL_LIB_FLAG)
AC_SUBST(TCL_LIB_SPEC)
AC_SUBST(TCL_LIB_VERSIONS_OK)
--- Makefile.in.ORIG Sun Sep 20 20:57:54 1998
+++ Makefile.in Sun Sep 20 21:01:40 1998
@@ -55,11 +55,16 @@
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
+# Directory in which to install sharedable other documents:
+DOC_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/share/doc/tcl$(VERSION)
+
# Directory in which to install manual entry for tclsh:
MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
@@ -151,7 +156,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
@@ -184,6 +189,7 @@
#BUILD_DLTEST =
TCL_LIB_FILE = @TCL_LIB_FILE@
+TCL_STATIC_LIB_FILE= @TCL_STATIC_LIB_FILE@
#TCL_LIB_FILE = libtcl.a
TCL_LIB_FLAG = @TCL_LIB_FLAG@
@@ -334,7 +340,11 @@
SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(KANJI_SRCS)
-all: ${TCL_LIB_FILE} tclsh
+DOCS = $(TOP_DIR)/README $(TOP_DIR)/changes $(TOP_DIR)/README.JP \
+ $(TOP_DIR)/Incompat80jp $(TOP_DIR)/changes.JP \
+ $(UNIX_DIR)/README.FreeBSD
+
+all: ${TCL_LIB_FILE} ${TCL_STATIC_LIB_FILE} tclsh
# The following target is configured by autoconf to generate either
# a shared library or non-shared library for Tcl.
@@ -342,6 +352,14 @@
rm -f ${TCL_LIB_FILE}
@MAKE_LIB@
$(RANLIB) ${TCL_LIB_FILE}
+.if ${PORTOBJFORMAT}X == elfX
+ ln -sf ${TCL_LIB_FILE} `echo ${TCL_LIB_FILE} | sed 's/\.so.*$$/.so/'`
+.endif
+
+${TCL_STATIC_LIB_FILE}: ${OBJS}
+ rm -f ${TCL_STATIC_LIB_FILE}
+ ar cr ${TCL_STATIC_LIB_FILE} ${OBJS}
+ $(RANLIB) ${TCL_STATIC_LIB_FILE}
# 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
@@ -430,13 +448,13 @@
cd dltest; if test -f configure; then ./configure; else \
$(DLTEST_DIR)/configure; fi
-install: install-binaries install-libraries install-man
+install: install-binaries install-libraries
# Note: before running ranlib below, must cd to target directory because
# 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) $(TCL_STATIC_LIB_FILE) tclsh
@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
do \
if [ ! -d $$i ] ; then \
@@ -449,19 +467,27 @@
@echo "Installing $(TCL_LIB_FILE)"
@$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
@(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE))
+.if ${PORTOBJFORMAT}X == elfX
+ @(cd $(LIB_INSTALL_DIR); ln -sf ${TCL_LIB_FILE} `echo ${TCL_LIB_FILE} | sed 's/\.so.*$$/.so/'`)
+.endif
@chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
+ @echo "Installing $(TCL_STATIC_LIB_FILE)"
+ @$(INSTALL_DATA) $(TCL_STATIC_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_STATIC_LIB_FILE)
+ @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_STATIC_LIB_FILE))
+ @chmod 555 $(LIB_INSTALL_DIR)/$(TCL_STATIC_LIB_FILE)
@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; \
@@ -475,8 +501,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"; \
@@ -504,30 +537,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