Commit Graph

1008 Commits

Author SHA1 Message Date
Ruslan Ermilov
4448c79e47 Fix cross-building, etc:
1.  To cross-build, one now needs to set TARGET_ARCH, and not the
    MACHINE_ARCH.  MACHINE_ARCH should never be changed manually!

2.  Initialize DESTDIR= explicitly for bootstrap-tools, build-tools,
    and cross-tools stages.  This fixes broken header and library
    dependencies problem.  We build them in the host environment,
    and obviously want them to depend on host headers and libraries.
    The problem with broken header dependencies for bootstrap-tools
    and cross-tools was already partially solved (see BOOTSTRAPPING
    tests in bsd.prog.mk and bsd.lib.mk), but it was still there for
    build-tools if the user ran "make world DESTDIR=/foo".  Also,
    for all of these stages, the library dependencies were broken
    because of how bsd.libnames.mk define DPADD members.

    We still provide a glue to install bootstrap- and cross-tools
    under the ${WORLDTMP}.

    Removed PATH overrides for bootstrap-, build-, and cross-tools
    stages.  There is just no reason why we would need to override
    it, and the hacks to clean up the ${WORLDTMP} in the -DNOCLEAN
    case are no longer needed with fixes from this step.

    That is, we now never use ${WORLDTMP} headers and libraries,
    and we don't use any ${WORLDTMP} installed binaries during
    these stages.  Again, these stages depend solely on the host
    environment, including compiler, headers, and libraries.

3.  Moved "miniperl" back from cross-tools (it has nothing to do
    with a cross-compiler) to build-tools where it belongs.  The
    change from step 1 let to do this.  Also, to make this work,
    build-tools targets of "cc_tools" and "miniperl" were modified
    to call "depend".  Here follow the detailed explanations.

    There are two categories of build tools, for now.  In the first
    category there are "cc_tools" and "miniperl".  They occupy the
    whole (sub)directory, and nothing needs to be done in this
    subdirectory later during the "all" stage.  They are also
    constructed using system makefiles.  We must build the .depend
    early in the build-tools stage because:

    1)  They use (and depend on) the host environment.

    2)  If we don't do this in build-tools, the "depend" stage of
        buildworld will do this for us; wrong library and header
        dependencies will be recorded (DESTDIR=${WORLDTMP}) and,
        what's worse, the "all" stage may then clobber the
        build-architecture format tools (that we built in the
        build-tools stage) with the target-architecture format
        ones, breaking cross build.

    In the second category there are all other build-tools.  They
    share their directory with the "main" module that needs them
    in the "all" stage, and they don't show up themselves in the
    .depend file.  The portion of this fix was already committed
    in gnu/usr.bin/cc/cc_tools/Makefile,v 1.52.

4.  "libperl" is no longer a build tool, and "miniperl" is the
    stand-alone application.  I had to make this change because
    build-tools and "all" stages share the same object directory.
    Without this change, if we cross compile, libperl.a is first
    built for the build architecture during the build-tools stage
    (for the purposes of immediate linkage with "miniperl").
    Later on, the "all" stage sees this library as up-to-date,
    and doesn't rebuild it.  The effect is that the wrong format
    static libperl library is installed with installworld.

5.  Fixed "includes" to install secure/lib/libtelnet headers if
    required.

Reviewed by:	bde
2001-09-29 13:17:54 +00:00
Ruslan Ermilov
9222e100d6 When bootstrapping (build-tools and cross-tools), avoid
including the ${WORLDTMP}/usr/include headers that may
not match the installed host libraries.

This should fix the 20010919 UPDATING entry.
2001-09-21 08:17:48 +00:00
Peter Wemm
ea8f3ee347 This will have to be revised, but allow putting 'makeoptions GCC3=true'
in a kernel config file.  This should minimize the tearing-out-hair process
while updating the kernel for gcc-3 compliance.
2001-09-10 06:23:33 +00:00
Ruslan Ermilov
805030358f There is a better way to suppress groff(1) output.
Submitted by:	okazaki
2001-09-05 14:29:28 +00:00
Ruslan Ermilov
59e44d720d Implement the `manlint' target, for minimal validity checking of
the manual pages.  Mostly useful with mdoc(7) formatted manuals.

Requested by:	murray
2001-09-05 11:24:34 +00:00
Alexander Langer
0d0667b51b Final way: Don't include /etc/defaults/make.conf at all. It wasn't
supposed to be edited by the user and didn't define important things,
thus we can just skip it (that's where it differs from the make.conf.local
change).

Submitted by:	ru
2001-08-31 12:20:43 +00:00
Alexander Langer
32890b4216 Don't .error, if /etc/defaults/make.conf exists. This breaks -CURRENT
buildworlds on a -STABLE machine.

Reminded by:	ru
2001-08-31 11:18:24 +00:00
Alexander Langer
d33a962d07 Move /etc/defaults/make.conf to /usr/share/examples/etc/make.conf as
discussed on the arch@ mailinglist (after repo-copy).

sys.mk will .error if it finds /etc/defaults/make.conf but include
it anyways (this is the same behaviour as with the make.conf.local
removal).

/usr/share/examples/etc/make.conf has BDEFLAGS commented out now,
since it's only an example file.

Adjust all textes that talk about make.conf or defaults/make.conf to
match the new situation.
2001-08-30 22:44:51 +00:00
Bruce Evans
21b6f9f421 Fixed world breakage in ftpd, rshd, login, su, telnetd and telnet. LIBPAM
and MINUSLPAM must be kept in sync with the libraries linked to by libpam
to support static linkage.

Moved libmd to the end of LIBPAM and MINUSLPAM.  It was before libopie,
but libopie references it, so static linkage only worked accidentally.
2001-08-29 08:50:46 +00:00
Bruce Evans
4165872727 Removed some garbage (LIBGMP, LIBSKEY). Using LIBSKEY in LIBPAM should
have been fatal since it gave a dependency on a nonexistent file, but it
worked because of an undocumented bugfeature in make(1): missing source
files named *.a are silently assumed to be up to date.

Fixed some style bugs (formatting).
2001-08-29 07:56:44 +00:00
Kris Kennaway
11ec14cfec Zap LIBSS 2001-08-19 21:34:20 +00:00
Assar Westerlund
51bb585207 revert previous accidental commit 2001-07-22 00:12:23 +00:00
Assar Westerlund
57762323e5 get rid of some printf and pointer type warnings 2001-07-22 00:12:22 +00:00
Ruslan Ermilov
b19ea0bb44 Always preprocess manpages with tbl(1). 2001-07-12 07:47:39 +00:00
David E. O'Brien
ae394d3ffc Add LIBBZ2. 2001-07-09 22:00:32 +00:00
David E. O'Brien
3f5a93f6d3 Add the ".FreeBSD" symbol so we can do things like ".if define(.FreeBSD)"
in Makefile's shared with NetBSD.
2001-06-16 07:27:23 +00:00
Ruslan Ermilov
dfcf88a3a0 Style nits:
GBINDIR -> ORIGBINDIR
GBINGRP -> ORIGBINGRP

Submitted by:	bde
2001-06-14 06:08:02 +00:00
Ruslan Ermilov
ecce24742d Games ownership cleanup.
Urged by:	bde
2001-06-13 15:26:31 +00:00
Mark Murray
546bc18855 Clean up the PAM lib lists. Particularly relevant to the KRB5 case. 2001-06-07 08:31:30 +00:00
David E. O'Brien
7b91cad987 Add the single suffix rules for FORTRAN. 2001-06-06 16:58:08 +00:00
David E. O'Brien
eb73cacd43 Add the single suffix rules for C++.
(While there, I also moved the single suffix C rules beside the double
suffix ones so they are easier to find)

PR:		24438
Submitted by:	Georg-W. Koltermann <gwk@sgi.com>
2001-06-06 16:51:38 +00:00
Ruslan Ermilov
e010799732 Change the ownership of the symbolic link for hidden game
rather than /usr/games/dm wrapper.

Spotted by:	bde
Reviewed by:	bde
2001-05-31 15:05:05 +00:00
Ruslan Ermilov
9b03144328 Do not clobber COPY, it may be set differently in /etc/make.conf.
This is not the problem for NOMANCOMPRESS, as install(1) does not
delete the originals anymore (-c is the default now).
2001-05-30 07:02:57 +00:00
Ruslan Ermilov
2b1f35a9af Fixed `objwarn' so that it doesn't issue spurious warnings,
especially now that ${.OBJDIR} is canonicalized by make(1).

