aboutsummaryrefslogtreecommitdiffstats
path: root/x11-toolkits/fltk2/Makefile
blob: a5df3e27886fa1a4e0a88434e7ddf104e13fbce7 (plain) (blame)
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
# New ports collection makefile for:    fltk2
# Date created:             2006-03-26
# Whom:                 Thomas-Martin Seck <tmseck@netcologne.de>
#
# $FreeBSD$
#

PORTNAME=   fltk
PORTVERSION=    2.0.${SNAPSHOT}
CATEGORIES= x11-toolkits
MASTER_SITES=   ${MASTER_SITE_EASYSW}
MASTER_SITE_SUBDIR= fltk/snapshots
DISTNAME=   fltk-2.0.x-${SNAPSHOT}

MAINTAINER= tmseck@netcologne.de
COMMENT=    Fast Light Toolkit version 2 (development snapshot)

LIB_DEPENDS=    png.5:${PORTSDIR}/graphics/png \
        jpeg.9:${PORTSDIR}/graphics/jpeg \
        Xft.2:${PORTSDIR}/x11-fonts/libXft

SNAPSHOT=   r5940

OPTIONS=    FLTK_THREADS "Install with threads support" on \
        FLTK_CAIRO "Use cairo as graphics backend" off \
        FLTK_EXAMPLES "Build and install example programs" on

LATEST_LINK=    fltk2

USE_BZIP2=  yes
USE_GMAKE=  yes
USE_GL=     yes
USE_X_PREFIX=   yes
GNU_CONFIGURE=  yes

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

CONFIGURE_ARGS+=    --enable-jpeg --enable-png --enable-gl --enable-xft \
            --enable-zlib
# Turn shared library support off for now since fltk2 is not yet stable.
# fltk2 applications should only be linked statically for now to avoid trouble
# after possibly incompatible updates to fltk2.
CONFIGURE_ARGS+=    --disable-shared
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
CONFIGURE_TARGET=   --build=${MACHINE_ARCH}-portbuild-freebsd${OSREL}

DOCSDIR=    ${PREFIX}/share/doc/fltk2
PORTDOCS=   *

.include <bsd.port.pre.mk>

.if defined(WITH_FLTK_THREADS)
CONFIGURE_ARGS+=    --enable-threads
CPPFLAGS+=  "${PTHREAD_CFLAGS}"
LDFLAGS+=   "${PTHREAD_LIBS}"
.else
CONFIGURE_ARGS+=    --disable-threads
.endif

.if defined(WITH_FLTK_CAIRO)
CONFIGURE_ARGS+=    --enable-cairo
LIB_DEPENDS+=   cairo.2:${PORTSDIR}/graphics/cairo
# XXX:
# FLTK2's configure check currently depends on pkg-config being available...
BUILD_DEPENDS+= pkg-config:${PORTSDIR}/devel/pkg-config
.else
CONFIGURE_ARGS+=    --disable-cairo
.endif

.if defined(WITH_FLTK_EXAMPLES) && !defined (NOPORTEXAMPLES)
example_apps=   ansiwidget arc bitmap boxtype browser button buttons cairo \
        checkers clock color_chooser cube CubeView cursor curve \
        demo doublebuffer drawing drawtiming editor exception \
        file_chooser fonts fractals fullscreen gl_overlay glpuzzle \
        hello image inactive input keyboard label line_style list \
        list_visuals mandelbrot menu message monitors navigation \
        output pack pixmap progress qubix resizable resizealign \
        scroll shape sizes symbols tabs threads tile timer \
        utf wizard
example_img=    images/ulon.bmp
PORTEXAMPLES=   *
.else
EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-Makefile
.endif

post-patch:
    ${REINPLACE_CMD} -e 's:%%CXX%%:${CXX}:g' \
        ${WRKSRC}/fltk2-config.in \
        ${WRKSRC}/makeinclude.in

post-install:
.if !defined(NOPORTDOCS)
    ${MKDIR} ${DOCSDIR}
    cd ${WRKSRC}/documentation && ${INSTALL_DATA} *.html *.gif ${DOCSDIR}
    ${INSTALL_DATA} ${WRKSRC}/README_fltk1_to_fltk2.txt ${DOCSDIR}
.endif
.if defined(WITH_FLTK_EXAMPLES) && !defined(NOPORTEXAMPLES)
    ${MKDIR} ${EXAMPLESDIR}/images
    for f in ${example_apps} ; do \
        ${INSTALL_PROGRAM} ${WRKSRC}/test/$${f} ${EXAMPLESDIR} ; \
    done
    for f in ${example_img} ; do \
        ${INSTALL_DATA} ${WRKSRC}/test/$${f} ${EXAMPLESDIR}/images ; \
    done
.endif

.include <bsd.port.post.mk>