summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2001-09-08 19:52:30 +0000
committerjlam <jlam@pkgsrc.org>2001-09-08 19:52:30 +0000
commit78934af22c1e8f6792288881e765d7cad503a47b (patch)
tree58aa3ce76ee2e168af92b4b9bd08ea165ee24aca
parent39c550cbff397c93d5e3db0910a82a2b0ad1048f (diff)
downloadpkgsrc-78934af22c1e8f6792288881e765d7cad503a47b.tar.gz
Separate out the Motif-checking logic from lesstif/buildlink.mk into a
separate file mk/motif.buildlink.mk.
-rw-r--r--mk/motif.buildlink.mk103
-rw-r--r--x11/lesstif/buildlink.mk41
2 files changed, 105 insertions, 39 deletions
diff --git a/mk/motif.buildlink.mk b/mk/motif.buildlink.mk
new file mode 100644
index 00000000000..b0369b698c6
--- /dev/null
+++ b/mk/motif.buildlink.mk
@@ -0,0 +1,103 @@
+# $NetBSD: motif.buildlink.mk,v 1.1 2001/09/08 19:52:30 jlam Exp $
+#
+# 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-compatible package
+# to be used.
+# (2) Include this Makefile fragment in the package Makefile,
+
+.if !defined(MOTIF_BUILDLINK_MK)
+MOTIF_BUILDLINK_MK= # defined
+
+.include "../../mk/bsd.prefs.mk"
+
+# Default to using LessTif for Motif-compatible libraries as it's the most
+# well-tested with pkgsrc. We should thoroughly test using OpenMotif and
+# switch the default to OpenMotif as it's a "real" Motif with full
+# functionality. On Solaris, default to DT-Motif (in /usr/dt).
+#
+.if ${OPSYS} == "SunOS"
+MOTIF_TYPE_DEFAULT= dt
+.else
+MOTIF_TYPE_DEFAULT= lesstif
+.endif
+MOTIF_TYPE?= ${MOTIF_TYPE_DEFAULT}
+
+# We only recognize the tested strings as proper values for MOTIF_TYPE.
+.if ${MOTIF_TYPE} != "openmotif" && \
+ ${MOTIF_TYPE} != "lesstif" && \
+ ${MOTIF_TYPE} != "dt"
+MOTIF_TYPE= ${MOTIF_TYPE_DEFAULT}
+.endif
+
+# If MOTIFBASE is defined, then assume that it points to a valid Motif
+# installation. Otherwise, if /usr/dt is valid and ${MOTIF_TYPE} is "dt",
+# then use it. Otherwise if ${X11BASE} is valid, then use it and check if
+# it's from pkgsrc, adding a dependency if necessary. Otherwise, use the
+# Motif specified by ${MOTIF_TYPE}.
+#
+.if defined(MOTIFBASE)
+_NEED_PKGMOTIF= NO
+.else
+. if exists(/usr/dt/include/Xm/Xm.h) && (${MOTIF_TYPE} == "dt")
+_NEED_PKGMOTIF= NO
+MOTIFBASE?= /usr/dt
+MOTIF_TYPE= dt
+. else
+. if exists(${X11BASE}/include/Xm/Xm.h)
+MOTIFBASE?= ${X11BASE}
+. if !exists(${X11BASE}/lib/X11/config/OpenMotif.tmpl) && \
+ !exists(${X11BASE}/lib/X11/config/LessTif.tmpl)
+_NEED_PKGMOTIF= NO
+. else
+_NEED_PKGMOTIF= YES
+. if exists(${X11BASE}/lib/X11/config/OpenMotif.tmpl)
+MOTIF_TYPE= openmotif
+. elif exists(${X11BASE}/lib/X11/config/LessTif.tmpl)
+MOTIF_TYPE= lesstif
+. endif
+. endif
+. else
+_NEED_PKGMOTIF= YES
+MOTIFBASE?= ${X11PREFIX}
+MOTIF_TYPE?= ${MOTIF_TYPE_DEFAULT}
+. endif
+. endif
+.endif
+
+.if ${_NEED_PKGMOTIF} == "YES"
+. if ${MOTIF_TYPE} == "openmotif"
+. include "../../x11/openmotif/buildlink.mk"
+. elif ${MOTIF_TYPE} == "lesstif"
+. include "../../x11/lesstif/buildlink.mk"
+. endif
+.else
+#
+# Link the pre-existing Motif libraries and headers in ${MOTIFBASE} into
+# ${BUILDLINK_DIR}.
+#
+. include "../../mk/bsd.buildlink.mk"
+BUILDLINK_PREFIX.motif= ${MOTIFBASE}
+BUILDLINK_FILES.motif= include/Mrm/*
+BUILDLINK_FILES.motif+= include/Xm/*
+BUILDLINK_FILES.motif+= include/uil/*
+BUILDLINK_FILES.motif+= lib/libMrm.*
+BUILDLINK_FILES.motif+= lib/libUil.*
+BUILDLINK_FILES.motif+= lib/libXm.*
+
+BUILDLINK_TARGETS.motif= motif-buildlink
+BUILDLINK_TARGETS+= ${BUILDLINK_TARGETS.motif}
+
+pre-configure: ${BUILDLINK_TARGETS.motif}
+motif-buildlink: _BUILDLINK_USE
+.endif
+
+USE_X11= # defined
+MAKE_ENV+= MOTIFBASE="${MOTIFBASE}"
+MAKE_ENV+= MOTIFLIB="${MOTIFLIB}"
+LDFLAGS+= -Wl,-R${MOTIFBASE}/lib
+MOTIFLIB?= -Wl,-R${MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -L${BUILDLINK_DIR}/lib -lXm -lXp
+
+.endif # MOTIF_BUILDLINK_MK
diff --git a/x11/lesstif/buildlink.mk b/x11/lesstif/buildlink.mk
index da54bffddc9..42089f25f4d 100644
--- a/x11/lesstif/buildlink.mk
+++ b/x11/lesstif/buildlink.mk
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink.mk,v 1.6 2001/07/27 13:33:38 jlam Exp $
+# $NetBSD: buildlink.mk,v 1.7 2001/09/08 19:52:31 jlam Exp $
#
# This Makefile fragment is included by packages that use lesstif.
#
@@ -18,37 +18,7 @@ LESSTIF_BUILDLINK_MK= # defined
.include "../../mk/bsd.buildlink.mk"
BUILDLINK_DEPENDS.lesstif?= lesstif>=0.91.4
-
-.include "../../mk/bsd.prefs.mk"
-
-# On Solaris, assume that /usr/dt contains a valid Motif 2.0-compatible
-# installation.
-#
-.if ${OPSYS} == "SunOS"
-_NEED_LESSTIF= NO
-.else
-.if exists(${X11BASE}/include/Xm/Xm.h)
-_IS_LESSTIF!= ${EGREP} -c LESSTIF ${X11BASE}/include/Xm/Xm.h || ${TRUE}
-.if ${_IS_LESSTIF} == "0"
-_NEED_LESSTIF= NO
-.else
-_NEED_LESSTIF= YES
-.endif
-.else
-_NEED_LESSTIF= YES
-.endif
-.endif
-
-.if ${_NEED_LESSTIF} == "YES"
-MOTIFBASE?= ${X11PREFIX}
DEPENDS+= ${BUILDLINK_DEPENDS.lesstif}:../../x11/lesstif
-.else
-.if ${OPSYS} == "SunOS"
-MOTIFBASE?= /usr/dt
-.else
-MOTIFBASE?= ${X11BASE}
-.endif
-.endif
EVAL_PREFIX+= BUILDLINK_PREFIX.lesstif=lesstif
BUILDLINK_PREFIX.lesstif_DEFAULT= ${X11PREFIX}
@@ -62,14 +32,7 @@ BUILDLINK_FILES.lesstif+= lib/libXm.*
BUILDLINK_TARGETS.lesstif= lesstif-buildlink
BUILDLINK_TARGETS+= ${BUILDLINK_TARGETS.lesstif}
-USE_X11= # defined
-MAKE_ENV+= MOTIFLIB="${MOTIFLIB}"
-LDFLAGS+= -Wl,-R${MOTIFBASE}/lib
-.if defined(USE_BUILDLINK_X11)
-MOTIFLIB?= -Wl,-R${MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -L${BUILDLINK_DIR}/lib -lXm -lXp
-.else
-MOTIFLIB?= -Wl,-R${MOTIFBASE}/lib -Wl,-R${X11BASE}/lib -L${BUILDLINK_DIR}/lib -L${X11BASE}/lib -lXm -lXp
-.endif
+MOTIFBASE= ${BUILDLINK_PREFIX.lesstif}
pre-configure: ${BUILDLINK_TARGETS.lesstif}
lesstif-buildlink: _BUILDLINK_USE