Commit Graph

2502 Commits

Author SHA1 Message Date
matt
acf5e54066 Since the majority of architectures uses GCC 4.8, make it the default.
Only ia64, m68k, 32-bit powerpc, and sh3 still use GCC 4.5
2014-05-23 18:51:31 +00:00
skrll
3d91f85ed1 Under "switch it" instructions from matt@ make mips use gcc 4.8 2014-05-23 18:35:36 +00:00
martin
b179bc7a0f Switch powerpc64 architectures over to gcc 4.8.
OK: mrg@
2014-05-20 09:59:20 +00:00
joerg
767787d382 Use compiler-rt in libc for Clang on NetBSD/ARM as well. 2014-05-17 23:32:32 +00:00
joerg
38febcf304 Structure HAVE_LIBGCC condition similar to HAVE_LIBGCC_EH. 2014-05-17 23:31:57 +00:00
joerg
d47b3f5c30 Mark unwinding as supported for eARM. 2014-05-16 00:19:00 +00:00
phx
3cf2564bdb Use TOOL_NCDCS to turn an ibmnws kernel automatically into a valid NCD
firmware image for netbooting. This is still a valid ELF kernel, but with
a patched CRC checksum and image size included.
2014-05-08 13:58:34 +00:00
martin
ecad429601 As discussed on tech-toolchain, offer a new make variable MKKDEBUG - if
set to "yes", kernel builds will gain debug info and a netbsd.gdb will
be created (same as adding "makeoptions DEBUG=-g" to the config file).
2014-05-05 19:06:29 +00:00
wiz
5f9e0f41f2 Fix typo in previous. 2014-04-26 20:25:07 +00:00
joerg
380ce570fd Add initial unwind support for MIPS and MIPS64. 2014-04-26 20:15:48 +00:00
pooka
d6b3d0da5a allow use with linkers that don't support --warn-shared-textrel
(Solaris, OpenBSD)
2014-04-24 00:14:59 +00:00
joerg
61731496eb Retire USE_COMPILERCRTSTUFF=yes. 2014-04-22 13:20:58 +00:00
joerg
f76ae5ef4f Basic unwind support for HPPA. 2014-04-19 21:21:24 +00:00
christos
4730dabc79 Add -g (gnu) so lint recognizes __attribute__ 2014-04-18 00:37:46 +00:00
joerg
a997683cbb Add basic Alpha support to libunwind. 2014-04-15 18:40:34 +00:00
joerg
7209984597 Add initial unwind support for SPARC/SPARC64. 2014-04-15 11:44:26 +00:00
matt
c5ab5d969b Back changes from 1.349 on since the -Wl,-x bug has been fixed in binutils. 2014-04-11 16:51:43 +00:00
christos
2e21bd91e3 explain what's going on, add another kludge for -g 2014-04-11 15:56:09 +00:00
plunky
daae7d153c the value of HOST_MKDEP previously depended on USETOOLS;
make it do so again, and centralise the USETOOLS=no case
into bsd.host.mk
2014-04-10 19:02:18 +00:00
christos
cb8da48e03 Since the objcopy -x removes debugging symbols, delay that if we are building
debugging libraries and do the stripping with the debug symbol separation
step.
2014-04-09 19:23:09 +00:00
christos
eec8658016 change -x to OBJCOPYLIBFLAGS like everywhere else. 2014-04-09 16:29:08 +00:00
christos
f8008b9438 convert i386 to gcc-4.8. boot blocks tested by booting netbsd/i386 multiuser on:
qemu
    dell precision t5400
    sony vaio vgn250p
2014-04-05 02:22:56 +00:00
matt
5cb8c9ae75 Using -Wl,-x breaks build ARM BE8 shared libraries by striping the $a/$d/$t
symbols before the linker can use them.  Instead do ${OBJCOPY} -x ${.TARGET}
afterwards.
2014-04-04 05:10:15 +00:00
christos
69aa090e6b Add NOCTF 2014-04-04 01:20:12 +00:00
riastradh
52c664e0cd Elide broken exists tests for TOOL_CTFCONVERT and TOOL_CTFMERGE.
Either you set MKCTF=yes and they should exist, or you set MKCTF=no
and it doesn't matter.  If MKCTF=yes and they don't exist, something
is broken, and this should fail noisily, not silently.
2014-04-03 18:29:11 +00:00
riastradh
3938a82dfd By default define CTFCONVERT and CTFMERGE to be no-ops in sys.mk.
Don't test for /usr/bin/ctfconvert or /usr/bin/ctfmerge -- that is
completely bonkers and breaks the build if the host's ctfconvert and
ctfmerge are too old.

Strip the broken conditionals in the .c.o &c. rules.

bsd.own.mk will override CTFCONVERT and CTFMERGE with TOOL_CTFCONVERT
and TOOL_CTFMERGE if MKCTF=yes.

XXX The way CTFCONVERT and CTFMERGE are integrated into the rules is
bogus -- it is not safe to interrupt them.  We need some intermediate
object to do this right.

Please let me know if I broke anything with this -- I am not an elvin
or dwarven wizard, nor a dtrace expert.  But this has been breaking
builds for ages now and nobody else seems to want to do anything
about it.
2014-04-03 18:27:37 +00:00
joerg
8886a873b8 Support SH3 in our unwinder. 2014-04-02 22:34:29 +00:00
mrg
40f1a24e2d make pkg-config files be cleaned by "make clean" 2014-03-31 01:59:36 +00:00
ozaki-r
1339b2cc13 Add MKCTF
This variable separates CTF stuffs from MKDTRACE; we can build DTrace
solely without building and using them. This allows us to use DTrace
even if CTF stuffs have problems (actually they have now).