Urged by:	bde
Reviewed by:	bde
2001-05-20 12:14:17 +00:00
Kris Kennaway
45703321ea Only add -Werror if in fact we have set WARNS or WFORMAT to >0 2001-05-19 23:32:19 +00:00
Kris Kennaway
d510ecb42b Bring in the WARNS directive from NetBSD, localized in a new bsd.sys.mk
to avoid polluting sys.mk.  This directive controls the addition of
compiler warning flags to CFLAGS in a relatively compiler-neutral manner.

The idea is that WARNS can be set in Makefile.inc or in individual
Makefiles as they become clean, to prevent the introduction of new
warnings in the code.  -Werror is added by default
2001-05-19 23:18:21 +00:00
Mark Murray
a81a52f5a1 Kerberos updates for PAM. 2001-05-14 11:45:16 +00:00
Bruce Evans
2bd4318c24 Fixed some bitrot:
- the changes that renamed libf2c to libg2c had not reached here
- there were no definitions for LIBDEVINFO, LIBMENU, LIBPANEL, LIBTINFO,
  LIBUSB or LIBVGL.  LIBUSB was used without it being defined, and
  LIBDEVINFO and LIBVGL should have been used.
- the definitions of LIBDESCRYPT, LIBGCC_PIC, LIBGPLUSPLUS, LIBKZHEAD,
  LIBKZTAIL, LIBSCRYPT and LIBSCSI were garbage.

Fixed some old bugs:
- LIBC_PIC and LIBCOM_ERR were assigned to using "=" instead of "?=".
- the definition of LIBC_R was disordered.
- LIBFORM was misspelled LIBFORMS (but not actually used).
2001-05-12 14:21:14 +00:00
Mark Murray
c7d9dcd340 Cleaner method of making PAMable apps static (in the optional case of
wanting static apps).
2001-04-28 15:18:10 +00:00
Ruslan Ermilov
d79f28bba4 ... and do it make(1) way. 2001-04-26 11:14:50 +00:00
Ruslan Ermilov
7841ac2fa9 Fix the fix in rev.1.34.
Makes `cleandir' DTRT if MAKEOBJDIRPREFIX set and not empty,
like in `buildworld' case.
2001-04-23 14:47:40 +00:00
Jeroen Ruigrok van der Werven
bfc4cb269a Who ever came up with the ${CFLAGS} need to be passed to lint?
We can now run make lint on src/bin at least.

I am sure Mark Murray has way more interesting fixes up his sleeve.
2001-04-19 19:45:19 +00:00
Ruslan Ermilov
d1a0f91d09 Add missing -mtty-char for MANBUILDCAT. 2001-04-18 12:13:08 +00:00
Ruslan Ermilov
f7ee8cfe3f Introduce SCRIPTS for bsd.prog.mk. See bsd.README for details.
Idea stolen from NetBSD.

Reviewed by:	bde
2001-04-07 11:13:46 +00:00
Chris D. Faulhaber
53e11665d9 Remove the recently-depricated LIBPOSIX1E 2001-04-05 12:11:02 +00:00
Ruslan Ermilov
95f8c8262a Introduce ${PROGNAME}, the name that the program will be installed as,
if different from ${PROG}.  (The name PROGNAME was stolen from NetBSD.)

Reviewed by:	bde
2001-04-02 11:44:20 +00:00
Ruslan Ermilov
9112dc499f - Document recent MAN[1-9] -> MAN changes.
- Backout part of revision 1.4 (../Makefile.inc -> bsd.inc.mk change).
2001-03-28 15:12:29 +00:00
Ruslan Ermilov
19ea15a158 Define MAN to ${PROG}.1 if no manpages were specified, but still
provide MAN1 for backwards compatibility.  Third party software
may still have dependancy lines of this form:

${MAN1}:	foo.man
2001-03-28 15:07:48 +00:00
Ruslan Ermilov
09fa52f83f - Removed `n' from the list of manpage sections.
- Only support the old syntax for manpage declarations
  (MAN1...MAN9) if no MAN is defined.
2001-03-28 14:58:08 +00:00
Ruslan Ermilov
4ecbb30346 Bye-bye /usr/lib/libtelnet.a. This should fix ``make release'' brokeness.
Approved by:	markm
2001-03-28 12:08:22 +00:00
Ruslan Ermilov
918fb560b4 Make it possible to build manpages for the entire source tree. 2001-03-27 08:43:28 +00:00
Kenneth D. Merry
3393f8daa3 Rewrite of the CAM error recovery code.
Some of the major changes include:

	- The SCSI error handling portion of cam_periph_error() has
	  been broken out into a number of subfunctions to better
	  modularize the code that handles the hierarchy of SCSI errors.
	  As a result, the code is now much easier to read.

	- String handling and error printing has been significantly
	  revamped.  We now use sbufs to do string formatting instead
	  of using printfs (for the kernel) and snprintf/strncat (for
	  userland) as before.

	  There is a new catchall error printing routine,
	  cam_error_print() and its string-based counterpart,
	  cam_error_string() that allow the kernel and userland
	  applications to pass in a CCB and have errors printed out
	  properly, whether or not they're SCSI errors.  Among other
	  things, this helped eliminate a fair amount of duplicate code
	  in camcontrol.

	  We now print out more information than before, including
	  the CAM status and SCSI status and the error recovery action
	  taken to remedy the problem.

	- sbufs are now available in userland, via libsbuf.  This
	  change was necessary since most of the error printing code
	  is shared between libcam and the kernel.

	- A new transfer settings interface is included in this checkin.
	  This code is #ifdef'ed out, and is primarily intended to aid
	  discussion with HBA driver authors on the final form the
	  interface should take.  There is example code in the ahc(4)
	  driver that implements the HBA driver side of the new
	  interface.  The new transfer settings code won't be enabled
	  until we're ready to switch all HBA drivers over to the new
	  interface.

src/Makefile.inc1,
lib/Makefile:		Add libsbuf.  It must be built before libcam,
			since libcam uses sbuf routines.

libcam/Makefile:	libcam now depends on libsbuf.

libsbuf/Makefile:	Add a makefile for libsbuf.  This pulls in the
			sbuf sources from sys/kern.

bsd.libnames.mk:	Add LIBSBUF.

camcontrol/Makefile:	Add -lsbuf.  Since camcontrol is statically
			linked, we can't depend on the dynamic linker
			to pull in libsbuf.

camcontrol.c:		Use cam_error_print() instead of checking for
			CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9:			Change the prototypes for sbuf_cat() and
			sbuf_cpy() so that the source string is now a
			const char *.  This is more in line wth the
			standard system string functions, and helps
			eliminate warnings when dealing with a const
			source buffer.

			Fix a typo.

cam.c:			Add description strings for the various CAM
			error status values, as well as routines to
			look up those strings.

			Add new cam_error_string() and
			cam_error_print() routines for userland and
			the kernel.

cam.h:			Add a new CAM flag, CAM_RETRY_SELTO.

			Add enumerated types for the various options
			available with cam_error_print() and
			cam_error_string().

cam_ccb.h:		Add new transfer negotiation structures/types.

			Change inq_len in the ccb_getdev structure to
			be "reserved".  This field has never been
			filled in, and will be removed when we next
			bump the CAM version.

cam_debug.h:		Fix typo.

cam_periph.c:		Modularize cam_periph_error().  The SCSI error
			handling part of cam_periph_error() is now
			in camperiphscsistatuserror() and
			camperiphscsisenseerror().

			In cam_periph_lock(), increase the reference
			count on the periph while we wait for our lock
			attempt to succeed so that the periph won't go
			away while we're sleeping.

cam_xpt.c:		Add new transfer negotiation code.  (ifdefed
			out)

			Add a new function, xpt_path_string().  This
			is a string/sbuf analog to xpt_print_path().

scsi_all.c:		Revamp string handing and error printing code.
			We now use sbufs for much of the string
			formatting code.  More of that code is shared
			between userland the kernel.

scsi_all.h:		Get rid of SS_TURSTART, it wasn't terribly
			useful in the first place.

			Add a new error action, SS_REQSENSE.  (Send a
			request sense and then retry the command.)
			This is useful when the controller hasn't
			performed autosense for some reason.

			Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.  Selection
			timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.

			Get rid of the last vestiges of a read/write
			interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files:		Add bsearch.c, which is needed for some of the
			new table lookup routines.

aic7xxx_freebsd.c:	Define AHC_NEW_TRAN_SETTINGS if
			CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c:		Add the appropriate #ifdefs so sbufs can
			compile and run in userland.

			Change sbuf_printf() to use vsnprintf()
			instead of kvprintf(), which is only available
			in the kernel.

			Change the source string for sbuf_cpy() and
			sbuf_cat() to be a const char *.

			Add __BEGIN_DECLS and __END_DECLS around
			function prototypes since they're now exported
			to userland.

kdump/mkioctls:		Include stdio.h before cam.h since cam.h now
			includes a function with a FILE * argument.

Submitted by:	gibbs (mostly)
Reviewed by:	jdp, marcel (libsbuf makefile changes)
Reviewed by:	des (sbuf changes)
Reviewed by:	ken
2001-03-27 05:45:52 +00:00
Ruslan Ermilov
75c9631fac Backout botched attempt to introduce MANSECT feature; it
doesn't work in "developer" mode (single module checkout).
2001-03-26 14:47:21 +00:00
Ruslan Ermilov
862d3deac6 Removed _MANPAGES, MANDEPEND and MANSRC.
Added MAN which will eventually replace MAN[0-9] and MAN1aout.
For now, the old syntax is still supported.

Reviewed by:	bde
2001-03-26 08:04:11 +00:00
Ruslan Ermilov
b139be2503 Do not depend on ``all-man'' if -DNOMAN. 2001-03-26 07:46:57 +00:00
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
Peter Wemm
9e0f2a9fb1 Use an intermediate file containing the module binary before converting
it into a ``shared'' .ko file.  This intermediate file can be directly
linked into a static kernel.  This isn't all that useful yet but will
become much more interesting shortly.
2000-03-20 01:29:59 +00:00
Yoshinobu Inoue
c4544494e4 Add libipsec.
Approved by: jkh
2000-02-27 18:41:27 +00:00
Mark Murray
1742a2be81 We have some new libraries; give them names. 2000-02-24 23:18:08 +00:00
Ruslan Ermilov
1a66233dfb Unbroke PRECIOUSLIB feature (broken in rev 1.88).
Original version submitted by:	Jim Bloom <bloom@acm.org>
Reviewed by:	bde
Approved by:	jkh
2000-02-03 09:36:17 +00:00
Bruce Evans
9e4be63dd6 Add ${DEBUG_FLAGS} to CFLAGS in bsd.kmod.mk, not in scattered module
makefiles.  Bad examples in fxp/Makefile keep getting copied to new
makefiles.
2000-01-28 11:26:46 +00:00
Ruslan Ermilov
a342f0f67c o Use --defsection and --defentry options of install-info(1) instead of
"fancy substitutions".
o Invoke install-info(1) with --quiet to automatically remove duplicate
  Info dir entries.

Reviewed by:	bde
2000-01-24 16:11:19 +00:00
Peter Wemm
647b247c34 oops, nearly forgot to commit the addition of ppbus_if.m to the list. 2000-01-23 15:42:44 +00:00
Rodney W. Grimes
fccf86c1a4 Introduce the new mk internal target _includeinstall and add the
controlling knob defaults INCOWN, INCGRP, INCMODE, and INCDIR.

Reviewed by:	marcel, and make world
2000-01-14 07:41:11 +00:00
Bruce Evans
218a2cd2bc Removed NOEXTRADEPEND hack. This was only for an old version of makeworld. 2000-01-09 15:40:32 +00:00
Bruce Evans
a0b845fe92 Add "-I@/../include" and/or "-I${DESTDIR}/usr/include" to CFLAGS,
essentially as in kernel makefiles, so that module sources can include
<stddef.h> and other standard headers.  Only add the second path when
the first path can't be found, instead of when DESTDIR is defined.
Adding it used to be just an obfuscation.

Use "${.OBJDIR}" instyead of "." in -I paths.  Using "${.OBJDIR}" just
gave more verbose command lines and depend files.
2000-01-08 18:48:57 +00:00
Marcel Moolenaar
e461bad7e0 Fix typo.
Submitted by: Richard Wackerbarth <rkw@dataplex.net>
2000-01-03 12:16:18 +00:00
Peter Wemm
c447342094 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +00:00
Bruce Evans
e5389fb1c8 Fixed breakage of static linkage of rlogind. Someone added -lutil and
-lcom_err to some libpam modules without updating LIBPAM here.
1999-12-27 17:25:40 +00:00
Peter Wemm
3b073b53b7 Update vnode_if.sh location. This was deliberately left a while after
the repo copy as the kernel src/sys/modules stuff uses
/usr/share/mk/bsd.kmod.mk which often gets out of sync with the kernel
source.
1999-12-22 01:07:30 +00:00
Peter Wemm
9029b6442a Use the -c and -h args of vnode_if.sh to generate only the .h file that
we use.  The .c half is statically compiled into the kernel.  It's kinda
silly to generate a .h file on the fly that has inlines to call the
.c stuff when the .c code is fixed.

Also, zap the special treatment for VFS_KLD modules.  This treatment
applies to lots of things, not just VFS's.
1999-12-12 16:45:58 +00:00
Michael Haro
63d8472bc0 If SRCS is not defined assume ${PROG}.c, not when PROG isn't defined. 1999-11-30 20:24:44 +00:00
Warner Losh
052331f45b Add two modules for the pccard work: dev/pccard/card_if.m and
dev/pccard/power_if.m.

XXX There has got to be a better way to deal with this.
1999-11-28 20:18:50 +00:00
Bruce Evans
4fea670478 Build and clean device interface files (foo_if.[ch]) and empty options
files (opt_*.h) automatically (if they are in ${SRCS}).

Clean vnode_if.[ch] automatically (if one of them is in ${SRCS}, not just
if VFS_KLD is defined).

There are some complications to avoid using the "@" symlink before it
is built.
1999-11-28 17:52:40 +00:00
Marcel Moolenaar
84eadd6305 Add .ORDER which is needed for the previous commit to work with -jN.
Pointed out by: bde
1999-11-23 17:18:52 +00:00
Marcel Moolenaar
5f644e4c72 vnode_if.sh makes both vnode_if.c and vnode_if.h. Add vnode_if.c to
the LHS of the rule for vnode_if.h. This solves a "dunno how to make"
error.
1999-11-23 10:17:36 +00:00
David E. O'Brien
54d477a4f1 Make "-mpreferred-stack-boundary=2" the default on the i386.
This reduces the size of the kernel and modules when compiled with GCC 2.95.
1999-11-17 07:30:35 +00:00
Marcel Moolenaar
0917704bd4 ${MACHINE} -> ${MACHINE_ARCH}
All Makefiles now use MACHINE_ARCH for the target architecture.
Unification is required for cross-building.

Tags added to:
	sys/boot/Makefile
	sys/boot/arc/loader/Makefile
	sys/kern/Makefile
	usr.bin/cpp/Makefile
	usr.bin/gcore/Makefile
	usr.bin/truss/Makefile

usr.bin/gcore/Makefile:
	fixed typo: MACHINDE -> MACHINE_ARCH
1999-11-14 13:54:44 +00:00
Alexey Zelkin
4c62f5d13a Fix comments: LKM -> KLD, /etc/objectformat -> /etc/objformat 1999-11-09 00:08:58 +00:00
Matthew Dillon
4111d344ce make.conf is being made to conform to the /etc/defaults/ standard that
was settled on a few months ago.

Approved by: "Jordan K. Hubbard" <jkh@zippy.cdrom.com>
1999-10-27 19:24:49 +00:00
Julian Elischer
4cf49a4355 Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from:  Whistle CVS tree
1999-10-21 09:06:11 +00:00
Boris Popov
ce0b1244e8 Add libncp to the list of known libraries. 1999-10-15 08:54:09 +00:00
Nick Hibma
fe3cac87c1 1) s/mod(un)?load/kld$1load/
2) s/MODLOAD/KMODLOAD/ to be consistent with the rest of the variables
(KMOD, KMODOWN, KMODGRP, etc) and definition of MODLOAD/UNLOAD in the
Makefile of the ATAPI module

3) textual fixups
1999-09-06 20:11:59 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Tim Vanderhoek
e902c1bb07 Add variable INSTALLFLAGS_EDIT used to remove arbitrary INSTALLFLAGS.
Specifically intended for removing -fschg ("INSTALLFLAGS_EDIT=:S/schg/uchg/")
this makes the NOFSCHG flag redundant.  NOFSCHG will still be honoured by
bsd.lib.mk but is valid for buildworld only.  NOFSCHG is still implemented in
the old way (ie. _not_ ".if NOFSCHG then { INSTALLFLAGS_EDIT+=:S/schg/,/ }"
to emphasize the fact that NOFSCHG is only supported in a limited
fashion and for buildworld.

The interface and implementation are such that future use of flags such
as sappnd can also be easily removed or altered (perhaps to uappnd).

This commit brought to you by the letters B, D, and E, and the numbers six,
one, thirteen, and three.
1999-07-31 20:27:33 +00:00
John-Mark Gurney
0099533a1c add support to buildworld as a normal user:
-DNOFSCHG	disables installation of libs with flag schg
	GAMEGRP		change the group with which games are installed

also organize the binary section into alphebetical order some what..
1999-06-24 22:50:24 +00:00
Andrey A. Chernov
e6514bfa28 add libhistory 1999-05-28 04:30:05 +00:00
Bruce Evans
6e19760bfa "Fixed" missing dependency of ${PROG} on ${LIBC} in the elf case. 1999-05-06 02:58:30 +00:00
Peter Wemm
e0e77ef1c6 s/lkm(4)/kld(4)/ 1999-04-23 20:53:34 +00:00
Peter Wemm
713959259e Clean out most of the LKM stuff, the build support left a little while ago. 1999-04-20 14:33:24 +00:00
Peter Wemm
29789c6df9 Default KMODDIR = /modules now, not /lkm 1999-04-20 14:24:52 +00:00
David E. O'Brien
96777bea6b Create /var/db/port.mkversion rather than /var/db/pkg/.mkversion to be in
sync with bsd.port.mk rev 1.309.

Submitted by:	make world
1999-04-15 07:19:56 +00:00
Satoshi Asami
3c41f8c734 Add ${DESTDIR} to installation path. Move target to under beforeinstall:.
Submitted by:	bde
1999-03-31 23:53:50 +00:00
SADA Kenji
cca48a48e4 I'm sorry, this was already fixed in etc/mtree/BSD.var.dist.
Submitted by:	asami@FreeBSD.ORG
1999-03-31 15:38:38 +00:00
SADA Kenji
a68bcfe410 Sometimes we have to make `/var/db/pkg' directory before we create
`.mkversion' :)
Submitted by:	YAMAMOTO Shigeru <shigeru@bremen.or.jp>
1999-03-31 12:15:33 +00:00
Satoshi Asami
633df82af6 Create /var/db/pkg/.mkversion file with datestamp. 1999-03-29 23:02:29 +00:00
Bruce Evans
2336a7ea75 Removed all traces of LN_FLAGS. It was only used to produce a link
/usr/sbin/sysctl -> ${DESTDIR}/sbin/sysctl in some versions of 2.2,
and this link was broken if DESTDIR was set.

Added a SYMLINKS macro.  This works the same as LINKS, except it
creates symlinks and the linked-to pathname may be relative.  This
is more flexible than LN_FLAGS, since it supports installing
symlinks independently of hard links.

Use `ln -f[s] ...' instead of `rm -f ...; ln [-s] ...' for LINKS and
SYMLINKS.  This is equivalent if the target is neither a directory nor
a symlink to a directory.

