This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Wed, 04 Jul 2001 11:04:34 -0400 Stuart Kenny <skenny@solidum.com> wrote: > So are these the headers and libraries normally found in the /usr/include > and /usr/lib directories (on an appropriate machine?) If you mean the target machines, you are right... Using the host-headers doesn't work. > We're trying to centralize our building environment for multi-platform > development, as well as becoming less vulnerable to IT changing elements > in our build environment. > > I'm trying to make cross compilers from Linux (or NetBSD) to Linux, > NetBSD, Mingw32 and Sun-solaris2.7 (for now, more to follow) > > I'm having tons of problems, usually with headers. Am I using the wrong > ones? For Linux-targets you must select to use some kernel headers ('include/asm' and 'include/linux'), to be a part of the 'target headers', but these may be updated later. Only the 'limits.h' from the standard C headers must be seen in the '$prefix/$target/sys-include' during the build, all the others, and this too, should be in the '$prefix/$target/include'. The GCC build searches them there with the '-I$(build_tooldir)/include' in the 'xgcc' command line. The symlinks between the Linux libs must be fixed, the 'libc.so' edited and so on, before they are in condition. Pointing to the uninstalled libs using the '--with-libs=' and expecting the configure to do all the fixing in the symlinks and the 'libc.so'-editing is vain. The NetBSD and Solaris7 targets also have equivalent issues for symlinks etc. Knowing the targets is a must, so the Solaris2 FAQ etc. are useful, the same problems arise with the native and cross... AFAIK the ELF-based NetBSD 1.5 isn't yet very well supported as the target, and Mingw must be learned via 'www.mingw.org'... Also the X11-headers and libs belong to the target and you must decide where to put them in the host system. The '$prefix/$target/X11/include' (symlinked to '$prefix/$target/include/X11') and the '$prefix/$target/X11/lib' could be one solution. The standard headers and the Win32-API headers can be keeped separated in the 'include' and 'sys-include' (both will be searched) in Mingw... So there are so much work to do which the '--with-headers' and '--with-libs' don't do. Therefore learning the $prefix/$target as the important place for the target stuff is highly recommended. BTW, also the target binutils will be installed there into the '$prefix/$target/bin' and the '$prefix/$target/lib/ldscripts'. > I know cross compilers are usually used for imbedded systems, it is hard > to find info on non-imbedded applications. The GCC manual's "Installation / Cross-Compiler" then handles only the non-embedded case. Using 'info' to see the GCC manual helps, if only the manual was built as "Using and Porting...", not only "Using...". This is the most important reason to not see anything about cross-compilers in the GCC-manual... Having the "User's Manual" is not the same as having the "User's and Porter's Manual"... Downloading the RedHat's PDF manual sets for '99r1p1' and '00r1' via: http://www.redhat.com/support/manuals/gnupro.html should give quite a lot needed 'info' (although the embedded aspect can be strong in them). Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |