Skip to content
Snippets Groups Projects
  • Jonathan Wakely's avatar
    abf40d29
    libstdc++: Fix libstdc++exp.a so it really does contain Filesystem TS symbols · abf40d29
    Jonathan Wakely authored
    In r14-3812-gb96b554592c5cb I claimed that libstdc++exp.a now contains
    all the symbols from libstdc++fs.a as well as libstdc++_libbacktrace.a,
    but that wasn't true. Only the symbols from the latter were added to
    libstdc++exp.a, the Filesystem TS ones weren't. This seems to be because
    libtool won't combine static libs that are going to be installed
    separately. Because libstdc++fs.a is still installed, libtool decides it
    shouldn't be included in libstdc++exp.a.
    
    The solution is similar to what we already do for libsupc++.a: build two
    static libs, libstdc++fs.a and libstdc++fsconvenience.a, where the
    former is installed and the latter isn't. If we then tell libtool to
    include the latter in libstdc++exp.a it will do as it's told.
    
    libstdc++-v3/ChangeLog:
    
    	* src/experimental/Makefile.am: Use libstdc++fsconvenience.a
    	instead of libstdc++fs.a.
    	* src/experimental/Makefile.in: Regenerate.
    	* src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as
    	well.
    	* src/filesystem/Makefile.in: Regenerate.
    abf40d29
    History
    libstdc++: Fix libstdc++exp.a so it really does contain Filesystem TS symbols
    Jonathan Wakely authored
    In r14-3812-gb96b554592c5cb I claimed that libstdc++exp.a now contains
    all the symbols from libstdc++fs.a as well as libstdc++_libbacktrace.a,
    but that wasn't true. Only the symbols from the latter were added to
    libstdc++exp.a, the Filesystem TS ones weren't. This seems to be because
    libtool won't combine static libs that are going to be installed
    separately. Because libstdc++fs.a is still installed, libtool decides it
    shouldn't be included in libstdc++exp.a.
    
    The solution is similar to what we already do for libsupc++.a: build two
    static libs, libstdc++fs.a and libstdc++fsconvenience.a, where the
    former is installed and the latter isn't. If we then tell libtool to
    include the latter in libstdc++exp.a it will do as it's told.
    
    libstdc++-v3/ChangeLog:
    
    	* src/experimental/Makefile.am: Use libstdc++fsconvenience.a
    	instead of libstdc++fs.a.
    	* src/experimental/Makefile.in: Regenerate.
    	* src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as
    	well.
    	* src/filesystem/Makefile.in: Regenerate.