Commit graph

813 commits

Author SHA1 Message Date
Kris Kennaway d64b406847 Pentium II's do not support SSE, that came in with the PIII
Submitted by:	sf
2001-03-21 08:29:39 +00:00
Dag-Erling Smørgrav af24fca31f List libfetch.
Submitted by:	bde
2001-03-20 20:21:08 +00:00
Ruslan Ermilov 6b10ad2220 If the MANSECT variable is specified, it will override the default
manual section.  If, for example, MANSECT is set to 8, the default
MAN1=${PROG}.1 feature of bsd.prog.mk becomes MAN8=${PROG}.8.
Useful for games, libexec, sbin and usr.sbin subtrees.

Reviewed by:	bde
2001-03-20 18:06:09 +00:00
Chris D. Faulhaber 041629b3b9 Add LIBPOSIX1E 2001-03-20 02:52:56 +00:00
Kris Kennaway 5ca7924a91 Use CPUTYPE to add appropriate compiler flags to COPTFLAGS for kernel
builds.  This may be disabled using the NO_CPU_COPTFLAGS variable.

Reviewed by:	arch
2001-03-12 07:47:09 +00:00
Maxim Sobolev d6511a3c8d AMD K6/K6-2/Duron/Athlon CPUs support MMX too.
Missed by:	kris
2001-03-10 11:49:05 +00:00
Kris Kennaway 181b6941c7 Add definitions and support for the AMD k6-2, Pentium MMX (i586/MMX),
and Pentium II, III and IV processors (p2, p3, p4), as well as 'mmx' and
'3dnow' MACHINE_CPU tags as appropriate.  In the near future this will
be used to control various ports which have MMX/3dNow optimizations,
instead of the ad-hoc methods currently used.

Reviewed by:    peter
2001-02-27 11:21:47 +00:00
Ruslan Ermilov 0a3a912634 Make ``groff -man'' work again for both man(7) and mdoc(7) manpages.
The new Groff release will support this feature.

Requested by:	peter
2001-02-23 09:35:33 +00:00
Kris Kennaway 14d4db66bf Overhaul the MACHINE_CPU behaviour:
* Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk>
  after we pull in /etc/make.conf.  We need to do it afterwards so we can
  react to the user setting of the:

* CPUTYPE variable, which contains the CPU type which the user wants to
  optimize for.  For example, if you want your binaries to only run on an
  i686-class machine (or higher), set this to i686.  If you want to support
  running binaries on a variety of CPU generations, set this to the lowest
  common denominator.  Supported values are listed in make.conf.

* bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the
  (hopefully) correct unordered list of CPU types which should be used on
  that CPU.  For example, an AMD k6 CPU wants any of the following:
    k6 k5 i586 i486 i386
  This is still an unordered list so the client makefile logic is simple -
  client makefiles need to test for the various elements of the set in
  decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before.
  The various MACHINE_CPU lists are believed to be correct, but should be
  checked.

* If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization
  settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc).  Release
  builders and developers of third-party software need to make sure not to
  enable CPU-specific optimization when generating code intended to be
  portable.  We probably need to move to an /etc/world.conf to allow the
  optimization stuff to be applied separately to world/kernel and external
  compilations, but it's not any worse a problem than it was before.

* Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE.

* Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc
  (only i386, alpha and ia64 first, since those are the minimally-working
  ports.  Other architecture porters, please feel free to add the relevant
  gunk for your platform).

Reviewed by:    jhb, obrien
2001-02-22 11:22:46 +00:00
Kris Kennaway 62d90fb793 Overhaul the MACHINE_CPU behaviour:
* Rip out MACHINE_CPU stuff from sys.mk and include a new <bsd.cpu.mk>
  after we pull in /etc/make.conf.  We need to do it afterwards so we can
  react to the user setting of the:

* CPUTYPE variable, which contains the CPU type which the user wants to
  optimize for.  For example, if you want your binaries to only run on an
  i686-class machine (or higher), set this to i686.  If you want to support
  running binaries on a variety of CPU generations, set this to the lowest
  common denominator.  Supported values are listed in make.conf.