This variable would be merged into MKDTRACE eventually, once CTF stuffs
work correctly again.
2014-03-25 09:52:55 +00:00
joerg
0378fc4757 Add m68k support to our unwinder. 2014-03-24 21:25:03 +00:00
mrg
c4dae12d14 allow for .pc substitutions to be listed per makefile
(could maybe do per-target, as well.)  fix the remaining
substitutions for xcb-proto, fontconfig and xorg-server.

(XXX: move many per-package-specific parts out of
bsd.x11.mk itself, into the relevant Makefile.)
2014-03-23 20:40:18 +00:00
tron
cb1db61165 Fix generation of pkg-config(1) files. Patch from Ryo ONODERA via
"current-users" mailing list.
2014-03-23 19:49:52 +00:00
mrg
375467851c substitute several more values for .pc files:
+ 		s,@LIBXML2_CFLAGS@,,; \
+ 		s,@ICONV_CFLAGS@,,; \
+ 		s,@PACKAGE@,${PKGDIST},; \
+ 		s,@PKGCONFIG_REQUIRES@,xx,; \
+ 		s,@PKGCONFIG_REQUIRES_PRIVATELY@,xx,; \
+ 		s,@ERRORDBDIR@,${X11LIBDIR},; \
+ 		s,@EXPAT_CFLAGS@,,; \
+ 		s,@FREETYPE_CFLAGS@,-I${X11ROOTDIR}/include/freetype2 -I${X11ROOTDIR}/include,; \
+ 		s,@SDK_REQUIRED_MODULES@,xproto >= 7.0.17 randrproto >= 1.2.99.3 renderproto >= 0.11 xextproto >= 7.1.99 inputproto >= 1.9.99.902 kbproto >= 1.0.3 fontsproto," \
2014-03-20 22:24:32 +00:00
joerg
056a4fb13e libunwind supports vax now. 2014-03-18 13:10:27 +00:00
mrg
fba338c9bb add libpthread-stubs. 2014-03-17 07:11:40 +00:00
mrg
c010f18e24 add dri2proto and presentproto. 2014-03-16 23:07:42 +00:00
joerg
6ba3d41e6f libunwind supports PowerPC. 2014-03-16 13:34:33 +00:00
joerg
4ccb06d5e3 Add quotes. 2014-03-12 01:49:58 +00:00
joerg
db0508b291 More readable condition. 2014-03-12 00:07:33 +00:00
christos
2aa52e016a switch amd64 to gcc-4.8 2014-03-11 23:22:36 +00:00
pooka
495782ee0e Move the "is arch capable of loading native kernel modules into
rump kernel" clauses from bsd.own.mk to Makefile.rump.  Also,
add a rump_nativeabi_p() call to determine if rump kernel is
compiled with native ABI support.
2014-03-10 22:38:53 +00:00
nakayama
23f5183fd7 -mcmodel option is CPU specific not machine specific. 2014-03-10 12:13:14 +00:00
matt
69e3c65933 Fix inverted test MKCOMPATMODULES 2014-03-09 19:58:43 +00:00
christos
e946daf13f XXX: use only thread for ctfmerge 2014-03-09 19:10:01 +00:00
christos
1242d4e5d5 Elide ctfmerge bug. 2014-03-09 18:01:06 +00:00
christos
199409cf03 let's see if the new dwarf library can handle dwarf 4 2014-03-09 18:00:51 +00:00
skrll
4aa91ecac7 Switch arm to gcc 4.8
OK matt@
2014-03-07 16:22:24 +00:00
martin
3412e5549c Switch alpha over to gcc 4.8 2014-03-07 08:31:05 +00:00
matt
afc10638c6 Make MKCOMPAT default to yes for powerpc64.
Make MKCOMPATMODULES defaultt to no for evbppc && powerpc64.
2014-03-07 06:01:34 +00:00
mrg
bb0ad61c84 switch sparc* to GCC 4.8. 2014-03-06 11:21:05 +00:00
skrll
02c42edde9 Switch hppa to gcc 4.8 2014-03-06 09:03:41 +00:00
joerg
3dfb7837bb When using Clang, disable integrated assembler for genassym. It creates
syntactically invalid assembler, which is normally not a problem as it
is also using -S.
2014-03-04 21:06:02 +00:00
christos
aca5beab65 If we are compiling with -g and using gcc4.8 and dtrace downgrade
dwarf generation to version 2 for now.
2014-03-02 22:22:05 +00:00
matt
f5f79614ed Add OBJECT_FMTS which is a list of object formats supported by the MACHINE_ARCH 2014-03-02 03:33:29 +00:00
tsutsui
e9a418e5e7 Switch x68k to X11FLAVOUR=Xorg, including a working monolithic X68k server.
Confirmed that "build.sh -m x68k -x release" gets no error.
2014-03-01 20:34:17 +00:00
martin
49c0570cfc Make powerpc64 use Matt's new csu stuff 2014-02-28 09:42:33 +00:00
mrg
93fdebb1e5 remove the GCC 4 EXTERNAL_GCC_SUBDIR, and switch GCC 4.8 to use gcc.old. 2014-02-27 20:43:33 +00:00
martin
6d0f155ac4 For now, provide a path to the gcc 4.1 distribution as well 2014-02-27 10:42:30 +00:00
mrg
dc63ee27d6 put the new EXTERNAL_GCC_SUBDIR under MKGCC. 2014-02-26 05:51:11 +00:00
christos
f7ecbf3884 powerpc64 needs USE_COMPILERCRTSTUFF=yes 2014-02-26 03:09:42 +00:00
mrg
e849bbac94 define EXTERNAL_GCC_SUBDIR based upon HAVE_GCC, for GCC >= 4.5,
and use it in the one place (bsd.lib.mk) it's used in share/mk.
2014-02-26 02:51:02 +00:00
skrll
6d3ceb1d61 Rename NetBSD/hp700 to NetBSD/hppa.
Unfortunately our VCS isn't very helpful here.
2014-02-24 07:23:38 +00:00
joerg
a8d5e9bfd0 Use small code model for LLVM on SPARC64, it should be equivalent to
GCC's medlow.
2014-02-21 20:44:03 +00:00
tsutsui
dfc90f22bb Switch ews4800mips and newsmips to Xorg server.
There is ~no user of X11R6 Xservers except a few developers on these ports
and Xorg wsfb server should work with manual keymap settings.
2014-01-31 18:17:27 +00:00
martin
fe2c82ab03 As discussed on tech-toolchain: untill gcc is fixed (or our ABI changed, ...)
make stack protection warnings non-fatal if using gcc 4.8 on sh3/m68k/vax.
2014-01-28 19:41:52 +00:00
apb
23e368546c Document TOOL_GZIP. 2014-01-27 07:57:28 +00:00
christos
af73cd2b49 For now, ignore errors from creating klinks. This is racy and you can get
it to trigger in 1/4 of the builds with -j 40 on a 24 processor box. Typical
error is:

    ln: machine/include: File exists
    *** Failed target:  .BEGIN
    *** Failed command: rm -f machine && ln -s /p/netbsd/cvsroot/src/sys/arch/vax/include machine
    *** Error code 1
    Stop.

