summaryrefslogtreecommitdiff
path: root/mk
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 /mk
parent39c550cbff397c93d5e3db0910a82a2b0ad1048f (diff)
downloadpkgsrc-78934af22c1e8f6792288881e765d7cad503a47b.tar.gz
Separate out the Motif-checking logic from lesstif/buildlink.mk into a
separate file mk/motif.buildlink.mk.
Diffstat (limited to 'mk')
-rw-r--r--mk/motif.buildlink.mk103
1 files changed, 103 insertions, 0 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