From d9a03dd68af62458410e115c8670a912174fc396 Mon Sep 17 00:00:00 2001
From: Steve Price <steve@FreeBSD.org>
Date: Thu, 17 Sep 1998 22:30:11 +0000
Subject: Make this build in an ELF world.

Reviewed by:	jkh
---
 lang/tcl80/Makefile       | 12 ++++++++++--
 lang/tcl80/files/patch-aa | 30 +++++++++++-------------------
 lang/tcl80/files/patch-ab | 23 +++++++++++++++++++++++
 lang/tcl80/pkg-plist      |  5 +++--
 4 files changed, 47 insertions(+), 23 deletions(-)
 create mode 100644 lang/tcl80/files/patch-ab

(limited to 'lang/tcl80')

diff --git a/lang/tcl80/Makefile b/lang/tcl80/Makefile
index e5ce84d0dfb1..873790850830 100644
--- a/lang/tcl80/Makefile
+++ b/lang/tcl80/Makefile
@@ -3,7 +3,7 @@
 # Date created:		19 August 1997
 # Whom:			jkh
 #
-# $Id: Makefile,v 1.6 1998/07/03 23:06:48 steve Exp $
+# $Id: Makefile,v 1.7 1998/07/27 21:14:46 hoek Exp $
 #
 
 DISTNAME=	tcl8.0p2
@@ -21,6 +21,7 @@ CONFIGURE_ENV=  PORTSDIR=${PORTSDIR}
 SHLIB_MAJOR=	1
 SHLIB_MINOR=	2
 MAKEFILE=	makefile
+TCL_LIB=	libtcl80.so
 
 post-configure:
 	@${CP} ${FILESDIR}/Makefile.lib ${WRKSRC}
@@ -31,7 +32,8 @@ pre-build:
 	   SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR}
 
 post-install:
-	${LDCONFIG} -m ${PREFIX}/lib
+	${LN} -sf ${TCL_LIB_FILE} ${PREFIX}/lib/${TCL_LIB}
+	${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib
 .if exists(${PKGDIR}/INSTALL.tclsh)
 	${SH} ${PKGDIR}/INSTALL.tclsh
 .endif
@@ -42,3 +44,9 @@ test:
 .include <bsd.port.mk>
 
 PKG_ARGS+=	-i ${PKGDIR}/INSTALL.tclsh
+
+.if ${PORTOBJFORMAT} == "elf"
+TCL_LIB_FILE=	${TCL_LIB}.${SHLIB_MAJOR}
+.else
+TCL_LIB_FILE=	${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR}
+.endif
diff --git a/lang/tcl80/files/patch-aa b/lang/tcl80/files/patch-aa
index b16d8068a0ab..19c49a252d5b 100644
--- a/lang/tcl80/files/patch-aa
+++ b/lang/tcl80/files/patch-aa
@@ -1,15 +1,5 @@
---- configure	Fri Nov  7 09:28:05 1997
-+++ configure	Fri Nov 21 23:36:13 1997
-@@ -3789,7 +3789,7 @@
- 	    DL_LIBS=""
- 	    LD_FLAGS=""
- 	    LD_SEARCH_FLAGS=""
--	    TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.0'
-+	    TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.2'
- 	
- else
-   echo "$ac_t""no" 1>&6
-+++ Makefile.in	Wed Oct  1 09:51:59 1997
+--- 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
  
@@ -21,7 +11,7 @@
  
  # Top-level directory in which to install manual entries:
  MAN_INSTALL_DIR =	$(INSTALL_ROOT)$(prefix)/man
-@@ -138,7 +140,7 @@
+@@ -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.
  
@@ -30,7 +20,7 @@
  INSTALL_PROGRAM =	${INSTALL}
  INSTALL_DATA =		${INSTALL} -m 644
  
-@@ -315,7 +317,7 @@
+@@ -310,15 +312,21 @@
  
  SRCS = $(GENERIC_SRCS) $(UNIX_SRCS)
  
@@ -39,8 +29,10 @@
  
  # The following target is configured by autoconf to generate either
  # a shared library or non-shared library for Tcl.
-@@ -324,6 +326,11 @@
+ ${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}
@@ -51,7 +43,7 @@
  # 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
-@@ -415,7 +422,7 @@
+@@ -410,7 +418,7 @@
  # some ranlibs write to current directory, and this might not always be
  # possible (e.g. if installing as root).
  
@@ -60,7 +52,7 @@
  	@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
  	    do \
  	    if [ ! -d $$i ] ; then \
-@@ -429,18 +436,23 @@
+@@ -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)
@@ -88,7 +80,7 @@
  		chmod 755 $$i; \
  		else true; \
  		fi; \
-@@ -454,8 +466,15 @@
+@@ -449,8 +462,15 @@
  		else true; \
  		fi; \
  	    done;
@@ -106,7 +98,7 @@
  	@for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \
  	    do \
  	    echo "Installing $$i"; \
-@@ -483,30 +502,37 @@
+@@ -478,30 +498,37 @@
  	@cd $(TOP_DIR)/doc; for i in *.1; \
  	    do \
  	    echo "Installing doc/$$i"; \
diff --git a/lang/tcl80/files/patch-ab b/lang/tcl80/files/patch-ab
new file mode 100644
index 000000000000..5f838cee4470
--- /dev/null
+++ b/lang/tcl80/files/patch-ab
@@ -0,0 +1,23 @@
+--- configure.orig	Tue Nov 25 10:31:42 1997
++++ configure	Wed Sep 16 21:30:16 1998
+@@ -3782,14 +3782,18 @@
+   echo "$ac_t""yes" 1>&6
+   
+ 	    SHLIB_CFLAGS="-fpic"
+-	    SHLIB_LD="ld -Bshareable -x"
++	    SHLIB_LD="ld -Bshareable -x -soname \$@"
+ 	    SHLIB_LD_LIBS=""
+ 	    SHLIB_SUFFIX=".so"
+ 	    DL_OBJS="tclLoadDl.o"
+ 	    DL_LIBS=""
+ 	    LD_FLAGS=""
+ 	    LD_SEARCH_FLAGS=""
+-	    TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.0'
++	    if [ "$PORTOBJFORMAT" = "elf" ]; then
++		TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1'
++	    else
++		TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.2'
++	    fi
+ 	
+ else
+   echo "$ac_t""no" 1>&6
diff --git a/lang/tcl80/pkg-plist b/lang/tcl80/pkg-plist
index a3d4b01080ca..520071081c99 100644
--- a/lang/tcl80/pkg-plist
+++ b/lang/tcl80/pkg-plist
@@ -1,8 +1,9 @@
 bin/tclsh8.0
 lib/libtcl80.a
+lib/libtcl80.so
 lib/libtcl80.so.1.2
-@exec /sbin/ldconfig -m %B
-@unexec /sbin/ldconfig -R
+@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT /sbin/ldconfig -m %B
+@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT /sbin/ldconfig -R
 include/tcl8.0/tcl.h
 include/tcl8.0/unix/tclUnixPort.h
 include/tcl8.0/generic/tcl.h
-- 
cgit v1.2.3