aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
authorasami <asami@FreeBSD.org>2000-10-05 09:32:21 +0800
committerasami <asami@FreeBSD.org>2000-10-05 09:32:21 +0800
commitcc44efacbc440208ea2a1d1d3cbfa9176b8c213b (patch)
tree2515939dcc6cad0ddda7dde357725170dfd6a6a6 /Mk
parent9aa0eff05c42d94336739725aeb297900e18db57 (diff)
downloadfreebsd-ports-gnome-cc44efacbc440208ea2a1d1d3cbfa9176b8c213b.tar.gz
freebsd-ports-gnome-cc44efacbc440208ea2a1d1d3cbfa9176b8c213b.tar.zst
freebsd-ports-gnome-cc44efacbc440208ea2a1d1d3cbfa9176b8c213b.zip
Add bsd.gnome.mk that defines gnome-related dependency stuff and hooks
in bsd.port.mk to support it. In particular, bsd.port.mk includes bsd.gnome.mk twice (once in the pre.mk section, once in the post.mk section) and prints out a message notifying the user of the existence of WITH_* options when one exists. It also adds MAKE=${GMAKE} to CONFIGURE_ENV when USE_GMAKE is defined. (This is not related to gnome, but I assume it's useful somewhere and it shouldn't hurt.) Submitted by: ade, reg
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.gnome.mk265
-rw-r--r--Mk/bsd.port.mk14
2 files changed, 279 insertions, 0 deletions
diff --git a/Mk/bsd.gnome.mk b/Mk/bsd.gnome.mk
new file mode 100644
index 000000000000..e89669b1c7c5
--- /dev/null
+++ b/Mk/bsd.gnome.mk
@@ -0,0 +1,265 @@
+#-*- mode: Fundamental; tab-width: 4; -*-
+# ex:ts=4
+#
+# $FreeBSD$
+# $NetBSD: $
+#
+# Please view me with 4 column tabs!
+
+.if !defined(_POSTMKINCLUDED)
+
+# Please make sure all changes to this file are past through the maintainer.
+# Do not commit them yourself (unless of course you're the Port's Wraith ;).
+Gnome_Include_MAINTAINER= reg@FreeBSD.org
+
+# This section keeps tests for optional software. These work off four
+# types of of variables. WANT_, WITH_, HAVE_ and USE_. The logic of
+# this is that a port can WANT support for a package, a user specifies
+# if they want ports compiles WITH certain features. This section tests
+# if we HAVE these features, and the port is then free to USE them.
+
+# The logic of this section is like this:
+#
+# .if defined(WANT_FOO)
+# .if ${WITH_FOO} == "yes"
+# HAVE_FOO=yes
+# .elif ${WITH_FOO} == "no"
+# .undef HAVE_FOO
+# .elif (if FOO installed)
+# HAVE_FOO=yes
+# .else
+# Print option message
+# .endif
+# .endif
+#
+# Although it apears a little more convoluted in the tests.
+
+# Ports can make use of this like so:
+#
+# WANT_FOO= yes
+#
+# .include <bsd.port.pre.mk>
+#
+# .if defined(HAVE_FOO)
+# ... Do some things ...
+# USE_FOO= yes
+# .else
+# ... Do some other things ...
+# .endif
+
+# The following defines are for the various levels of libraries in the
+# GLib/GTK+/GNOME group of software. There are the following options:
+#
+# WITH_GLIB, WITH_GTK, WITH_ESOUND, WITH_IMLIB, WITH_GNOME:
+# yes - Only set by the user, indicates that they always want
+# this setting.
+# no - Only set by the user, indicates that they never want
+# this setting.
+#
+# The following variables might be set:
+#
+# HAVE_GLIB, HAVE_GTK:
+# yes - found GLib/GTK+ 1.2.x or WITH_GLIB/WITH_GTK set to yes.
+# HAVE_ESOUND:
+# yes - either found ESound or WITH_ESOUND set to yes.
+# HAVE_IMLIB:
+# yes - either found Imlib or WITH_IMLIB set to yes.
+# HAVE_GNOME:
+# yes - either found Gnome or WITH_GNOME set to yes.
+
+.if defined(PACKAGE_BUILDING) && !defined(WITH_ALL)
+WITHOUT_ALL= yes
+.endif
+
+.if defined(WANT_ESOUND) && !defined(WITHOUT_ESOUND) && !defined(WITHOUT_ALL)
+.if defined(HAVE_ESOUND)
+.undef HAVE_ESOUND
+.endif
+.if defined(WITH_ESOUND) || defined(WITH_ALL)
+HAVE_ESOUND= yes
+.else
+ESD_CONFIG?= ${LOCALBASE}/bin/esd-config
+.if exists(${ESD_CONFIG})
+HAVE_ESOUND= yes
+.else
+GNOME_OPTION_MSG+= "" "If you want to compile with ESound support," \
+ "hit Ctrl-C right now and use \"make WITH_ESOUND=yes\"" ""
+.endif
+.endif
+.endif
+
+.if defined(WANT_GLIB) && !defined(WITHOUT_GLIB) && !defined(WITHOUT_ALL)
+.if defined(HAVE_GLIB)
+.undef HAVE_GLIB
+.endif
+.if defined(WITH_GLIB) || defined(WITH_ALL)
+HAVE_GLIB= yes
+.else
+GLIB_CONFIG?= ${LOCALBASE}/bin/glib12-config
+.if exists(${GLIB_CONFIG})
+HAVE_GLIB= yes
+.else
+GNOME_OPTION_MSG+= "" "If you want to compile with GLib support," \
+ "hit Ctrl-C right now and use \"make WITH_GLIB=yes\"" ""
+.endif
+.endif
+.endif
+
+.if defined(WANT_GTK) && !defined(WITHOUT_GTK) && !defined(WITHOUT_ALL)
+.if defined(HAVE_GTK)
+.undef HAVE_GTK
+.endif
+.if defined(WITH_GTK) || defined(WITH_ALL)
+HAVE_GTK= yes
+.else
+GTK_CONFIG?= ${X11BASE}/bin/gtk12-config
+.if exists(${GTK_CONFIG})
+HAVE_GTK= yes
+.else
+GNOME_OPTION_MSG+= "" "If you want to compile with GTK+ support," \
+ "hit Ctrl-C right now and use \"make WITH_GTK=yes\"" ""
+.endif
+.endif
+.endif
+
+.if defined(WANT_IMLIB) && !defined(WITHOUT_IMLIB) && !defined(WITHOUT_ALL)
+.if defined(HAVE_IMLIB)
+.undef HAVE_IMLIB
+.endif
+.if defined(WITH_IMLIB) || defined(WITH_ALL)
+HAVE_IMLIB= yes
+.else
+IMLIB_CONFIG?= ${X11BASE}/bin/imlib-config
+.if exists(${IMLIB_CONFIG})
+HAVE_IMLIB= yes
+.else
+GNOME_OPTION_MSG+= "" "If you want to compile with Imlib support," \
+ "hit Ctrl-C right now and use \"make WITH_IMLIB=yes\"" ""
+.endif
+.endif
+.endif
+
+.if defined(WANT_GNOME) && !defined(WITHOUT_GNOME) && !defined(WITHOUT_ALL)
+.if defined(HAVE_GNOME)
+.undef HAVE_GNOME
+.endif
+.if defined(WITH_GNOME) || defined (WITH_ALL)
+HAVE_GNOME= yes
+.else
+GNOME_CONFIG?= ${X11BASE}/bin/gnome-config
+.if exists(${GNOME_CONFIG})
+HAVE_GNOME= yes
+.else
+GNOME_OPTION_MSG+= "" "If you want to compile with GNOME support," \
+ "hit Ctrl-C right now and use \"make WITH_GNOME=yes\"" ""
+.endif
+.endif
+.endif
+
+.endif
+# End of optional part.
+
+.if defined(_POSTMKINCLUDED)
+# This section includes the USE_* definitions for bsd.port.mk, to allow them to
+# be updated outside of bsd.port.mk.
+
+# USE_ESOUND - Says that the port uses ESound.
+# USE_GLIB - Says that the port uses the GLib package.
+# USE_GTK - Says that the port uses the GTK+ toolkit.
+# USE_IMLIB - Says that the port uses the Imlib library.
+# USE_GNOMELIBS - Says that the port uses the GNOME libraries.
+# USE_GNOMECTRL - Says that the port uses the GNOME control center.
+# USE_GNOME - Says that the port uses the GNOME desktop environment.
+
+.if defined(USE_GNOME)
+USE_GNOMECTRL= yes
+.endif
+.if defined(USE_GNOMECTRL)
+USE_GNOMELIBS= yes
+.endif
+.if defined(USE_GNOMELIBS)
+USE_IMLIB= yes
+USE_ESOUND= yes
+.endif
+.if defined(USE_IMLIB)
+USE_GTK= yes
+.endif
+.if defined(USE_GTK)
+USE_GLIB= yes
+.endif
+
+.if defined(USE_ESOUND)
+LIB_DEPENDS+= esd.2:${PORTSDIR}/audio/esound
+ESD_CONFIG?= ${LOCALBASE}/bin/esd-config
+CONFIGURE_ENV+= ESD_CONFIG="${ESD_CONFIG}"
+MAKE_ENV+= ESD_CONFIG="${ESD_CONFIG}"
+.if defined(HAVE_ESOUND)
+PKGNAMESUFFIX= -esound
+CONFIGURE_ENV+= HAVE_ESOUND=${HAVE_ESOUND}
+MAKE_ENV+= HAVE_ESOUND=${HAVE_ESOUND}
+.endif
+.endif
+
+.if defined(USE_GLIB)
+LIB_DEPENDS+= glib12.3:${PORTSDIR}/devel/glib12
+GLIB_CONFIG?= ${LOCALBASE}/bin/glib12-config
+CONFIGURE_ENV+= GLIB_CONFIG="${GLIB_CONFIG}"
+MAKE_ENV+= GLIB_CONFIG="${GLIB_CONFIG}"
+.if defined(HAVE_GLIB)
+PKGNAMESUFFIX= -glib
+CONFIGURE_ENV+= HAVE_GLIB=${HAVE_GLIB}
+MAKE_ENV+= HAVE_GLIB=${HAVE_GLIB}
+.endif
+.endif
+
+.if defined(USE_GTK)
+LIB_DEPENDS+= gtk12.2:${PORTSDIR}/x11-toolkits/gtk12
+GTK_CONFIG?= ${X11BASE}/bin/gtk12-config
+CONFIGURE_ENV+= GTK_CONFIG="${GTK_CONFIG}"
+MAKE_ENV+= GTK_CONFIG="${GTK_CONFIG}"
+.if defined(HAVE_GTK)
+PKGNAMESUFFIX= -gtk
+CONFIGURE_ENV+= HAVE_GTK=${HAVE_GTK}
+MAKE_ENV+= HAVE_GTK=${HAVE_GTK}
+.endif
+.endif
+
+.if defined(USE_IMLIB)
+LIB_DEPENDS+= Imlib.5:${PORTSDIR}/graphics/imlib
+IMLIB_CONFIG?= ${X11BASE}/bin/imlib-config
+CONFIGURE_ENV+= IMLIB_CONFIG="${IMLIB_CONFIG}"
+MAKE_ENV+= IMLIB_CONFIG="${IMLIB_CONFIG}"
+.if defined(HAVE_IMLIB)
+PKGNAMESUFFIX= -imlib
+CONFIGURE_ENV+= HAVE_IMLIB=${HAVE_IMLIB}
+MAKE_ENV+= HAVE_IMLIB=${HAVE_IMLIB}
+.endif
+.endif
+
+.if defined(USE_GNOMELIBS)
+CONFIGURE_ARGS+=--localstatedir=${PREFIX}/share/gnome \
+ --datadir=${PREFIX}/share/gnome \
+ --with-gnome=${PREFIX}
+LIB_DEPENDS+= gnome.4:${PORTSDIR}/x11/gnomelibs
+GNOME_CONFIG?= ${X11BASE}/bin/gnome-config
+CONFIGURE_ENV+= GNOME_CONFIG="${GNOME_CONFIG}"
+MAKE_ENV+= GNOME_CONFIG="${GNOME_CONFIG}"
+.if defined(HAVE_GNOME)
+PKGNAMESUFFIX= -gnome
+CONFIGURE_ENV+= HAVE_GNOME=${HAVE_GNOME}
+MAKE_ENV+= HAVE_GNOME=${HAVE_GNOME}
+PLIST_SUB+= GNOME:="" NOGNOME:="@comment " DATADIR="share/gnome"
+.endif
+.endif
+.if defined(USE_GNOMECTRL)
+LIB_DEPENDS+= capplet.4:${PORTSDIR}/sysutils/gnomecontrolcenter
+.endif
+.if defined(USE_GNOME)
+LIB_DEPENDS+= panel_applet.4:${PORTSDIR}/x11/gnomecore
+.endif
+.if defined(WANT_GNOME) && !defined(HAVE_GNOME)
+PLIST_SUB+= GNOME:="@comment " NOGNOME:="" DATADIR="share"
+.endif
+
+.endif
+# End of use part.
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index cbe2396182c5..f0cbd3d7a464 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -729,6 +729,8 @@ MAKE_ENV+= OPENSSLLIB=${OPENSSLLIB} OPENSSLINC=${OPENSSLINC} \
.include "${PORTSDIR}/Mk/bsd.ruby.mk"
.endif
+.include "${PORTSDIR}/Mk/bsd.gnome.mk"
+
# defaults to 3.3.6; will be changed to 4.0 when it is ready
XFREE86_VERSION?= 3
@@ -793,6 +795,7 @@ BUILD_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip
.endif
.if defined(USE_GMAKE)
BUILD_DEPENDS+= gmake:${PORTSDIR}/devel/gmake
+CONFIGURE_ENV+= MAKE=${GMAKE}
.endif
.if defined(USE_AUTOMAKE)
USE_AUTOCONF= yes
@@ -918,6 +921,8 @@ LIB_DEPENDS+= X11.6:${PORTSDIR}/x11/XFree86-4-libraries
.endif
.endif
+.include "${PORTSDIR}/Mk/bsd.gnome.mk"
+
.if exists(${PORTSDIR}/../Makefile.inc)
.include "${PORTSDIR}/../Makefile.inc"
.endif
@@ -2209,6 +2214,15 @@ post-${name}:
.endfor
+.if defined(GNOME_OPTION_MSG) && (!defined(PACKAGE_BUILDING) || !defined(BATCH))
+pre-everything:: echo-gnome-option-msg
+
+echo-gnome-option-msg:
+ @for m in ${GNOME_OPTION_MSG}; do \
+ ${ECHO_MSG} $$m; \
+ done
+.endif
+
# Patch-libtool
#
# Special target to automatically make libtool using ports use the