fe79ac5c42
* FXJSONFile class added. Base class FXJSON improved and generalized. * FXIO now tracks file position; new implementation of FXIO counts bytes read/written. * FXPipe API's added, should now be functional. * Renamed FXStringMap to FXStringDictionary for consistency. * Fixed a few problems in FXVariantMap, FXDictionary. * Fixed possible race in FXThreadPool::startWorker. * New FXThreadException class added; FXThreadException will cause graceful early termination of a thread when thrown inside of FXThread. * FXThread now interceps only FXException (and subclasses), rethrows other exceptions. This was necessary due to the way GNU C++ library performs thread exits. * Non FOX exceptions thrown inside FXThread are now rethrown; but attempts are made to maintain proper bookkeeping when unrolling the stack. * FXThreadPool tasks may throw exceptions. FXThreadPool now intercepts all FOX exceptions and updates bookkeeping when other exceptions are thrown. Note: tasks in FXThreadPool are executed by threads, but since sometimes the main thread is executing tasks in FXThreadPool also we can not allow tasks to throw FXThreadException. * Exceptions thrown inside FXWorker now terminate the worker, and reclaim worker's thread and memory. Before exceptions were all caught, making it impossible to pass return codes from worker execution. * Exceptions thrown in FXTaskGroup::Task correctly reclaim the FXTaskGroup::Task now, and will update completion count and notifications appropriately. * The exception philosophy in FOX is that the library only manages FXExceptions and their subclasses; other exceptions will be either uncaught or caught and rethrown after bookkeeping updates; thus programs should be careful throwing exceptions other than FXExceptions.
78 lines
1.9 KiB
Makefile
78 lines
1.9 KiB
Makefile
# Created by: gahr
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= fox
|
|
PORTVERSION= 1.7.45
|
|
CATEGORIES= x11-toolkits
|
|
MASTER_SITES= http://ftp.fox-toolkit.org/pub/ \
|
|
ftp://ftp.fox-toolkit.org/pub/
|
|
PKGNAMESUFFIX= ${PORTVERSION:R:S/.//}
|
|
|
|
MAINTAINER= gahr@FreeBSD.org
|
|
COMMENT= Fast and extensive C++ GUI toolkit -- devel version
|
|
|
|
OPTIONS_DEFINE= DOCS JPEG PNG TIFF WEBP
|
|
OPTIONS_DEFAULT=JPEG PNG TIFF WEBP
|
|
|
|
MAJORVER= ${PORTVERSION:R}
|
|
PLIST_SUB+= MAJORVER=${MAJORVER}
|
|
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${MAJORVER}
|
|
|
|
USES+= pathfix
|
|
USE_AUTOTOOLS= libtool
|
|
USE_GL= glut
|
|
USE_GNOME= ltverhack
|
|
USE_XORG= sm xft
|
|
USE_LDCONFIG= yes
|
|
CONFIGURE_ARGS= --with-opengl=yes \
|
|
--bindir=${PREFIX}/bin/${PORTNAME}-${MAJORVER}
|
|
|
|
CPPFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2
|
|
LDFLAGS+= -L${LOCALBASE}/lib
|
|
PORTDOCS= *
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MJPEG}
|
|
LIB_DEPENDS+= libjpeg.so:${PORTSDIR}/graphics/jpeg
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-jpeg
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MPNG}
|
|
LIB_DEPENDS+= libpng15.so:${PORTSDIR}/graphics/png
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-png
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MTIFF}
|
|
LIB_DEPENDS+= libtiff.so:${PORTSDIR}/graphics/tiff
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-tiff
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MWEBP}
|
|
LIB_DEPENDS+= libwebp.so:${PORTSDIR}/graphics/webp
|
|
.else
|
|
CONFIGURE_ARGS+=--disable-webp
|
|
.endif
|
|
|
|
.if ${ARCH} == "powerpc"
|
|
BROKEN= Does not link on powerpc
|
|
.endif
|
|
|
|
post-patch:
|
|
# Rename man pages as in manpage.1 --> manpage-17.1 to avoid
|
|
# conflicts with fox14 and fox16
|
|
files=$$(${FIND} ${WRKSRC} -name *.1); \
|
|
for f in $$files; do \
|
|
${MV} $$f `echo $$f | sed -e 's|\.1|-17.1|'`; \
|
|
done;
|
|
${FIND} ${WRKSRC} -name Makefile.am -o -name Makefile.in | ${XARGS} \
|
|
${REINPLACE_CMD} -i '' -e '/man_MANS/s|\.1|-17.1|g'
|
|
${REINPLACE_CMD} -e '/^Libs:/s|$$| -pthread|; s|"||g' ${WRKSRC}/fox17.pc.in
|
|
.if !${PORT_OPTIONS:MDOCS}
|
|
${REINPLACE_CMD} -e '/^SUBDIRS/s/ doc//' ${WRKSRC}/Makefile.am ${WRKSRC}/Makefile.in
|
|
.endif
|
|
|
|
.include <bsd.port.mk>
|