1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-19 10:53:58 +00:00
Commit Graph

1206 Commits

Author SHA1 Message Date
Ruslan Ermilov
d9d11bfd48 g++(1) is unhappy with -Wnested-externs.
Prodded by:	des
2004-04-20 15:16:07 +00:00
Ruslan Ermilov
b5db19d0d0 Mark the "obj" target with the .PHONY attribute. 2004-04-13 12:36:00 +00:00
Doug Rabson
002d186bf0 Add ${CPUTYPE} support for crusoe processors (cribbed from Linux kernel
settings). Pretend that a crusoe is an i686 which doesn't like alignment
padding.
2004-04-05 09:55:50 +00:00
Marcel Moolenaar
1950e64cb2 Add a reference to the ia64 options to gcc. While here, sort the list. 2004-03-21 04:57:24 +00:00
Tom Rhodes
7b1ac86dc1 Remove whitespace at EOL. 2004-03-15 17:01:31 +00:00
Tom Rhodes
5a19f6d9d4 Fix some style bugs in previous commit.
Fix 'broken' ifdefs.
icc does not support profiling yet so remove unfinished code which was
supposed to help.

Submitted by:	netchild (original version)
Reviewed by:	ru
2004-03-14 01:29:05 +00:00
Tom Rhodes
06d6e4fcfe This are the build infrastructure changes to allow to use the
Intel C/C++ compiler (lang/icc) to build the kernel.

The icc CPUTYPE CFLAGS use icc v7 syntax, icc v8 moans about them, but
doesn't abort. They also produce CPU specific code (new instructions
of the CPU, not only CPU specific scheduling), so if you get coredumps
with signal 4 (SIGILL, illegal instruction) you've used the wrong
CPUTYPE.

Incarnations of this patch survive gcc compiles and my make universe.
I use it on my desktop.

To use it update share/mk, add
	/usr/local/intel/compiler70/ia32/bin	(icc v7, works)