Another approach to fixing this is to create a lockfile or adding other flags
to ln to change its behavior.
2014-01-22 15:19:05 +00:00
matt
5be5871ebb Add MKGCCCMDS to _MKVARS.yes after the loop. 2014-01-22 15:04:19 +00:00
matt
aab0ce25e7 Make MKGCCCMDS default mirror MKGCC. (if MKGCC is no, MKGCCCMDS must be no). 2014-01-21 16:40:24 +00:00
joerg
527d1fa144 Use a separate variable for the use of GCC's unwind code. 2014-01-18 01:08:56 +00:00
christos
5344ef6679 - Add a new bsd.host.mk that contains all the HOST_ variables extracted from
bsd.sys.mk and bsd.own.mk
- Add protection requiring that:
	1. bsd.sys.mk is not include from other Makefiles directly
	2. bsd.own.mk must be included before bsd.sys.mk since it
	   sets variables that bsd.sys.mk uses as conditionals.

This is step 1 of removing all variable settings from bsd.sys.mk and
leaving behind only rules. This way, the structure of a standard Makefile
is:
	variable overrides

	optionally include bsd.own.mk
	optionally include bsd.endian.mk

	variable settings that use variables defined in bsd.own.mk

	include a one or more rule .mk files (such as bsd.prog.mk etc)
2014-01-16 01:19:46 +00:00
christos
2b043c75b6 eliminate use of bsd.sys.mk from Makefiles 2014-01-16 01:15:32 +00:00
joerg
55c499f97a -shared-libgcc is a GCC option, so only use it for gcc. 2014-01-15 14:00:09 +00:00
joerg
937a61eb8d -Wl,-pie and -r don't agree with each other, so filter the former out. 2014-01-15 13:59:38 +00:00
christos
97d4e30936 use bsd.syscall.mk 2014-01-14 18:51:45 +00:00
apb
adecfa9d02 Document new default for MKARZERO. 2014-01-14 11:32:35 +00:00
apb
33295e8a08 Let MKARZERO default to the same value as MKREPRO, so callers
can set MKREPRO=yes and automatically get MKARZERO=yes.
2014-01-14 11:31:01 +00:00
apb
e50114d2aa Use parentheses in .if A && ( B || C || D || ... ) 2014-01-14 11:14:27 +00:00
christos
fca2a7349b not so fast, let's fix the tree first. 2014-01-10 16:20:14 +00:00
christos
b393459455 Add protection against direct inclusion of this file from other Makefiles.
This file is only intended to be included from the other rules files like
bsd.lib.mk or bsd.prog.mk. If you need things to be defined early, use
bsd.own.mk.
2014-01-10 16:16:57 +00:00
joerg
715627650d Non-literal format strings should be an error by default for clang. 2014-01-07 02:16:41 +00:00
christos
15db747847 disable ctf handling for the shuttle .c -> '' rule since we don't create
an object file to work on.
2014-01-02 19:25:08 +00:00
christos
d2c532bec7 redo the ctf stuff to handle the USETOOLS=never case correctly and explain
how.
2013-12-31 18:46:09 +00:00
matt
e3a958c021 Back out change for bsd.lib.mk which skips objcopy -x for BE ARM.
Change OBJCOPYLIBFLAGS to keep $a/$d/$t symbols on BE ARM.
2013-12-16 21:34:16 +00:00
skrll
84c03d543e Provide ARM_APCS_FLAGS on arm and earm. 2013-12-16 19:06:41 +00:00
joerg
69fd5d473d Move flags for ARM's APCS ABI into a common variable. Add some forces to
deal with limitations in the Clang <-> LLVM backend interaction to pick
the correct ABI and target assembler.
2013-12-15 18:08:37 +00:00
christos
6d47ec32bb centralize the rpcgen flags and set for BSD output 2013-12-15 00:28:45 +00:00
matt
a49b15d8d8 Don't strip local symbols for earmv7*eb images since that will break linking. 2013-12-13 02:47:45 +00:00
matt
732b0a7b58 Describe MACHINES.${MACHINE_CPU}. <fixme>
Add sparc64 to MACHINES.sparc since sparc64 can be build as sparc.
2013-12-06 23:14:15 +00:00
matt
70922e5c64 Add MACHINES.${MACHINE_CPU} values. 2013-12-05 22:51:08 +00:00
matt
1b730ee018 add ${MKTARGET_CREATE} for tags 2013-12-05 22:49:33 +00:00
joerg
d0f0da0f65 Relink binaries if crti.o changes. 2013-11-11 10:24:53 +00:00
jmcneill
110a56db43 use -fno-unwind-tables when building arm modules 2013-11-09 22:40:15 +00:00
christos
987a47d93c turn off another gcc warning for m68k 2013-11-06 19:57:17 +00:00
christos
ad3b972d11 ignore all -std=gnu patterns not just 99 2013-11-01 17:07:37 +00:00
mrg
94542b393a create mkdep output with a temporary file so that failures in
complation during .d creation don't leave an empty (stale) .d
file around to break future builds.

