blob: 475cdde3f7dd3fe7840766e044d66f53496ae127 (
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
|
# Created by: Matthias Sund <m.sund@arcor.de>
# $FreeBSD$
PORTNAME= upp
PORTVERSION= 9251
PORTREVISION= 1
CATEGORIES= devel x11-toolkits
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/2015.2/
DISTNAME= ${PORTNAME}-x11-src-${PORTVERSION}
MAINTAINER= m.sund@arcor.de
COMMENT= Ultimate++, a BSD-licensed, cross-platform, C/C++ RAD suite
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${BUILD_WRKSRC}/Core/Copying
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libexpat.so:textproc/expat2 \
libnotify.so:devel/libnotify
USES= execinfo gmake
USE_XORG= xft
USE_GNOME= gtk20
WRKSRC= ${WRKDIR}/${DISTNAME}
BUILD_WRKSRC= ${WRKSRC}/uppsrc
MACRO_FLAGS= -DflagGUI -DflagMT -DflagGCC -DflagSHARED -DflagPOSIX -DflagBSD -DflagFREEBSD
MAKE_ARGS= UPPOUT="../_out/" OutFile="../theide" \
Macro="${MACRO_FLAGS}" \
LIBPATH="-L${LOCALBASE}/lib -L/usr/lib" \
CINC="-I. -I${LOCALBASE}/include -I${LOCALBASE}/include/freetype2 \
-I${LOCALBASE}/include/gtk-2.0 -I${LOCALBASE}/include/atk-1.0 \
-I${LOCALBASE}/include/cairo -I${LOCALBASE}/include/gdk-pixbuf-2.0 \
-I${LOCALBASE}/include/pango-1.0 -I${LOCALBASE}/include/glib-2.0 \
-I${LOCALBASE}/lib/glib-2.0/include -I/usr/include"
MAKE_JOBS_UNSAFE= yes
BROKEN_ia64= Does not compile on ${ARCH}
BROKEN_powerpc= Does not compile on ${ARCH}
BROKEN_sparc64= Does not compile on ${ARCH}
PORTDATA= bazaar examples reference tutorial uppsrc *.bm
DESKTOP_ENTRIES="TheIDE" "IDE for cross-platform C++ development" \
"${DATADIR}/uppsrc/ide/theide-48.png" "theide" \
"Development;IDE;GTK;" false
OPTIONS_DEFINE= SDL OPENGL MYSQL PGSQL USEMALLOC
USEMALLOC_DESC= Compile without U++ heap allocator
USEMALLOC_VARS= MACRO_FLAGS+=-DflagUSEMALLOC
PLIST_FILES= bin/theide
SDL_USE= sql
OPENGL_USE= gl
MYSQL_USE= mysql=yes
PGSQL_USES= pgsql
post-patch: .SILENT
${MV} ${BUILD_WRKSRC}/Makefile.in ${BUILD_WRKSRC}/Makefile
${REINPLACE_CMD} -e '/^CXX =/d;/^CFLAGS =/d;/^CXXFLAGS =/d;/^LDFLAGS =/d' \
-e 's|-Linux-|-BSD-FreeBSD-|' \
-e 's|-ldl|-lXau -lXdmcp -lfreetype -lexpat -lxcb -lpng -lexecinfo|' \
${BUILD_WRKSRC}/Makefile
# Use simplified upstream patch to fix the build
${REINPLACE_CMD} -e '/ftoutln.h/d' ${BUILD_WRKSRC}/CtrlCore/GtkDrawText.cpp
post-build: .SILENT
${ECHO_CMD} "BUILDER = \"GCC\"" > ${WRKSRC}/GCC.bm
${ECHO_CMD} "COMMON_CPP_OPTIONS = \"-std=c++0x\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "DEBUG_INFO = \"0\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "DEBUG_BLITZ = \"1\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "DEBUG_LINKMODE = \"1\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "DEBUG_OPTIONS = \"-O0\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "DEBUG_FLAGS = \"\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "DEBUG_LINK = \"\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "RELEASE_BLITZ = \"0\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "RELEASE_LINKMODE = \"1\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "RELEASE_OPTIONS = \"-O2 -ffunction-sections -fdata-sections\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "RELEASE_SIZE_OPTIONS = \"-Os -finline-limit=20 -ffunction-sections -fdata-sections\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "RELEASE_FLAGS = \"\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "RELEASE_LINK = \"-Wl,--gc-sections\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "DEBUGGER = \"gdb\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "PATH = \"\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "INCLUDE = \"${LOCALBASE}/include;${LOCALBASE}/include/freetype2;${LOCALBASE}/include/gtk-2.0;${LOCALBASE}/include/atk-1.0;${LOCALBASE}/include/cairo;${LOCALBASE}/include/gdk-pixbuf-2.0;${LOCALBASE}/include/pango-1.0;${LOCALBASE}/include/glib-2.0;${LOCALBASE}/lib/glib-2.0/include;/usr/include\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "LIB = \"${LOCALBASE}/lib;/usr/lib\";" >> ${WRKSRC}/GCC.bm
${ECHO_CMD} "LINKMODE_LOCK = \"0\";" >> ${WRKSRC}/GCC.bm
# Also create CLANG build method, based on GCC with some changes
(cd ${WRKSRC} && ${CP} GCC.bm CLANG.bm && \
${SED} -i '' -e '/^BUILDER/s|GCC|CLANG| ; \
s| -fdata-sections|| ; s| -finline-limit=20||' CLANG.bm)
${ECHO_CMD} "COMMON_OPTIONS = \"-Wno-logical-op-parentheses\";" >> ${WRKSRC}/CLANG.bm
${ECHO_CMD} "ALLOW_PRECOMPILED_HEADERS = \"0\";" >> ${WRKSRC}/CLANG.bm
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/theide ${STAGEDIR}${PREFIX}/bin
(cd ${WRKSRC} && ${COPYTREE_SHARE} "${PORTDATA} -not ( -type d -empty )" \
${STAGEDIR}${DATADIR})
.include <bsd.port.mk>
|