* bsd.cpu.mk does the expansion of CPUTYPE into MACHINE_CPU using the
  (hopefully) correct unordered list of CPU types which should be used on
  that CPU.  For example, an AMD k6 CPU wants any of the following:
    k6 k5 i586 i486 i386
  This is still an unordered list so the client makefile logic is simple -
  client makefiles need to test for the various elements of the set in
  decreasing order of priority using ${MACHINE_CPU:M<foo>}, as before.
  The various MACHINE_CPU lists are believed to be correct, but should be
  checked.

* If NO_CPU_CFLAGS is not defined, add relevant gcc compiler optimization
  settings by default (e.g. -karch=k6 for CPUTYPE=k6, etc).  Release
  builders and developers of third-party software need to make sure not to
  enable CPU-specific optimization when generating code intended to be
  portable.  We probably need to move to an /etc/world.conf to allow the
  optimization stuff to be applied separately to world/kernel and external
  compilations, but it's not any worse a problem than it was before.

* Add coverage for the ia64/itanium MACHINE_ARCH/CPUTYPE.

* Add CPUTYPE support for all of the CPU types supported by FreeBSD and gcc
  (only i386, alpha and ia64 first, since those are the minimally-working
  ports.  Other architecture porters, please feel free to add the relevant
  gunk for your platform).

Reviewed by:    jhb, obrien
2001-02-22 11:14:25 +00:00
Kris Kennaway 9cd5532f9c Turns out we do need to do bootstrapping of MACHINE_CPU here: make(1) won't
set the variable until you rebuild it, and the alternative is to be stuck
playing games with ``.if defined(MACHINE_CPU) && ... '' for all eternity.
We now set up the reasonable default for i386 and alpha here -- given this
it probably makes sense to remove the corresponding code from make(1).
2001-02-20 08:37:51 +00:00
Kris Kennaway 4183193e52 Remove bogus setting of MACHINE_CPU here. There is no need for it.
Submitted by:	bde
2001-02-19 23:33:13 +00:00
Kris Kennaway 0937df81ca Introduce support for using OpenSSL ASM optimizations. This is done
through the use of a new build directive, MACHINE_CPU, which contains a
list of the CPU generations/features for which optimizations are desired.
This feature will be extended to cover the ports tree in the future.

Currently OpenSSL provides optimizations for i386, i586 and i686-class
CPUs. Currently it has not been tested on an i386 or i486.

Teach make(1) to provide sensible defaults for MACHINE_CPU if it is not
defined (namely, the lowest common denominator CPU we support for each
architecture).  Currently this is i386 for the i386 architecture and ev4
for the alpha.  sys.mk also sets the variable as a last resort for
consistency with MACHINE_ARCH and bootstrapping from very old versions of
make.

Benchmarks show a significant speed increase even in the i386 case, with
additional improvements for i586 and i686 systems.  For maximum performance
define MACHINE_CPU=i686 i586 i386 in /etc/make.conf.

Based on a patch submitted by:  Mike Silbersack <silby@silby.com>
Reviewed by:    current
2001-02-19 03:59:05 +00:00
Kris Kennaway ffa3e13653 Zap LIBTCL, it's been superfluous for several years. 2001-02-18 11:58:54 +00:00
Peter Wemm e36a59f7a7 Add $FreeBSD$ 2000-12-29 01:23:57 +00:00
Jason Evans aabafca098 Do not check for existence of ${_dir}/kern/ , because for modules that set
.PATH to ${.CURDIR}/[...]/kern , the "exists" expression will fail for the
form exists(${.CURDIR}/[...]/kern/).  This appears to be happening because
make is searching for the argument to "exists" by using .PATH rather than a
relative search, because .PATH and the argument match at the beginning.
Additionally, make appears to consider a path that starts with ${.CURDIR}
as relative, even though it expands to an absolute path.

The reason that most people aren't seeing this problem is that the absolute
paths of /usr/src/sys and /sys are also searched, so as long as the kernel
source can be found in at least one of those places, no problems surface.
This problem was inadvertently introduced on 1 December 2000, with the
addition of the sysvipc modules.
2000-12-08 20:36:32 +00:00
Ruslan Ermilov 4c5804ea54 Install the stock (as supplied by groff(1) distribution) tmac.an
and tmac.andoc files.  The man(1), catman(1) and bsd.man.mk have
been modified to call groff(1) with -mandoc argument.
2000-12-06 17:02:33 +00:00
Ruslan Ermilov fe409e49d0 groff does not use MANDEPEND anymore. 2000-12-05 19:56:50 +00:00
Brian Somers 20d65f25eb Add ${LIBC_R} 2000-11-26 22:19:52 +00:00
David E. O'Brien 5558b041c8 Use test -z rather than -n.
Submitted by:	bde
2000-11-01 07:09:38 +00:00
Archie Cobbs c06992e558 Build the ISC library as libisc. This library comes as part of the
bind distribution, but until now was not being built as a separate
entity. For documentation, see these man pages:

assertions(3), eventlib(3), heap(3), logging(3), memcluster(3), tree(3).

Reviewed by:	jdp
2000-10-24 20:10:25 +00:00
Doug Rabson 0d409bfdac Add section for building ia64 kernels. 2000-10-16 20:04:52 +00:00
Gregory Neil Shapiro 3dc4512aef Remove LIBRSAGLUE, add LIBSSL
Reviewed by:	kris
2000-10-10 06:17:51 +00:00
Peter Wemm f45b036f46 Change "building the standard ${LIB} library" to "building the static
${LIB} library".  "standard" tends to imply the one that is normally
used... but by default it is not the case - the .so would be the
"standard" library.  Therefore, change this to 'static'.  Another option
might be "conventional ${LIB} library".
2000-10-02 08:48:49 +00:00
Andrey A. Chernov 3700a99cae Replace ${LIBMYTINFO} with warning 2000-09-16 04:35:51 +00:00
David E. O'Brien 3bdfa9e589 The kernel is now known as `kernel.ko' and it and its matching modules
live in ``/boot/kernel/''.
2000-09-05 22:37:46 +00:00
Mark Murray 9f0c6741de Fix the arguments to [(1) (AKA test(1)). If the string being tested
by -n is nonexistant, then the following -d was misinterpreted with
a strange error. By putting double quotes (") around the argument,
we can be sure there is _something_ there that we can check a zero
length against.
2000-08-19 12:28:23 +00:00
Sheldon Hearn ae36106661 The previous delta was wrong; an empty MAKEOBJDIRPREFIX should
cause the working directory to be used.  Make it so.

When we're more convinced that it'll work, we might try this
to avoid a shell invocation:

.if defined(MAKEOBJDIRPREFIX) && !empty(MAKEOBJDIRPREFIX) &&
    exists(${CANONICALOBJDIR}/)

Reported by:	bde
2000-08-17 14:41:48 +00:00
Sheldon Hearn 4a5b9b0035 Do not allow the cleandir target to blow away the entire source
directory when MAKEOBJDIRPREFIX is defined but empty.

Reported by:	Vernon Schryver <vjs@calcite.rhyolite.com>
2000-08-16 14:58:42 +00:00
Warner Losh c7c5a4ed23 Add ${.CURDIR}/../../../.. to the list of places we look for the
kernel.  The new moudles/sound/drivers/foo pushes us down one more
level.
2000-07-07 05:12:33 +00:00
Guy Helmer 24f8e0e948 NONBINMODE -> NOBINMODE for NLSMODE.
PR:		bin/8811
Submitted by:	Naohiko Tsuji <yakisoba@osaka.interq.or.jp>
Prompted by:	Nathan Ahlstrom <nrahlstr@winternet.com>
2000-06-09 19:15:51 +00:00
Bruce Evans a8e97da092 When dubiously reprogramming .SUFFIXES, don't screw up the order of .S
relative to .s.  This fixes wrong sources being preferred after
"gcc -save-temps" creates .s files from .S files.
2000-06-08 18:11:15 +00:00
Peter Wemm 5b412e30f2 Sigh. Use the correct path to bsd.conf.mk. It's times like this that I
regret giving up coffee.
2000-05-27 01:11:17 +00:00
Peter Wemm 8cc6d36435 Add bsd.kmod.mk back. 2000-05-27 00:54:45 +00:00
Peter Wemm 08f95f1e10 Revive a skeleton for bsd.kmod.mk (which will be in the make search path)
that merely locates and includes sys/conf/kmod.mk.
2000-05-27 00:54:15 +00:00
Tim Vanderhoek 1663ea5841 Typo in comments explaining what MAN_FILTER is. 2000-05-21 03:14:38 +00:00
Bruce Evans 395e4e5ab2 Don't create a garbage file named "install" for the NOINFO case when
there happens to be a source file named install.sh.  The null rule
for "install" in the NOINFO case must not be completely null, since
then it may be overridden by the implicit .sh rule.
2000-05-15 14:17:50 +00:00
Peter Wemm 4bca00df4e Oops. I forgot to remove bsd.kmod.mk from the list of files installed. :-(
Submitted by:	Scott Flatman <sf@aracnet.com>
2000-05-04 18:49:49 +00:00
Peter Wemm d4550896b0 Repocopied to src/sys/conf/kmod.mk 2000-05-04 12:18:19 +00:00
Peter Wemm 09be11ba99 Remove KMODDEPS support. All our existing dependencies are specified
via the MODULE_VERSION() and MODULE_DEPEND() macros that both the loader
and kld system know how to deal with.  The old DT_NEEDED tag is still
supported by the loader (and will remain supported for a while) - but the
kernel side presently doesn't know how to deal with DT_NEEDED.
2000-05-01 18:06:49 +00:00
Bruce Evans 90541e30b6 Fixed world breakage for the NOSHARED=yes case. libpam now depends on
libopie.

Don't say that libpam.a doesn't exist.
2000-04-30 01:33:37 +00:00
Doug Rabson 20b11a6003 Reserve register t7 on alpha to point at per-cpu global variables. 2000-04-28 08:44:42 +00:00
Mike Pritchard b453864c6a Fix the grammar in my previous commit "lose" -> "loss".
I should have done it that way in the first place.

Pointed-out-by:  bde
2000-04-24 08:50:15 +00:00
Mike Pritchard a9914af5ff Fix a typo in the comments.
Submitted by:	Allen Campbell <allenc@verinet.com>
2000-04-23 16:32:21 +00:00
Kris Kennaway e926b4ee29 Correct a typo 2000-04-21 23:51:58 +00:00
Warner Losh 9a8631b340 Add support for compiling kernel modules outside of the tree. If you
do not have the kernel you wish to compile against in either
/usr/src/sys or /sys, then you will need to set SYSDIR to point to the
sys directory of the source tree that contians the source.

Also, minor tweaks to the load/unload targets from Bruce.

I've had this through several make worlds, as well as using it on a
daily basis for the past couple of weeks to build modules needed for
testing at Timing Solutions.

Reviewed and revised by: bde
Work sponsored by: Timing Solutions
2000-04-08 17:20:00 +00:00
Doug Rabson c0de587901 Use makeobjops.pl instead of makedevops.pl. 2000-04-08 15:31:28 +00:00
Doug Rabson 7fecffec3d Allow the calling Makefile to specify a list of device interfaces instead
of relying on the default list provided here.
2000-04-05 10:13:05 +00:00
Ruslan Ermilov 604f4516ef Correct instructions/examples about manual pages. 2000-03-23 16:48:04 +00:00
Ruslan Ermilov 500d826509 Check for MAN9 for consistency. 2000-03-23 16:46:20 +00:00