(hmm, probably could use .PRECIOUS here.)
2013-10-31 01:55:03 +00:00
joerg
3292fd4145 Unbreak src/tools usage of C++. 2013-10-29 16:11:46 +00:00
mrg
27d21cc6e9 add MKDEPCXX, that is used for C++ files depend creation. also
add some missing ${COPTS.${.IMPSRC:T}} and ${CPUFLAGS.${.IMPSRC:T}}
to the dependancy rules.

this makes it possible to have C++ files .d files created with the
C++ compiler, and with the normal options for this file, which
means that we can build libstdc++-v3 from gcc 4.8.
2013-10-28 01:47:13 +00:00
mrg
0b5b0997ae define a HOST_LINK.cc always. 2013-10-26 03:26:57 +00:00
apb
e0db893163 Rename _MNUMBERS to _MSECTIONS. The manual section identifiers
are not just numbers any more.

Also introduce a new variable, _MSECTIONREGEX, as a regular expression
to match any of the elements of ${_MSECTIONS}.  Use this instead of
\.[1-9][a-z]*.
2013-10-25 22:16:29 +00:00
apb
f0bdf85100 Recognise .3lua and .9lua as man page extensions. Source
files like foo.3lua will result in installed files like
/usr/share/man/man3lua/foo.3lua, /usr/share/man/cat3lua/foo.0,
and /usr/share/man/html3lua/foo.html.
2013-10-25 10:45:01 +00:00
christos
67ff86e929 change if HAVE_GCC is defined 2013-10-18 16:06:52 +00:00
joerg
aa6e9499ca Rename USE_LIBGCC to HAVE_LIBGCC and retry using it as flag on unwind.h. 2013-10-14 16:00:16 +00:00
joerg
d06922ddf4 Include compiler-rt and libunwind in libc for Clang/x86 builds. 2013-10-14 01:30:21 +00:00
christos
986a0d2f80 Add libxcb 2013-09-29 14:36:25 +00:00
joerg
5f3aa2dbae Hook up initial build infrastructure for LLDB. Update LLVM/Clang
snapshot to r191390 for some required changed. Re-enable static analyzer
in Clang.
2013-09-29 12:11:59 +00:00
pooka
2b0409d3df Make it possible to specify a directory for the .ioconf file.
Still default to .CURDIR
2013-09-20 16:39:14 +00:00
martin
52514ad340 When compiling kernel modules on sparc64 force the same memory model as
we force for the kernel (i.e. do not rely on compiler defaults here)
2013-09-18 09:25:20 +00:00
joerg
36a6d19157 Handle dependency on libstdc++ / libc++ in bsd.lib.mk. 2013-09-12 17:14:20 +00:00
joerg
4d12bfcd15 Pass PICFLAGS down to cc-as-as and use __PIC__ to decide if it is small
vs big PIC mode. Retire -DPIC and -DBIGPIC.
2013-09-12 15:36:14 +00:00
joerg
975a152cfc If a library needs a symbol from another library, pull that library in
explicitly, even if the DT_NEEDED closure would normally already ensure
the presence.
2013-09-11 23:04:09 +00:00
joerg
6c440ed37c Update LLVM/Clang snapshot to r189662. This includes many improvements
to the new SLP vectorizer, fast codegen support for PPC and using
terminfo for the color sequences. In addition, add (optional) build
infrastructure for lld to allow easier testing. This is controlled by
MKLLD.
2013-09-02 14:34:55 +00:00
matt
f60758a410 Change the default for MKLINT to no 2013-08-26 22:15:51 +00:00
matt
efa43f9322 Change rule for x86 link to not be x86 dependent 2013-08-21 15:26:44 +00:00
martin
d987c65861 Add .ARM.extab to the list of sections to be removed when converting to
aout format.
2013-08-15 12:45:50 +00:00
joerg
6e79a9892e Do as the last commit message said and not as the change did, only use
GCC's crt code on ia64.
2013-08-12 16:51:14 +00:00
joerg
05789f4038 Only ia64 defaults to USE_COMPILERCRTSTUFF=no now, so simplify
conditional.
2013-08-12 16:39:28 +00:00
joerg
58c5751e1a Don't copy .eh_frame section when trying to create a.out binaries. 2013-08-12 16:38:47 +00:00
matt
c067c0ec0e Fix MACHINE_CPU for armeb 2013-08-12 16:17:07 +00:00
skrll
6234ce42bd Switch alpha to USE_COMPILERCRTSTUFF= no 2013-08-07 22:09:30 +00:00
matt
cba6c5bed5 Add support for generating tramponlines in the module at link time.
This is done using some awk scripts and KMODTRAMPOLINE in <machine/asm.h>
It's not as efficient as having the kloader do it but it is a lot simpler.
2013-08-07 17:36:11 +00:00
skrll
b88df2aff1 Add -mlong-calls to hppa module builds. 2013-08-06 06:08:39 +00:00
matt
7239678e01 Add GNU_ARCH for earmv4eb, earmv5, earmv5eb, earmv6, earmv6hf, earmv6eb,
earmv6hfeb, earmv7, earmv7hf
2013-08-06 05:46:26 +00:00
matt
c5d26c67ea Simplify the earm tests 2013-08-05 15:33:07 +00:00
matt
41fa6563ce Add 3 more MACHINE_ARCH: earmv4 earmv7eb earmv7hfeb
The latter are for cortex big-endian which uses a different binary format
than previous arm big endian platforms.
2013-08-05 00:21:50 +00:00
adam
d048c62b15 Fixed a typo 2013-08-03 19:31:26 +00:00
skrll
c4b75127d1 Switch hppa to USE_COMPILERCRTSTUFF=no 2013-07-27 11:13:57 +00:00
matt
920e58b8b9 Use m5407--netbsdelf for coldfire (Why not just use m5407--netbsd? Because
gas will think that's a.out since internally it expands it to m68--netbsd
and that matches a.out)
2013-07-19 16:52:44 +00:00
pooka
370de4e409 Enable opt-out from shlib mapfile creation. Not all linkers (namely
the solaris one) support such fancy features.

