Re: [PATCH] [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts
* Charles Wilson wrote on Wed, Jul 01, 2009 at 06:48:52AM CEST: Ralf Wildenhues wrote: Yes but can you please check that you don't need to add another 3 patches for F77, FC, GCJ? Well, the whole tag-based mechanism in libtool makes my teeth ache, I don't disagree. but as far as I can tell we don't actually have separate cases for those other languages' linker requirements at present. There's just C++, and everything else: Yes. What I am asking is do these variables actually get set for 'everything else' or not? Presumably all it should take you to verify that would be to inspect the output of this, in the top build directory of Libtool: for tag in F77 FC GCJ; do ./libtool --tag=$tag --config | grep '^export_dynamic_flag_spec=' done Presuming there WAS a need for a separate setting for F77 or FC or GCJ...er, where exactly would such things go? In or in macros called from the _LT_LANG_*_CONFIG macros. Cheers, Ralf
Re: [PATCH] [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts
Ralf Wildenhues wrote: * Charles Wilson wrote on Wed, Jul 01, 2009 at 06:48:52AM CEST: but as far as I can tell we don't actually have separate cases for those other languages' linker requirements at present. There's just C++, and everything else: Yes. What I am asking is do these variables actually get set for 'everything else' or not? Presumably all it should take you to verify that would be to inspect the output of this, in the top build directory of Libtool: for tag in F77 FC GCJ; do ./libtool --tag=$tag --config | grep '^export_dynamic_flag_spec=' done $ for tag in F77 FC GCJ; do echo $tag: `./libtool --tag=$tag --config | grep '^export_dynamic_flag_spec='` done F77: export_dynamic_flag_spec=\${wl}--export-all-symbols export_dynamic_flag_spec=\${wl}--export-all-symbols FC: export_dynamic_flag_spec=\${wl}--export-all-symbols export_dynamic_flag_spec=\${wl}--export-all-symbols GCJ: export_dynamic_flag_spec=\${wl}--export-all-symbols export_dynamic_flag_spec=\${wl}--export-all-symbols ('course, for that to work properly, I had to download and actually install GCJ, before rebuilding libtool with this patch) Given the above, I'm taking this: OK to push? Yes, but {please check as above} As approval. Presuming there WAS a need for a separate setting for F77 or FC or GCJ...er, where exactly would such things go? In or in macros called from the _LT_LANG_*_CONFIG macros. Thanks, Chuck
[PATCH] [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts
* libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [cygwin*|mingw*|pw32*|cegcc*]: Define export_dynamic_flag_spec as -Wl,--export-all-symbols here as well (see commit 5f2bbb494a2753afb2878c399cfd8316b7403a5b). Signed-off-by: Charles Wilson ... --- Originally posted by Yaakov Selkowitz on the cygwin list. Seems obvious to me, especially given 5f2bbb494a2753afb2878c399cfd8316b7403a5b. OK to push? -- Chuck libltdl/m4/libtool.m4 |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4 index 0777d4d..f45a630 100644 --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 @@ -5632,6 +5632,7 @@ if test $_lt_caught_CXX_error != yes; then # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes -- 1.6.3.2
Re: [PATCH] [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts
Ralf Wildenhues wrote: Yes but can you please check that you don't need to add another 3 patches for F77, FC, GCJ? Well, the whole tag-based mechanism in libtool makes my teeth ache, but as far as I can tell we don't actually have separate cases for those other languages' linker requirements at present. There's just C++, and everything else: m4_defun([_LT_LINKER_SHLIBS], ... m4_if([$1], [CXX], [ c++ _LT_TAGVAR stuff ], [ other _LT_TAGVAR stuff ]]) Presuming there WAS a need for a separate setting for F77 or FC or GCJ...er, where exactly would such things go? -- Chuck