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.
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.
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().)
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.
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.
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.
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?
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}.
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
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.
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.
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.
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.
> 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.
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.
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.
* 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.
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.