no default functional change
2013-07-19 11:43:18 +00:00
matt
7640d05364 Test BSD makefile about coldfire.
XXX still hate m68k--netbsdelf-coldfire
2013-07-18 22:06:09 +00:00
martin
62c0de7a28 Disable -Wconversion for gcc older than 4.5 2013-07-17 19:24:56 +00:00
christos
b0420de909 Add -Wconversion for WARNS > 5 2013-07-16 17:48:52 +00:00
matt
d01d30fa5a When linking shared libraries, produce a map file. 2013-07-16 02:58:19 +00:00
martin
52a1560729 Switch sparc and sparc64 to USE_COMPILERCRTSTUFF=no 2013-07-11 06:58:30 +00:00
matt
138c29fa6c MIPS now uses USE_COMPILERCRTSUTFF=no 2013-06-25 01:17:29 +00:00
matt
4e11eec173 For VAX, enable USE_COMPILERCRTSTUFF = no
Sort the arm ELF2AOUT sections to be removed.
2013-06-25 00:33:09 +00:00
tsutsui
ccf0f70064 Invoke tools/binstall/mkmanifest for Cygwin via ${HOST_SH}.
Fixes builds using source sets that drop executable bits.
2013-06-14 16:10:02 +00:00
mrg
0ca6164e56 rename (new) xorg_drivers to xorg_server -- platforms that build the
actual Xorg server (aka "xfree86 server").

move the list of these platforms from xorg-server/Makefile.common to
bsd.own.mk, so that we can access it easily in distrib.

