Move a.out libraries to /usr/lib/aout to make space for ELF libs.
Make rtld usr /usr/lib/aout as default library path.
Make ldconfig reject /usr/lib as an a.out library path.
Fix various Makefiles for LIBDIR!=/usr/lib breakage.
This will after a make world & reboot give a system that no
longer uses /usr/lib/*, infact one could remove all the old
libraries there, they are not used anymore.
We are getting close to an ELF make world, but I'll let this
all settle for a week or two...
the right solution or not, bsd.port.mk is broken unless bsd.locale.mk
is installed.
Note that if LOCALE is not defined, port-building explodes:
"/usr/share/mk/bsd.locale.mk", line 135: if-less elif
"/usr/share/mk/bsd.locale.mk", line 135: Need an operator
(For each .if testing LOCALE)
Notes:
- We no longer use -fgnu-runtime in bsd.lib.mk, since it is the default
and bsd.lib.mk is the wrong place to override it.
- Gnu C doesn't have a special compiler driver for Objective C like it
does for C++. The defaults are suitable for Gnu C. Use `OBJCLIBS='
in /etc/make.conf for POC.
is used in the dependency list for ${DEPENDFILE}. `make depend' was
broken for a few days. `make world' only uses `make depend' when
NOCLEAN is defined, so only a few people noticed the bug.
Submitted by: mostly by jmg
bsd.obj.mk instead of bsd.dep.mk for defining the _SUBDIR target
and a default tags target. Abuse bsd.obj.mk for defining default
cleandepend and depend targets.
that want a y.tab.h file. This want must be specified by putting y.tab.h
in SRCS (and defaulting to or putting -d in YFLAGS). This only works if
there is only one yacc parser, of course. One improvement: copy y.tab.c
to foo.c instead of renaming it, so that `#line...y.tab.c' statements in
it refer to an existing file.
Regress to not generating explicit rules for .l and .y sources containing
slashes. This case is unusual and hard to handle properly.
Don't generate an unused dependency when -d is not in YFLAGS.
sources. This will be used to fix `make -jN' races in many
Makefiles in /usr/src, and to simplify these and other Makefiles.
To get the fixes and simplifications, application Makefiles should
put the raw lex and yacc source names (foo.l and bar.y) in SRCS and
not put the names of any generated files in SRCS or CLEANFILES. A
few Makefiles already do this, although it didn't actually work before
(mkdep couldn't create complete dependencies because there is no
intermediate .c file for the .y.o and .l.o implicit rules).
Complications: if bar.y is in SRCS and -d is in YFLAGS, then bar.h
will be generated whether or not it is used, even if this clobbers a
real source file. This is so that bar.c can be generated using the
-j-safe and debugger-friendly -o option to YACC. There are smaller
warts for handling y.tab.h. y.tab.c and lex.yy.c are not supported.
`BINFORMAT=foo make checkdpadd' in /usr/src now reports only 2 false
negatives (in libss and init). (BINFORMAT=foo is to turn off better
handling of the a.out case.)
- the two `_EXTRADEPEND::' targets potentially clobbered each other for
`make -jN'. In practice, the output for the second target sometimes
disappeared.
- bogus dependencies were generated for static libraries.
headers in ${SRCS}, as in bsd.lmod.mk and bsd.prog.mk. This helps
`make [-j]' work when .depend doesn't exist. Even plain `make'
sometimes only worked because of magic ordering in ${SRCS}.
use the default without losing any (currently unused) features.
(CLEANDIRS is only used by for libgmp and libmp via bsd.lib.mk, and
only documented everywhere it is supported except of course where it
is actually used.)
I don't know what the hell I was thinking in: rev. 1.268
(2) Create ${PREFIX} before calling mtree if it doesn't exist. This
may not be the best solution, but pre-install is called after
mtree so there really isn't any way to fix this from the port
Makefiles and thus has to be done here.
Reviewed by: the lists
(2) Change MASTER_SITE_CTAN to reflect current reality.
Submitted by: fenner
(3) Add new port variable NO_LATEST_LINK. When this is set, the
"Latest" package symlink is not created. Use this for ports that
are betas when there is also a port for an older, more stable,
version.
(4) Don't be too stupid about "make deinstall".
Submitted by: fenner
in kernel Makefiles. Nothing in /usr/include is used (provided
relative paths for sys/* and <machine> can be found), so there is
no need for the -I/usr/include kludge as in kernel Makefiles.
them in the include path. This fixes recent breakage of the syscons
LKMs and general brokenness of the include paths (headers under
/usr/include were used in many cases).
it is built with this defined (which it isn't by default). This change
to sys.mk treats the absence of MACHINE_ARCH as i386 on the assumption
that it will be appropriately defined (as something else) on any other
architecture. When building FreeBSD's make with NetBSD tools, both
MACHINE and MACHINE_ARCH are correctly set (e.g. when bootstrapping
FreeBSD's make on NetBSD/mvme68k, MACHINE=mvme68k and
MACHINE_ARCH=m68k). This isn't really needed for the alpha which
has both defined as 'alpha', but I thought it was worth getting the
distinction between a MACHINE and a MACHINE_ARCH correct now.
Now, shouldn't PC98 have MACHINE=pc98 and MACHINE_ARCH=i386 ??!!
(1) Allow multiple checksums of same file.
Submitted by: hoek
(2) Add "deinstall" target as an alias to "pkg_delete $(make package-name)"
(well, something like that, see diff for details).
(3) Add new port variable USE_AUTOCONF. It appends BUILD_DEPENDS to
devel/autoconf and runs autoconf before configure.
Submitted by: ohashi@mickey.ai.kyutech.ac.jp (Takeshi Ohashi)
(4) Clarify USE_X11 and USE_IMAKE usage.
(5) Add new user-overridable variable MASTER_SITE_KDE.
Submitted by: vanilla
(6) Add support for "Latest" package links.
Idea by: Terry Lambert
(7) Try to catch obsolete tcl/tk installations that could cause problems.
Annoyed by various bogus commits by: you-know-who
don't remove a.out explicitly. a.out should only be generated for
libraries and is removed in the non-default rule in bsd.lib.mk.
Removed undocumented cleanfiles target. It was the same as the
default clean target except it didn't descend into subdirs. It was
different from special clean targets in other ways. This feature
hasn't been missed for more important targets.
Removed unused default cleandepend target. bsd.dep.mk has a better
version which is always used.
Use a better rule for checkdpadd in the BINFORMAT=aout case. This
mainly checks that ld -f is working correctly. The old rule is
still available via `make BINFORMAT=foo checkdpadd' and should be
used to check for regressions under 2.2 where ld -f is not available.
(as in bsd.prog.mk). Include it if `checkdpadd' is being made, so that
it can be checked until it goes away.
Don't clean files that we don't create.
Fixed style of empty test.
when there is no /usr/src/share/info if it were actually used.
Added comments to explain duplicated tex commands.
Use substitution in IFILENS to simplify some things.
Removed /g from many substitutions. It is bogus for anchored matches.
Don't echo nothing.
Don't add things that wouldn't be built with the current options to
CLEANFILES (except for some cases involving tex).
Reviewed by: wosch
we won't have double-slashes.
Add support for new port variable MANUAL_PACKAGE_BUILD. If this is
defined as well as the user variable PACKAGE_BUILDING, the port will
be ignored. This is used to mark ports that can be built normally
except on a machine that has a lot of conflicting ports (i.e., our
package building machine).
DESCR files when building README.html .
Don't use control characters in sed statement.
Problems reported by "Chris G. Demetriou" <cgd@pa.dec.com> in NetBSD PR
pkg/4341.
variables were lost when we removed -W, and 23 new ones including at
least one serious one have crept in for LINT.
Restored -Winline to CFLAGS. This gives only 3 old warnings and 1 new
for LINT.
Run tex twice due cross references.
Cleanup many tex generated files in `make clean'
Format latin1 output in 80 characters column (was ~110 characters).
.if in Makefiles. bsd.prog.mk and bsd.lib.mk do not depend on it however.
Allow overriding of the -soname arg when building the lib*crypt.so* libs
since libdescrypt.so and libscrupt.so both need a -soname of libcrypt.so
so that the symlink is obeyed at runtime rather than at compile time.