summaryrefslogtreecommitdiff
path: root/devel/glib/Makefile
blob: 4c182ea137dbd0bd3ad3f10a70e433aa28ec5fc1 (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
# $NetBSD: Makefile,v 1.55 2003/05/02 11:54:27 wiz Exp $
# FreeBSD Id: Makefile,v 1.2 1998/08/06 14:55:12 vanilla Exp
#

DISTNAME=		glib-1.2.10
PKGREVISION=		5
CATEGORIES=		devel
MASTER_SITES=		ftp://ftp.gtk.org/pub/gtk/v1.2/ \
			ftp://ftp.cs.umn.edu/pub/gimp/gtk/v1.2/ \
			${MASTER_SITE_GNOME:=sources/glib/1.2/}

MAINTAINER=		tron@netbsd.org
HOMEPAGE=		http://developer.gnome.org/doc/API/glib/index.html
COMMENT=		Some useful routines for C programming

CONFLICTS=		gtk+-1.0.*

USE_BUILDLINK2=		yes
GNU_CONFIGURE=		yes
USE_LIBTOOL=		yes
LTCONFIG_OVERRIDE=	${WRKSRC}/ltconfig
PKGCONFIG_OVERRIDE=	${WRKSRC}/glib.pc.in
PKGCONFIG_OVERRIDE+=	${WRKSRC}/gmodule.pc.in
PKGCONFIG_OVERRIDE+=	${WRKSRC}/gthread.pc.in
CONFIGURE_ARGS+=	--includedir=${PREFIX}/include/glib

INFO_FILES=		glib.info
TEXINFO_OVERRIDE=	YES

PTHREAD_OPTS+=		require

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

# Force the result of this configure test, because the testing technique
# breaks with NetBSD's native libpthread.so.
.if ${OPSYS} == "NetBSD"
CONFIGURE_ENV+=		glib_cv_rtldglobal_broken=no
.endif

# XXX egcs is still broken on arm32.
.if ${MACHINE_ARCH} == "arm32"
CFLAGS=		-O0
.endif

GLIB_VERSION=		${DISTNAME:S/glib-//}
GLIB_MAJOR_VERSION=	${GLIB_VERSION:C/\..*//}
GLIB_MINOR_VERSION=	${GLIB_VERSION:C/[^.]*\.//:C/\..*//}
GLIB_MICRO_VERSION=	${GLIB_VERSION:C/.*\.//}

# We patch the version info in the configure scripts for reasons related to
# shared library numbering, but we don't want it to leak into the various
# installed files.  Explicitly replace the version number with the correct
# one derived from the package name.
#
pre-configure:
	@cd ${WRKSRC};							\
	files="glib-config.in docs/glib-config.1.in glib.pc.in gmodule.pc.in gthread.pc.in"; \
	for f in $${files}; do					\
		${SED}	-e "s|@GLIB_VERSION@|${GLIB_VERSION}|g"		\
			-e "s|@VERSION@|${GLIB_VERSION}|g"		\
			$${f} > $${f}.fixed;			\
		${MV} -f $${f}.fixed $${f};			\
	done

post-configure:
	@cd ${WRKSRC};							\
	files="config.status config.h glibconfig.h";			\
	for f in $${files}; do					\
		${SED}	-e "s|^\(#define.*GLIB_MAJOR_VERSION\).*|\1	${GLIB_MAJOR_VERSION}|" \
			-e "s|^\(#define.*GLIB_MINOR_VERSION\).*|\1	${GLIB_MINOR_VERSION}|" \
			-e "s|^\(#define.*GLIB_MICRO_VERSION\).*|\1	${GLIB_MICRO_VERSION}|" \
			$${f} > $${f}.fixed;			\
		${MV} $${f}.fixed $${f};				\
	done;								\
	${CHMOD} +x config.status
.if exists(/usr/include/sys/null.h)
	@cd ${WRKSRC};							\
	files="glib.h";							\
	for f in $${files}; do					\
		${SED}	-e "s|^#define.NULL.*|#include <sys/null.h>|"	\
			$${f} > $${f}.fixed;			\
		${MV} $${f}.fixed $${f};				\
	done
.endif

test: build
	cd ${WRKSRC} &&  ${MAKE_ENV} ${MAKE_PROGRAM} check 2>&1 | \
		tee ${WRKDIR}/check.log

.include "../../mk/pthread.buildlink2.mk"
.include "../../mk/texinfo.mk"
.include "../../mk/bsd.pkg.mk"