PR:		8279
1999-03-23 03:06:25 +00:00
Bruce Evans
760a0960be Restored objlink. The previous commit was confused about the difference
between OBJLINK and objlink.
1999-03-21 06:43:40 +00:00
Mark Murray
5112f012f7 New names for the list; the DES crypt and libwrap for tcp_wrappers. 1999-03-14 20:45:05 +00:00
Mark Murray
5beaada399 Bitrot. Remove objlink as it is not pleasant to be downwind.
PR:		8071
Reviewed by:	Sheldon Hearn <sheldonh@iafrica.com>
1999-03-14 20:41:14 +00:00
Bruce Evans
305b918913 Rewrote the changes in rev.1.53. Don't ignore errors from makeinfo.
Use fancy substitutions instead of a huge if statement to handle the
rather delicate quoting.
1999-01-30 14:28:10 +00:00
Bruce Evans
9a6c0bd6c9 Fixed comment and whitespace lossage in recent commits. The -W flag
is not implied by -Wall as claimed by gcc.1.  Adding it causes a
measly 7193 new warnings for LINT, mostly for "unused parameter" and
"comparison between signed and unsigned".
1999-01-29 10:57:18 +00:00
Matthew Dillon
a91f66d4f6 Cleanup bsd.kern.mk after last commit. 1999-01-29 06:22:19 +00:00
Matthew Dillon
0bcef6efa1 Turn on -Wall and -Wcast-qual 1999-01-27 22:53:58 +00:00
Satoshi Asami
500ada61bf Move bsd.port.*mk to under ${PORTSDIR}/Mk (already repository copied).
There are only skeletons left here; they merely serve as a backup to
include the real versions under ${PORTSDIR}/Mk while we update the ports
tree to include them directly.
1999-01-26 03:40:12 +00:00
John Polstra
368c8de45c Introduce a new variable NEED_LIBNAMES. If it is defined,
<bsd.libnames.mk> is included regardless of the object file format.

