[gstreamer-bugs] [Bug 557305] New: .lib files for GStreamer are being built on Windows

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue Oct 21 12:43:48 PDT 2008


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=557305

  GStreamer | gstreamer (core) | Ver: 0.10.21
           Summary: .lib files for GStreamer are being built on Windows
           Product: GStreamer
           Version: 0.10.21
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Keywords: usability
          Severity: minor
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: lrn1986 at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Alter configure script to generate libtool which would call Microsoft's lib.exe
tool to create lib-files to be linked while developing GStreamer applications
in MSVC.

Other information:
Patch to configure:

*** configure   Fri Oct  3 01:54:25 2008
--- configure.my        Tue Oct 21 18:14:49 2008
***************
*** 8651,8657 ****
          echo EXPORTS > $output_objdir/$soname.def;
          cat $export_symbols >> $output_objdir/$soname.def;
        fi~
!       $CC -shared $output_objdir/$soname.def $libobjs $deplibs
$compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base
-Xlinker --out-implib -Xlinker $lib'
        else
        ld_shlibs=no
        fi
--- 8651,8663 ----
          echo EXPORTS > $output_objdir/$soname.def;
          cat $export_symbols >> $output_objdir/$soname.def;
        fi~
!       $CC -shared --output-def $output_objdir/$soname.def $libobjs $deplibs
$compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base
-Xlinker --out-implib -Xlinker $lib;~
!         tmpcdir=$(pwd);~
!         fname=$(echo $soname | sed -e 's/.dll//');~
!         cd $(pwd)/$output_objdir;~
!         cp $soname.def $fname.def;~
!         lib /machine:i386 /def:$fname.def /out:$fname.lib || echo "lib
failed";~
!         cd $tmpcdir;~'
        else
        ld_shlibs=no
        fi


Patch is flawed however:
1) because MSys mangles file names and paths, it is impossible (or not?) to
call /def:<absolute or relative file name>. Instead current directory has to be
changed before a call to lib (which then could be called with /def:<file
name>), and restored back afterward
2) file name is being extracted from $soname (shouldn't it be available as a
separate variable?)
3) script assumes that .dll is the library extension (not critical, as it will
only work on Windows anyway)
4) script creates a copy of $soname.def (is it really necessary? I don't know,
maybe naming the .lib file accordingly is enough, never tested)
5) /machine:i386 is hardcoded (should be defined by a variable?)
6) script creates "libXXX-major.minor-0.lib" instead of
"libXXX-major.minor.lib". I don't know where the zero comes from (nano?), as
dll files don't have it.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=557305.




More information about the Gstreamer-bugs mailing list