this should fix most of the current build failures.
2013-06-12 21:35:29 +00:00
mrg
224424a849 add a new MKXORG_DRIVERS that defaults to yes on MKXORG platforms
besides acorn26.  useful for sets, and avoids overloading the
value of XFREE86_SERVERS.
2013-06-10 05:02:38 +00:00
mrg
b2836e59b2 make .pc files depend upon configure files if they exist. this
will force them to be rebuilt when the version has changed.
this fixes one of the most often broken parts of update builds
after a version update.
2013-06-05 23:14:13 +00:00
mrg
43546c5b7b define X11SRCDIR.xorg-docs. 2013-06-05 07:41:56 +00:00
mrg
2419004b57 update to xorg-server 1.10.6. 2013-06-03 07:39:07 +00:00
mbalmer
d7a7f8507d New variable MKX11MOTIF to enable building libGLw with Motif support.
Defaults to 'no'.
2013-06-02 11:02:40 +00:00
mrg
f8cebe2a9e add LIBX11_XCB; unfortunately since the library is named with a -
in it, we have to use an ugly hard coded assignment for now.
(could be cleaned up with more make variable magic i'm sure.)
2013-05-31 06:48:43 +00:00
matt
af8f0546ca Make disklabel a MI tool. It will use MACHINE/MACHINE_ARCH to determine
the disklabel params as well as allowing command-line options of -M <machine>
and -B {le,be} to specify MACHINE and byteorder to be used.
2013-05-03 16:05:11 +00:00
matt
86313270f0 Use !empty(MACHINE_ARCH:Mearm*) instead of ${MACHINE_ARCH:Mearm*} != "" 2013-05-03 15:55:21 +00:00
matt
9244b4d1cb Allow use of a different by using KLINK_MACHINE instead.
If it's not set, KLINK_MACHINE is set to ${MACHINE}
2013-05-02 04:14:28 +00:00
joerg
c7fbe15f37 MKLIBCXX and MKLIBSTDCXX 2013-04-28 04:44:21 +00:00
joerg
2fa1d2471b Introduce MKLIBSTDCXX, defaulting to yes. 2013-04-28 04:05:37 +00:00
joerg
ecb06a3b09 Add build glue for libc++. 2013-04-27 23:02:17 +00:00
matt
ba99357d47 Default MKCOMPAT to no for earm 2013-04-27 08:42:44 +00:00
riastradh
f85ea5612a Move addition of -g to CSHLIBFLAGS later in bsd.lib.mk.
It is now past any conditionals where its emptiness or nonemptiness can
influence the decision of what objects get built.

Fixes MKDEBUG=yes build on vax (PR 47700).
2013-04-22 22:16:14 +00:00
christos
247331174c Install shlibdir debug links 2013-04-11 01:27:47 +00:00
christos
287e82f1db add new libevent2 libraries. 2013-04-11 01:27:46 +00:00
uebayasi
b6c0c53d2c Fix dependency handling of UUDECODE_FILES (e.g. libexec/ld.aout_so on i386).
The .uue rule is defined to make "foo.xxx.uue" -> "foo.xxx".  When
UUDECODE_FILES_RENAME_* is also applied, the .uue rule tries to make "foo",
not "foo.xxx".  This results in that "foo.xxx" is never made and always
"foo.xxx.uue" -> "foo" is made.

Define dependency for intermediate files.

Avoid unnecessary rebuild and reinstall.  (Consume 70K in obj directory.)
2013-04-06 15:39:19 +00:00
christos
5fc19dec20 fix mkdebug for private libraries.
while here, centralize the strip variable handling per type of object.
2013-04-04 21:15:15 +00:00
christos
07a6c80766 ldopts should be before ldadd like everywhere else. 2013-04-04 21:14:36 +00:00
christos
fc08ea7529 fix groff html generation 2013-03-21 02:04:17 +00:00
christos
131c9e0b6e handle NOMANDOC in the html case too 2013-03-21 01:48:14 +00:00
yamt
eb29b1d4e9 don't make ctfconvert remove original debug info 2013-03-06 11:19:08 +00:00
christos
b5a766a4fb Add a rule to rebuild dependency files that contain stale entries automatically. 2013-03-05 21:59:01 +00:00
pooka
44e3d14dbc Make "make DBG=-g -O2" for a library once again produce a shared library
with debugging symbols (irregardless of .debug).
2013-03-05 21:16:24 +00:00
christos
aa3d3ee6d3 MKDEPINCLUDES support. 2013-03-05 02:02:07 +00:00
joerg
db135d737c Add infrastructure for building MCLinker. 2013-02-27 21:25:05 +00:00
jmmv
704facb580 Autogenerate Kyuafiles next to Atffiles when MKKYUA is set.
This is suboptimal: the current high-level definitions of test programs
in the Makefiles do not carry enough information to support all the
features of Kyuafiles.  For example, it is not possible to register test
programs that do *not* use the ATF libraries, which is something that
has been frequently requested around here; nor it is possible to attach
arbitrary metadata to test programs from the Makefile, which is handy
particularly for ATF-less test programs.

For these reasons, consider this a transitional step.

Note that, with this change, you should now be able to use the 'kyua'
tool to run the tests in /usr/tests.
2013-02-23 22:01:51 +00:00
jmmv
5b7eb38d00 Stop assuming that test programs and directories are the same thing during
Atffile generation.

This is needed to be able to generate Kyuafiles (coming later), as these
clearly differentiate between the definition of test programs and the
recursion into other subdirectories (or files).

In particular: rename ATFFILE_EXTRA_TPS to ATFFILE_EXTRA_SUBDIRS and
change the logic in bsd.test.mk to keep track of subdirectories aside from
_TESTS when creating the Atffile.
2013-02-23 21:20:14 +00:00
christos
5a9353fcc0 Add a hook to create a manifest file if needed under cygwin 2013-02-17 00:36:00 +00:00
jmmv
7d3a48f1d2 Hook Lutok into the build. This is all protected by the MKKYUA guard. 2013-02-16 21:40:05 +00:00
jmmv
3bd42d5026 Add ATFFILE_EXTRA_TPS.
The new ATFFILE_EXTRA_TPS variable can hold a set of test programs or
subdirectories to be added to the generated Atffile, without needing these
to be built by the current Makefile.

This is to be used in conjunction with MK* knobs and external/ so that
a 3rd-party component can place its tests in the corresponding tests/
directory and have the parent Atffile recognize them.

An alternative would be to use 'tp-glob' in the Atffile and list the names
of the directories/tests that may or may not exist.  However, this would
require providing manually-crafted Atffiles -- and because the majority are
auto-generated, there would be some confusion.
2013-02-16 15:00:44 +00:00
jmmv
88eb066b41 Add the MKKYUA knob.
MKKYUA defaults to no and will remain as such until the import is complete
and validated.

This knob does not currently have any effects on the build as nothing relies
on it yet.  Upcoming imports and changes in this area will all be guarded by
this flag.
2013-02-15 19:49:48 +00:00
christos
fbf6778a1b Since the libraries are produced with different MK flags than the programs,
we check for existance of the files instead of the MK flags.
2013-02-14 03:02:47 +00:00
christos
4880aaed67 Add PROGDPLIBS 2013-02-14 01:58:00 +00:00
nakayama
93c32b3617 Fix copy and paste miss introduced in rev 1.327. 2013-02-13 08:00:47 +00:00
jmcneill
01401401c3 add TOOL_MKNOD 2013-02-10 22:05:51 +00:00
christos
014096fb90 Allow setting _LIB_PREFIX externally. 2013-02-09 17:18:17 +00:00
spz
cd9c73575e typo in a MKDEBUGLIB part 2013-02-09 12:17:20 +00:00
matt
4609daf1bc Add missing } 2013-02-08 04:06:25 +00:00
christos
738b87c983 - factor out variables so that the code is more readable, make them conistent
- use _LIB_PREFIX correctly.
2013-02-08 02:30:53 +00:00
matt
467e80acbc Add support for MACHINE_ARCH earmhf and earmhfeb 2013-02-03 05:36:36 +00:00
matt
2b29920df6 add earmhf 2013-02-03 05:35:25 +00:00
christos
d55974ab54 Move HAS_SSP and USE_SSP out of bsd.sys.mk. They did not belong there in
the first place. Rename HAS_SSP to HAVE_SSP to match existing practice.
2013-01-27 02:31:44 +00:00
christos
488659cc10 we cannot include bsd.sys.mk because of YHEADER. The incestious relation
of the .mk files needs to be fixed.
2013-01-27 02:22:27 +00:00
christos
84be08d909 CTFCONVERT complains and coredumps for c++ 2013-01-26 22:04:18 +00:00
christos
08c1bf572c CTFCONVERT me harder. 2013-01-26 21:49:20 +00:00
christos
daf5be7806 include <bsd.sys.mk>
This is a mess. HAS_SSP (which should really be HAVE_SSP), is defined
in bsd.sys.mk. So things that need it, include the file directly. The
trouble comes because bsd.sys.mk, needs stuff that bsd.own.mk defines,
so including first does not work. Anyway most other files include bsd.sys.mk
directly, so user Makefiles should just not do that, and just include
<bsd.own.mk> to get all the defines they need.
2013-01-26 21:48:58 +00:00
christos
1d92830f7c Make the libfoo.so.X.Y.debug files actually contain debug symbols if MKDEBUG. 2013-01-22 20:43:17 +00:00
christos
7097ec6251 Now that ctf is fixed for at least amd64, go back to an equivalent to the
original functionality, use the tool only if it exists.
2013-01-18 19:32:09 +00:00
christos
3dd38e1c8b Disable CTF Conversion for now until it is fixed.
- ERROR: ctrl_iface_ap.c: die 2767: failed to get unsigned: No entry found
  [dwarf _attrval_unsigned(219)]