This is needed to fix the a.out PAM breakage that manifests itself
when trying to build login.
1999-01-22 12:41:27 +00:00
John Polstra
b0aaedc6f1 Change the definition of LIBPAM to support the static PAM library.
When linking statically, LIBPAM is augmented with the extra libraries
that the PAM modules require.  The idea is to centralize this
information rather than scattering it about in the Makefiles of
all the applications that use (OK, will use) PAM.

There is a new variable MINUSLPAM that should be used instead of
"-lpam".  In the static case, it gets -l flags for the extra required
libraries.

This approach was suggested by <bde>, but he didn't actually review
my changes.
1999-01-20 21:48:56 +00:00
John Polstra
f67eb0dce4 Add some capabilities to <bsd.lib.mk> so that it can be used for
building dlopen-able modules, and add features needed to build a
static PAM library.  I think I cleaned it up some, too, but beauty
is in the eye of the beholder.

You can now build a shared library without version numbers, by
defining SHLIB_NAME to something like "pam_unix.so".  If SHLIB_MAJOR
and/or SHLIB_MINOR are set, SHLIB_NAME gets the usual default value,
but it can be overridden if desired.  If none of these symbols are
set, no shared library is built.

SHLIB_LINK controls the name of the symbolic link that points to
the library.  If it is unset, no link is made.  In the usual case,
it gets the right default: e.g., "libc.so" for ELF, nothing for
a.out.  This can be overridden.

STATICOBJS can be set to a list of extra object files that should
be added to the static library but not to the shared library.
These objects are added to the profiled library too.

