# New ports collection makefile for:	tk4.2p2
# Version required:	4.2p2
# Date created:		3 March 1997
# Whom:			taguchi
#
# $Id: Makefile,v 1.12 1998/11/14 09:43:32 asami Exp $
#

DISTNAME=	tk4.2p2
PKGNAME=	tk-4.2
CATEGORIES=	x11-toolkits tk42
MASTER_SITES=	ftp://ftp.scriptics.com/pub/tcl/tcl7_6/

MAINTAINER=	taguchi@tohoku.iij.ad.jp

LIB_DEPENDS=	tcl76.1:${PORTSDIR}/lang/tcl76

USE_XLIB=	yes
NO_LATEST_LINK=	yes
WRKSRC=		${WRKDIR}/${DISTNAME}/unix
GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--enable-shared
CONFIGURE_ENV=  PORTSDIR=${PORTSDIR}
TK_LIB_FILE=	libtk42.so
EXTRA_PKG_ARGS=	-i ${PORTSDIR}/x11-toolkits/tk80/pkg/INSTALL.wish

VERSION=	4.2

.if defined(PATCH_DEBUG)
PATCH_DIST_ARGS=	-d ${WRKDIR}/${DISTNAME} -E ${PATCH_DIST_STRIP}
PATCH_ARGS=		-d ${WRKDIR}/${DISTNAME} -E ${PATCH_STRIP}
.else
PATCH_DIST_ARGS=	-d ${WRKDIR}/${DISTNAME} --forward --quiet -E ${PATCH_DIST_STRIP}
PATCH_ARGS=		-d ${WRKDIR}/${DISTNAME} --forward --quiet -E ${PATCH_STRIP}
.endif

