libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MinGW libtool DLL failure


From: Elizabeth Barham
Subject: Re: MinGW libtool DLL failure
Date: 10 Oct 2002 20:24:05 -0500

Bob Friesenhahn <address@hidden> writes:

> The exact same error message is reported without -shared.

>From what I can tell, during configure, there is a check for any
object files that are included in a C++ link. This object file is then
later used to build the shared archive.

If you look at libtool.m4, wherever this is (reading it off the web):

 cygwin*)
    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
    # as there is no search path for DLLs.
    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
    _LT_AC_TAGVAR(always_export_symbols, $1)=no

    if $LD --help 2>&1 | egrep 'auto-import' > /dev/null; then
      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects 
$libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname 
${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o 
$output_objdir/$soname ${wl}-retain-symbols-file $wl$export_symbols 
${wl}--out-implib,$lib'
    else
      _LT_AC_TAGVAR(ld_shlibs, $1)=no
    fi
         ;;

  mingw* | pw32*)
    # FIXME: insert proper C++ library support
          _LT_AC_TAGVAR(ld_shlibs, $1)=no
         ;;

You see that, for mingw, it needs to be fixed and I propose that
someone *TEST* taking the cygwin implementation and moving down to
where mingw is, *and* removing the $predep_objects, like this:

  mingw* )
    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
    _LT_AC_TAGVAR(always_export_symbols, $1)=no

    if $LD --help 2>&1 | egrep 'auto-import' > /dev/null; then
      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $libobjs $deplibs 
$postdep_objects $compiler_flags -o $output_objdir/$soname 
${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $libobjs 
$deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname 
${wl}-retain-symbols-file $wl$export_symbols ${wl}--out-implib,$lib'
    else
      _LT_AC_TAGVAR(ld_shlibs, $1)=no
    fi
    ;;

  pw32* )
   # FIXME: insert proper C++ library support
     _LT_AC_TAGVAR(ld_shlibs, $1)=no
     ;;

What is the conventional wisdom on this?

Elizabeth




reply via email to

[Prev in Thread] Current Thread [Next in Thread]