or
	/usr/local/intel_cc_80/bin		(icc v8, doesn't work)
to your PATH, make sure you have a new kernel compile directory
(e.g. MYKERNEL_icc) and run
	CFLAGS="-O2 -ip" CC=icc make depend
	CFLAGS="-O2 -ip" CC=icc make
in it.

Don't compile with -ipo, the build infrastructure uses ld directly to
link the kernel and the modules, but -ipo needs the link step to be
performed with Intel's linker.

Problems with icc v8:
 - panic: npx0 cannot be emulated on an SMP system
 - UP: first start of /bin/sh results in a FP exception

Parts of this commit contains suggestions or submissions from
Marius Strobl <marius@alchemy.franken.de>.

Reviewed by:	silence on -arch
Submitted by:	netchild
2004-03-12 21:36:12 +00:00
Bruce Evans
d562095ead Fixed indentation of conditionals.
Submitted by:	Rostislav Krasny <rosti_bsd@yahoo.com>
2004-03-05 15:59:33 +00:00
Dag-Erling Smørgrav
5193980ced Remove -Wbad-function-cast. Its main purpose is to catch bugs that we
already catch with -Wstrict-prototypes, and it causes spurious warnings
for some perfectly legitimate constructs.
2004-02-16 20:07:06 +00:00
Tim Kientzle
b4435eb7d9 Register libarchive in bsd.libnames.mk and mdoc.local
Submitted by:	ru
2004-02-13 01:14:38 +00:00
Ruslan Ermilov
51fa76c495 Two changes to aid in cleaning up sys/boot/ makefiles:
- Don't put libc.a as a dependency if program is linked with -nostdlib.

- Added INTERNALPROG (by analogy to INTERNALLIB) for programs which are
  built only for its side effect and shold not be installed.
2004-02-09 14:05:17 +00:00
Ruslan Ermilov
a4a62f5d1f First round of cleanups to sys/boot/ makefiles:
- do not use PROG for what's not a real C program,
- use sys.mk transformation rules where possible,
- only create the "machine" symlink on AMD64,
- removed MAINTAINER lines in individual makefiles,
- added the LIBSTAND defitinion to <bsd.libnames.mk>,
- somewhat better contents in .depend files.

Tested on:	i386, amd64
Prodded by:	bde
2004-02-06 21:58:32 +00:00
Ruslan Ermilov
fe670e467a Temporarily put STRIP back; bsd.port.mk still needs it. 2004-02-05 20:48:44 +00:00
Ruslan Ermilov
4c25ae5742 Don't define STRIP in bsd.own.mk. 2004-02-05 20:16:18 +00:00
Ruslan Ermilov
f258f151cd make(1) can now handle spaces surrounding parenthesis correctly. 2004-02-05 08:44:43 +00:00
Dag-Erling Smørgrav
5e3128401a GC port.mkversion. 2004-02-05 00:07:09 +00:00
Bruce Evans
d17387acd4 Fixed breakage of POSIX support in rev.1.31. -pipe was added to
CFLAGS in all cases, but POSIX requires a default of -O.  Adding
-pipe unconditionally still is still broken for non-gcc compilers
in the non-POSIX case.
2004-02-04 14:40:44 +00:00
Ruslan Ermilov
002886c887 Nothing in libypclnt depends on librpcsvc.
Reported by:	lorder(1) (modified to work with libraries)
2004-02-04 09:53:29 +00:00
Ruslan Ermilov
37e419a131 A shorter version of keeping all -std= options out of CXXFLAGS. 2004-02-03 09:40:11 +00:00
Ruslan Ermilov
53fcfc9167 Fixed MINUSLPAM:
- Added missing NOCRYPT and NO_OPENSSL checks for Kerberos.

- Don't depend on -lcrypto and -lcrypt in pam_ssh to resolve
  dependencies in pam_krb5 and pam_ksu -- the former may not
  be compiled at all if NO_OPENSSH knob is enabled.

- Added missing -lcrypt to pam_ssh dependencies.

- Moved librpcsvc after libypclnt.

(The last two aren't strictly speaking necessary to resolve
the dependencies of static versions of pam_ssh and pam_unix,
respectively, but they correspond to dynamic dependencies
of libssh and libypclnt, and are put here for consistency.)

In collaboration with: bde
Reviewed by:	des
2004-02-03 09:37:12 +00:00
Ruslan Ermilov
2082e6d249 GC LIBPC and LIBPLOT: they never existed in unencumbered BSD versions.
Reviewed by:	bde
2004-02-02 21:44:48 +00:00
Marcel Moolenaar
2e381660c9 Add LIBPTHREAD. 2004-01-31 17:25:18 +00:00
Bruce Evans
c24c2f8c47 1. Garbage-collected LIBDES (now in a different library), LIBPERL (banished
to ports) and LIBRESOLV (now in a different library.

2. Added comments about nonexistent libraries LIBPC and LIBPLOT.

Submitted by:	ru (1)
2004-01-31 03:15:50 +00:00
Bruce Evans
47d4aab142 Fixed insertion sort errors for LIBBLUETOOTH and LIBSDP. 2004-01-31 03:09:10 +00:00
Bruce Evans
5e9867291a Removed XXX comments about some libraries only being in the secure
distribution.  This is not the place to document this, especially
now that the secure distribution is the normal one.

Reviewed by:	ru
2004-01-31 02:51:41 +00:00
Bruce Evans
c7fde57406 Fixed some style bugs (long lines). 2004-01-31 02:17:11 +00:00
John Baldwin
05d9236acf Drop -mcpu=pentiumpro from the default CPU flags for i386 as it doesn't
perform better than the default setting for most i386 CPUs.

Requested by:	bde
2004-01-30 19:51:26 +00:00
Ruslan Ermilov
65d2bdc62c Fixed bogus ${FOO:Mbar} tests where the actual intent is to check
if the result set is empty.  While here, replaced non-bogus empty
string comparisons with equivalent empty() checks.
2004-01-27 23:22:15 +00:00
Ruslan Ermilov
6b14fdfa52 Guess better the source for object files in case .depend file is
missing and there are multiple choices using multiple inference
(suffix transformation) rules.

This is known to fix compilation of s_log1p.o in lib/msun on i386,
as otherwise it attempted to use s_log1p.S as the source (which is
marked broken) instead of legal s_log1p.c which is in CFLAGS.  The
normal case where .depend file exists is not affected.

Reviewed by:	bde
2004-01-17 18:51:55 +00:00
Ruslan Ermilov
11dc929821 Introduce DPSRCS, that holds the list of source files which are
needed for generating dependencies.  SRCS are always part of it,
and normally only they.

This can be useful in some random cases where it's necessary to
have something in .depend that isn't part of SRCS.  This will be
used to replace a hack in lib/libpam/libpam/Makefile.
2004-01-13 17:37:45 +00:00
Ruslan Ermilov
484933a925 - Replaced several := ops with their += equivalents; the old
form became unnecessary with the bsd.prog.mk,v 1.69 change.

- Eliminated duplicate y.tab.h in SRCS.

Reviewed by:	bde

- Complementary to the said bsd.prog.mk change, use the fact
  that inner .for loops are not real loops but a tricky form
  of a local macro for the outer loop's variable, and switch
  to using faster variable modifiers to replace extensions.
2004-01-12 15:29:47 +00:00
Ruslan Ermilov
804517817f Put the warning flags to where they belong (into CWARNFLAGS).
This allows us to easily override them when necessary, e.g.,
to selectively disable warnings in libc/ contributed sources.
2004-01-11 10:29:55 +00:00
Ruslan Ermilov
2096f68ef2 Keep up with sys/conf/ changes. 2004-01-10 18:01:08 +00:00
Brian Feldman
2fc197082f Fix a very corner case when you want to make cleandir SUBDIRs which
are built using a ${MAKE} that's not just "make".

Test by:	make universe (followed by cleandirs)
2004-01-02 05:05:48 +00:00
Hartmut Brandt
1c67439671 Add a define for libbsnmp. 2003-11-10 09:07:30 +00:00
Hartmut Brandt
df94c09781 Add a definition for libngatm.
Reviewed by:	ru
2003-10-27 13:51:28 +00:00
Maksim Yevmenkin
0986ab12e4 Update Bluetooth code.
Reviewed by: M. Warner Losh <imp@bsdimp.com>; John Hay <jhay@freebsd.org>
Approved by: M. Warner Losh <imp@bsdimp.com> (mentor)
2003-10-12 22:04:24 +00:00
Jacques Vidrine
f0a7f80d65 Update build infrastructure for Heimdal 0.6. 2003-10-09 19:48:47 +00:00
Ruslan Ermilov
64ba14f2c7 Removed the ancient .LIBS setting that causes non-existent
libraries to be reported as up-to-date.

Before:

# make -f /dev/null nonexistent.a
`nonexistent.a' is up to date.

After:

# make -f /dev/null nonexistent.a
make: don't know how to make nonexistent.a. Stop

PR:		bin/44137 (part of)
2003-10-03 20:47:37 +00:00
Max Khon
c4f02a891f - Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options
(with corresponding modules).
- kiconv(3) for loadable charset conversion tables support.

Submitted by:	Ryuichiro Imura <imura@ryu16.org>
2003-09-26 20:26:25 +00:00
Mark Murray
34d8158078 Separate out userland linting and kernel linting a bit more. This
make things a bit easier for folks using lints other than the
"base" lint.
2003-09-26 17:49:25 +00:00
Ruslan Ermilov
be01c2220b - No need to create libfoo.so -> libfoo.so.X symlinks in /lib,
as it was decided that our toolchain will revert to looking
  for libraries in /usr/lib only.

- Make /usr/lib/libfoo.so -> /lib/libfoo.so.X symlinks absolute
  so that they still work if /usr is symlinked.

- Remove stale /usr/lib/libfoo.so.X libraries during install.

Discussed with:	gordon, obrien, peter
2003-09-07 14:15:40 +00:00
Ruslan Ermilov
68de25ddb4 Implement sed(1) commands using the make(1)'s RE variable modifier.
(This almost eliminates the need of a sed(1) during installworld.)
2003-09-07 12:59:22 +00:00
Peter Wemm
eb7f25e17e Emergency backout of rev 1.152. This is a 100% guaranteed way to totally
hose your system.  You end up with just about everything statically linked
(except for libpam.so), which then causes all the pam users to fail.
eg: login, sshd, su etc all stop working because dlopen no longer works
because there is no libc.so in memory anymore.

gcc passes -L/usr/lib to ld.  The /usr/lib/libxxx.so symlink is *not* a
compatability link.  It is actually the primary link.  There should be no
symlinks in /lib at all.  Only /lib/libXX.so.Y.

peter@daintree[9:27pm]/usr/bin-104> file yppasswd
yppasswd: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.1.1, dynamically linked (uses shared libs), stripped
peter@daintree[9:27pm]/usr/bin-105> ldd yppasswd
yppasswd:
        libpam.so.2 => /usr/lib/libpam.so.2 (0x280d1000)
peter@daintree[9:28pm]/usr/bin-106>

Note no libc.so.5.  Hence libpam.so.2 has unresolved dependencies.

I believe this is also the cause of the recent buildworld failures when
pam_krb5.so references -lcrypto stuff etc and when librpcsvc.so references
des_setparity() etc.

This change could not possibly have worked, unless there are other missing
changes to the gcc configuration.  It won't work with ports versions of
gcc either.
2003-09-04 04:29:11 +00:00
Ruslan Ermilov
1c0b8fcbfe As ld(1) was taught to look into /lib, there's no longer a reason
for having compatibility .so symlinks.

Submitted by:	obrien
Reviewed by:	gordon
2003-09-03 06:31:50 +00:00
Ruslan Ermilov
41f8931571 Whitespace diff reduction between bsd.prog.mk and bsd.lib.mk outputs. 2003-08-31 15:20:17 +00:00
David E. O'Brien
4270213c2a Fix typo.
Submitted by:	Ulrich Spoerlein <q@uni.de>
2003-08-18 00:33:35 +00:00
Gordon Tetlow
b20654d416 When creating .so symlinks, use SHLIBDIR instead of LIBDIR so symlinks
are created in the correct location. Always make them. For libraries
that live in /lib, this causes a /lib/libfoo.so and a compatibility
/usr/lib/libfoo.so to be created. We may want to drop the
/usr/lib/libfoo.so symlink at some future point.
2003-08-17 23:56:29 +00:00
Gordon Tetlow
3d7f3b48c8 Handle the case where SHLIBDIR != LIBDIR. When creating links, we
need relative pathing to work correctly. This is s necessary step
for putting libraries in /lib while the .so symlinks still live
in /usr/lib.

This should be a big NOOP in the case where SHLIBDIR == LIBDIR.
2003-08-17 07:42:50 +00:00
Maxime Henrion
96f5595bf7 Since -march=pentium4 is supposed to be fixed with GCC 3.3, and
since people have been reporting success with it, re-enable the
pentium4 optimization.
2003-07-13 10:34:09 +00:00
Bruce Evans
2e3c617921 Use make(1) instead of a shell script to implement the checkdpadd target.
This is simpler, and is easy to do now that make(1) supports substituting
regexps.  Fixed missing '$' anchor in the regexp.  Use less cryptic names
for temporary variables.

Submitted by:	ru (early version)
Reviewed by:	ru
2003-07-03 11:43:57 +00:00
Ruslan Ermilov
7af822eb30 Libraries come. 2003-07-02 23:57:29 +00:00
Ruslan Ermilov
73c29aeb23 Sort. 2003-07-02 23:54:37 +00:00
Ruslan Ermilov
d58e932f04 Don't trust sys.mk,v 1.61 commit log, and make .asm alias for .S. 2003-07-02 17:03:28 +00:00
Ruslan Ermilov
6319fd15c9 The .s files do not have to be preprocessed with cpp(1). 2003-07-02 16:43:07 +00:00
Ruslan Ermilov
f79d11b7ba Revert to using as(1) to compile plain assembler source files.
All .s files that need cpp(1) processing (see gcc(1) manpage's
DESCRIPTION section) have been repo-copied to .S files.  This
is mostly to bring bsd.lib.mk in agreement with sys.mk.

Desired by:	obrien
2003-07-02 12:41:04 +00:00
Ruslan Ermilov
a51613b6da There's no reason to keep separate AINC knob anymore.
The only real use of it (lib/libc/Makefile) has been
fixed, and if necessary, the contents of AINC should
be added to CFLAGS.

Explained by:	bde
2003-07-01 15:15:45 +00:00
Ruslan Ermilov
fdcdec572a Propagate the ${AINC} knob (assembler include) to sys.mk,
and remove the .S.o transformation rule from bsd.lib.mk.
2003-06-30 20:02:46 +00:00
Ruslan Ermilov
70d9bc066f Removed suffix-transformation rules that are duplicates
(or are subsets) of the corresponding rules in sys.mk.
2003-06-30 19:48:14 +00:00
Ruslan Ermilov
ea90b1f55d The use of ld(1) to strip compiler local and non-global
symbols from object files has bitrotted over the last
thirteen years, and it now does more harm than good.

An attempt to work around the problems caused by using
ld(1) for stripping was to pass LDFLAGS to the ld(1)
command, but this was not right either as ${LDFLAGS}
should, by design, be used with cc(1) and not ld(1).

One of the proposed solutions was to use the objcopy(1)
utility to do the strip work, and the other would be to
use strip(1), but Bruce Evans suggested not stripping
any symbols at all.  This works by leaving the grunt
work to the final strip(1) command (when installing the
binary).

Submitted by:	bde
2003-06-30 19:03:56 +00:00
Gordon Tetlow
3c9b856357 Add ${CRUNCH_CFLAGS} support for adding compile options to crunch
components. This is generally considered a non-optimal solution but
it gets the job done for the /rescue case.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-06-29 18:16:26 +00:00
Peter Wemm
ef5c58a14c Be consistent about the use of ${LDFLAGS} for the internal rules. Some
were missing.  This made it difficult to add backend ABI overrides when
building shared libs.
2003-06-26 01:01:48 +00:00
Warner Losh
139c58b300 Put on the core hat and back out all of the CSTD= changes. Core will
deal with working with the parties to define a coherent definition for
CSTD that doesn't break things.

Core hat seconded by: markm
2003-06-14 17:41:59 +00:00
Dag-Erling Smørgrav
b6723d4dfb Revert to a known-good state. Anyone desiring to experiment with stricter
global settings is free to do so in his or her own source tree.
2003-06-14 11:57:44 +00:00
Peter Wemm
0800731a79 Build/install the PIC version of libgcc (libcc_pic.a) for use by shared
libraries that do exception unwinding.
2003-06-13 22:07:39 +00:00
Peter Wemm
333c9db6d0 We cannot use c99 on amd64 either due to lack of alloca(). libc:strptime()
uses alloca() and alloca is impossible to implement as a callable function
on amd64.  It has to be a compiler builtin.  Note that the bigger problem
is that libc is not c99 clean internally.
2003-06-13 21:54:21 +00:00
David E. O'Brien
a89bd62015 Remove NOSHLIBS, users can get by with NOPIC.
Desired by:	ru
2003-06-10 04:47:49 +00:00
David E. O'Brien
10f7bcc5a8 Be C std strict on i386 and amd64 as we can. Be loose on Alpha and ia64. 2003-06-07 08:05:35 +00:00
David E. O'Brien
b307c7420c Compile our code as C99 w/GNU extensions by default.
We can't use straight "c99" due to the lack of alloca.S for non-i386 platforms.
2003-06-06 16:55:05 +00:00
Mark Murray
3c0c681c09 Update some library names. Libraries come, libraries go. 2003-06-04 15:36:57 +00:00
David E. O'Brien
b9c19cc240 I got a bazzar bug report 2003-06-02 08:10:57 +00:00
David E. O'Brien
1cd2abf7af Turn back on c99, the tree should be ready for it now. 2003-06-02 06:26:14 +00:00
David E. O'Brien
479b54330b To quote Tony Maher <tonymaher@optushome.com.au>, "maybe 3rd time lucky ;-)"
*sigh* Just can't get a brake when trying to react too quickly and fix the build.
2003-06-02 01:01:42 +00:00
David E. O'Brien
f14fd87c5e Temperarly turn off building the tree with c99.
I swore this made it thru a 'make world', but I don't know what happened.
2003-06-02 00:11:07 +00:00
David E. O'Brien
28c3f28e32 Use a bigger hammer -- keep all -std= out of CXXFLAGS.
Also allow for "CSTD=" in a Makefile.
2003-06-01 22:13:45 +00:00
David E. O'Brien
5622a7e02d Do not set a C standard for the C++ compiler. 2003-06-01 21:33:05 +00:00
David E. O'Brien
5890829965 Compile our code as C99 by default. 2003-06-01 18:31:25 +00:00
David E. O'Brien
cf459fc35c CSTD is virtually worthless for WARNS=2-5. Return -pedantic to WARNS=6+. 2003-05-31 16:37:22 +00:00
David E. O'Brien
239e385f11 Make CSTD style match the rest of file. 2003-05-31 16:30:39 +00:00
Eric Anholt
b1aff8bff1 Change -march=pentium4 to -march=pentium3 when CPUTYPE==p4, because gcc 3.2 is
known to produce broken code with -march=pentium4.  Add a note explaining this.
This should be removed when we update to gcc 3.3 or the bug is otherwise fixed.

Approved by:	re
2003-05-22 16:56:46 +00:00
Ruslan Ermilov
b0eb809d95 Fixed typo in a comment.
PR:		misc/52486
Submitted by:	"Simon L. Nielsen" <simon@nitro.dk>
Approved by:	re (jhb)
2003-05-21 12:58:28 +00:00
Peter Wemm
721b850f30 s/x86[-_]64/amd64/ for MACHINE_ARCH and MACHINE_CPU .ifdefs.
Noticed by:  ru
Approved by: re (amd64-specific low risk stuff)
2003-05-20 01:46:16 +00:00
Tom Rhodes
ed2f3585f6 Apply the first in a series of patches which will bring bsd.README up to date.
PR:		35652
Submitted by:	"Simon L. Nielsen" <simon@nitro.dk> (original version)
Approved by:	re (bmah)
2003-05-17 18:03:05 +00:00
Dag-Erling Smørgrav
a3f59e65f1 Whitespace cleanup (1.15 had spaces instead of tabs) 2003-05-05 21:14:36 +00:00
Dag-Erling Smørgrav
9820f41cd3 Don't use -pedantic unless we also set -std of some kind. 2003-05-05 21:13:32 +00:00
Mark Murray
dbf104e68d Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extra
cleanups were necessary in release/Makefile, and the tinderbox code
was syntax checked, not run checked.
2003-05-05 07:58:44 +00:00
Mark Murray
04b151d66a Remove some games/ cruft that is no longer of relevance. 2003-05-03 15:48:12 +00:00
Dag-Erling Smørgrav
77695b344b Add a mechanism to allow Makefiles to specify the particular C dialect
in which the source code is written.  This is controlled by the CSTD
variable, which can have one of the following values:

  - "k&r"		=> -traditional
  - "c89" or "c90"	=> -std=iso9899:1990
  - "c94" or "c95"	=> -std=iso9899:199409
  - "c99"		=> -std=iso9899:1999

The corresponding option is added to CFLAGS regardless of WARNS level.
This also removes -ansi from WARNS level 6, but adds -Wno-long-long to
work around a weird gcc bug (-ansi, which is supposedly equivalent to
-std=iso9899:1990, seems to turn long long warnings off instead of on)

If CSTD is undefined, CFLAGS are unchanged except for the -ansi /
-Wno-long-long change mentioned above for WARNS level 6.
2003-05-01 14:36:27 +00:00
David E. O'Brien
74a0458023 Add NOSHLIBS.
If one is using NOSHARED, why build the libs.
2003-04-27 21:44:52 +00:00
Ruslan Ermilov
2244cda2bc Axe CXXINCLUDES from CXXFLAGS, it serves no useful purpose anymore.
Reviewed by:	bde
2003-04-22 11:04:25 +00:00
David E. O'Brien
ae7906208d Add CPUTYPE support for "athlon-tbird", as GCC makes the distinction.
PR:		50801
Submitted by:	Glenn Johnson <glennpj@charter.net>
2003-04-14 17:36:29 +00:00
David E. O'Brien
7d40314e32 Default the userland to 486 capabilities. 2003-04-11 21:28:17 +00:00
Warner Losh
30aaff1192 Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00
Ruslan Ermilov
0e80a2f601 -Wall implies -Wuninitialized if -O is also in effect.
-Wuninitialized does not work without -O.

This fixes the ${WARNS} > 4 compilations with -O0.

Spotted by:	marcel
2003-04-04 10:47:06 +00:00
Ruslan Ermilov
effd19ed24 Enable cpp(1) warnings in system headers. GCC is oriented on
glibc which is externally maintained, so GCC ships with these
warnings turned off by default.  This is also consistent with
the src/contrib/gcc/c-lex.c,v 1.2 change.
2003-03-31 13:10:51 +00:00
David E. O'Brien
dde8112b23 Globally use -mieee in /usr/src for Alpha. 2003-03-29 03:14:24 +00:00
David E. O'Brien
44db0c5c9a Reduce "code duplication" for AMD CPU's. 2003-03-29 03:13:19 +00:00
Ruslan Ermilov
c6885e2617 Added GEOM library to the bsd.libnames.mk namespace. 2003-03-21 14:31:51 +00:00
Ruslan Ermilov
6f63bc577d Record the sudden death of bsd.kern.mk and bsd.sgml.mk. 2003-03-12 14:31:36 +00:00
Mark Murray
96594358d3 KerberosIB deorbit: Remove library references. 2003-03-08 13:38:06 +00:00
Ruslan Ermilov
379e8aa7ec If we carry our MODULES_WITH_WORLD, we probably also do not want
for installkernel to wipe them out later.  So install them under
/boot/modules if that is the case.
2003-03-03 22:54:35 +00:00
Ruslan Ermilov
73f643b411 Fixed sys/boot/pc98/boot2/Makefile to use kern.mk and
get rid of bsd.kern.mk completely.

OK'ed by:	bde
2003-03-02 21:18:40 +00:00
Ruslan Ermilov
ddc474a84b Initiate the de-orbit burn sequence for <bsd.kern.mk>.
Always use sys/conf/kern.mk when building kernel/modules.
<bsd.kern.mk> is only preserved for sys/boot/pc98/boot2
for now, but this will be fixed.  If there are other
users of <bsd.kern.mk>, please let me know.

Reminded by:	bde
2003-02-28 22:12:17 +00:00
Jake Burkholder
dd606b5425 - Removed various cruft from before we had a hosted toolchain (!).
- Moved special compiler flags to bsd.kern.mk so they get used for modules
  too.
2003-02-27 23:02:22 +00:00
Ruslan Ermilov
77391fde76 Added UFS library to the bsd.libnames.mk namespace. 2003-01-23 08:15:05 +00:00
Ruslan Ermilov
43e927ec32 NOSHARED is meaningless in the bsd.lib.mk context, so check LDFLAGS
for the -static flag instead when constructing LIBPAM.

(This fixes false warnings from ``make checkdpadd -DNOSHARED'' in
lib/libpam/modules/.)

Submitted by:	bde, ru
Approved by:	re
2002-11-26 09:00:02 +00:00
Ruslan Ermilov
40c6b893d8 Take __FreeBSD_version into account when BOOTSTRAPPING. 2002-11-13 13:49:29 +00:00
Ruslan Ermilov
47a6766105 Document most of bsd.doc.mk variables. 2002-10-30 17:03:48 +00:00
Ruslan Ermilov
e8583ea057 All uses of CD_HACK have been eliminated. 2002-10-30 15:30:06 +00:00
Ruslan Ermilov
e5f3fe8c97 PRINTERDEVICE can now take multiple values. 2002-10-29 16:13:21 +00:00
Ruslan Ermilov
b382ba4fb1 bsd.doc.mk changes:
Don't gratuitously pipe thru a cat(1) if NODOCCOMPRESS.

Only create _stamp.extra when necessary.

Get rid of SOELIMPP and OBJS.

Use Groff version of soelim(1); we need its -I option
for the following to work.

Don't needlessly chdir to SRCDIR.  Only a few documents
need CD_HACK, and those that need it either use refer(1)
or .PSPIC macro which internally uses the .psbb call.
2002-10-29 14:56:09 +00:00
Ruslan Ermilov
b17996a47e Revert last delta. SGR support in grotty(1) is disabled system-wide
in /usr/share/tmac/troffrc pending the issue resolution on -arch.
2002-10-18 09:14:17 +00:00
Ruslan Ermilov
ccc4bab104 Added the new variable CTAGS which, if set to "ctags", reverts
to creating the tags file using ctags(1).  Defaults to "gtags".
Made GTAGSFLAGS and HTAGSFLAGS overrideable, added CTAGSFLAGS.
Folded bsd.prog.mk version of `tags' into bsd.dep.mk.

PR:		bin/42852
2002-10-17 13:48:13 +00:00
Marcel Moolenaar
8f6a0ee959 ia64 specific CFLAGS change:
Fix the "@gprel relocation against dynamic symbol xxx" linker error.

Variables defined in the link unit and small enough to be put in the
short data section will have a gp-relative access sequence (using the
@gprel relocation). It is invalid to have @gprel relocations in shared
libraries, because they are to be resolved by the static linker and
not the dynamic linker. The -fpic option will cause @ltoff relocations
for @gprel relocations, but the side-effects are untested (if any).
Instead, disable/eliminate the short data section to achieve the same.
2002-10-13 02:52:22 +00:00
Ruslan Ermilov
65b1f0f74e Groff 1.18.1 comes in with ANSI color support, enabled by default.
In "nroff" mode, italic font renders as an underlined text, which
makes it indistinguishable from the bold text on color monitors
(cons25 terminal type), yet it requires the less(1)'s -R option.
(Refer to the new grotty(1) manpage for details.)

So turn off the color support for now (when generating catpages),
until we figure out what do we do with this new feature.  I have
a patch for grotty(1) that tells it to use the "reverse video"
attribute to render the italic font.  Once this is accepted, we
can turn color support back on (if there won't be any objections
from the community).
2002-10-11 09:16:24 +00:00
Ruslan Ermilov
b0eca2c865 Sort in ``phone directory'' order (except for LIBC_*). 2002-10-04 16:25:08 +00:00
Poul-Henning Kamp
2024748156 Reflect the fact that we install our libexpat as libbsdxml. 2002-10-04 13:36:12 +00:00
Bruce Evans
c6a1c7c5b9 Use the -mno-align-long-strings on i386's to debloat the kernel a little.
This reduces the size of GENERIC's text space by 73999 bytes (about 2%).
The bloat is from approximately 3437 strings longer than 31 characters
being padded to a 32-byte boundary.
2002-10-04 12:54:36 +00:00
Poul-Henning Kamp
a70e34ac71 Add LIBEXPAT definition. 2002-10-02 07:36:08 +00:00
Mark Murray
5741a42f2f Extend the lint handling a bit.
o Make it possible to prevent parts of the tree from being linted
  (say) during a 'make world' by setting NOLINT in a leaf Makefile.

o Make "make lint" work (better) for executable programs.

o Clean up (nuke!) a syntax damaged pipeline.
2002-09-20 19:32:51 +00:00
John Baldwin
23bfdc2d66 Whitespace-only indention fixups for revision 1.20. This lets the 1.20
diff actually be readable.
2002-09-18 20:51:25 +00:00
John Baldwin
f41fb58cd1 Oops, fix userland _CPUCFLAGS. Move adding of _CPUCFLAGS to bottom of
file after end of empty CPUTYPE else clause.
2002-09-18 20:48:54 +00:00
John Baldwin
eb28bc3e98 For the default case of CPUTYPE not being set, don't define CPUTYPE to the
lowest value in order to get the right MACHINE_CPU values since setting
CPUTYPE can result in problems later in the buildkernel case.  Instead,
set MACHINE_CPU directly and leave CPUTYPE alone.

Tested by:	mbr
2002-09-18 20:44:46 +00:00
Peter Wemm
66422f5b7a Initiate deorbit burn for the i386-only a.out related support. Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
2002-09-17 01:49:00 +00:00
David E. O'Brien
fb3d225909 Add support for the AMD x86-64 Hammer platform. 2002-09-11 04:57:09 +00:00
Kris Kennaway
0dafadb731 Add support for ev67 and ev45 CPUTYPEs (new in gcc3) 2002-09-07 01:26:11 +00:00
Maxime Henrion
8e4b67a2a3 Update to use all the new CPU optimizations of GCC3.
Reviewed by:	kris
2002-09-07 01:15:29 +00:00
Peter Wemm
c253d72f0a Bump the -mev56 to -mev6. Otherwise, when you compile with gcc using
ev6 or pca56 etc this downgrades the cpu specification passed to gas.
As a result, gas will fail when gcc generates media instructions (in
uipc_usrreq.c).  This only affects what gas will accept, not what gcc
generates or what our *.s file contain.
2002-09-06 07:27:41 +00:00
Kris Kennaway
b5cdcc000b test -h is deprecated; use -L instead.
Submitted by:	april <april@oublinet.net>
PR:		misc/38724 (part of)
MFC after:	3 days
2002-08-31 02:22:33 +00:00
Bruce Evans
64fc62d407 Turned format checking back on. It was left turned off for too long after
the gcc lossage that caused it to be turned off was fixed.

Tested with:	i386/{GENERIC,LINT,...}, alpha/GENERIC
2002-08-25 08:05:02 +00:00
Ruslan Ermilov
81c0610313 Allow one to override ${MINSTALL} in /etc/make.conf.
Prompted by:	Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
2002-08-20 11:11:37 +00:00
Ruslan Ermilov
32f8ca450d TARGET_CPUTYPE should exist solely in Makefile.inc1, similar to
TARGET_ARCH and TARGET.  This is problematic when one has the =
(unconditional) type of assigment for CPUTYPE in /etc/make.conf.
(This would override what was set on the command line to "make
buildworld".)

Add a (horrible) kludge to Makefile.inc1 to check the type of
assignment for CPUTYPE (only for those who attempts to set it to
a different value).  Fix an example make.conf.  Fix the kernel's
build-tools target (aicasm only at the moment) to catch up with
bsd.cpu.mk,v 1.15 (BOOTSTRAPPING replaced with NO_CPU_CFLAGS in
Makefile.inc1's BMAKE).

Reviewed by:	jhb
2002-08-02 18:04:22 +00:00
Robert Watson
4fd65a06f9 Add a libnames entry for libugidfw.
Add a DPADD line for ${LIBUGIDFW} for ugidfw.

Submitted by:	ru
2002-08-02 13:37:57 +00:00
John Baldwin
22e256fded - Define NO_CPU_CFLAGS during BMAKE and TMAKE (and thus XMAKE) so that
bsd.cpu.mk doesn't have to worry about compilers other than the current
  version.
- Allow TARGET_CPUTYPE to override CPUTYPE in bsd.cpu.mk.
- Treat an empty CPUTYPE the same as an undefined CPUTYPE.
- For buildworld, buildkernel, etc., define TARGET_CPUTYPE to CPUTYPE for
  native builds and define it to be empty for cross-builds.
  TARGET_CPUTYPE is only defined if it is not already defined via the
  commandline or environment.
2002-07-31 03:56:03 +00:00
Ruslan Ermilov
d2893b161b Drop support for COPY, -c has been the default mode of install(1)
for a long time now.

Approved by:	bde
2002-07-29 09:40:17 +00:00
John Baldwin
9bd85872d1 - Fixup whitespace after previous commit.
- To minimize whitespace changes, remove a test that didn't define
  _CPUCFLAGS if both NO_CPU_CFLAGS and NO_CPU_COPTFLAGS were defined
  since it is redundant (we don't use _CPUCFLAGS if those are defined).
2002-07-27 22:15:42 +00:00
John Baldwin
8605c6b2ad If there is not a CPUTYPE defined by default, then allow for _CPUCFLAGS
to tune for more advanced processors while still supporting the minimum
processor in an architecture.  We can do this with the '-mtune=' option
to gcc for alpha, sparc64, and powerpc and with the mis-named '-mcpu='
option for i386.

This defaults to tuning i386 builds for i686 machines though not using
any instructions that aren't found on an 80386.  For alpha it defaults
to tuning for an EV5.

Approved by:	peter
Peril sensitive sunglasses borrowed from:	peter
2002-07-27 22:04:05 +00:00
Ruslan Ermilov
397304fe4f Moved `clean:' below, just before the inclusion of bsd.obj.mk,
so that CLEANFILES from bsd.man.mk and bsd.dep.mk are honored.
2002-07-21 21:22:45 +00:00
Ruslan Ermilov
5113446a35 Only define SHLIB_LINK if SHLIB_NAME matches the *.so.* pattern.
(Useful for RELENG_4's lib/libpam/modules.)
2002-07-19 18:40:13 +00:00
Ruslan Ermilov
42c0ad02c2 Correction to the previous revision: define SHLIB_LINK if SHLIB_NAME
is defined (whether or not LIB is defined).
2002-07-18 17:44:20 +00:00
Ruslan Ermilov
8cda97bd32 Sort FILES. 2002-07-17 16:35:00 +00:00
Ruslan Ermilov
8f463ff4c5 Moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk,
to make it call `install' in the bsd.subdir.mk-driven makefiles
too.  (share/examples/Makefile,v 1.29 changed the bsd.prog.mk
to bsd.subdir.mk and many stuff was lost during "make release".
I then merged this change in rev. 1.28.2.2 to work around the
namespace pollution (FILES) in this makefile.)

There was an added complexity here.  Both the `distribute' and
`install' targets are recursive (they propagate to SUBDIRs).
So `distribute' first calls `install' in the ${.CURDIR}, then
calls `distribute' in each SUBDIR, etc.  The problem is that
`install' (being also recursive) causes the stuff from SUBDIR
to be installed twice, first time thru `install' in ${.CURDIR}
triggered by `distribute', second time by `distribute' run in
the SUBDIR.  This problem is not new, but it became apparent
only after I moved the `distribute' target from bsd.obj.mk to
bsd.subdir.mk.  My first attempt testing the fix failed due to
this, because the whole world was distributed twice, causing
all the imaginable mess (kerberos5 stuff was installed into both
"base" and "krb5" dists, there was /sbin/init.bak, etc.)
I say the problem is not new because bsd.prog.mk and bsd.lib.mk
makefiles with SUBDIR (even without this fix) had this problem
for years.  Try e.g. running ``make distribute DISTDIR=/foo''
from usr.bin/bzip2 or from lib/libcom_err (without the fix) and
watch the output.

So the solution was to make `install' behave non-recursive when
executed by `distribute'.  My first attempt in passing SUBDIR=
to the `install' in the `distribute' body failed because of the
way how src/Makefile and src/Makefile.inc1 communicate with each
other.  SUBDIR='s assignment precedence on the "make install
SUBDIR=" command line is lowered after src/Makefile wrapper calls
"make ... -f ${.CURDIR}/Makefile.inc1 install" because SUBDIR=
is moved into environment, and Makefile.inc1's assignments now
take higher precedence.  This may be fixed someday when we merge
Makefile with Makefile.inc1.  For now, this is implemented as a
NO_SUBDIR knob.

Spotted by:	Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>
Prodded by:	des
MFC after:	3 days
2002-07-12 15:09:35 +00:00
David E. O'Brien
bf4ca1009b Be more strict with WARNS now -- the GCC 3.1 turmoil is behind us. 2002-07-07 18:47:52 +00:00
Ruslan Ermilov
e8d5345d28 Part 1/2 of kerberos5/doc/ "make release" breakage fix:
Finish the fix of rev. 1.28 changes in rev. 1.47 (removed
gross dir file bootstrap rule again).
2002-07-06 14:58:20 +00:00
Ruslan Ermilov
4d7d5e7c11 Make it possible (again) to build and install shared library only.
One needs to define SHLIB_NAME for this to work.

Prodded by:	mi
2002-07-03 16:22:43 +00:00
Ruslan Ermilov
6e02167b57 Moved checkdpadd target to where it logically belongs. 2002-07-03 12:44:06 +00:00
Ruslan Ermilov
badb7c1c6b Try really hard to fix parallel installs. Add a bunch of .ORDER
directives to ensure that all realinstall sub-tasks are executed
after beforeinstall, similarly ensure that all afterinstall sub-
tasks are executed after realinstall.  Demonstration:

all: task1 task2
.ORDER: task1 task2

task2: task2_subtask
.ORDER: task1 task2_subtask

task1 task2 task2_subtask:
	@sleep `jot -r 1 0 1.0`
	@echo ${.TARGET}

Without the second .ORDER directive, task2_subtask can be run in
parallel with task1.

Spotted by:	Andrea Campi <andrea@webcom.it>
2002-07-03 12:28:03 +00:00
Ruslan Ermilov
8479adc1d3 Reimplemented bsd.nls.mk using bsd.files.mk and bsd.links.mk.
Provided the (previously missing) dependency on source files
for intermediate .msg files.

Provided the default for NLSSRCDIR (defaults to .CURDIR).

Slightly changed the API: NLS should now list plain locale
names, without the .msg suffix.

When included from bsd.prog.mk, NLSNAME defaults to PROG.
2002-07-02 12:37:09 +00:00
Ruslan Ermilov
84f94a79a0 Handle installation of hard and symbolic links via a seperate .mk file. 2002-07-02 12:16:54 +00:00
Ruslan Ermilov
b4840de98d bsd.subdir.mk already has these dependencies coded. 2002-07-01 14:51:42 +00:00