Commit Graph

1666 Commits

Author SHA1 Message Date
tsutsui 34dd728d42 There is only one more file which requires HACKS for m68000,
so handle it in each Makefile rather than sys.mk.

These ICEs might be related with GCC Bugzilla Bug 32424
which is not resolved yet even in the upstream.
2008-05-04 15:37:19 +00:00
ad 19913f0560 Pass -d to the linker, to assign space to common objects up front. The kernel
linker isn't smart enough to do that...
2008-05-03 15:48:15 +00:00
lukem 66176dfdff Rename MKPRIVATELIB to LIBISPRIVATE, to make it clearer that this is
a variable that is used by in-tree Makefiles to control behaviour.
(MKsomevar variables are generally intended to be controlled by the end-user)
2008-05-03 14:48:30 +00:00
lukem b552ef70c2 Provide a "lint" target that will lint all the sources, even if MKLINT=no.
(MKLINT=no still prevents installation of the lint libraries).
Explictly disable some library variations if MKPRIVATELIB=yes.
2008-05-03 14:36:06 +00:00
ad 7d1f779aa2 Build and install modules into /kernel/modules. Each module gets a
directory for properties, blobs, etc. It's not fixed in stone and
can easily be changed if there are issues with the location/layout.
2008-05-02 23:12:00 +00:00
ad 3ba209837a - Add a bsd.kmodule.mk to build new style modules.
- Set the file suffix to .kmod
2008-05-02 14:20:50 +00:00
lukem d77bf7654f Explicitly set MKLINT=no if MKLINKLIB==no, rather than just acting that way. 2008-05-02 11:45:19 +00:00
jmmv 01ab96ad80 Add support for a TESTS_C variable to make use of the new C-only binding
that comes with atf-0.5.  Also fix linkage of C++ tests.
2008-05-01 15:36:36 +00:00
garbled c3408ed04a Convert prep to use the new unified mkbootimage rather than it's own. This
mkbootimage can be shared by prep, rs6000, and bebox.

TODO: Convert bebox to use this.  Needs someone to test.
2008-04-30 21:15:33 +00:00
simonb 71a4269193 Use -nodefaultlibs instead of -nostdlib when linking libc and libgcc*
so that we still link in the crt* start/end files.
Explicitly link libc against gcc_pic, since -nodefaultlibs undoes this.

Fixes problems where shared libraries don't get init/fini sections,
most easily noticable with pthreads programs not working.

Approved by: skrll
Thanks: bjs, mrg, icb peanut gallery.
2008-04-29 07:48:31 +00:00
christos a9587bb896 now that gcc adds -lc, reverse the logic and explain. 2008-04-27 23:48:10 +00:00
tsutsui c007028e0b Enable gcc optimization on m68000 (sun2) again with minimum hacks.
gcc -O0 generates a bit fat binaries.
2008-04-27 03:06:46 +00:00
christos f369b6c6cb Exempt gcc libraries from linking against libc. 2008-04-26 22:28:13 +00:00
christos fe6aa33a8e deal with modules that don't define lib. 2008-04-26 21:26:03 +00:00
christos 9d8a22cf84 make all shared libraries depend on libc. 2008-04-26 20:03:44 +00:00
tsutsui c81a918994 Redo a change in rev 1.160 with more proper way:
> Don't make linker warnings fatal on linking static libs since
> there is no proper way to avoid "FOO is a patented algorithm" warnings.