These changes should make it easy to use <bsd.lib.mk> for building
things such as PAM modules and dynamic linkers, for which <bsd.prog.mk>
has been abused until now.
1999-01-20 21:42:40 +00:00
Andrey A. Chernov
50d5db08d0 remove - before __entry, it is not make conmmand but shell continuation line 1999-01-20 17:22:11 +00:00
Mark Murray
d7eb2472ac Texinfo has been upgraded. This needs to catch up.
Submitted by:	lkoeller@cc.fh-lippe.de
1999-01-20 05:48:19 +00:00
Satoshi Asami
5712096d18 (1) Add gnome master sites.
Submitted by:	Jeremy Lea <reg@shale.csir.co.za>

(2) Change backup distfiles dir to reflect change in ftp.freebsd.org's
    reorganization.
1999-01-20 01:55:05 +00:00
Hidetoshi Shimokawa
f9ed7e775f Clean new index file(GPATH) of global.
Submitted by:	Shigio Yamaguchi <shigio@wafu.netgate.net>
1999-01-18 07:48:41 +00:00
Mark Murray
c1bec88272 Option names have changes for texinfo-3.12 1999-01-14 20:02:41 +00:00
Satoshi Asami
68b35df498 (1) Add ONLY_FOR_ARCHS and NOT_FOR_ARCHS. They are list of architecture names
(as given by "uname -m") by which you can specify which
    architectures the port is appropriate for.
Idea borrowed from:	NetBSD, OpenBSD
Reviewed by:		simokawa

(2) New variable PERL_ARCH (value: ${ARCH}-freebsd) that is also
    passed to ${PLIST_SUB}.  Use it to simplify PLISTs.
Submitted by:	simokawa

(3) Check OSVERSION as well as existence of /usr/bin/perl5 before
    assuming USE_PERL5 is to be a no-op.  Basically to allow building
    of 2.2-INDEX on a 3.0 machine.

(4) Change USE_QT definition to use new shlib version (2) and
    directory (qt142).

(5) Uncomment temporary Motif dependency for parallel package
    building.  We still need to figure out a way to install the pkg
    database files, but it's a start.

(6) Move EXTRACT_SUFX up into the pre.mk area so it can be used in
    exists() tests.

(7) Add MASTER_SITE_COMP_SOURCES.  Note that this is defined like
    "/pub/usenet/comp.sources.%SUBDIR%/" so you can specify something
    like "SUBDIR=x/volume18" to select the newsgroup as well as
    subdirectory name.
Submitted by:	"distfiles" fenner

(8) Other misc. master site cleanup.
Submitted by:	"distfiles" fenner

(9) New target "maintainer".  I intend to use it to auto-mail failure
    build failure notices to the maintainer.
1999-01-11 13:04:18 +00:00
John Polstra
f92bdbd010 Switch to using ".So" as the extension for PIC object files rather
than ".so".  The old extension conflicted with well-established
naming conventions for dynamically loadable modules.

The "clean" targets continue to remove ".so" files too, to deal with
old systems.
1999-01-09 21:51:00 +00:00
Peter Wemm
10f7260a44 OBJFORMAT=elf in the absense of an override for both alpha and i386 by
default now.
1999-01-07 06:32:22 +00:00
Doug Rabson
65be2aace6 Move some compile flags from the kernel makefile to bsd.kern.mk so that
kernel modules are built with the right flags.

Suggested by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-12-17 22:36:21 +00:00
Archie Cobbs
072fd7d9e7 Add -Wunused to kernel build flags.
Reviewed by:	cvs-committers@freebsd.org
1998-12-14 21:03:27 +00:00
Satoshi Asami
01e85cb38d (0) Fast INDEX generation. Only print out the directory name and
don't recurse in "make describe".  The new INDEX target in
    ports/Makefile invokes a perl script to recurse and convert them
    into package names.

    While I'm here, change the name of targets and move them around a
    little bit for the sake of consistency.

    It is also probably worth noting here that the meaning of the
    "build dependency" list in INDEX has been changed slightly
    changed.  The old list was "build depends and its build depends"
    -- not particularly useful if you had things like autoconf, which
    run-depend on gm4 (you install all the things listed here and
    you'll get an autoconf that won't run).

    It is now "build depends and its run depends" -- you install
    everything listed here, and you'll be able to build the port.
Submitted by:	steve

