Commit Graph

87 Commits

Author SHA1 Message Date
mrg 8c0cbe863f revert the previous; not intended to be part of that commit, or any commit 2009-12-23 20:17:13 +00:00
mrg 3fa4bcf59c rework the main SUBDIR list here as suggested by enami. put .WAIT on
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
2009-12-23 20:15:21 +00:00
uebayasi 656d7ae41f get_libgcc_new: Make previous work for digit only ABI names. 2009-12-17 15:48:13 +00:00
uebayasi eae6ecc426 get_libgcc_new: Teach multilib. 2009-12-17 15:01:33 +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
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
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
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 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
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
skrll 9bb781168b Grab libgcov stuff. 2008-09-19 13:18:28 +00:00
skrll 11670328a2 Collect the libobjc config.h 2008-02-08 18:06:48 +00:00
drochner 109044809a Force use of __cxa_atexit by a configure command line argument
(for booth the tool build and mknative). gcc's "config.gcc" sets
it if the target is netbsd[2-9], but since the target is w/o version
number in our builds, it has no effect. Found by Nick Hudson,
patch approved by mrg.
2007-09-20 12:26:51 +00:00
he 678b5429b3 Instead of inventing a new environment variable to override the
SSP functionality location test, use gcc_cv_libc_provides_ssp instead,
as hinted by freza@ and uwe@.
2007-06-07 14:36:27 +00:00
he bd8f620dfb Modify the gcc configure script to allow override of the "target libc
has ssp functions built-in" test via the TARGET_LIBC_PROVIDES_SSP environment
variable, to allow us to configure a cross-compiler appropriately without
having to try to find out by looking in the target's source directory.

Tweak our build to tell gcc that the ssp bits are now in libc.

The native compiler appears to already think that the ssp bits
live in libc, so no change appears to be needed there.

The autoconf-generated configure script will be committed separately shortly.
2007-06-07 08:58:58 +00:00
matt a2194c542b Remove non-shared hooks for VAX. 2007-03-31 05:55:43 +00:00
skrll 25a1cb4e5b G/C some HAVE_GCC == 3 stuff 2007-03-16 08:01:05 +00:00
apb f7004b0cbc Whenever we try to parse the output from make, run make with the -B
flag.  This ensures that -j<N> isn't accidentally inherited from the
environment, because the "--- foo ---" headers printed with -j<N> would
interfere with parsing the output.
2007-02-05 18:26:01 +00:00
mrg 8274a24af8 point out the GCC4 dirs not the GCC3 dirs. 2006-08-23 20:52:15 +00:00
mrg 467d749333 pass RAW_GCC_FOR_TARGET when running configure-target-libstdc++-v3.
now iconv and wchar_t things are properly set.  still missing
_GLIBCXX_HAVE_S_IFREG and _GLIBCXX_USE_NLS.
2006-08-23 20:45:24 +00:00
mrg 11762d9b99 force --disable-shared on vax so that GCC does not think it can use
shared libgcc.
2006-07-01 05:59:18 +00:00
mrg 51763b5588 convert build/ggc-none.o to build-ggc-none.lo. 2006-06-25 03:06:15 +00:00
mrg 8700cb85b1 introduce a new CXXADDFLAGS and use it to pass CPPFLAG_ISYSTEMXX to
configure.  also, clean up this a little more to make mknative-gcc
work on GCC3 again, while fixing some breakage in the last couple
of revisions.
2006-06-24 05:29:03 +00:00
mrg 212755b9af also grab ${_extravars} for GCC4 in the get_gcc() function. 2006-06-24 05:26:50 +00:00
skrll 27d5fc1bd1 Fixes for mknative runs on gcc3.
- get the information from a gcc3 .native
	- don't get gcc4 variables
	- put back the getvars for SHLIB_LINK SHLIB_MULTILIB as they work
	  on gcc3 and leave as XXX'd on gcc4.

I've re-arranged some of the variables to minimise the differences, but
didn't do them all.
2006-06-09 15:30:52 +00:00
mrg e6744c2295 make this work for GCC3 one again. 2006-06-02 19:44:20 +00:00
mrg cf8192ab0d use the same "Generated from: " tag for mknative.common so that changes
that only affect rcsid's don't cause all generated files to change.
2006-05-26 19:17:21 +00:00
mrg 445a28d54e also grab ALL_OPT_FILES from gcc/Makefile for libobjc4. 2006-05-23 10:55:55 +00:00
mrg 4e2cace64a quote variables in the gmake version of getvars() so that stuff that
looks like (FOO|BAR) works.
2006-05-17 03:27:19 +00:00
mrg 5d136667c4 configure-libiberty is only good for GCC4.
move a comment next to it's code.
2006-05-17 03:26:37 +00:00
mrg 20a4734a0a make sure that c++ headers work again. 2006-05-15 22:03:03 +00:00
mrg 9afa8c578c also note the rcsid of mknative.common 2006-05-15 21:01:42 +00:00