Commit Graph

779 Commits

Author SHA1 Message Date
uebayasi 83246377bb Revert previous, which caused tools build to fail. 2009-12-01 17:06:34 +00:00
uebayasi ab788f10b4 Use ${NETBSDSRCDIR} for deep tools/* directories. 2009-12-01 09:08:25 +00:00
uebayasi ba9e6e8ae6 Add pkg_install as a tool. 2009-12-01 09:01:45 +00:00
uebayasi 3cb0739866 Skip parameters for multilib build for now. 2009-12-01 04:59:24 +00:00
uebayasi 87bb55865b Handle cases where *.asm is listed in LIB2FUNCS_EXTRA (gcc/config/rs6000). 2009-12-01 03:13:26 +00:00
uebayasi 3a3e699038 Handle cases where database text files don't exist. 2009-11-30 14:34:17 +00:00
uebayasi d77ecd459a Call "template sources" as "tmplsrcs", not "tmpsrcs". Requested by mrg@. 2009-11-30 10:03:57 +00:00
uebayasi 970b30eb96 Prefix per-library *.mk files with libs.*. 2009-11-30 09:57:59 +00:00
uebayasi d3180e0c9b Now that we know what sources are needed to build a given library, we need
the rules how to build those sources.  Generate makefiles defining ${COPTS},
${CPPFLAGS}, and ${SRCS} (== template).

Note that ${CPPFLAGS} is actually dfined as _CPPFLAGS like
	_CPPFLAGS.tmp___gcc_bcmp.c=-DL__gcc_bcmp
and used to generate wrapper files (e.g. tmp___gcc_bcmp.c).  Otherwise it's
automagically passed to ${CC} by bsd.*.mk.
2009-11-30 09:50:59 +00:00
uebayasi 2c455e268f For each library, generate a makefile of the list of template sources too. 2009-11-30 09:33:36 +00:00
uebayasi c91d9ec35a For each library, generate a list of sources (*.[cS]).
We create wrapper sources (tmp_*.[cS]) on-the-fly and compile them.  For
example, __gcc_bcmp() is compiled using tmp___gcc_bcmp.c, which #define's
L__gcc_bcmp and #include's libgcc2.c.
2009-11-30 09:32:13 +00:00
uebayasi 263a9a2c47 Move these analyzing functions into one place, get_libgcc_new_analyze(). 2009-11-30 08:20:23 +00:00
uebayasi b98c239900 Typo. 2009-11-30 08:05:41 +00:00
uebayasi 1380d82f90 Generate lists of template sources ("tmpsrcs") for each libraries. We'll
need these to create wrappers of tmpsrcs and define correct dependencies.
2009-11-30 08:00:20 +00:00
uebayasi 141ef6c4d0 Generate *.o -> template *.[cS] ("tmpsrc") mapping.
Functions are built from a template (tmpsrc).  We create wrapper sources
(src) and define necessary defines and #include tmpsrc.
2009-11-30 07:19:58 +00:00
uebayasi 96a4ab5aed - Generate a list of CPP flags used to build *.o. Some files are build
repeatedly with different -DXXX to generate similar objects (e.g. different
  type size).

- Generate a list of other CC options to build *.o.

(See my sed-fu using hold space in get_libgcc_list_objs_xflags().)
2009-11-30 07:08:03 +00:00
uebayasi 7e684b1d37 - Generate a list of *.o -> lib*.{a,so} mapping. This is also known by
parsing dependency lines in libgcc.mk.

- Generate a list of *.o -> *.{c,S} mapping.  *.S files are known as
  ${LIB1ASMFUNCS}.  Assume other *.o files are built from *.c.  This information
  is needed to generated wrapper sources later.
2009-11-30 06:56:15 +00:00
uebayasi 12ee13e800 Generate lists of functions built in libgcc libraries. This is known by
pattern matching dependency lines in libgcc.mk.
2009-11-30 06:40:17 +00:00
uebayasi 00c7a5b61c Generate a list of functions provided as *.S. 2009-11-30 06:29:58 +00:00
uebayasi b0edbfb088 Define paths of newly generated files. 2009-11-30 06:13:37 +00:00
uebayasi ffa99e7e3a Start implementing the new style libgcc "mknative" converter which generates
BSD makefiles to build libgcc.  The goal is to build all functions rather
than managing the set of functions in gnu/lib/libgcc/Makefile.in by hand.

Because of the complexity of the build procedure, I leave not only generated
makefiles but also intermediate, analyzed data so that people can verify that
the conversion is done correctly.
2009-11-30 05:50:07 +00:00
uebayasi d219709b67 Actually use timestamp file's timestamps so that things rebuild correctly. 2009-11-25 11:49:36 +00:00
uebayasi 912aaddf6c Adjust #line directive paths so that make depend works correctly. 2009-11-24 15:09:10 +00:00
skrll af515df4eb Pull in fixes from binutils_2_19 branch.
Bump version and re-run mknative to pick up.
2009-11-20 22:51:29 +00:00
he 71b0977302 Point to the new ncdcs directory. 2009-11-13 08:14:53 +00:00
tron b99b4b6003 Revert most of revision 1.73:
We cannot user_from_uid(3) or group_from_gid(3) unless the system
also supports pwcache_userdb(3) and pwcache_groupdb(3). The build will
use the hosts password and user database otherwise. Switch back to the
old behaviour to only the native functions if they are all present.
This fixes cross builds under Mac OS X and FreeBSD.

Fix based on problem analysis provided by Akihiko Hayashi.
2009-11-11 21:53:46 +00:00
skrll 1cb5794926 Collect the branding information. 2009-11-09 13:50:41 +00:00
skrll d92e258298 Update for new binutils location, etc. 2009-11-08 15:33:29 +00:00
joerg 14197c258c Define __RCSID and __COPYRIGHT as structure, so that the following
semicolon is consumed.
2009-11-06 18:26:06 +00:00
joerg 133a83e65e Make sure that parser.c and friends can be found. 2009-11-06 15:14:37 +00:00
christos 43c1f29388 prevent $ NetBSD expansion. 2009-11-03 22:52:59 +00:00
joerg 73810e776b Need to provide NOMAN explicitly before bsd.own.mk. 2009-10-30 17:18:51 +00:00
christos de3c2d224e short circuit lex and yacc rules. 2009-10-30 00:30:20 +00:00
christos 87224eb348 use bootstrap files for yacc too. 2009-10-29 17:16:40 +00:00
christos 39c14eeaaf Give m4 its own .WAIT. Fixes build issue on NetBSD-5. 2009-10-29 13:07:12 +00:00
christos 271138cb3a use new yacc 2009-10-29 01:01:27 +00:00
christos e05dbd930c Add a Makefile to rebuild the bootstrap files. 2009-10-27 18:50:31 +00:00
christos 41ebfbe2a9 break cyclical dependency of lex depending on m4 and m4 depending on lex,
by providing pre-built lex and yacc files for m4.
2009-10-27 18:35:09 +00:00
tsutsui 0de065d369 Use HOST_SRCDIR=external/gpl3/binutils/usr.sbin/foo
in $(HAVE_BINUTILS)=="219" case.
Fixes build failures on Cygwin. (new libbfd depends on libz)

BTW, should we revive old ones under src/usr.sbin for
native dbsym(8)/mdsetimage(8) binaries which don't need libbfd?
2009-10-27 14:20:21 +00:00
christos 4f376672fe switch to new lex 2009-10-26 21:32:14 +00:00
joerg f56301292d Hard-wire NetBSD major+minor version for the tool version of mandoc.
This gives "NetBSD 5.99" for .Os in -current and "NetBSD 6.0" for the
next release.
2009-10-26 21:17:19 +00:00
christos 4958d088d0 back to old lex 2009-10-26 04:08:25 +00:00
christos 74e6715321 use new lex. 2009-10-26 01:19:02 +00:00
joerg 3b68c94681 Add MKMANDOC option to trigger building cat pages and HTML pages with
mdocml.  Add a lintmanpages target for developers to check man pages
with the strictest settings of mandoc.
2009-10-23 22:14:37 +00:00
joerg c2dba7fe45 Build glue for mdocml and for mandoc as standalone tool. 2009-10-21 18:04:52 +00:00
skrll df133fffea Only brand newer binutils. 2009-10-14 07:30:47 +00:00
skrll 699c28bc09 Better branding from mrg 2009-10-12 08:00:41 +00:00
snj 823426b32c Adjust bug report URL to reflect htdocs changes. 2009-10-10 14:46:02 +00:00
skrll f92d679b89 Add some NetBSD branding to binutils. 2009-10-10 10:21:22 +00:00
christos 2802d8b5af split all the password and group translation functions into individual
ifdefs instead of having a large one.
2009-10-02 18:03:19 +00:00
he c88a33f1f2 We need to install disklabel_rdb.h here as well, so that the
toolized disklabel for amiga (at least) can be allowed to build.
2009-09-14 13:44:05 +00:00
skrll 8a770313a3 Rename MKBFD to MKBINUTILS and support HAVE_BINUTILS for set lists. This
makes {MK,HAVE_}BINUTILS consistent with {MK,HAVE_}{GCC,GDB}.

Allow MKBFD to defines MKBINUTILS as a backwards compatibility hook.

Update the sets lists and add conditionals for lib{bfd,opcodes}.
2009-09-08 07:08:00 +00:00
skrll 6d622a3f1b Build binutils 2.19.1 if HAVE_BINUTILS is 219 2009-08-18 15:08:51 +00:00
christos 6709212e45 add fpurge 2009-06-17 23:34:45 +00:00
christos fb04944064 add fpurge; needed by awk. 2009-06-16 22:35:34 +00:00
christos 35eb44d139 use new file 2009-05-08 17:45:22 +00:00
ad e8f7cd4ed0 Enable -mtune=nocona by default on x86. I have tested on a range of CPUs
and this seems to give the best results.
2009-05-04 21:32:31 +00:00
drochner f3b654a431 -introduce a "COMMON_CONFIGURE_ARGS" variable which is included by
both CONFIGURE_ARGS and NATIVE_CONFIGURE_ARGS to reduce duplication
 between tool and native configuration
-allow to pass a "--with-arch" argument to both configurations
2009-03-27 19:19:49 +00:00
sketch 0ed32f1081 Disable grep host tool and unbreak NetBSD build until I can come up with a
clean fix.
2009-02-25 22:28:36 +00:00
sketch 0d9ab2b40e Make grep a host tool. 2009-02-25 20:36:44 +00:00
sketch 7ce9d1c8ea Make 'build.sh tools' work with the Sun Studio compiler, although bugs in
some of the generated tools still prevent building a full release using them.
2009-02-24 22:25:24 +00:00
abs 515e52158b Convert more MACHINE tests to MACHINE_ARCH 2009-02-14 13:50:50 +00:00
joerg a9ecd753f2 Explicitly disable C# support. Mono is known to have issues at time, so
don't try to look for it.
2009-02-10 19:50:47 +00:00
dbj 5ae3d13a2f do not require sys/mtio.h for a tools build of pax 2009-02-03 05:22:40 +00:00
dbj 117ba68f3f avoid including grp.h 2009-02-03 05:18:42 +00:00
jmmv da998a842e Adjust path to sources, now that ATF lives in external/bsd/atf/dist instead
of dist/atf.
2009-01-19 07:14:46 +00:00
apb a0e618bba1 Use hex instead of decimal in #if FOO_MAX == 0xffff.... tests, and
append "U" to make the constants unsigned.
2009-01-18 21:59:19 +00:00
apb 270cb3d9e7 Provide definitions for PRI{d,i,o,u,x,X}{16,32,64}. Many tools
already use [u]int{16,32,64}_t types, and a few already had their own
#ifndef/#define/#endif code for a few of these macros.  A future commit
will remove that now-redundant code in the affected tools.
2009-01-18 21:09:47 +00:00
christos f5c11c0781 Fix struct passwd time fields. From Shin'ichiro TAYA 2009-01-18 01:44:09 +00:00
agc 0d5ba1b500 Apply part of the patch from Julio M. Merino Vidal in
http://mail-index.netbsd.org/source-changes/2009/01/05/msg214884.html

to make the toolchain cross-build on Mac OS X. Nozaki-san has addressed
the other issues.
2009-01-06 19:15:39 +00:00
tnozaki 2af58f1cce 1. reworking PR lib/40317:
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.

2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite.  so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.

3. fix build breakage when CITRUS=no was set.
2009-01-05 06:11:43 +00:00
mrg c4cf5842aa MACHINE_CPU is "mips" not "xxmips". 2008-12-05 05:12:02 +00:00
christos 2e31951ce3 enable extensions for isblank() and solaris 2008-11-25 18:41:57 +00:00
dbj 9e00aa9431 include unistd.h where getmode is traditionally declared 2008-11-04 23:31:32 +00:00
apb 0f98f9af22 HOST_SH should always be an absolute path, so don't bother searching for
/bin/${HOST_SH} or /usr/bin/${HOST_SH}.

If the HOST_SH sanity check fails, do not continue regardless.
2008-10-26 15:54:19 +00:00
apb bcc847fb86 Use ${TOOL_SED} instead of just "sed" while building other tools.
Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
2008-10-25 22:15:28 +00:00
apb 4f24e44506 Build sed earlier, just after mktemp. Note that sed and mktemp do not
depend on each other, but the .WAIT is needed to get them both installed
before the remainder of the tools build.
2008-10-25 22:12:41 +00:00
apb 9e166e6cc9 Remove the local handling of the NOSUBDIR variable. We can rely
on bsd.subdir.mk's handling of the NOSUBDIR variable.

Also add some comment to .if/.else/.endif and .for/.endfor lines.
2008-10-25 14:59:35 +00:00
apb debdeec730 The tools/compat versions of mkstemp() and mkdtemp() need to call the
internal function that's usually named "__gettemp".  However in a cross
build, "__gettemp" is in a namespace reserved for the host system, so we
can't use that.  Use "__nbcompat_gettemp" instead, following the example
of several other functions or macros in tools/compat.  Previously, this
was handled by using the name "gettemp", but that conflicts with the
local gettemp() function in dist/nawk.
2008-10-20 10:28:38 +00:00
dogcow 13a2178397 Define __USE_ISOC99 for linux, making the isblank() proto appear.
This is probably not the Right Thing, but it seems to not break anything.
2008-10-20 07:48:21 +00:00
apb d1cf36b114 Add a comment to the Makefile explaining that we do not use HOST_AWK
here, because tools/host-mkdep is built before tools/awk.
2008-10-19 22:05:22 +00:00
apb 96230fab84 Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
2008-10-19 22:05:19 +00:00
apb 74809f044a Add awk as a host tool. 2008-10-19 19:40:19 +00:00
apb ce47df9797 Define NOINFO, so that we don't try to build info files for host tools. 2008-10-19 19:38:55 +00:00
tsutsui e610f24a9a Regen from configure.ac rev 1.67:
> Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
> compile_et compile on systems which don't have these BIND headers like Cygwin.
2008-10-18 16:27:19 +00:00
tsutsui 0dbe1e872b Prepare dummy <resolv.h> and <arpa/nameser.h> to make asn1_compile and
compile_et compile on systems which don't have these BIND headers like Cygwin.

Tested by "build.sh -m i386 -U release" on CYGWIN_NT-5.1-1.5.25,
and should close PR toolchain/29032.
2008-10-18 16:25:04 +00:00
tsutsui 9f5daccbf0 Regen autoconf stuff using tools version of autoconf (in src/tools/autoconf),
as per suggestion from apb@ on tech-toolchain.
Tested 'build.sh -U release iso-image' on NetBSD/i386 4.99.73.
2008-10-14 15:23:26 +00:00
dyoung 5e0c4c784c Per uwe@'s suggestion, build nbgroff under wider circumstances.
I choose to build it if MKDOC != no or if MKHTML != no.  It used
to be built only when MKMAN != no.
2008-10-13 18:11:15 +00:00
mrg 9917d709a8 - add a i386/t-netbsd64 makefile fragment to build 32/64 bit
libgcc/multilib on amd64
- enable the 32/64 bit libgcc/multilib support on sparc64
- adapt mknative-gcc to grab multilib.h
- use --enable-multilib on amd64 and sparc64

none of this affects the installed tools yet, just the src/tools one.
2008-10-11 05:03:43 +00:00
apb 85f76ee71a Remove the definitions of BUILD_OSTYPE and BUILD_OSVERSION, which have
been unused since the TOOL_JOIN change made in revision 1.9.
2008-10-07 15:10:35 +00:00
apb 1817eadbb8 Use TOOL_SED, not HOST_SED. Also use && to catch errors in
building atf-host-compile.
2008-10-05 20:14:14 +00:00
apb 4344eb9766 Add a .WAIT to ensure that sed is installed early, so that TOOL_SED can
be used during the build of other tools.
2008-10-05 20:11:54 +00:00
apb 520cbbf81f Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
  regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
  databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
2008-09-26 18:23:09 +00:00
skrll 9bb781168b Grab libgcov stuff. 2008-09-19 13:18:28 +00:00
lukem 83079ea51d Configure with --disable-warnings; cross-compiling on NetBSD 3.1
with gcc 3.3.3 doesn't support -Wextra
2008-08-31 00:31:22 +00:00
gmcgarry 3d3450222a Build pcc as host tool if requested. 2008-08-24 05:53:36 +00:00
apb d9a401e5bc Verify that MAKEFLAGS contains "-j" before trying to manipulate it
with :C///.
2008-07-07 10:57:03 +00:00
mrg cadcec42f4 pass the "-j" flag down to gmake. you can force -j option to
gmake by setting GMAKE_J_ARGS=-jN.


discussed with matt@ and a few others.

XXX: this is kind of hacky, as it will fork off more processes than
XXX: "-jN" says to, but there's no real way to get parallelism in
XXX: both the tools/gcc build and the rest of the build without
XXX: this.
2008-07-07 05:43:56 +00:00
he b30cb0f01e Remove references to bebox-elf2pef and bebox-mkbootimage, now that they
have been integrated in common powerpc tools and subsequently removed.
2008-05-26 12:45:50 +00:00
kiyohara e9d09f2c45 Integrated to powerpc-mkbootimage. 2008-05-24 17:47:21 +00:00