GCC cross compiler target library installation directory
Fri Nov 13 16:30:00 GMT 2015
I am building a GCC 5.2.0 cross compiler with the following ./configure command:
../gcc-5.2.0/configure --prefix=/usr --build=x86_64-unknown-linux-gnu
--disable-nls --enable-languages=c,c++ --with-sysroot=/myos
So the build and host platforms are both "x86_64-unknown-linux-gnu",
and the target platform is "x86_64-myos-linux-gnu".
In the build environment, I have a directory /myos (sub-directory of
/) which contains the root filesystem for the target platform.
>From what I understand, the GCC build procedure occurs in two major
phases, the first one where the toolchain on the build environment is
used to produce the GCC executables and suchlike, and the second phase
where the just built executables are used to build various "target
libraries" such as libgcc and libstdc++.
So after "make" and "make DESTDIR=... install", I have:
And from what I understand, "usr/x86_64-myos-linux-gnu/" contains
files that are meant to be placed into the filesystem of the target
platform (for instance the .so files of libgcc and libstdc++), however
there are several problems:
1) by simply doing "make install", the "usr/x86_64-myos-linux-gnu/"
will not be placed into my target directory /myos.
2) if I mv the "usr/x86_64-myos-linux-gnu/" directory, it will not be
consistent with the target library .la files. For instance, the file
"usr/x86_64-myos-linux-gnu/lib64/libtsan.la" contains the line:
dependency_libs=' -lpthread -ldl
which is expressing an absolute path to libstdc++, but will simply not
be there if I blatantly mv the "usr/x86_64-myos-linux-gnu/" directory.
Neither the top-level ./configure --help nor the GCC install docs seem
to state any way to change the path of the
"usr/x86_64-myos-linux-gnu/" directory. Any ideas?
More information about the Gcc-help