Ok'ed by christos@ and dogcow@ on tech-toolchain, and
tested build.sh build for sun2, news68k, alpha and newsmips.
2008-04-22 12:47:59 +00:00
tsutsui a91b6f6d11 Backout previous for now. We have to rethink dependency for MKPIC and LDSTATIC.
Pointed out by dogcow@.
2008-04-15 00:08:05 +00:00
tsutsui 6dadfb80d4 Don't make linker warnings fatal on linking static libs since
there is no proper way to avoid "FOO is a patented algorithm" warnings.
Ok'ed by christos@ on tech-toolchain.
2008-04-14 13:41:43 +00:00
tsutsui 4c7d97cc4a Add libhx509 to PAM_STATIC_LDADD which is required by libkrb5. 2008-04-10 13:52:45 +00:00
lukem 30883326ec Change USE_SKEY default to "no"; we have had USE_PAM=yes as the default
for a long time, and there's no point having custom S/Key support in the
applications given that pam_skey.so is now in /etc/pam.d/*
2008-03-31 02:42:27 +00:00
dholland f47dfee9a0 Correct documentation of default value of FILESMODE.
PR bin/38059 from Aleksey Cheusov.
2008-03-28 06:04:40 +00:00
lukem f0b277f256 Make it easier to find various MK* and USE_* variable definitions
by expanding their names in the for loops.

Inspired by a recent commit, which made sense to me based on the
number of times I've had to redo a search without the leading MK|USE_
within this file just to find the default...
2008-03-24 05:00:31 +00:00
mlelstv b0f88a0388 Import Heimdal-1.1 2008-03-22 08:36:48 +00:00
uwe 08aeb1f9ef Use angle brackets in UUDECODE_FILES_RENAME_<fn> as we do for other
file-specific variables.  Start description on new line.

While here correct s/<fn>>/<fn>./ typo in a nearby item.
2008-03-11 13:33:16 +00:00
dholland 2d8b0e31c6 Adjust the loop that handles NOMAN and friends so grepping for NOMAN
actually finds it. Also note that it only works if set before
bsd.own.mk is included.

Otherwise, grep NOMAN /usr/share/mk/*.mk comes up empty, and since
naively setting it may not work, one can easily draw wrong
conclusions.
2008-03-10 01:18:29 +00:00
phx ae0b13c01b Make XFree86 compile for ofppc.
Approved by garbled.
2008-03-08 10:37:48 +00:00
lukem ba936e32d4 Set linker warnings to be fatal if ${WARNS} > 0. 2008-03-03 06:33:17 +00:00
jmmv f51186f572 Fix build of tests when USETOOLS=no. Reported by veego@ in current-users
and notified to me by martin@.
2008-03-02 11:31:42 +00:00
skrll 55edbc2411 Add hppa to the list of platforms that need help with branches.
Sort the list while I'm here.
2008-03-01 20:29:43 +00:00
lukem 77b570b56b Use "GCC" instead of "gcc".
Highlight that MKGCCCMDS still does build the GCC libraries.
Suggested by Lloyd Parkes on tech-toolchain@
2008-02-27 00:36:00 +00:00
jmmv 1abe396003 Allow Makefiles to skip the installation of an Atffile by defining NOATFFILE.
This is to be able to get the definition of TESTSBASE, which maybe should be
part of bsd.own.mk...
2008-02-10 12:28:54 +00:00
jmmv 62b4c6bc5c Add a MKMODULAR build-time option, defaulting to no, to enable the new
kernel modules framework.
2008-02-09 19:31:36 +00:00
mrg ecc90aa046 make all sun2 use -O0 and move most of the hacks out into just 3 files. 2008-02-09 02:37:21 +00:00
drochner 992ef89b0e include bsd.init.mk so that eg USETOOLS is available to
client Makefiles, approved by jmmv
2008-02-05 17:50:47 +00:00
jmmv 1561f4867f Rebuild shell-based tests if the atf-compile host tool has changed. The
contents of the generated scripts may change (as will happen with ATF 0.4),
so this dependency is important to have.  Dunno how to deal with the
non-tools case other than adding an entry in UPDATING, but if you are not
using tools, you can expect all kinds of breakage.
2008-02-04 14:15:57 +00:00
nakayama c3420b91a3 Follow the recent rpcgen(1) change.
The environment variable of the C preprocessor has replaced to RPCGEN_CPP.
2008-01-29 14:14:54 +00:00
ad bbc79e58a6 Pull in my modules code for review/test/hacking. 2008-01-16 12:34:50 +00:00
skrll 21f4fe85eb Enable gdb on hppa. 2008-01-10 22:21:43 +00:00
simonb d8de5b102b Remove support for NetBSD/pc532. 2008-01-09 11:25:58 +00:00
ad 0e3fd5532f Record LKM entry point in the ELF file header. 2008-01-04 14:54:29 +00:00
christos 7af2df4395 add MKPIE 2007-12-28 21:35:45 +00:00
jmmv 0287baacad Make the clean target work when OBJS is set but PROG is not, as happens
for example in gnu/lib/crtstuff4.  Reported by drochner@.
2007-12-26 22:52:10 +00:00
lukem e226e0f887 It's "its" for possessive, not "it's". 2007-12-11 14:06:04 +00:00
jmmv 1a8b914c59 No need to set a value for TESTSDIR any more as this is explicitly set
wherever it is needed.
2007-11-21 15:40:09 +00:00
jmmv ac0bd149f2 Fix typo that prevented MKDEBUG builds to work. Found by drochner@. 2007-11-13 13:57:53 +00:00
jmmv dd2f8250cc Add the bsd.test.mk file
This file simplifies the build of test programs, either written in C++
or in sh.  It hides the internals of atf, e.g. by silently linking
against -latf or calling atf-compile.

It also takes care of installing an Atffile for each new test directory.
2007-11-12 15:05:15 +00:00
jmmv 12408017c4 Add the ability to build multiple programs from a single directory
This adds support for a new set of variables, PROGS and PROGS_CXX, that
allow the developer to build multiple different programs from a single
source directory.
2007-11-12 15:04:35 +00:00
jmmv 2965cbca98 Add the atf host tools
This adds reachover Makefiles to build the atf tools required during a
cross-build.
2007-11-12 14:54:43 +00:00
tls b21c402a7b Remove MKPRIVATELIB from BIND libraries; move library reachover
directories and Makefiles from src/usr.sbin/bind to src/lib; make
BIND libraries build shared.  Saves about 1MB-1.5MB per installed
executable, about 5MB for a base+etc minimal installation of NetBSD.
2007-11-04 23:28:16 +00:00
ad 431267f955 Add USE_JEMALLOC. 2007-10-06 00:21:44 +00:00
christos 9ba5d03c10 Enable text relocation warnings. 2007-09-15 14:36:14 +00:00
hira 02972af57d Use /libexec/ld.elf_so instead of /usr/libexec/ld.elf_so for the
programs which are located in /libexec.
2007-08-29 21:34:17 +00:00
lukem aae621fdad Support MAKEVERBOSE when installing APPDEFS. 2007-08-06 04:25:57 +00:00
pooka c5653da5a1 install bsd.klinks.mk 2007-08-05 21:50:32 +00:00
pooka 9af4ce05d6 Split the part of bsd.kmod.mk which creates links to kernel header
directories into a separate module, bsd.klinks.mk.
2007-08-05 21:43:24 +00:00
joerg 577a8c7029 Add build glue for libarchive and update the various sets. 2007-07-29 17:06:00 +00:00
joerg dbfc63fcce Rename nbinstall to ${MACHINE_GNU_PLATFORM}-install as it calls the
target strip. Don't pass down strip as it is not needed any longer.
2007-07-03 16:29:24 +00:00
tron 14f772ea69 Don't use alloca(3) inside the X11 libraries if we compile with
stack protection. XFree86 can now be buildt fine with "USE_SSP=yes".
2007-06-07 11:49:17 +00:00
rillig f1ed085bcf Explained the word "new" in the first paragraph. 2007-06-06 06:18:39 +00:00
uwe 00fa1e6950 Stack protector codegen bug on sh3 has been fixed, so drop sh3 from
the list of platforms where we disable ssp.
2007-06-03 21:07:33 +00:00
christos 380cacfb28 we can now compile libc with _FORTIFY_SOURCE 2007-06-03 17:42:18 +00:00
uwe 7243a4e86c Fix inverted comparison ${MACHINE_ARCH} != "hppa" when checking for
ssp.  (hi^2 tls!)
2007-05-31 00:17:32 +00:00
uwe c7bdc65e61 Use matching open and close parens.
Why make doesn't complain about $(foo} ?
2007-05-30 22:54:12 +00:00
tls 14aa3a04d9 Fix typo, and eliminate mention of libssp since it's gone.
Move -D_FORTIFY_SOURCE to CPPFLAGS from COPTS.
2007-05-30 21:27:54 +00:00
tls dc99372be9 Match usage of FORTIFY_SOURCE on other platforms by not requiring special
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).

Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3).  But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
2007-05-30 21:14:35 +00:00
tls a83c0ab035 mipsel || mipseb, not mipsel || mipsel 2007-05-30 14:21:31 +00:00
tls 2368dc663d Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do.  Goodbye, libssp
dependency in libraries and executables.  Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.
2007-05-30 01:13:14 +00:00
tls 6c43b583d4 Sigh, revert previous and fix right: we don't have MACHINE_CPU in bsd.sys.mk. 2007-05-29 21:24:57 +00:00
tls e5545ad98b MACHINE_ARCH -> MACHINE_CPU so excluding mips from SSP/FORT works right. 2007-05-29 21:09:18 +00:00
tls 64e3562f4f Fix two bugs reported by Simon Burge: 1) USE_FORT and USE_SSP should be
disabled on platforms where GCC doesn't support -fstack-protector.  2) The
libssl Makefile had a hard-coded USE_FORT=yes.
2007-05-29 13:55:31 +00:00
tls 1e799aacf7 Sigh. Fix USE_FORT: do not use /usr/include/ssp from *host* system. 2007-05-29 04:56:34 +00:00
tls 4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
tls d307e49627 Add -D_FORTIFY_SOURCE=2 where it can safely/sanely be used if building
with USE_SSP: not in the kernel, and not in libssp itself.
2007-05-22 23:58:54 +00:00
matt 8655342068 -O1 on vax isn't quite enough, add -fgcse -fstrength-reduce -fgcse-after-reload
too.  We can build again.
2007-04-15 22:53:08 +00:00
matt 286b959060 For now, make vax default to -O not -O2 2007-04-14 18:39:46 +00:00
scw 5764a76889 Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
matt 87e605a5fe Don't test machine_arch for m68k and m68000, just test machine_cpu for
m68k.  Turn on PIC/PICLIB for VAX.
2007-03-31 05:58:30 +00:00
tsutsui ca549fcb8e CPPICFLAGS -> CPPPICFLAGS (in comments) 2007-03-18 09:08:45 +00:00
pooka b0f9a8a9aa update and fix description of MKPUFFS 2007-02-24 18:53:34 +00:00
chs ca31efae54 switch the rest of the architectures to gdb6. 2007-02-19 18:31:21 +00:00
perry 34c4900430 Before I completely forget the issue, convert "PROG_PAX" to the
better-named "PAXCTL_FLAGS".
2007-01-25 23:04:28 +00:00
christos 855c80dc29 delete "-std=gnu99" from c++ flags. From mrg. 2007-01-22 21:49:07 +00:00
apb a45dfb93f4 Define TOOL_JOIN. 2007-01-14 16:19:55 +00:00
rumble 78f7b270d1 Fix a typo, tweak wording, and maintain consistency. 2006-12-30 04:45:13 +00:00
pooka 81b905fdbb if MKPUFFS=yes is given, build & install mount_psshfs (default: no) 2006-12-29 15:52:20 +00:00
macallan 610c0515b7 build XFree86 on shark 2006-12-21 01:45:32 +00:00
dyoung f3fbc3bb0f Change the name of the host disklabel to nbdisklabel-${MAKEWRAPPERMACHINE},
where ${MAKEWRAPPERMACHINE} is the suffix XXX on the target's make
wrapper, nbmake-XXX.

Fixes toolchain/30673, "single arch host disklabel isn't enough".
2006-12-09 20:13:13 +00:00
dsl 2abb1c7f9b If MAKEOBJDIRPREFIX or MAKEOBJDIR is defined, then we rely on make to
set .OBJDIR so 'make -V .OBJDIR' doesn't need to read any makefiles.
Given how much cud-chewing make does in order to read a line, this
speeds things up significantly (the operation in hand).
2006-11-29 21:49:39 +00:00
dsl d23b6980be Comment where make's internal copy of .OBJDIR gets changed 2006-11-26 20:09:57 +00:00
drochner 29d30258a4 mk.conf might refer to all kinds of make variables, so we can't just pull
it in without everything else (reported by martin). So revert to 1.485
which did at least work for everyone.
2006-11-26 13:59:49 +00:00
drochner 0c2df71a45 fix previous: need to pull in <bsd.obj.mk> to get the real .OBJDIR 2006-11-24 12:02:55 +00:00
martin 6a3c1d7aeb When checking wether we are debugging, look for -g in ${CFLAGS} instead
of ${COPTS}. The latter explicitly includes the former and ${DBG}, where
the -g most likely is hidden.
2006-11-23 12:05:26 +00:00
dsl 503ea65cd7 If we only want .OBJDIR printed, there is no point parsing the default
make rules, nor reading Makefile.
It is rather a shame we can't stop .depend being parsed as well.
Quite possibly one could argue that nothing in .depend should affect the
output of 'make -V xxxx'.
2006-11-22 22:04:57 +00:00
dsl 0d9ff52003 Mark all the .PHONY targets as .NOTMAIN in one go - instead of individually.
Add .WAITs after beforeinstall and before afterinstall.
Remove the bogus dependency lines that someone must have added with the
vague hope they would cause the build to happen in the right order!
Since we have 'realinstall:     proginstall scriptsinstall' stopping
'realinstall' running never has stopped 'proginstall' running.
Fixing this probably fixes a variety of problems, including, but not
restricted to 'install' in src/sys/arch/atari/stand/bootxx
(NB this particular file is untested due to other local changes)
2006-11-21 18:25:26 +00:00
christos 1bb72362cf more uucp removal. 2006-11-12 02:44:51 +00:00
jmmv abac724ef9 Also use libraries from /lib for binaries installed into /libexec. Needed
by lfs_cleanerd which is about to be moved to this directory.
2006-11-11 14:41:20 +00:00
christos 42b579bab8 disable SSP for standalone code. 2006-11-11 06:28:49 +00:00
christos d07f8e39ca don't run paxctl if other commands were specified for that target. 2006-11-11 06:15:55 +00:00
christos e81129f492 add the non tool version of paxctl 2006-11-10 17:22:19 +00:00
christos fef715f487 if ${PROG_PAX} is defined, run paxctl on the binary after linking with
the value of the variable. This way, if you set:

    PROG_PAX=+M

in /etc/mk.conf, you get what you deserve.
2006-11-10 17:13:15 +00:00