(0') Fast README.html generation.  It uses ports/INDEX to find
    dependencies instead of embarking on to a recursive loop.
Submitted by:	steve

(1) Remove NO_WRKDIR and NO_EXTRACT.  Their functionality are easily
    replacable with NO_WRKSUBDIR=t and EXTRACT_ONLY= (nothing on right
    side), and they get in the way of read-only port trees.

(2) Surround first few variable definitions with ".if !defined()".
    This will make cross-compilation easier and also speed up make
    processes.

(3) Call sysctl with absolute path.  Prefer the one in /sbin over the
    one in /usr/sbin.

(4) Add four new variables

    PKGINSTALL?=	${PKGDIR}/INSTALL
    PKGDEINSTALL?=	${PKGDIR}/DEINSTALL
    PKGREQ?=		${PKGDIR}/REQ
    PKGMESSAGE?=	${PKGDIR}/MESSAGE

    and use them in PKG_ARGS.  Frobbing with PKG_ARGS directly is
    strongly discouraged.

(5) Change PKG_SUFX to ".tar" (instead of ".tgz") if PKG_NOCOMPRESS is
    defined.  This is intended only for our own use.

(6) Add more sites to MASTER_SITE_GNU.
Submitted by:	billf

(7) Override MANUAL_PACKAGE_BUILD if PARALLEL_PACKAGE_BUILD is
    defined.  This is intended only for our own use.

(8) Add new target "ignorelist" which will print out the package name
    if the port is not going to be built on this machine.  This is
    intended only for our own use.

(9) Make mtree a little quieter.
1998-12-12 07:39:30 +00:00
Bruce Evans
d0abb5d270 Backed out previous commit. It was for bug for bug compatibility with
2.2's .mk files.

Fixed spelling and placement of '$Id$'.
1998-12-06 17:34:50 +00:00
Bruce Evans
1749f1e3bf Removed bitrotted code for setting OBJFORMAT. 1998-12-06 17:14:37 +00:00
Satoshi Asami
0e544fd5ea Change USE_QT to use version 1.41. I know this is a little premature,
but I'd like as many people to test this before the release.
1998-11-25 00:12:27 +00:00
Satoshi Asami
db0921e889 (1) Remove LOOP_VAR and LOOP_OPTIONS. It's a hack and just too many things
break one way or another.  With it goes the package-loop and the
    describe loop.

(2) Add new variable MASTERDIR to make it easier to share files between ports.
    bsd.port.mk will find things like ${PKGDIR} underneath
    ${MASTERDIR} (which defaults to ${.CURDIR}).

(3) Do not allow MD5_FILE to be renamed.  Funny things can happen if
    you do that.

(4) Use a few more absolute paths in the bsd.port.pre.mk part.  I
    can't use absolute paths for sysctl because it moved recently.
1998-11-20 04:00:38 +00:00
John Polstra
a0a4fbec88 Add LIBPAM, LIBRADIUS, and LIBTACPLUS. 1998-11-18 01:53:56 +00:00
John Polstra
851ee3c484 For ELF, create a symbolic link libfoo.so -> libfoo.so.NNN in the
object tree too.  This makes it possible to link against a shared
library that hasn't been installed yet.
1998-11-18 00:48:11 +00:00
Satoshi Asami
ffbc42db2c Add EXTRA_PKG_FLAGS to PKG_FLAGS. You can now add arguments to pkg_create
without redefining PKG_FLAGS after bsd.port.mk.
1998-11-14 09:45:09 +00:00
Peter Wemm
1e216ab590 Use a name less likely to collide with source files without an obj dir. 1998-11-11 07:40:44 +00:00
Satoshi Asami
218515c5f8 Make bsd.port.mk includable in two phases. bsd.port.pre.mk defines only
a few variables that could be used in the port Makefile for ".if exists()"
tests.  bsd.port.post.mk defines the rest.

Note: if you define USE_X_PREFIX or USE_IMAKE, put it before including
bsd.port.pre.mk.  These are the only two variables used in the first part.

In reality, bsd.port.pre.mk and bsd.port.post.mk just include bsd.port.mk
with special variables to turn part of it off.
1998-11-11 05:21:29 +00:00
Satoshi Asami
9fbb2e1c7b (1) New variable MAKE_ARGS: will be appended to build/install make argument
list.  The old MAKE_FLAGS was a little hard to use since it had a weird
    default ("-f").
Suggested by:	Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>

(2) Add new targets clean-restricted and clean-for-cdrom, which will
    delete RESTRICTED and NO_CDROM packages and distfiles from the top.
Reviewed by:	jkh

(3) Add depends to list of things to recurse on.  It will help people
    who are trying to fetch some ports plus their dependencies.

Requested by:	Chris Dillon <cdillon@wolves.k12.mo.us>
1998-11-08 10:29:53 +00:00
Peter Wemm
92892ca7a5 Do not add ${KMOD} to the CLEANFILES list. We want ${PROG} which is either
${KMOD}.o or ${KMOD}.ko.  Otherwise we can delete the source shell script
for linux, joy and ibcs2.
1998-11-05 04:01:55 +00:00
Satoshi Asami
fc006fb4ee (1) Add new variables LOOP_VAR and LOOP_OPTIONS to implement building several
packages from a single port.  LOOP_VAR is the name of the variable
    and LOOP_OPTIONS is a space-separated list of values it should
    take.  When these are set, the target "package-loop" will go
    through a clean and package loop for all the options.  The
    "package-loop" target is defined as "package" when LOOP_VAR is not
    defined, so if you are in the business for building packages, you
    should use "package-loop" all the time.  (This target is added to
    bsd.port.subdir.mk too.)

    Also, the "describe" target prints out multiple lines so that all
    options will go into the INDEX.  (In other words, if you define
    these variables, INDEX is going to look real silly if you don't
    put ${${LOOP_VAR}} in PKGNAME.)

Seconded by:	obrien ("ANYTHING")

(2) Turn off regexp support for LIB_DEPENDS.  It is a fixed string of
    the form <NAME>.<VER> now.
Tested by:	several rounds of complete package builds

(3) Check checksum even if NO_EXTRACT is defined.

(4) Cosmetic fix for message in MANUAL_PACKAGE_BUILD case.
1998-10-30 08:28:02 +00:00
Warner Losh
830775aaf9 Default to aout only on i386. Before we defaulted to elf only on
Alpha.  This is a minor, but important distinction.  Should be a no-op
to the install base.  If OBJFORMAT is set elsewhere, things work
exactly as they did before.
1998-10-19 20:09:17 +00:00
David E. O'Brien
7b81086b13 Allow ``make BINDIR=/foo/games'' to work. 1998-10-18 09:35:17 +00:00
Peter Wemm
08a04a8985 Update the kld glue
Pre-Approved by: jkh
1998-10-16 03:32:03 +00:00
Peter Wemm
fdbdd3a05f Support encapsulating ELF linker sets for KLD modules via gensetdefs.
Support name based dependencies at build time.  This is a hack.
These only affect KLD modules.
1998-10-14 04:04:22 +00:00
Satoshi Asami
37a64fc4b4 Add new variable NO_FILTER_SHLIBS -- it will disable ELF <-> a.out shlib
name conversion.  Use it for binary ports that come with its own private
shlib dirs, ports that install linux compatibility libraries (thus following
their naming conventions and not ours), etc.

Reviewed by:	Martin Cracauer <cracauer@FreeBSD.ORG>
1998-10-09 01:27:21 +00:00
Satoshi Asami
e96b50e352 (1) Add new variable ${PERL} which is equal to ${PERL5} but without the
version number part (i.e., "<directory>/perl").  Use this to
    substitute #! lines in your perl5 scripts.

Requested and reviewed by:	ache

(2) Add new variable WRKDIRPREFIX (defaults to "").  The "work"
    directories are now in ${WRKDIRPREFIX}${.CURDIR}/work by default.
    You can have a read-only ports tree (modulo any broken ports that
    write something to places other than ${WRKDIR}) by setting this to
    a writable location.

    Ports that set WRKDIR explicitly should append this to front so
    they will work when the user has WRKDIRPREFIX set.

Reviewed by:	Toshihiko Kodama <kodama@ayame.mfd.cs.fujitsu.co.jp>
1998-10-06 21:12:14 +00:00
Mike Smith
8fe644b289 Define KLD_MODULE if building a KLD module.
Forgot to mention that the previous commit was
Submitted by:	Doug Rabson <dfr@freebsd.org>
1998-10-02 05:08:09 +00:00
Mike Smith
90f60fc9bc Changes to support building of KLD modules. This includes the possibly
to be removed KMODDEPS define.
1998-10-02 04:51:10 +00:00
Satoshi Asami
c6d9533ece (1) Add BROKEN_ELF variable, similar to BROKEN. (There is no BROKEN_AOUT,
since ports are not supposed to be broken during the process of
    conversion to ELF -- please proceed with caution.)

(2) Support for checking file size before fetching.  The essential
    parts are commented out for now, so I won't lose the submission
    while we discuss how to do it.
Submitted by:	se (mostly)

(3) Don't run "fetch" twice.  It was due to the change in checksum
    target chaining.  It used to be fetch -> checksum -> extract,
    after 1.285 it was fetch -> checksum and checksum was also
    explicitly called from extract.  Fix it by not calling fetch from
    checksum when it's invoked by extract.
Noticed by:	pre-fetch target of lesstif being run twice

(4) Don't try to remove non-existent distfiles and patchfiles in
    distclean.
Submitted by:	anto@netscape.net
PR:		7988
1998-09-22 23:58:49 +00:00
David E. O'Brien
80db5fd640 Change lib specification in `clean' target to match ELF shared libs too.
Reported by:	Kris Kennaway <kkennawa@physics.adelaide.edu.au>
1998-09-20 19:49:44 +00:00
Jordan K. Hubbard
0f8ee3e37c This goes in doc distribution now. 1998-09-17 11:35:11 +00:00
Poul-Henning Kamp
d80044954c Two patches from the HARP people:
Various Makefile related fixes.

-Wformat fixes.

Submitted by:	Mike Spengler <mks@networkcs.com>
1998-09-17 09:35:02 +00:00
Satoshi Asami
d2748a4068 Yikes, put .endif in wrong place. 1998-09-17 01:22:05 +00:00
Satoshi Asami
b6ab977c7b Remove shlib minor if PORTOBJFORMAT=elf. 1998-09-17 01:00:23 +00:00
Satoshi Asami
66078de1a1 (1) Pass PORTOBJFORMAT in SCRIPTS_ENV too.
Submitted by:	"Eugene M. Kim" <gene@nttlabs.com>

(2) Check for exact version of perl5 in /usr/bin and exit with error
    message if USE_PERL5 is defined and version does not match
    ${PERL_VERSION}.

(3) Note LIB_DEPENDS should not have any regular expressions.  Remove
    those in USE_XLIB and USE_QT.
1998-09-16 12:04:38 +00:00
Justin T. Gibbs
b1758a280b Define LIBCAM and LIBDEVSTAT. 1998-09-15 10:27:20 +00:00
David E. O'Brien
fc936cbd13 Revert to rev 1.41.
Some didn't like it.
1998-09-15 05:24:01 +00:00
David E. O'Brien
30173cb8aa Add ${RM} for compatability with SunOS.
Many use ${RM} in their ``clean'' targets.
1998-09-14 09:22:04 +00:00
David E. O'Brien
5ecaf9a866 Change file ownership from bin.bin to root.wheel. 1998-09-14 08:34:45 +00:00
Wolfram Schneider
c7e4247c19 `make clean' depend on the inclunde file bsd.dep.mk 1998-09-13 20:57:56 +00:00
Satoshi Asami
aa135a93cd (1) Add MLINKS support.
Submitted by:	hoek

(2) ELF support.
 2a. Variable PORTOBJFORMAT specifies the object format of the system.
     It is passed down to configure/make via CONFIGURE_ENV/MAKE_ENV,
     and is given to generate-plist via PLIST_SUB.
 2b. In PLIST, substitute lines that end with "/libFOO.so.X" with
     "/libFOO.so.X.0".  (This means PLISTs should only list ELF
     libraries.)
Reviewed by:	jb, jdp, hoek, jseger, steve

(3) Perl5-in-system support.  Basically turns USE_PERL5 into a no-op
    if there exists a "/usr/bin/perl5".  Also fix prior breakage by
    dima (${PREFIX} => ${LOCALBASE} in perl5 path).
Reviewed by:	markm (sort of)

(4) Install requirement file as "+REQUIRE" so it will be executed
    correctly by pkg_delete.
Reported by:	Shigeyuki FUKUSHIMA <shige@kuis.kyoto-u.ac.jp>

(5) Do not disable checksum and makesum when NO_EXTRACT is set.
Pointed out by:	hoek and kiri, among other people
1998-09-10 06:38:02 +00:00
Mark Murray
072039180e Add libperl for Perl5. 1998-09-09 17:51:15 +00:00
Bruce Evans
90e137696c Fixed disordering and misformatting in previous commit.
Don't override correct default targets.

Don't use afterinstall for installing things; it is for fixups after
installing things.
1998-09-09 10:17:34 +00:00
Bruce Evans
def151a8fc Backed out rev.1.28. It was bogus because bsd.man.mk is only used
(and only usable) by other .mk files that have their own multiple
inclusion protection.
1998-09-09 10:12:07 +00:00
Bruce Evans
405b59bcb5 Turned on -Wformat -fformat-extensions. -fformat-extensions requires a
-current version of gcc.  Without it, -Wformat would complain about all
the nonstandard %[Dbrz] formats in the kernel.
1998-09-09 10:04:58 +00:00
John Birrell
c908270ee3 Add a man section 1aout for the legacy man files to avoid them being
installed over the ones from binutils.
1998-09-07 05:55:02 +00:00
Bruce Evans
1d0de5e557 Add -aout to CFLAGS and LDFLAGS in bsd.kmod.mk, not in
src/lkm/Makefile.inc.  This fixes broken builds of the syscons LKMs
when OBJFORMAT=elf.  Removed src/lkm/Makefile.inc since it became
empty and is worse than useless.
1998-09-02 14:29:09 +00:00
John Birrell
04df7eaa71 Oops, I missed the update from /etc/objectformat to /etc/objformat
which caused a port-ELF upgrade to continue to build aout.
1998-08-31 23:34:37 +00:00
John Birrell
3cba807609 Remove BINFORMAT which is only set when building tools that need to have
a default format.

Include /etc/objformat to get the installed object type if it exists
and if OBJFORMAT is not already defined.
1998-08-30 20:35:24 +00:00
John Birrell
cdaa52cf0c BINFORMAT -> OBJFORMAT ready for E-day. 1998-08-30 20:33:27 +00:00