summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2001-09-13 22:06:33 +0000
committerjlam <jlam@pkgsrc.org>2001-09-13 22:06:33 +0000
commitd4b1853531f57ba739297f2158a493bb25a86aa0 (patch)
tree80483daa9cbbd27d0627fa56e5dc7060787300a6 /mk
parent752176a4e66a3d63699874a6844c0b2d423e7f6b (diff)
downloadpkgsrc-d4b1853531f57ba739297f2158a493bb25a86aa0.tar.gz
Unify the special code to detect pre-installed Motif installations
(whether 2.0 or 1.2-compatible) into one file, motif.buildlink.mk. lesstif12/buildlink.mk now assumes that if you include it, then you actually want lesstif12. To select that you want a Motif-1.2-compatible installation, define USE_MOTIF12 in the package Makefile. If MOTIF12BASE is also defined, then assume it points to a valid Motif-1.2 installation. Otherwise, auto-detect whether /usr/dt is valid, or if we need lesstif12.
Diffstat (limited to 'mk')
-rw-r--r--mk/motif.buildlink.mk132
1 files changed, 103 insertions, 29 deletions
diff --git a/mk/motif.buildlink.mk b/mk/motif.buildlink.mk
index e706dff210f..41764a6fbf6 100644
--- a/mk/motif.buildlink.mk
+++ b/mk/motif.buildlink.mk
@@ -1,12 +1,16 @@
-# $NetBSD: motif.buildlink.mk,v 1.6 2001/09/13 19:32:11 jlam Exp $
+# $NetBSD: motif.buildlink.mk,v 1.7 2001/09/13 22:06:33 jlam Exp $
#
-# This Makefile fragment is included by packages that use Motif-2.0.
+# This Makefile fragment is included by packages that use Motif.
#
# To use this Makefile fragment, simply:
#
-# (1) Optionally set MOTIF_TYPE choose a specific Motif-2.0-compatible
-# package to be used.
-# (2) Include this Makefile fragment in the package Makefile,
+# (1) Optionally set USE_MOTIF12 to use a Motif-1.2-compatible installation.
+# Otherwise, assume we want a Motif-2.0-compatible installation.
+# (2) Optionally set MOTIFBASE or MOTIF12BASE to choose the Motif-2.0 or
+# Motif-1.2-compatible installation at the named location,
+# (3) Or optionally set MOTIF_TYPE or MOTIF12_TYPE to choose a specific
+# Motif-2.0 or Motif-1.2-compatible package to be used,
+# (4) And include this Makefile fragment in the package Makefile.
.if !defined(MOTIF_BUILDLINK_MK)
MOTIF_BUILDLINK_MK= # defined
@@ -23,63 +27,123 @@ MOTIF_TYPE_DEFAULT?= dt
MOTIF_TYPE_DEFAULT?= openmotif
.endif
+# Default to using LessTif for Motif-1.2-compatible libraries. On Solaris,
+# default to DT-Motif (in /usr/dt).
+#
+.if ${OPSYS} == "SunOS"
+MOTIF12_TYPE_DEFAULT?= dt
+.else
+MOTIF12_TYPE_DEFAULT?= lesstif12
+.endif
+
+.if defined(USE_MOTIF12)
+#
+# If /usr/dt is a valid Motif-1.2 installation, then use it. Otherwise,
+# if ${X11BASE} is valid, then use it. Otherwise, use the Motif-1.2
+# specified by ${MOTIF12_TYPE_DEFAULT}.
+#
+. if exists(/usr/dt/include/Xm/Xm.h) && \
+ !exists(/usr/dt/include/Xm/Gadget.h)
+_MOTIF_TYPE= dt
+. elif exists(${X11BASE}/include/Xm/Xm.h) && \
+ !exists(${X11BASE}/include/Xm/Gadget.h)
+_MOTIF_TYPE= none
+. else
+_MOTIF_TYPE= ${MOTIF12_TYPE_DEFAULT}
+. endif
+.else
+#
# If /usr/dt is a valid Motif-2.0 installation, then use it. Otherwise,
# check to see if a pkgsrc Motif-2.0 is installed and valid, then use it.
# Otherwise, if ${X11BASE} is valid, then use it. Otherwise, use the
# Motif-2.0 specified by ${MOTIF_TYPE_DEFAULT}.
#
-.if exists(/usr/dt/include/Xm/Xm.h) && exists(/usr/dt/include/Xm/Gadget.h)
+. if exists(/usr/dt/include/Xm/Xm.h) && \
+ exists(/usr/dt/include/Xm/Gadget.h)
_MOTIF_TYPE= dt
-.elif exists(${X11BASE}/lib/X11/config/OpenMotif.tmpl) || \
- exists(${LOCALBASE}/lib/X11/config/OpenMotif.tmpl)
+. elif exists(${X11BASE}/lib/X11/config/OpenMotif.tmpl) || \
+ exists(${LOCALBASE}/lib/X11/config/OpenMotif.tmpl)
_MOTIF_TYPE= openmotif
-.elif exists(${X11BASE}/lib/X11/config/LessTif.tmpl) || \
- exists(${LOCALBASE}/lib/X11/config/LessTif.tmpl)
+. elif exists(${X11BASE}/lib/X11/config/LessTif.tmpl) || \
+ exists(${LOCALBASE}/lib/X11/config/LessTif.tmpl)
_MOTIF_TYPE= lesstif
-.elif exists(${X11BASE}/include/Xm.h) && exists(${X11BASE}/include/Xm/Gadget.h)
+. elif exists(${X11BASE}/include/Xm.h) && \
+ exists(${X11BASE}/include/Xm/Gadget.h)
_MOTIF_TYPE= none
-.else
+. else
_MOTIF_TYPE= ${MOTIF_TYPE_DEFAULT}
+. endif
.endif
# If MOTIF_TYPE is set, then let that override the Motif-discovery just
# performed. We only recognize the tested strings as proper values for
# MOTIF_TYPE.
#
-.if defined(MOTIF_TYPE)
-. if (${MOTIF_TYPE} == "openmotif") || \
- (${MOTIF_TYPE} == "lesstif") || \
- (${MOTIF_TYPE} == "dt")
+.if defined(USE_MOTIF12)
+. if defined(MOTIF12_TYPE)
+. if (${MOTIF12_TYPE} == "dt") || \
+ (${MOTIF12_TYPE} == "lesstif12")
+_MOTIF_TYPE= ${MOTIF12_TYPE}
+. endif
+. endif
+.else
+. if defined(MOTIF_TYPE)
+. if (${MOTIF_TYPE} == "dt") || \
+ (${MOTIF_TYPE} == "lesstif") || \
+ (${MOTIF_TYPE} == "openmotif")
_MOTIF_TYPE= ${MOTIF_TYPE}
+. endif
. endif
.endif
-# If MOTIFBASE is set, then let that override all other Motif-discovery
-# just performed.
+.if defined(USE_MOTIF12)
+#
+# If MOTIF12BASE is set, then let that override all other Motif-1.2
+# discovery just performed.
#
-.if defined(MOTIFBASE)
+. if defined(MOTIF12BASE)
_MOTIF_TYPE= none
+_MOTIFBASE= ${MOTIF12BASE}
+. else
+. if ${_MOTIF_TYPE} == "dt"
+_MOTIFBASE= /usr/dt
+. elif ${_MOTIF_TYPE} == "none"
+_MOTIFBASE= ${X11BASE}
+. endif
+. endif
.else
-. if ${_MOTIF_TYPE} == "dt"
-MOTIFBASE= /usr/dt
-. elif ${_MOTIF_TYPE} == "none"
-MOTIFBASE= ${X11BASE}
+#
+# If MOTIFBASE is set, then let that override all other Motif-2.0
+# discovery just performed.
+#
+. if defined(MOTIFBASE)
+_MOTIF_TYPE= none
+_MOTIFBASE= ${MOTIFBASE}
+. else
+. if ${_MOTIF_TYPE} == "dt"
+_MOTIFBASE= /usr/dt
+. elif ${_MOTIF_TYPE} == "none"
+_MOTIFBASE= ${X11BASE}
+. endif
. endif
.endif
.if ${_MOTIF_TYPE} == "openmotif"
. include "../../x11/openmotif/buildlink.mk"
-MOTIFBASE= ${BUILDLINK_PREFIX.openmotif}
+_MOTIFBASE= ${BUILDLINK_PREFIX.openmotif}
.elif ${_MOTIF_TYPE} == "lesstif"
. include "../../x11/lesstif/buildlink.mk"
-MOTIFBASE= ${BUILDLINK_PREFIX.lesstif}
+_MOTIFBASE= ${BUILDLINK_PREFIX.lesstif}
+.elif ${_MOTIF_TYPE} == "lesstif12"
+. include "../../x11/lesstif12/buildlink.mk"
+_MOTIFBASE= ${BUILDLINK_PREFIX.lesstif12}
.else
#
-# Link the pre-existing Motif-2.0 libraries and headers in ${MOTIFBASE} into
+# Link the pre-existing Motif libraries and headers in ${_MOTIFBASE} into
# ${BUILDLINK_DIR}.
#
. include "../../mk/bsd.buildlink.mk"
-BUILDLINK_PREFIX.motif= ${MOTIFBASE}
+BUILDLINK_PREFIX.motif= ${_MOTIFBASE}
BUILDLINK_FILES.motif= include/Mrm/*
BUILDLINK_FILES.motif+= include/Xm/*
BUILDLINK_FILES.motif+= include/uil/*
@@ -94,9 +158,19 @@ pre-configure: ${BUILDLINK_TARGETS.motif}
motif-buildlink: _BUILDLINK_USE
.endif
+.if defined(USE_MOTIF12)
+. if !defined(MOTIF12BASE)
+MOTIF12BASE= ${_MOTIFBASE}
+. endif
+.else
+. if !defined(MOTIFBASE)
+MOTIFBASE= ${_MOTIFBASE}
+. endif
+.endif
+
USE_X11= # defined
MAKE_ENV+= MOTIFLIB="${MOTIFLIB}"
-LDFLAGS+= -Wl,-R${MOTIFBASE}/lib
-MOTIFLIB?= -Wl,-R${MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -L${BUILDLINK_DIR}/lib -lXm -lXp
+LDFLAGS+= -Wl,-R${_MOTIFBASE}/lib
+MOTIFLIB?= -Wl,-R${_MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -L${BUILDLINK_DIR}/lib -lXm -lXp
.endif # MOTIF_BUILDLINK_MK