Commit Graph

183 Commits

Author SHA1 Message Date
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
mrg 243ae1c185 when generating path names also substitute the real path name as well as
the VPATH.  now /usr/src doesn't end up in libstdc++-v3_4 defs.mk.
2006-05-15 20:57:45 +00:00
mrg c08a446c31 set AR and RANLIB to the host versions in MAKE_ARGS - otherwise the
build of the "build-libiberty" fails due to these being set to "".
2006-05-12 18:01:13 +00:00
mrg 642ce2be87 support GCC4:
- look in gnu/dist/gcc4
- don't build fortran
- use /usr/bin/env -i so that gmake works (XXX - breaks from MAKEFLAGS
  in the build.sh generated makewrapper.)
- use gmake and Makefile.gmakehost
- update .native/.configure_done target
2006-05-12 02:12:37 +00:00
mrg f9d28bd46c - ensure $MAKE is set
- support $MAKE as gmake for getvars()
2006-05-12 02:07:59 +00:00
tv 0eddda9bff I haven't touched the mknative stuff since 2002. Take my name off of the
readmes, so I'm not implied as a point of contact.
2006-02-17 17:34:30 +00:00
martin 417e934595 We use gcc's crtstuff now - update this acordingly (thanks to
Nick Hudson for instructions)
2005-10-29 20:43:35 +00:00
skrll 810ebc3831 Use the correct LD/NM/OBJDUMP when creating the mknative environment. 2005-05-20 07:10:51 +00:00
skrll 990898b846 Use the correct AS when creating the mknative environment.
Reviewed by mrg@

mknative re-runs will appear soon.
2005-05-14 08:00:58 +00:00
jmc 4d724bafe7 Take output and look for things of the form ./XXX.o and turn them into XXX.o
so generated objects vs listed objects in make line up and dependcies happen
correctly. Found because libiberty (on this binutils import) was leaving
all objects as ./object.o and make wasn't picking up correct depends on
config.h as a result.
2004-12-11 07:40:50 +00:00
lukem 9741933ec5 minor (shell) KNF 2004-12-11 01:37:36 +00:00
mrg ab78454ed7 mirror a fix from mknative-binutils:
>fix the sed expression that pulls VPATH out of the makefile to work
>with any number of tabs or spaces after the equal sign.
2004-12-10 13:58:11 +00:00
thorpej c1c65fe4a1 Add code to extract make vars for GCC crtstuff. 2004-08-24 20:24:43 +00:00
skrll caf6252920 Add some more variables used to build libgcc_s.
Part of the fix for PR 22452.
2004-07-01 13:22:25 +00:00
skrll b263dbdd73 Be more gcc like in the way we deal with libgcc so that sh3/hppa millicode
and exception handling have a chance of working properly.

        - creates libgcc, libgcc_eh and libgcc_s

        - updates LIBGCC_SPEC to use them appropriately.

          There's a hack in here at the moment with respect to libgcc_so in that it
          is preferable to link against libgcc_so will only when -shared-libgcc is
          specified (the c++ frontend does this automatically.) Configurations where
          LINK_EH_SPEC is defined already do this. The gcc configuration for
          NetBSD/alpha and another NetBSD platform (I forget which) actually define
          LINK_EH_SPEC probably by accident rather than design.

        - updates share/mk to use the compiler's knowledge of what needs linking into
          libraries and executables. This removes an hppa hack.

        - updates the sets for the newly created libgcc* files.

	- support for linking against the _pg version of libgcc has been removed.
2004-02-15 19:52:27 +00:00
simonb b761275305 Fix some paths. 2004-02-13 03:01:21 +00:00
skrll d5174d72e9 Copy over from ../toolchain/README.mknative and update for gcc-3.3.x. 2004-02-12 18:57:08 +00:00
skrll 95cfd78c59 Updates so that mknative gets the right things.
- Disable symbol versioning (for now)
	- Make sure that libiberty knows its being configured with a
	  cross compiler.
	- The CXX_* variables are no longer needed/used.
	- LIB2FUNCS_EXTRA gets pulled in via LIB2ADD
	- Get LIB1ASMFUNCS and LIB2ASMSRC
	- MAYBE_USE_COLLECT2 got renamed to USE_COLLECT2 (but might not
	  be used)
	- Get EXTRA_HEADERS so that we get generate the right paths for
	  CPPFLAGS
	- Get some variables related to shared libgcc
2004-02-10 09:37:58 +00:00
skrll 2879279c43 Move libgcc3/*.mk to libgcc3/arch.
Update mknative-gcc.
2004-01-02 11:58:32 +00:00
mrg 113e3b6075 fix a comment; normalise. 2003-11-27 10:21:24 +00:00
mrg c460f3a0b0 use mknative.common 2003-11-27 01:05:45 +00:00
mrg 3807186825 trim FIND_ARGS. remove dead targets. 2003-11-27 01:05:32 +00:00
mrg 3afc93cfea common part of mknative 2003-11-27 00:58:26 +00:00
mrg 7289588744 be a little more verbose about what we're doing when running mknative.
also grab LIB2FUNCS_EXTRA for libgcc3 (old fix for m68000).
2003-11-27 00:56:20 +00:00
lukem f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
thorpej 9a2255650e Set EXTRA_PARTS to a null value, like we do with LIBGCC. This prevents
the tool build from attempting to build the GCC crtstuff before the
target include files are installed.  PR toolchain/23112.

(Note: You would not see the bad behavior described in the PR unless
your .mk files were hacked to configure the toolchain target as
*-*-netbsd*2.0.)
2003-10-10 01:18:54 +00:00
mrg e649b75296 for mknative, make sure we look in the target's /lib directly as the
symlinks in the /usr/lib directory point (absolutely) to "/lib/libfoo.so",
which ends up being quite invalid when target!=host...
2003-08-23 10:07:25 +00:00
mrg 631719db70 don't want auto-build.h anymore 2003-08-22 00:24:46 +00:00
mrg 91b707be74 force long long support. use -isystem* for CCADDFLAGS 2003-08-21 23:53:12 +00:00
mrg e222fd4230 we need config.h an another version of gthr-default.h 2003-08-01 02:44:55 +00:00
mrg be15669373 fix a typo in previous 2003-07-30 05:10:06 +00:00
mrg ad744ff2f6 libiberty/config.h needs to become per-arch. 2003-07-30 05:06:28 +00:00
mrg 78ef677a68 pass --enable-threads to ./configure 2003-07-29 06:48:14 +00:00
mrg 1372911937 fix a bug in previous - two $'s are bad 2003-07-28 02:35:43 +00:00
mrg 4ae0f1a6cb add another transform for libobjc3 2003-07-28 01:29:01 +00:00
mrg 6c4963a6f9 document how to generate GCC3.3 bootstrap info with mknative 2003-07-27 15:00:52 +00:00
mrg efee205c6f don't configure with multilibs when doing mknative 2003-07-27 14:44:00 +00:00
mrg 6c17918185 - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
2003-07-25 16:26:51 +00:00