summaryrefslogtreecommitdiffstats
path: root/x11-toolkits/fox16/Makefile
blob: 64572d7133664cc9c70b9479075d8abd259bb50e (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
# Created by: Alexander Novitsky <alecn2002@yandex.ru>
# $FreeBSD$

PORTNAME=	fox
PORTVERSION=	1.6.52
PORTREVISION=	1
CATEGORIES=	x11-toolkits
MASTER_SITES=	ftp://ftp.fox-toolkit.org/pub/ \
		http://ftp.fox-toolkit.org/pub/
PKGNAMESUFFIX=	${PORTVERSION:R:S/.//}

MAINTAINER=	jhale@FreeBSD.org
COMMENT=	Fast and extensive C++ GUI toolkit -- ver.1.6

LICENSE=	LGPL3+

LIB_DEPENDS=	libpng.so:graphics/png \
		libtiff.so:graphics/tiff

USES=		compiler:features jpeg libtool pathfix
USE_GL=		gl glu
USE_XORG=	x11 xext xfixes
GNU_CONFIGURE=	yes
CONFIGURE_ARGS=	--with-opengl --with-x --with-xim
USE_LDCONFIG=	yes

CPPFLAGS+=	-I${LOCALBASE}/include -fPIC
LDFLAGS+=	-L${LOCALBASE}/lib

PLIST_SUB=	MAJORVER="${MAJORVER}"

PORTDOCS=	*

OPTIONS_DEFINE=		APPS DEBUG DOCS OPTIMIZED_CFLAGS PROFILE SHM \
			XCURSOR XFT XINPUT XRANDR XRENDER
OPTIONS_DEFAULT=	SHM XCURSOR XFT XINPUT XRANDR XRENDER
OPTIONS_SUB=		yes

APPS_DESC=		Install sample applications
DEBUG_CONFIGURE_ON=	--enable-debug
DEBUG_CONFIGURE_OFF=	--enable-release
PROFILE_CONFIGURE_ON=	--with-profiling=gprof
SHM_DESC=		Shared Memory support
SHM_CONFIGURE_ON=	--with-xshm=yes
SHM_CONFIGURE_OFF=	--with-xshm=no
XCURSOR_USE=		xorg=xcursor
XCURSOR_CONFIGURE_ON=	--with-xcursor=yes
XCURSOR_CONFIGURE_OFF=	--with-xcursor=no
XFT_USE=		xorg=xft
XFT_LIB_DEPENDS=	libfreetype.so:print/freetype2 \
			libfontconfig.so:x11-fonts/fontconfig
XFT_CONFIGURE_ON=	--with-xft=yes
XFT_CONFIGURE_OFF=	--with-xft=no
XFT_CPPFLAGS=		$$(freetype-config --cflags)
XFT_LDFLAGS=		$$(freetype-config --libs)
XFT_IMPLIES=		XRENDER
XINPUT_DESC=		X Input extension library support
XINPUT_USE=		xorg=xi
XINPUT_CONFIGURE_ON=	--with-xinput=yes
XINPUT_CONFIGURE_OFF=	--with-xinput=no
XRANDR_USE=		xorg=xrandr
XRANDR_CONFIGURE_ON=	--with-xrandr=yes
XRANDR_CONFIGURE_OFF=	--with-xrandr=no
XRENDER_DESC=		X Render extension library support
XRENDER_USE=		xorg=xrender
XRENDER_CONFIGURE_ON=	--with-xrender=yes
XRENDER_CONFIGURE_OFF=	--with-xrender=no

MAJORVER=	${PORTVERSION:R}

.include <bsd.port.pre.mk>

.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
CXXFLAGS+=	-ffast-math
.  if !${PORT_OPTIONS:MPROFILE}
CXXFLAGS+=	-fomit-frame-pointer
.  endif
.  if ${COMPILER_TYPE} == "gcc"
CXXFLAGS+=	-fexpensive-optimizations -finline-functions
.  endif
.endif

post-patch:
# Rename man pages as in manpage.1 --> manpage-16.1 to avoid
# conflicts with fox14 and fox17
	files=$$(${FIND} ${WRKSRC} -name *.1); \
	for f in $$files; do \
		${MV} $$f `${ECHO_CMD} $$f | ${SED} -e 's|\.1|-16.1|'`; \
	done;
	@${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${REINPLACE_CMD} -e \
		'/man_MANS/s|\.1|-16.1|g'
	@${REINPLACE_CMD} -e \
		'/^Libs:/s|$$| -pthread|; \
		 s|"||g' ${WRKSRC}/fox.pc.in
# CXXFLAGS safeness
	@${REINPLACE_CMD} -e \
		's|^\(CXXFLAGS=""\)|#\1|; \
		 /CXXFLAGS/s|-O2 ||; \
		 /CXXFLAGS/s|\(-Wuninitialized\).*"|\1"|; \
		 /LDFLAGS/s|-s ||' \
		${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
# doc prefix safeness
	@${REINPLACE_CMD} -e \
		's|^\(htmldir\).*$$|\1=${DOCSDIR}/html|' \
		${WRKSRC}/doc/Makefile.in
	@${REINPLACE_CMD} -e \
		's|^\(artdir\).*$$|\1=${DOCSDIR}/html|' \
		${WRKSRC}/doc/art/Makefile.in
	@${REINPLACE_CMD} -e \
		's|^\(screenshotsdir\).*$$|\1=${DOCSDIR}/html|' \
		${WRKSRC}/doc/screenshots/Makefile.in

post-patch-APPS-off:
	@${REINPLACE_CMD} -e \
		's|^\(SUBDIRS.*\)adie|\1|; \
		 s|^\(SUBDIRS.*\)pathfinder|\1|; \
		 s|^\(SUBDIRS.*\)calculator|\1|' \
		${WRKSRC}/Makefile.in

post-install:
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libCHART-${MAJORVER}.so.[0-9].*
	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libFOX-${MAJORVER}.so.[0-9].*

.include <bsd.port.post.mk>
OpenPOWER on IntegriCloud