From 8234e315bda4b19fb4b7a854096c9d120f3ccc52 Mon Sep 17 00:00:00 2001
From: Jun Kuriyama <kuriyama@FreeBSD.org>
Date: Sat, 26 Sep 1998 12:45:11 +0000
Subject: ELFization patch.

PR:		ports/8043
Submitted by:	Taguchi Takeshi <taguchi@tohoku.iij.ad.jp>
---
 japanese/tcl76/Makefile       |  11 ++--
 japanese/tcl76/files/patch-aa |  69 ++++++++++++++++++--
 japanese/tcl76/files/patch-ad |  85 ++++++++++++------------
 japanese/tcl76/pkg-plist      | 146 ++----------------------------------------
 4 files changed, 118 insertions(+), 193 deletions(-)

(limited to 'japanese/tcl76')

diff --git a/japanese/tcl76/Makefile b/japanese/tcl76/Makefile
index e5bb283e186e..004a5a85ce2a 100644
--- a/japanese/tcl76/Makefile
+++ b/japanese/tcl76/Makefile
@@ -3,7 +3,7 @@
 # Date created:		11 March 1997
 # Whom:			taguchi@tohoku.iij.ad.jp
 #
-# $Id: Makefile,v 1.4 1997/09/14 21:36:06 max Exp $
+# $Id: Makefile,v 1.5 1998/07/03 23:06:30 steve Exp $
 #
 
 DISTNAME=	tcl7.6p2
@@ -17,7 +17,7 @@ PATCHFILES=	tcl7.6jp-patch.gz
 MAINTAINER=	taguchi@tohoku.iij.ad.jp
 
 WRKSRC=		${WRKDIR}/${DISTNAME}/unix
-GNU_CONFIGURE=	yes
+USE_AUTOCONF=	yes
 CONFIGURE_ARGS=	--enable-shared
 CONFIGURE_ENV=  PORTSDIR=${PORTSDIR}
 
@@ -44,9 +44,12 @@ pre-install:
 	cd ${WRKSRC} && ${MAKE} -f Makefile.lib PREFIX=${PREFIX} VERSION=${VERSION} install
 
 post-install:
