|
[
Permlink
| « Hide
]
Martin Sebor added a comment - 01/Mar/07 09:46 PM
This is important if we want to allow multiple configurations of the same library to coexist in the same directory as users of the Rogue Wave implementation are accustomed to doing. Bumped up priority to Critical.
Martin Sebor made changes - 01/Mar/07 09:46 PM
Martin Sebor made changes - 16/Mar/07 09:23 PM
Affects all prior versions (4.1.4 only with stdcxx build infrastructure).
Martin Sebor made changes - 25/Aug/07 10:22 PM
Due to the lack of time this is not going to happen for 4.2.0. Rescheduled for 4.2.1.
Martin Sebor made changes - 16/Oct/07 01:53 AM
Not sure renaming the generated $BUILDDIR/include/config.h to include the name (and possibly version) of the compiler along with the build type would be a forward compatible change...
In addition to the config header this issue involves also storing libraries configured for two or more compilers under the same directory (although most likely not in the same directory since their names would conflict and encoding the name of the compiler or its version in the name of the library binary would cause a binary incompatibility).
A possible solution to the config header problem that I discussed with Travis last week is to encode the name (and possibly version) of the OS and compiler in the name of the generated config header and provide a configuration macro (e.g., _RWSTD_CONFIG) for the user to set to a value identifying this combination. E.g., the name of a config header generated for an 12d build with gcc 3.4.2 on Linux could be config-gcc-3.4.2-linux-12d.h and the value of the _RWSTD_CONFIG macro to select this configuration would be gcc-3.4.2-linux-12d. A solution to the library problem is to create a subdirectory for each distinct configuration (compiler, OS, and buildtype) under $PREFIX/lib and store libraries there. Users would have to append the name for the subdirectory appropriate for each configuration to their -L$PREFIX option. To continue with the gcc/Linux example above, the install target would create a $PREFIX/lib/gcc-3.4.2-linux-12d subdirectory and store the library (named libstd.so) there. Users would then need to specify -L$PREFIX/lib/gcc-3.4.2-linux-12d -lstd on the link line. For compatibility with the current setup where the buildtype is (or may be) encoded in the library name (libstd12d in our case) the install target could create a link pointing to the suffix-less name (i.e., libstd12d.so -> libstd.so). All of this is far too involved for a maintenance release. Rescheduled for 4.3.
Martin Sebor made changes - 04/Dec/07 07:46 PM
Martin Sebor made changes - 14/May/08 06:58 PM
Martin Sebor made changes - 14/May/08 06:59 PM
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||