2013-01-17 17:33:16 +00:00
christos
aa675a73cf Now that we have separate debug sets, add -g if ${MKDEBUG} is set for
program builds since we don't need to install that symbol files.
2013-01-17 15:42:59 +00:00
christos
af499c4810 Remove bogus conditionals that were also copied to other files presumably
because they did not work from here, and explain why.
2013-01-17 15:27:50 +00:00
matt
6deadffd90 Make MKSOFTFLOAT = yes for ARM (since arm is softfloat by default). 2013-01-11 12:55:29 +00:00
pooka
af1f107ceb Add more external dependencies for crtstuff 2012-12-10 23:49:39 +00:00
pooka
4e6104b334 Revert poor change 2012-12-10 23:48:38 +00:00
pooka
83cc3f6549 Deal with crti and crtn not present in some EXTERNAL_TOOLCHAIN's. Also,
handle "missing" crtstuff internally instead of depending on external
intervention.
2012-12-10 20:58:55 +00:00
apb
30bff44eb3 Document MAKEDIRTARGETENV 2012-12-02 20:19:46 +00:00
joerg
5adc71af23 CATDEPS is bogus for mandoc, so disable it in that case. 2012-11-30 17:52:13 +00:00
joerg
6528688d69 Don't force link and CSS options in bsd.own.mk, bsd.man.mk sets them. 2012-11-30 17:51:50 +00:00
alnsn
fab5cb6386 Document MKSLJIT variable. 2012-11-24 14:01:28 +00:00
alnsn
012f33e5f2 Add sljit and bpfjit to evbmips. Not enabled by default. 2012-11-24 14:00:35 +00:00
pooka
a733ce9a7a Support clang as EXTERNAL_TOOLCHAIN 2012-11-22 21:41:22 +00:00
pooka
0e23ad4a3c unrevert previous. i can't figure out how to make the build break with
the change anymore, so assume it was a sunspot.
2012-11-21 20:30:01 +00:00
pooka
1495c1a931 revert previous, seems to upset the build in a creative way 2012-11-21 18:45:08 +00:00
pooka
58de144fd6 Allow user override of _GCC_CRT{BEGIN,END}S. 2012-11-21 18:09:10 +00:00
apb
922779be95 Make the test for infinite recursion in PRINTOBJDIR more specific,
and make the error case more easily recognisable.

Now "make -V '${PRINTOBJDIR}'" works instead of misinterpreting the "-V"
as infinite recursion.
2012-11-20 10:43:21 +00:00
apb
b7f14c7e34 On second thoughts, don't run "rm -rf" in bsd.clean.mk. Instead,
document that CLEANFILES and CLEANDIRFILES must not contain
directory names.
2012-11-19 16:04:54 +00:00
apb
ba27b6db7b Use "rm -rf" instead of "rm -f" in bsd.clean.mk. This will
allow CLEANFILES or CLEANDIRFILES to contain directory names.
2012-11-19 15:14:27 +00:00
apb
ed0cd7eb98 Under "Failed to remove the following files from ${_d}:",
print one file name per line, indented to make the list more visible.
2012-11-18 19:52:40 +00:00
apb
19862a7d7d Change some .if defined(SRCS) to .if defined(SRCS) && !empty(SRCS) 2012-11-18 19:48:29 +00:00
joerg
54f191bfce Move the build_install logic from lib/Makefile into share/mk and re-use
it for tools. The existing logic broke for the LLVM build with the
recent .ORDER changes in make.
2012-11-15 23:51:53 +00:00
jkunz
993229b6fe Add elftosb tools to evbarm userland and toolchain.
Elftosb is used to create a digitaly signed "secure boot" file.
This sb file can be booted by the first stage boot loader found in
Freescale i.MX23 and i.MX28 application processors.

