summaryrefslogtreecommitdiff
path: root/converters/libiconv/buildlink2.mk
blob: c3afe867e739b9466c9e29ea116dd345dc00c648 (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
# $NetBSD: buildlink2.mk,v 1.19 2004/03/29 05:05:33 jlam Exp $

.if !defined(ICONV_BUILDLINK2_MK)
ICONV_BUILDLINK2_MK=	# defined

.include "../../mk/bsd.prefs.mk"

BUILDLINK_PKGBASE.iconv?=	libiconv
BUILDLINK_DEPENDS.iconv?=	libiconv>=1.9.1
BUILDLINK_PKGSRCDIR.iconv?=	../../converters/libiconv

.if exists(/usr/include/iconv.h)
_BUILTIN_ICONV=		YES
_BLNK_LIBICONV_LIST!=	${ECHO} /usr/lib/libiconv.*
.  if ${_BLNK_LIBICONV_LIST} != "/usr/lib/libiconv.*"
_BLNK_LIBICONV_FOUND=	YES
.  else
_BLNK_LIBICONV_FOUND=	NO
.  endif
.else
_BUILTIN_ICONV=		NO
_BLNK_LIBICONV_FOUND=	NO
.endif
_INCOMPAT_ICONV?=	# should be set from defs.${OPSYS}.mk
.for _pattern_ in ${_INCOMPAT_ICONV} ${INCOMPAT_ICONV}
.  if !empty(MACHINE_PLATFORM:M${_pattern_})
_BUILTIN_ICONV=		NO
_BLNK_LIBICONV_FOUND=	NO
.  endif
.endfor

.if ${_BUILTIN_ICONV} == "YES"
_NEED_ICONV=	NO
.else
_NEED_ICONV=	YES
.endif

.if !empty(PREFER_NATIVE:M[yY][eE][sS]) && \
    ${_BUILTIN_ICONV} == "YES"
_NEED_ICONV=	NO
.endif
.if !empty(PREFER_PKGSRC:M[yY][eE][sS])
_NEED_ICONV=	YES
.endif
.if !empty(PREFER_NATIVE:Miconv) && \
    ${_BUILTIN_ICONV} == "YES"
_NEED_ICONV=	NO
.endif
.if !empty(PREFER_PKGSRC:Miconv)
_NEED_ICONV=	YES
.endif
.if !empty(PREFER_PKGSRC:M[yY][eE][sS]) || \
    !empty(PREFER_PKGSRC:Miconv)
_NEED_ICONV=	YES
.endif

.if defined(USE_GNU_ICONV)
_NEED_ICONV=	YES
.endif

.if ${_NEED_ICONV} == "YES"
# let other packages know that we're using the pkgsrc
# GNU libiconv
ICONV_TYPE=			gnu
BUILDLINK_PACKAGES+=		iconv
EVAL_PREFIX+=			BUILDLINK_PREFIX.iconv=libiconv
BUILDLINK_PREFIX.iconv_DEFAULT=	${LOCALBASE}
_BLNK_ICONV_LDFLAGS=		-L${BUILDLINK_PREFIX.iconv}/lib -liconv
.else
ICONV_TYPE=			native
BUILDLINK_PREFIX.iconv=		/usr
.  if ${_BLNK_LIBICONV_FOUND} == "YES"
_BLNK_ICONV_LDFLAGS=		-liconv
.  else
_BLNK_ICONV_LDFLAGS=		# empty
BUILDLINK_TRANSFORM+=		S:-liconv:
.  endif
.endif
.if ${_USE_RPATH} != no
BUILDLINK_LIBICONV_LDADD=	-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.iconv}/lib
.endif
BUILDLINK_LIBICONV_LDADD+=	${_BLNK_ICONV_LDFLAGS}
LDFLAGS+=			${BUILDLINK_LIBICONV_LDADD}

LIBTOOL_ARCHIVE_UNTRANSFORM_SED+=	\
	-e "s|${BUILDLINK_PREFIX.iconv}/lib/libiconv.la|${_BLNK_ICONV_LDFLAGS}|g" \
	-e "s|${LOCALBASE}/lib/libiconv.la|${_BLNK_ICONV_LDFLAGS}|g" \

BUILDLINK_FILES.iconv=		include/iconv.h
BUILDLINK_FILES.iconv+=		include/libcharset.h
BUILDLINK_FILES.iconv+=		lib/libcharset.*
BUILDLINK_FILES.iconv+=		lib/libiconv.*

BUILDLINK_TARGETS+=		iconv-buildlink
BUILDLINK_TARGETS+=		iconv-libiconv-la

iconv-buildlink: _BUILDLINK_USE

iconv-libiconv-la:
	${_PKG_SILENT}${_PKG_DEBUG}					\
	lafile="${BUILDLINK_DIR}/lib/libiconv.la";			\
	libpattern="${BUILDLINK_PREFIX.iconv}/lib/libiconv.*";		\
	${BUILDLINK_FAKE_LA}

.endif	# ICONV_BUILDLINK2_MK