1106 Commits

Author SHA1 Message Date
ru
24a278dc58 g++(1) is unhappy with -Wnested-externs.
Prodded by:	des
2004-04-20 15:16:07 +00:00
ru
0807140c6b Mark the "obj" target with the .PHONY attribute. 2004-04-13 12:36:00 +00:00
dfr
fff0eafd3d 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
a02786e154 Add a reference to the ia64 options to gcc. While here, sort the list. 2004-03-21 04:57:24 +00:00
trhodes
c1888d71d1 Remove whitespace at EOL. 2004-03-15 17:01:31 +00:00
trhodes
1ff837cfce 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
trhodes
1492567af1 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
bde
c66fcd0b62 Fixed indentation of conditionals.
Submitted by:	Rostislav Krasny <rosti_bsd@yahoo.com>
2004-03-05 15:59:33 +00:00
des
bc27cba087 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
kientzle
4a7e80c5fe Register libarchive in bsd.libnames.mk and mdoc.local
Submitted by:	ru
2004-02-13 01:14:38 +00:00
ru
951150d25a 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
ru
21fda7ee48 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
ru
5932ce932a Temporarily put STRIP back; bsd.port.mk still needs it. 2004-02-05 20:48:44 +00:00
ru
a24e2d0f9b Don't define STRIP in bsd.own.mk. 2004-02-05 20:16:18 +00:00
ru
0cef6a966e make(1) can now handle spaces surrounding parenthesis correctly. 2004-02-05 08:44:43 +00:00
des
3d46295743 GC port.mkversion. 2004-02-05 00:07:09 +00:00
bde
d769a0fd0e 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
ru
eeb0cbd805 Nothing in libypclnt depends on librpcsvc.
Reported by:	lorder(1) (modified to work with libraries)
2004-02-04 09:53:29 +00:00
ru
9ce4a934e1 A shorter version of keeping all -std= options out of CXXFLAGS. 2004-02-03 09:40:11 +00:00
ru
3964693be1 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
ru
aef6df4460 GC LIBPC and LIBPLOT: they never existed in unencumbered BSD versions.
Reviewed by:	bde
2004-02-02 21:44:48 +00:00
marcel
d859198df2 Add LIBPTHREAD. 2004-01-31 17:25:18 +00:00
bde
cbb2f01880 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
bde
bd35586e23 Fixed insertion sort errors for LIBBLUETOOTH and LIBSDP. 2004-01-31 03:09:10 +00:00
bde
7ca2ea57e6 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
bde
2f84e3271e Fixed some style bugs (long lines). 2004-01-31 02:17:11 +00:00
jhb
822c3ce335 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
ru
035d02d5ec 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
ru
c12dfd0f16 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
ru
b48a558a6b 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
ru
7f5ae3ced7 - 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
ru
032a5ac8ac 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
ru
6f460d8fda Keep up with sys/conf/ changes. 2004-01-10 18:01:08 +00:00
green
7555fe73fd 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
harti
addfc2e6e8 Add a define for libbsnmp. 2003-11-10 09:07:30 +00:00
harti
8d6a31fb68 Add a definition for libngatm.
Reviewed by:	ru
2003-10-27 13:51:28 +00:00
emax
41bb0e8fd2 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
nectar
9d50fa1c54 Update build infrastructure for Heimdal 0.6. 2003-10-09 19:48:47 +00:00
ru
ae6ec1960e 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
fjoe
571ef024e3 - 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
markm
60e30bb741 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
ru
34673ebfc3 - 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
ru
158b38338d 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
06abe0101f 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
ru
1e549f16bc 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
ru
0bed259e82 Whitespace diff reduction between bsd.prog.mk and bsd.lib.mk outputs. 2003-08-31 15:20:17 +00:00
obrien
ed2501355f Fix typo.
Submitted by:	Ulrich Spoerlein <q@uni.de>
2003-08-18 00:33:35 +00:00
gordon
61c5e684cc 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
c455fd684d 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
mux
adb7e9909e 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