MAN1=	wish.1
MAN3=	3DBorder.3 BindTable.3 CanvPsY.3 CanvTkwin.3 CanvTxtInfo.3 Clipboard.3 \
	ClrSelect.3 ConfigWidg.3 ConfigWind.3 CoordToWin.3 CrtErrHdlr.3 \
	CrtGenHdlr.3 CrtImgType.3 CrtItemType.3 CrtPhImgFmt.3 CrtSelHdlr.3 \
	DeleteImg.3 DrawFocHlt.3 EventHndlr.3 FindPhoto.3 FreeXId.3 GeomReq.3 \
	GetAnchor.3 GetBitmap.3 GetCapStyl.3 GetClrmap.3 GetColor.3 \
	GetCursor.3 GetFontStr.3 GetGC.3 GetImage.3 GetJoinStl.3 GetJustify.3 \
	GetOption.3 GetPixels.3 GetPixmap.3 GetRelief.3 GetRootCrd.3 \
	GetScroll.3 GetSelect.3 GetUid.3 GetVRoot.3 GetVisual.3 HandleEvent.3 \
	IdToWindow.3 ImgChanged.3 InternAtom.3 MainLoop.3 MainWin.3 \
	MaintGeom.3 ManageGeom.3 MapWindow.3 MoveToplev.3 Name.3 NameOfImg.3 \
	OwnSelect.3 ParseArgv.3 QWinEvent.3 Restack.3 RestrictEv.3 \
	SetAppName.3 SetClass.3 SetGrid.3 SetVisual.3 StrictMotif.3 Tk_Init.3 \
	Tk_Main.3 WindowId.3 Tk_3DBorderColor.3 Tk_3DBorderGC.3 \
	Tk_3DHorizontalBevel.3 Tk_3DVerticalBevel.3 Tk_Attributes.3 \
	Tk_BindEvent.3 Tk_CanvasDrawableCoords.3 Tk_CanvasEventuallyRedraw.3 \
	Tk_CanvasGetCoord.3 Tk_CanvasPsBitmap.3 Tk_CanvasPsColor.3 \
	Tk_CanvasPsFont.3 Tk_CanvasPsPath.3 Tk_CanvasPsStipple.3 \
	Tk_CreateErrorHandler.3 Tk_CreateEventHandler.3 \
	Tk_CreateGenericHandler.3 Tk_CreateImageType.3 Tk_CreateItemType.3 \
	Tk_CreatePhotoImageFormat.3 Tk_CreateSelHandler.3 Tk_Display.3 \
	Tk_DefineBitmap.3 Tk_DefineCursor.3 Tk_DeleteAllBindings.3 \
	Tk_DeleteBinding.3 Tk_DeleteBindingTable.3 Tk_DeleteErrorHandler.3 \
	Tk_DeleteEventHandler.3 Tk_DeleteGenericHandler.3 Tk_DeleteImage.3 \
	Tk_DeleteSelHandler.3 Tk_DisplayName.3 Tk_Draw3DPolygon.3 \
	Tk_Draw3DRectangle.3 Tk_DrawFocusHighlight.3 Tk_Fill3DPolygon.3 \
	Tk_Fill3DRectangle.3 Tk_FindPhoto.3 Tk_Free3DBorder.3 Tk_FreeBitmap.3 \
	Tk_FreeColor.3 Tk_FreeColormap.3 Tk_FreeCursor.3 Tk_FreeFontStruct.3 \
	Tk_FreeGC.3 Tk_FreeImage.3 Tk_FreeOptions.3 Tk_FreePixmap.3 \
	Tk_FreeXId.3 Tk_GeometryRequest.3 Tk_Get3DBorder.3 Tk_GetAllBindings.3 \
	Tk_GetAnchor.3 Tk_GetAtomName.3 Tk_GetBinding.3 Tk_GetBitmap.3 \
	Tk_GetBitmapFromData.3 Tk_X.3 Tk_GetCapStyle.3 Tk_GetColor.3 \
	Tk_GetColorByValue.3 Tk_GetColormap.3 Tk_GetCursor.3 \
	Tk_GetCursorFromData.3 Tk_GetFontStruct.3 Tk_GetGC.3 Tk_GetImage.3 \
	Tk_GetItemTypes.3 Tk_GetJoinStyle.3 Tk_GetJustify.3 Tk_GetOption.3 \
	Tk_GetPixels.3 Tk_GetPixmap.3 Tk_GetRelief.3 Tk_GetRootCoords.3 \
	Tk_GetScreenMM.3 Tk_GetScrollInfo.3 Tk_GetSelection.3 Tk_GetUid.3 \
	Tk_GetVRootGeometry.3 Tk_GetVisual.3 Tk_HandleEvent.3 Tk_Height.3 \
	Tk_IdToWindow.3 Tk_ImageChanged.3 Tk_InternAtom.3 \
	Tk_InternalBorderWidth.3 Tk_IsMapped.3 Tk_IsTopLevel.3 Tk_MainLoop.3 \
	Tk_MainWindow.3 Tk_MaintainGeometry.3 Tk_ManageGeometry.3 \
	Tk_MapWindow.3 Tk_MoveResizeWindow.3 Tk_MoveToplevelWindow.3 \
	Tk_MoveWindow.3 Tk_Name.3 Tk_NameOf3DBorder.3 Tk_NameOfAnchor.3 \
	Tk_NameOfBitmap.3 Tk_NameOfCapStyle.3 Tk_NameOfColor.3 \
	Tk_NameOfCursor.3 Tk_NameOfFontStruct.3 Tk_NameOfImage.3 \
	Tk_NameOfJoinStyle.3 Tk_NameOfJustify.3 Tk_NameOfRelief.3 \
	Tk_NameToWindow.3 Tk_Offset.3 Tk_OwnSelection.3 Tk_Parent.3 \
	Tk_ParseArgv.3 Tk_PathName.3 Tk_PhotoBlank.3 Tk_PhotoExpand.3 \
	Tk_PhotoGetImage.3 Tk_PhotoGetSize.3 Tk_PhotoPutBlock.3 \
	Tk_PhotoPutZoomedBlock.3 Tk_PhotoSetSize.3 Tk_QueueWindowEvent.3 \
	Tk_RedrawImage.3 Tk_ReqHeight.3 Tk_ReqWidth.3 Tk_ResizeWindow.3 \
	Tk_RestackWindow.3 Tk_RestrictEvents.3 Tk_Screen.3 Tk_ScreenNumber.3 \
	Tk_SetAppName.3 Tk_SetClass.3 Tk_SetBackgroundFromBorder.3 \
	Tk_SetGrid.3 Tk_SetInternalBorder.3 Tk_SetWindowBackground.3 \
	Tk_SetWindowBackgroundPixmap.3 Tk_SetWindowBorder.3 \
	Tk_SetWindowBorderPixmap.3 Tk_SetWindowBorderWidth.3 \
	Tk_SetWindowColormap.3 Tk_SetWindowVisual.3 Tk_SizeOfBitmap.3 \
	Tk_SizeOfImage.3 Tk_StrictMotif.3 Tk_Uid.3 Tk_UndefineCursor.3 \
	Tk_UnmaintainGeometry.3 Tk_UnmapWindow.3 Tk_UnsetGrid.3 Tk_Visual.3 \
	Tk_Width.3 Tk_WindowId.3 Tk_Y.3
