diff options
author | asami <asami@FreeBSD.org> | 2000-10-05 09:32:21 +0800 |
---|---|---|
committer | asami <asami@FreeBSD.org> | 2000-10-05 09:32:21 +0800 |
commit | cc44efacbc440208ea2a1d1d3cbfa9176b8c213b (patch) | |
tree | 2515939dcc6cad0ddda7dde357725170dfd6a6a6 /Mk | |
parent | 9aa0eff05c42d94336739725aeb297900e18db57 (diff) | |
download | freebsd-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.mk | 265 | ||||
-rw-r--r-- | Mk/bsd.port.mk | 14 |
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 |