aboutsummaryrefslogtreecommitdiffstats
path: root/Mk/Uses/gnustep.mk
blob: 9749ac5cadcf75e5cf19dd778190b4d7305e78b6 (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
# $FreeBSD$
#
# Handle GNUstep related ports
#
# Feature:  gnustep
# Usage:    USES=gnustep
#
# Defined specific dependencies under USE_GNUSTEP
# Expected arguments for USE_GNUSTEP:
#
# base:     depends on the gnustep-base port
# gui:      depends on the gnustep-gui port
# back:     depends on the gnustep-back port
# build:    prepare the build dependencies for a regular GNUstep port
#

.if !defined(_INCLUDE_USES_GNUSTEP_MK)
_INCLUDE_USES_GNUSTEP_MK=   yes
.include "${USESDIR}/gmake.mk"

GNUSTEP_PREFIX?=    ${LOCALBASE}/GNUstep
DEFAULT_LIBVERSION?=    0.0.1

GNUSTEP_SYSTEM_ROOT=        ${GNUSTEP_PREFIX}/System
GNUSTEP_MAKEFILES=      ${GNUSTEP_SYSTEM_ROOT}/Library/Makefiles
GNUSTEP_SYSTEM_LIBRARIES=   ${GNUSTEP_SYSTEM_ROOT}/Library/Libraries
GNUSTEP_SYSTEM_TOOLS=       ${GNUSTEP_SYSTEM_ROOT}/Tools

GNUSTEP_LOCAL_ROOT= ${GNUSTEP_PREFIX}/Local
GNUSTEP_LOCAL_LIBRARIES=    ${GNUSTEP_LOCAL_ROOT}/Library/Libraries
GNUSTEP_LOCAL_TOOLS=        ${GNUSTEP_LOCAL_ROOT}/Tools

LIB_DIRS+=  ${GNUSTEP_SYSTEM_LIBRARIES} \
        ${GNUSTEP_LOCAL_LIBRARIES}

.for a in CFLAGS CPPFLAGS CXXFLAGS OBJCCFLAGS OBJCFLAGS LDFLAGS
MAKE_ENV+=  ADDITIONAL_${a}="${ADDITIONAL_${a}} ${${a}}"
.endfor
.for a in FLAGS INCLUDE_DIRS LIB_DIRS
MAKE_ENV+=  ADDITIONAL_${a}="${ADDITIONAL_${a}}"
.endfor
MAKE_ARGS+=messages=yes

MAKEFILE=   GNUmakefile
#MAKE_ENV+= GNUSTEP_CONFIG_FILE=${PORTSDIR}/devel/gnustep-make/files/GNUstep.conf
GNU_CONFIGURE_PREFIX=   ${GNUSTEP_PREFIX}

.if ${MACHINE_ARCH} == "i386"
GNU_ARCH=   ix86
.else
GNU_ARCH=   ${MACHINE_ARCH}
.endif

PLIST_SUB+= GNU_ARCH=${GNU_ARCH} VERSION=${PORTVERSION}
PLIST_SUB+= MAJORVERSION=${PORTVERSION:C/([0-9]).*/\1/1}
PLIST_SUB+= LIBVERSION=${DEFAULT_LIBVERSION}
PLIST_SUB+= MAJORLIBVERSION=${DEFAULT_LIBVERSION:C/([0-9]).*/\1/1}

.if defined(USE_GNUSTEP)
.  if ${USE_GNUSTEP:Mbase}
LIB_DEPENDS+=   libgnustep-base.so:lang/gnustep-base
.  endif

.  if ${USE_GNUSTEP:Mbuild}
PATH:=  ${GNUSTEP_SYSTEM_TOOLS}:${GNUSTEP_LOCAL_TOOLS}:${PATH}
MAKE_ENV+=  PATH="${PATH}" GNUSTEP_MAKEFILES="${GNUSTEP_MAKEFILES}" GNUSTEP_SYSTEM_ROOT="${GNUSTEP_SYSTEM_ROOT}"
# All GNUstep things installed from ports should be in the System domain.
# Things installed from source can then freely live in the Local domain without
# conflicts.
MAKE_ENV+=  GNUSTEP_INSTALLATION_DOMAIN=SYSTEM
CONFIGURE_ENV+= PATH="${PATH}" GNUSTEP_MAKEFILES="${GNUSTEP_MAKEFILES}" GNUSTEP_SYSTEM_ROOT="${GNUSTEP_SYSTEM_ROOT}"
BUILD_DEPENDS+= gnustep-make>0:devel/gnustep-make
.include "${USESDIR}/objc.mk"
.  endif

.  if ${USE_GNUSTEP:Mgui}
LIB_DEPENDS+=   libgnustep-gui.so:x11-toolkits/gnustep-gui
.  endif

.  if ${USE_GNUSTEP:Mback}
BUILD_DEPENDS+= gnustep-back>0:x11-toolkits/gnustep-back
RUN_DEPENDS+=   gnustep-back>0:x11-toolkits/gnustep-back
.  endif

.endif

.endif