MANN=	bell.n bind.n bindtags.n bitmap.n button.n canvas.n checkbutton.n \
	clipboard.n destroy.n dialog.n entry.n focus.n focusNext.n frame.n \
	grab.n grid.n image.n label.n listbox.n lower.n menu.n menubar.n \
	menubutton.n message.n option.n optionMenu.n options.n pack-old.n \
	pack.n palette.n photo.n place.n popup.n radiobutton.n raise.n \
	scale.n scrollbar.n selection.n send.n text.n tk.n tkerror.n tkvars.n \
	tkwait.n toplevel.n winfo.n wm.n tk_bindForTraversal.n tk_bisque.n \
	tk_dialog.n tk_focusFollowsMouse.n tk_focusNext.n tk_focusPrev.n \
	tk_menuBar.n tk_optionMenu.n tk_popup.n tk_setPalette.n
MANCOMPRESSED=	yes

.include <bsd.port.pre.mk>

post-extract:
	@${MV} ${WRKDIR}/tk4.2 ${WRKDIR}/${DISTNAME}

post-configure:
	@${ECHO} "We will NOT only make shared library, but also static one."
	@${CP} ${FILESDIR}/Makefile.lib ${WRKSRC}

pre-build:
	cd ${WRKSRC} && ${MAKE} -f Makefile.lib PREFIX=${PREFIX} VERSION=${VERSION} && rm -f *.o

pre-install:
	${MKDIR} ${PREFIX}/lib/tk${VERSION}

post-install:
	cd ${WRKSRC} && ${MAKE} -f Makefile.lib PREFIX=${PREFIX} VERSION=${VERSION} install 
.if ${PORTOBJFORMAT} == "elf"
	${LN} -sf ${TK_LIB_FILE}.1 ${PREFIX}/lib/${TK_LIB_FILE}
.else
	${LN} -sf ${TK_LIB_FILE}.1.0 ${PREFIX}/lib/${TK_LIB_FILE}
.endif
	${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib
	@echo "**********"
	@echo "IMPORTANT:"
	@echo "**********"
	@echo "We've installed:"
	@echo "tkConfig.sh in $(PREFIX)/lib/tk$(VERSION)/tkConfig.sh"
	@echo "tk.h        in $(PREFIX)/include/tk$(VERSION)/tk.h"
	@echo "These are NOT the default place, but good place to avoid"
	@echo "conflicting with another version of Tcl/Tks."
.if exists(${PORTSDIR}/x11-toolkits/tk80/pkg/INSTALL.wish)
	${SH} ${PORTSDIR}/x11-toolkits/tk80/pkg/INSTALL.wish
.endif

test:
	cd ${WRKSRC}; make test

# Only activated for default version of tcl/tk
default:
	/bin/ln -sf tk${VERSION}/generic/tk.h ${PREFIX}/include
	/bin/ln -sf tk${VERSION}/tkConfig.sh ${PREFIX}/lib

.include <bsd.port.post.mk>
