including motif.buildlink.mk, which contains more sophisticated and
complete logic for detecting the various Motif options that may be
installed. Though deprecated, USE_MOTIF is still recognized, though it
does no more than include motif.buildlink.mk.
(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.
functionality. Default remains DT-Motif on Solaris. This doesn't affect
users who already have LessTif installed, as motif.buildlink.mk will use
an installed Motif package in preference to the default.
I have compiled and run every package in pkgsrc (as of today) that uses
either USE_MOTIF or motif.buildlink.mk. They all function as well or
better with OpenMotif as the installed Motif package as compared with
LessTif. There was only one small API difference I detected between
LessTif and OpenMotif in <Xm/Text.h>, where OpenMotif's Text.h includes
<stdio.h> while LessTif's does not, but the only package that this
affected (graphics/tcm) was fixed.
buildlink.mk as it uses values from the buildlink.mk for it's own value.
Also don't pass MOTIFBASE to the MAKE_ENV as it causes the correct package
buildlink.mk file to not be included.
follows:
If MOTIFBASE is set, then assume it points to a valid Motif installation.
If MOTIF_TYPE is set, then use the named Motif installation.
If neither MOTIFBASE nor MOTIF_TYPE is set, then any pre-existing Motif
installation is used, whether it is in /usr/dt or ${X11BASE} or a pkgsrc-
installed Motif.
Lastly, default to ${MOTIF_TYPE_DEFAULT}.
This makes MOTIF_TYPE behave more like XAW_TYPE in that it explicitly
chooses the Motif installation to use.
installed packages and only rebuild everything once:
STOP_DOWNLEVEL_AFTER_FIRST
if set makes "make show-downlevel" stop a bit earlier (since with the
other one below you will be only interested in the first downlevel
pkg found).
REBUILD_DOWNLEVEL_DEPENDS
if set forces the pattern match for dependencies to fail whenever the
installed pkg is not the version in the makefile (i.e. "make show-downlevel" would print a version mismatch for the dependecy). This causes all
downlevel dependencies (and everything depending on them) to be rebuild.
Enhancements, like making this all work with make command line flags and
settings in /etc/mk.conf are welcome. A way to stop "make show-downlevel"
through all upper levels of recursion imediately would be very usefull too.
BUILD_DEPENDS on libtool for the USE_LIBTOOL/non-USE_LTDL case; instead,
just depend on libtool-base (thus skipping the libtool-info and libtool
package compilation where appropriate).
USE_XAW, a package Makefile may just include mk/xaw.buildlink.mk, which
pulls in the correct buildlink.mk file depending on the value of XAW_TYPE.
A package Makefile may also rely on LIBXAW being set to the correct
libraries.
imake to be buildlinked as it's not necessary for those packages. Many
thanks to Frederick Bruckman <fredb@immanent.net> for pointing this out.
This is accomplished by ripping out all of the Makefile logic related to
buildlink-x11. It will be added back in a separate file (as noted by the
additional check for X11_BUILDLINK_MK, but will still not be the default.
* NetBSD: $LOCALBASE/share/locale -> $X11BASE/share/locale
* Linux: $LOCALBASE/share/locale -> $X11BASE/share/locale
* SunOS: $LOCALBASE/lib/locale -> $X11BASE/lib/locale
Side effect of this is that print-PLIST doesn't print locale dirs
for X apps any more.
place in the linked object, so even if the library is a symlink with a
different name from the true library, the correct soname is recorded in
the object. On a.out, there is no soname, so the linker just records the
specified library name + major number into the object, which can cause the
incorrect library name to be recorded. Fix this problem on a.out by
replacing the specified library names with the true library names in all of
the Makefiles in a post-configure step. Additional files may be added to
the list of files on which replacement is done by setting REPLACE_LIBNAMES
in each package that needs it.
This should fix pkg/13402 by John Klos <john@sixgirls.org>.