http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56276
Bug #: 56276
Summary: libgcc_*.dll is installed to wrong directory during
build
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libgcc
AssignedTo: [email protected]
ReportedBy: [email protected]
Host: i686-pc-mingw32
Target: i686-pc-mingw32, i686-w64-mingw32, x86_64-w64-mingw32
Build: i686-pc-mingw32
GCC is configured with:
../../source/gcc-4.7.2/configure --build=i686-pc-mingw32 --host=i686-pc-mingw32
--target=i686-w64-mingw32 --disable-nls --disable-multilib
--prefix=/home/xxx/mingw-w64/mingw-w64-i686
--with-sysroot=/home/xxx/mingw-w64/mingw-w64-i686
--with-native-system-header-dir=/i686-w64-mingw32/include
--with-host-libstdcxx=/mingw/lib/gcc/mingw32/4.7.2/libstdc++.a
--disable-cloog-version-check --disable-ppl-version-check
--with-mpc=/home/xxx/mingw-w64/packages/gcc/packages/mpc/mpc-1.0.1-i686
--with-mpfr=/home/xxx/mingw-w64/packages/gcc/packages/mpfr/mpfr-3.1.1-i686
--with-gmp=/home/xxx/mingw-w64/packages/gcc/packages/gmp/gmp-5.1.0-i686
--with-ppl=/home/xxx/mingw-w64/packages/gcc/packages/ppl/ppl-1.0-i686
--with-isl=/home/xxx/mingw-w64/packages/gcc/packages/isl/isl-0.11.1-i686
--with-cloog=/home/xxx/mingw-w64/packages/gcc/packages/cloog-ppl/cloog-ppl-0.15.11-i686
--enable-languages=ada,c,c++ --enable-threads=win32
--enable-fully-dynamic-string --disable-sjlj-exceptions
--with-multilib-list=m32 --with-arch=pentium3
--enable-leading-mingw64-underscores --with-dwarf2 --enable-lto
--disable-win32-registry --with-win32-nlsapi=unicode --enable-libstdcxx-debug
When building all (by 'make all) or building libgcc by 'make
all-target-libgcc', the following commands are executed:
# Now that we have built all the objects, we need to copy
# them back to the GCC directory. Too many things (other
# in-tree libraries, and DejaGNU) know about the layout
# of the build tree, for now.
make install-leaf DESTDIR=../.././gcc \
slibdir= libsubdir= MULTIOSDIR=.
make[2]: Entering directory
`/home/xxx/mingw-w64/packages/gcc/build/4.7.2-i686-w64-mingw32/i686-w64-mingw32/libgcc'
/bin/sh ../../../../source/gcc-4.7.2/libgcc/../mkinstalldirs ../.././gcc
/bin/install -c -m 644 libgcc_eh.a ../.././gcc/
chmod 644 ../.././gcc/libgcc_eh.a
/home/xxx/mingw-w64/packages/gcc/build/4.7.2-i686-w64-mingw32/./binutils/ranlib
../.././gcc/libgcc_eh.a
/bin/sh ../../../../source/gcc-4.7.2/libgcc/../mkinstalldirs
../.././gcc/home/xxx/mingw-w64/mingw-w64-i686/i686-w64-mingw32/lib/../lib
../.././gcc; /bin/install -c ./shlib/libgcc_s_dw2-1.dll
../.././gcc/home/xxx/mingw-w64/mingw-w64-i686/i686-w64-mingw32/lib/../lib/libgcc_s_dw2-1.dll;
/bin/install -c -m 644 ./shlib/libgcc_s.a ../.././gcc/libgcc_s.a
As result, unwanted directory
'../../gcc/home/xxx/mingw-w64/mingw-w64-i686/i686-w64-mingw32/lib/' is created.
I'm sure that 'gcc' directory shouldn't have any 'home' subdirectory.
'libgcc_s_dw2-1.dll' is placed to
'../../gcc/home/xxx/mingw-w64/mingw-w64-i686/i686-w64-mingw32/lib/' (relative
to libgcc build directory).