freebsd with flexible iflib nic queues
Go to file
Mike Smith 0b3178a45c Eliminate the use of commons in the kernel and modules,
simplifying the module linking process and eliminating the risks
associated with doubly-defined variables.

Cases where commons were legitimately used (detection of
compiled-in subsystems) have been converted to use sysinits, and
any new code should use this or an equivalent practice as a
matter of course.

Modules can override this behaviour by substituting -fno-common
out of ${CFLAGS} in cases where commons are necessary
(eg. third-party object modules).  Commons will be resolved and
allocated space when the kld is linked as part of the module
build process, so they will not pose a risk to the kernel or
other modules.

Provide a mechanism for controlling the export of symbols from
the module namespace.  The EXPORT_SYMS variable may be set in the
Makefile to NO (export no symbols), a list of symbols to export,
or the name of a file containing a newline-seperated list of
symbols to be exported.  Non-exported symbols are converted to
local symbols.  If EXPORT_SYMS is not set, all global symbols are
currently exported.  This behaviour is expected to change (to
exporting no symbols) once modules have been converted.

Reviewed by:	peter (in principle)
Obtained from:	green (kmod_syms.awk)
2002-01-10 03:52:01 +00:00
bin mdoc(7) police: tidy up. 2002-01-09 13:29:39 +00:00
contrib Make the -a flag to opiekey(1) actually work as advertised. 2002-01-09 13:36:26 +00:00
crypto Fix a coredump bug occurring if ssh-keygen attempts to change the password 2002-01-07 15:55:20 +00:00
etc Add a commented-out alternative for the ether line of a DIGITIAL 2002-01-08 22:32:00 +00:00
games Clean up G. B. Shaw quotes: 2002-01-07 13:47:22 +00:00
gnu Back out the previous revision for now. Instead, the current sparc64 2002-01-07 19:27:50 +00:00
include Add support for C++. 2002-01-06 19:04:12 +00:00
kerberos5 Install script via SCRIPTS. 2001-12-17 16:52:32 +00:00
kerberosIV Install script via SCRIPTS. 2001-12-17 16:52:32 +00:00
lib Add getcontext, setcontext, makecontext, and swapcontext. These 2002-01-10 02:40:59 +00:00
libexec Be more careful about freeing memory after parsing commands. 2002-01-05 20:13:01 +00:00
release Backout previious change - package built on bento is called sawfish-gnome, 2002-01-09 21:28:48 +00:00
sbin mdoc(7) police: tidy up previous delta. 2002-01-09 15:22:30 +00:00
secure Clean up makefiles, and turn on WARNS=2. Take into account the telnet 2001-11-30 21:10:58 +00:00
share mdoc(7) police: tidy up previous delta. 2002-01-09 16:09:00 +00:00
sys Eliminate the use of commons in the kernel and modules, 2002-01-10 03:52:01 +00:00
tools Remove broken attempt to compile libc's malloc source directly; this 2002-01-02 06:42:34 +00:00
usr.bin Replace -I${.OBJDIR} with -I. and split the CFLAGS line up into two lines. 2002-01-08 11:08:20 +00:00
usr.sbin Safwish package built on bento is called `sawfish-gnome', so adjust sysinstall 2002-01-09 20:10:02 +00:00
COPYRIGHT Update to add the July 22, 1999 addendum. 1999-09-05 21:33:47 +00:00
Makefile Make it possible to build manpages for the entire source tree. 2001-03-27 08:43:28 +00:00
Makefile.inc1 gnu/libexec has gone so remove it from the most targets. 2001-12-28 11:53:18 +00:00
Makefile.upgrade $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
README Slightly improve the description of "crypto". "DES" is a subset of 2000-08-31 17:59:01 +00:00
UPDATING Add note about new rc.conf for networkfs. Fix typos from PR:33499 2002-01-06 20:18:13 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on:
$FreeBSD$

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel, the kernel-modules and the contents of /etc.  The
``buildkernel'' and ``installkernel'' targets build and install
the kernel and the modules (see below).  Please see the top of
the Makefile in this directory for more information on the
standard build targets and compile-time flags.

Building a kernel is a somewhat more involved process, documentation
for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.
Note: If you want to build and install the kernel with the
``buildkernel'' and ``installkernel'' targets, you have to build
world before.  More information is available in the handbook.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file NOTES contains entries and documentation for all possible
devices, not just those commonly used.  It is the successor of the ancient
LINT file, but in contrast to LINT, it is not buildable as a kernel but a
pure reference and documentation file.


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberosIV	Kerberos package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html