Copyright (c) 2004-2010 Freescale Semiconductor, Inc.
2012-11-15 19:49:11 +00:00
pooka
813e9ae68d Make it easier build binaries against the host's libs, e.g.
libpthread which might be in /lib/x86_64-linux-gnu/libpthread.so.0
or some other unholy place.
2012-11-13 22:30:38 +00:00
skrll
afd752e603 Switch mips to gdb 7.3.1
# of expected passes            11545
# of unexpected failures        401
# of expected failures          45
# of untested testcases         23
# of unresolved testcases       1549
# of unsupported tests          112
2012-11-06 10:32:49 +00:00
alnsn
be868ab1a6 Enable MKSLJIT on sparc. 2012-11-05 23:09:40 +00:00
alnsn
ffd8736098 Build sljit test when MKSLJIT != no and set MKSLJIT to yes on amd64 and i386. 2012-11-05 00:57:39 +00:00
christos
acfddfeed2 add MKTPM, default to no 2012-11-04 16:27:28 +00:00
apb
9a72dfd1d1 Add _NETBSD_VERSION_DEPENDS in bsd.own.mk. Targets that need
to be re-generated when the NetBSD version numberchanges,
or when any build-related variables change, may depend on
${_NETBSD_VERSION_DEPENDS}.
2012-11-04 10:59:13 +00:00
christos
9a046d1f16 old-style-definitions and no-format-zero-length are invalid for c++ 2012-10-06 20:54:58 +00:00
jkoshy
1590a10806 Document the MKKMOD build knob. 2012-10-02 04:53:11 +00:00
jkoshy
02a811410b Note that the MKCOMPAT build knob is supported on mips64-based
architectures.
2012-09-30 03:07:25 +00:00
jkoshy
e8679a18c5 Document the MKDTRACE build knob.
Reviewed by:	apb
2012-09-29 12:03:41 +00:00
joerg
666a12c72f Revert two unintentional changes from the PPC tests 2012-09-23 19:20:44 +00:00
joerg
2b3d1ee8a7 Update LLVM/Clang snapshot to r164464. This adopts the GCC options for
the SSP parameters and a not-yet-default rewrite of SROA.
2012-09-23 17:22:22 +00:00
abs
b094e520e2 strip trailing whitespace - noted by Snader_LB on IRC 2012-09-20 15:48:54 +00:00
riz
fb761f7bcb Remap X11SRCDIR to /usr/xsrc for the MKREPRO=yes case. 2012-09-05 22:40:30 +00:00
jmmv
15cd91994b Fix "make test" to actually print the desired message when atf-run fails.
It was being skipped due to the set -e in the code snippet and the failure
to properly capture atf-run's exit code.
2012-08-25 22:21:16 +00:00
jmmv
afbfa91c1d Make DPADD and LDADD specific to the test programs. This allows mixing
C and C++ test programs in the same Makefile, and prevents regular programs
from being polluted by libraries that they may not need.

Suggested by Garrett Cooper in private mail, although I redid his patch.
2012-08-24 20:28:19 +00:00
jmmv
fcb81e1f92 Allow DPADD to be specified on a per-program basis. 2012-08-24 20:26:24 +00:00
joerg
067600c8cf Revert last, it breaks the tricks xsrc uses. 2012-08-23 21:21:14 +00:00
joerg
8e96262375 Remove SHLIBINSTALLDIR and SHLINKINSTALLLIBDIR. Add rpath entries, if
SHLIBDIR differs from /usr/lib.
2012-08-23 15:45:02 +00:00
matt
30a859f903 Add ARM cpus to those MACHINE_ARCH which USE_COMPILERCRTSTUFF=no 2012-08-16 05:30:55 +00:00
joerg
fabb48a37a Remove effectively tautological condition. 2012-08-10 16:34:23 +00:00
joerg
6ffdafe0ea Don't set HAVE_GCC by default, if MKGCC is disabled. 2012-08-10 16:12:20 +00:00
joerg
8b623749df Make linker warnings fatal by default for Clang, even if not building
GCC.
2012-08-10 16:11:43 +00:00
matt
5bfda53e09 Add .ARM.exidx as a section to be removed for a.out on ARM 2012-08-10 02:53:09 +00:00
christos
eda981fc36 add MKRUMP by popular demand. 2012-08-08 13:56:13 +00:00
matt
641919f3e4 Add the new MACHINE_ARCH of earm and earmeb (arm EABI(AAPCS-LINUX)). 2012-08-05 04:11:35 +00:00
christos
f788a13164 From pooka: Fix EXTERNAL_TOOLCHAIN compilation where crti/crtn are not in the
same directory as crtbegin
2012-07-19 19:42:45 +00:00
macallan
c5214d8b2d add xgi to the list of known Xorg drivers just to make sure I don't forget
to add it here when I actually import it
2012-07-19 15:16:31 +00:00
spz
67d12f6407 more MKCRYPTO_IDEA and MKCRYPTO_MDC2 removal (resp, adjustment to IDEA and
MBC2 now always being included)
MKCRYPTO_RC5 now builds shared libs, add the missing files to sets
2012-07-14 16:04:04 +00:00
abs
5659783547 Whatever "-Wl,--fatal-warnings" get-out-of-jail-free card gcc-4.5 gets,
give the same treatment to gcc-4.1.
2012-06-25 16:48:55 +00:00
abs
86aebb49c7 Switch -current vax back to gcc 4.1 to match netbsd-6 - until someone has
time to look at the gcc 4.5 codegen issues we should at least have a usable
-current for vax.
2012-06-22 20:32:34 +00:00
plunky
f46033d093 since we seem to have grown a WARNS=5, list it here 2012-06-19 06:20:13 +00:00
uwe
e431c4fada Switch sh3 ports to our own csu (USE_COMPILERCRTSTUFF?= no). 2012-06-17 22:59:48 +00:00
wiz
f6eeb323a5 Document MKREPRO here as well. 2012-05-25 10:48:48 +00:00
joerg
b757af438b Disable new -Wstring-plus-int warning where needed for now.
Adjust various places that add GCC-only options to check for the active
compiler first.
2012-04-04 10:59:44 +00:00
joerg
3c1c42ed5f Make it easier to specify the list of checkers to enable for the static
analyzer.
2012-04-04 10:37:18 +00:00
matt
a969b57018 Add WARNS=5 to enable -Wold-style-definitions 2012-03-20 21:48:20 +00:00
christos
4254cd9bee allow file-specific lint flag additions 2012-03-17 18:02:41 +00:00
joerg
f03aabbcc7 Don't error out for non-literal format strings with Clang until the rest
of the __printflike changes are in the tree.
2012-03-15 15:04:23 +00:00
joerg
17cb70e7b4 Decouple HAVE_LLVM from HAVE_GCC. For GCC, add -Wno-format-zero-length
when -Wformat is used.
2012-03-15 02:00:52 +00:00