LOWER_OPSYS for libtool use under BSD/OS.
Add initial support for using pkgsrc under BSD/OS. This was tested
under BSDI BSD/OS 4.3.1. (Thank you D. Hege.)
(Need to add BSDOS.x11.dist later.)
CVS ----------------------------------------------------------------------
"${PKG_BEST_EXIST} pkgpattern" instead of "${PKG_INFO} -e pkgpattern". The
latter can return multiple package names if there are multiple versions of
a piece of software installed. PKG_BEST_EXIST is defined to be
"${PKG_ADMIN} -b -d ${_PKG_DBDIR} -s "" lsbest", so it searches for the
best installed package that matches the given pkgpattern or else returns
the empty string.
Bump PKGTOOLS_REQD to 20030912 since pkg_admin(1) needs to know about "-b"
and "-d <dir>".
so compiler-dependent settings can be set later.
USE_GCC2 - GNU Compiler Collection 2.x (default)
USE_GCC3 - GNU Compiler Collection 3.x (used already)
USE_MIPSPRO - Silicon Graphics, Inc. MIPSpro Compiler
USE_SUNPRO - Sun Microsystems, Inc. WorkShop/Forte/Sun ONE Studio
Compiler Collection
(Intel compilers on Linux, anyone? :) )
is non-sensical. shuffle some definitions around to follow style of
other entries.
semi-related to a tr(1) bug observed by sommerfeld@ Solaris 10/i386.
to the linker to (not) extract all symbols from static archives and
export these variables to packages as {,NO_}WHOLE_ARCHIVE_FLAG.
these are not currently set for IRIX.
Makefiles simply need to use this value often, for better or for
worse.
(2) Create a new variable FIX_RPATH that lists variables that should
be cleansed of -R or -rpath values if ${_USE_RPATH} is "no". By
default, FIX_RPATH contains LIBS, X11_LDFLAGS, and LDFLAGS, and
additional variables may be appended from package Makefiles.
of relying on the shell's builtin pwd. This makes BUILD_DIR consistently
point to the correct directory regardless of the definition of SHELL. This
fixes elusive some buildlink2 errors due to the fact that BUILDLINK_DIR is
derived from BUILD_DIR and some paths were incorrectly being translated.
breaks too many users' /etc/mk.conf files that have a
.ifdef BSD_PKG_MK
# /usr/pkgsrc stuff
.else
# /usr/src stuff
.endif
structure. We'll think of another way to protect against multiple
inclusion of bsd.pkg.mk and bsd.prefs.mk.
Jeremy C. Reed on tech-pkg.
Even though bootstrap's bmake will do this at build-time, this ensures
that even older bmake's don't fail if a package checks it for == i386.
causes the shell environment to be discarded. This also discards
OBJMACHINE or OBJHOSTNAME, which causes WRKDIR_BASENAME to be different
between the "non-root" and "root" make targets and leads to the breakage
seen in pkg/18879 by Simon Burge. Fix this by saving the OBJHOSTNAME or
OBJMACHINE setting in MAKEFLAGS so that it is seen even after we "su -l" to
root.
inclusion of bsd.own.mk. This is to allow OBJECT_FMT to be set explicitly
in ${MAKECONF} (/etc/mk.conf) to override the setting in bsd.own.mk on the
older NetBSD systems.
a.out but are now ELF, in a way that's consistent with bsd.own.mk in
NetBSD-current. This, incidently, makes the gcc package build again on
NetBSD-1.5.3_ALPHA/i386.
using either the native pthread implementation or using a package pthread
implementation instead, e.g. pth, ptl2, mit-pthreads, etc. The only
currently supported package pthread implementation is pth as it's the only
one with a buildlink.mk file. An example usage is:
USE_PTHREAD= native pth
.include "../../mk/pthread.buildlink.mk"
or a fancier example is:
USE_PTHREAD= native
.include "../../mk/bsd.prefs.mk"
.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "none")
CONFIGURE_ARGS+= --without-pthreads
.endif
.include "../../mk/pthread.buildlink.mk"
(even though that's still a bad idea), set USETOOLS=no explicitly before
including <bsd.own.mk>, and add this also to MAKE_ENV to make BSD-Makefile
based packages build properly.
lost.
However, modify previous change to let Darwin know about SHAREOWN,
SHAREGRP and SHAREMODE in a different way - no point in checking for
OPSYS here, since every OPSYS has to know about them.
This file is "included" automatically before <bsd.own.mk> includes
/etc/mk.conf, so that pkgsrc-wide default values are set.
It is now possible just to set values in mk.conf only where they differ
from the default, thereby easing the problems of updating mk.conf when
new values get added.
Include it in bsd.prefs.mk to allow their use much earlier in Makefiles,
and try to use the variable references instead of directly invoking the
programs in bsd.prefs.mk and bsd.pkg.mk where possible.
a while back on tech-pkg. Note that these defaults will not be 100% accurate
as different machines with the same MACHINE_ARCH may have different serial
hardware. However the default serial device may then be overridden in /etc/mk.conf.
This should at least be better than what we had before ("all the world is i386").
by using the pkgsrc/pkgtools/digest package, and adding dependencies in
bsd.pkg.mk to make sure that that package is up to date.
There is no discernable performance decrease in using sha1 checksums
over md5 ones, and most people advocate the use of sha1 or rmd160 over
md5.
As part of this change, move the initial setting of LOCALBASE, X11BASE
and CROSSBASE into bsd.prefs.mk from bsd.pkg.mk.
Addresses PR 11809.
Let's take timidity, which needs ncurses and tk. By setting
NEED_NCURSES=1 and adding it to MAKEFLAGS, all other required pkgs
automagically depend on ncurses - tk, tcl (which is slurped in by
tk), ...
userland (checked by existence of /sbin/ping6).
with the change, the default value for USE_INET6 will be like this:
- non-NetBSD: undefined
- NetBSD releases prior and including 1.4.x: undefined
- NetBSD-current (pre-1.5) prior to IPv6 integration: undefined
- NetBSD-current after IPv6 integration: USE_INET6=YES
It is advised to obey the default.
but calculated every time bsd.prefs.mk is read. Correct the
situation, and only calculate these when they are needed.
Also save a few more cycles by hardcoding the LOWER_OPSYS values for
known operating systems, rather than using expensive shell echo and tr
commands every time bsd.prefs.mk is read.
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
protect bsd.prefs.mk. Now there's no multiple inclusion of mk.conf,
clobbering variables modified between bsd.prefs.mk and bsd.pkg.mk, when
set with VARNAME=value.
- Let bsd.own.mk include mk.conf/MAKECONF; we don't need to do that
manually.
- Don't define BSD_PKG_MK or OPSYS in bsd.pkg.mk, as bsd.prefs.mk does
precisely that just a couple lines below.
the "cross" subdirectory. Defaults to ${LOCALBASE}/cross.
- PREFIX is not user settable. Do not conditionally set it such that
environment variables and mk.conf can override it. Issue an error if
PREFIX is attempted to be set from mk.conf, environment, or command line.
into one file, located in the pkgsrc tree. Thus one file simply needs
to be included before any .if* statements in the package Makefile,
rather than a large number of ad-hoc methods of doing this.