-	${LDCONFIG} -m ${PREFIX}/lib
+	${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib
 
 test:
-	cd ${WRKSRC} && ${MAKE} test
+	cd ${WRKSRC} && ${SETENV} PORTOBJFORMAT=${PORTOBJFORMAT} ${MAKE} test
+
+install-man:
+	cd ${WRKSRC} && ${SETENV} PORTOBJFORMAT=${PORTOBJFORMAT} ${MAKE} install-man
 
 .include <bsd.port.mk>
diff --git a/japanese/tcl76/files/patch-aa b/japanese/tcl76/files/patch-aa
index 7ab495b44262..ea4b612c931f 100644
--- a/japanese/tcl76/files/patch-aa
+++ b/japanese/tcl76/files/patch-aa
@@ -1,15 +1,17 @@
---- Makefile.in.ORIG	Mon Feb 10 17:45:33 1997
-+++ Makefile.in	Mon Feb 10 17:47:04 1997
-@@ -55,7 +55,7 @@
+--- Makefile.in.orig	Thu Sep 17 16:59:45 1998
++++ Makefile.in	Thu Sep 17 17:06:00 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
-@@ -73,7 +73,7 @@
+@@ -73,7 +75,7 @@
  
  # To change the compiler switches, for example to change from -O
  # to -g, change the following line:
@@ -18,7 +20,33 @@
  
  # To disable ANSI-C procedure prototypes reverse the comment characters
  # on the following lines:
-@@ -389,7 +389,7 @@
+@@ -305,6 +307,9 @@
+ 	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
+ 
+ tclsh: ${TCLSH_OBJS} ${TCL_LIB_FILE}
+ 	${CC} @LD_FLAGS@ ${TCLSH_OBJS} @TCL_BUILD_LIB_SPEC@ ${LIBS} \
+@@ -366,7 +371,7 @@
+ 	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
+@@ -385,15 +390,19 @@
+ 	@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 tclsh"
  	@$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
  	@echo "Installing tclConfig.sh"
@@ -27,7 +55,36 @@
  
  install-libraries:
  	@for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
-@@ -423,30 +423,38 @@
+-		$(SCRIPT_INSTALL_DIR) ; \
++		$(SCRIPT_INSTALL_DIR) $(GENERIC_INCLUDE_INSTALL_DIR) \
++		$(UNIX_INCLUDE_INSTALL_DIR) ; \
+ 	    do \
+ 	    if [ ! -d $$i ] ; then \
+ 		echo "Making directory $$i"; \
+@@ -402,13 +411,20 @@
+ 		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 $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c; \
+ 	    do \
+ 	    echo "Installing $$i"; \
+ 	    $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
+ 	    done;
++	@echo "Installing $(TOP_DIR)unix/tclUnixPort.h"
++	@$(INSTALL_DATA) $(TOP_DIR)/unix/tclUnixPort.h $(UNIX_INCLUDE_INSTALL_DIR)
++	@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
+ 
+ install-man:
+ 	@for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \
+@@ -423,30 +439,38 @@
  	@cd $(TOP_DIR)/doc; for i in *.1; \
  	    do \
  	    echo "Installing doc/$$i"; \
diff --git a/japanese/tcl76/files/patch-ad b/japanese/tcl76/files/patch-ad
index 58772d5ed10e..f6d6fcec1e4e 100644
--- a/japanese/tcl76/files/patch-ad
+++ b/japanese/tcl76/files/patch-ad
@@ -1,44 +1,41 @@
---- Makefile.in.ORIG	Mon Feb 17 13:27:32 1997
-+++ Makefile.in	Mon Feb 17 13:40:57 1997
-@@ -56,6 +56,8 @@
- 
- # Directory in which to install the include file tcl.h:
- 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
-@@ -393,7 +395,8 @@
- 
- install-libraries:
- 	@for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
--		$(SCRIPT_INSTALL_DIR) ; \
-+		$(SCRIPT_INSTALL_DIR) $(GENERIC_INCLUDE_INSTALL_DIR) \
-+		$(UNIX_INCLUDE_INSTALL_DIR) ; \
- 	    do \
- 	    if [ ! -d $$i ] ; then \
- 		echo "Making directory $$i"; \
-@@ -402,13 +405,20 @@
- 		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 $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c; \
- 	    do \
- 	    echo "Installing $$i"; \
- 	    $(INSTALL_DATA) $$i $(SCRIPT_INSTALL_DIR); \
- 	    done;
-+	@echo "Installing $(TOP_DIR)unix/tclUnixPort.h"
-+	@$(INSTALL_DATA) $(TOP_DIR)/unix/tclUnixPort.h $(UNIX_INCLUDE_INSTALL_DIR)
-+	@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
- 
- install-man:
- 	@for i in $(MAN_INSTALL_DIR) $(MAN1_INSTALL_DIR) $(MAN3_INSTALL_DIR) $(MANN_INSTALL_DIR) ; \
+--- configure.in.orig	Tue Sep 15 08:14:13 1998
++++ configure.in	Tue Sep 15 08:17:43 1998
+@@ -647,7 +647,20 @@
+ 	LD_FLAGS="-Wl,-Bexport"
+ 	LD_SEARCH_FLAGS=""
+ 	;;
+-    NetBSD-*|FreeBSD-*|OpenBSD-*)
++    NetBSD-*|FreeBSD-*|OpenBSD-*)
++	if test "X$PORTOBJFORMAT" = "Xelf"; then
++	    SHLIB_CFLAGS="-fpic"
++	    SHLIB_LD='${CC} -shared -Wl,-x'
++	    SHLIB_SEARCH_FLAGS='-Wl,-soname,${TCL_LIB_FILE}'
++	    SHLIB_SUFFIX=".so"
++	    DL_OBJS="tclLoadDl.o"
++	    DL_LIBS=""
++	    LD_FLAGS=""
++	    LD_SEARCH_FLAGS=""
++	    TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1'
++	    TCL_UNSHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.a'
++	    TCL_LIB_VERSIONS_OK=nodots
++        else
+ 	# Not available on all versions:  check for include file.
+ 	AC_CHECK_HEADER(dlfcn.h, [
+ 	    SHLIB_CFLAGS="-fpic"
+@@ -675,6 +688,7 @@
+ 	TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.0'
+ 	TCL_UNSHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.a'
+ 	TCL_LIB_VERSIONS_OK=nodots
++	fi
+ 	;;
+     NEXTSTEP-*)
+ 	SHLIB_CFLAGS=""
+@@ -1012,7 +1026,7 @@
+     TCL_SHLIB_CFLAGS="${SHLIB_CFLAGS}"
+     TCL_LD_SEARCH_FLAGS="${LD_SEARCH_FLAGS}"
+     eval "TCL_LIB_FILE=libtcl${TCL_SHARED_LIB_SUFFIX}"
+-    MAKE_LIB="\${SHLIB_LD} -o ${TCL_LIB_FILE} \${OBJS} ${SHLIB_LD_LIBS}"
++    MAKE_LIB="\${SHLIB_LD} -o ${TCL_LIB_FILE} ${SHLIB_SEARCH_FLAGS} \${OBJS} ${SHLIB_LD_LIBS}"
+     RANLIB=":"
+ else
+     if test "$AIX" = "no" ; then
diff --git a/japanese/tcl76/pkg-plist b/japanese/tcl76/pkg-plist
index 4145d7f706a5..12687065dc38 100644
--- a/japanese/tcl76/pkg-plist
+++ b/japanese/tcl76/pkg-plist
@@ -1,7 +1,8 @@
 lib/libtcl76jp.a
 lib/libtcl76jp.so.1.0
-@exec /sbin/ldconfig -m %B
-@unexec /sbin/ldconfig -R
+lib/libtcl76jp.so
+@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %B
+@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R
 bin/tclsh7.6jp
 include/tcl7.6jp/tcl.h
 include/tcl7.6jp/unix/tclUnixPort.h
@@ -16,140 +17,7 @@ lib/tcl7.6jp/ldAout.tcl
 lib/tcl7.6jp/parray.tcl
 lib/tcl7.6jp/tclIndex
 lib/tcl7.6jp/tclAppInit.c
-man/man1/tclsh.1.gz
-man/man3/AddErrInfo.3.gz
-man/man3/AllowExc.3.gz
-man/man3/AppInit.3.gz
-man/man3/AssocData.3.gz
-man/man3/Async.3.gz
-man/man3/BackgdErr.3.gz
-man/man3/Backslash.3.gz
-man/man3/CallDel.3.gz
-man/man3/CmdCmplt.3.gz
-man/man3/Concat.3.gz
-man/man3/CrtChannel.3.gz
-man/man3/CrtChnlHdlr.3.gz
-man/man3/CrtCloseHdlr.3.gz
-man/man3/CrtCommand.3.gz
-man/man3/CrtFileHdlr.3.gz
-man/man3/CrtInterp.3.gz
-man/man3/CrtMathFnc.3.gz
-man/man3/CrtModalTmt.3.gz
-man/man3/CrtSlave.3.gz
-man/man3/CrtTimerHdlr.3.gz
-man/man3/CrtTrace.3.gz
-man/man3/DString.3.gz
-man/man3/DetachPids.3.gz
-man/man3/DoOneEvent.3.gz
-man/man3/DoWhenIdle.3.gz
-man/man3/Eval.3.gz
-man/man3/Exit.3.gz
-man/man3/ExprLong.3.gz
-man/man3/FindExec.3.gz
-man/man3/GetFile.3.gz
-man/man3/GetInt.3.gz
-man/man3/GetOpnFl.3.gz
-man/man3/GetStdChan.3.gz
-man/man3/Hash.3.gz
-man/man3/Interp.3.gz
-man/man3/LinkVar.3.gz
-man/man3/Notifier.3.gz
-man/man3/OpenFileChnl.3.gz
-man/man3/OpenTcp.3.gz
-man/man3/PkgRequire.3.gz
-man/man3/Preserve.3.gz
-man/man3/PrintDbl.3.gz
-man/man3/RecordEval.3.gz
-man/man3/RegExp.3.gz
-man/man3/SetErrno.3.gz
-man/man3/SetRecLmt.3.gz
-man/man3/SetResult.3.gz
-man/man3/SetVar.3.gz
-man/man3/Sleep.3.gz
-man/man3/SplitList.3.gz
-man/man3/StaticPkg.3.gz
-man/man3/StrMatch.3.gz
-man/man3/Tcl_Main.3.gz
-man/man3/TraceVar.3.gz
-man/man3/Translate.3.gz
-man/man3/UpVar.3.gz
-man/mann/Tcl.n.gz
-man/mann/after.n.gz
-man/mann/append.n.gz
-man/mann/array.n.gz
-man/mann/bgerror.n.gz
-man/mann/break.n.gz
-man/mann/case.n.gz
-man/mann/catch.n.gz
-man/mann/cd.n.gz
-man/mann/clock.n.gz
-man/mann/close.n.gz
-man/mann/concat.n.gz
-man/mann/continue.n.gz
-man/mann/eof.n.gz
-man/mann/error.n.gz
-man/mann/eval.n.gz
-man/mann/exec.n.gz
-man/mann/exit.n.gz
-man/mann/expr.n.gz
-man/mann/fblocked.n.gz
-man/mann/fconfigure.n.gz
-man/mann/file.n.gz
-man/mann/fileevent.n.gz
-man/mann/filename.n.gz
-man/mann/flush.n.gz
-man/mann/for.n.gz
-man/mann/foreach.n.gz
-man/mann/format.n.gz
-man/mann/gets.n.gz
-man/mann/glob.n.gz
-man/mann/global.n.gz
-man/mann/history.n.gz
-man/mann/if.n.gz
-man/mann/incr.n.gz
-man/mann/info.n.gz
-man/mann/interp.n.gz
-man/mann/join.n.gz
-man/mann/lappend.n.gz
-man/mann/library.n.gz
-man/mann/lindex.n.gz
-man/mann/linsert.n.gz
-man/mann/list.n.gz
-man/mann/llength.n.gz
-man/mann/load.n.gz
-man/mann/lrange.n.gz
-man/mann/lreplace.n.gz
-man/mann/lsearch.n.gz
-man/mann/lsort.n.gz
-man/mann/open.n.gz
-man/mann/package.n.gz
-man/mann/pid.n.gz
-man/mann/pkgMkIndex.n.gz
-man/mann/proc.n.gz
-man/mann/puts.n.gz
-man/mann/pwd.n.gz
-man/mann/read.n.gz
-man/mann/regexp.n.gz
-man/mann/regsub.n.gz
-man/mann/rename.n.gz
-man/mann/return.n.gz
-man/mann/scan.n.gz
-man/mann/seek.n.gz
-man/mann/set.n.gz
-man/mann/socket.n.gz
-man/mann/source.n.gz
-man/mann/split.n.gz
-man/mann/string.n.gz
-man/mann/subst.n.gz
-man/mann/switch.n.gz
-man/mann/tclvars.n.gz
-man/mann/tell.n.gz
-man/mann/time.n.gz
-man/mann/trace.n.gz
-man/mann/unknown.n.gz
-man/mann/unset.n.gz
-man/mann/update.n.gz
-man/mann/uplevel.n.gz
-man/mann/upvar.n.gz
-man/mann/vwait.n.gz
-man/mann/while.n.gz
+@dirrm include/tcl7.6jp/unix
+@dirrm include/tcl7.6jp/generic
+@dirrm include/tcl7.6jp
+@dirrm lib/tcl7.6jp
-- 
cgit v1.2.3