<libset> problems on Win32

Help
saber850
2004-04-15
2004-04-19
  • saber850
    saber850
    2004-04-15

    For some reason, the <libset> property is including _all_ files specified in the 'dir' attribute, not just those specified in the 'libs' attribute.
    It works properly w/ GCC (ie. it sets up the proper -L and -l arguments), but on MSVC (7.0/.NET), the command issued by cctask includes all the files in the specified dir.
    As a result, the 'lib' program is choking when it gets to non-lib files.

    For example, this is my libset w/ the intent on including this library: H:\ThirdParty\lib\foo.lib:
    <libset dir="H:\ThirdParty\lib" libs="foo" />

    But the command issued by cctask lists all the files in H:\ThirdParty\lib\

    Any ideas?

     
    • Curt Arnold
      Curt Arnold
      2004-04-16

      I added a unit test and made some attempts to reproduce the problem.  The one scenario that I encounted the observed behavior was when the parent of the lib directory was reference in a fileset.

      If you are doing something like:

      <cc name="msvc">
         <fileset dir="h:\ThirdParty"/>
         <libset dir="h:\ThirdParty\lib" libs="foo"/>
      </cc>

      Then the implicit includes="**/*" for the fileset would add all files in the ThirdParty/lib directory to the mix and the libset would just add a redundant h:\ThirdParty\lib\foo.lib.

      If that isn't the problem, if you could create a mock project (0 byte files for the libs, enough to get to the offending link command) that demonstrates the problem, zip it up and post it as a bug.

       
    • Curt Arnold
      Curt Arnold
      2004-04-16

      If able to reproduce, add the zip file and instructions to:

      http://sourceforge.net/tracker/index.php?func=detail&aid=936098&group_id=36177&atid=416920

       
    • saber850
      saber850
      2004-04-19

      While stripping down my setup to provide a simple test case, the problem disappeared.  It's also working properly in my original setup (which I didn't alter...).  Three co-workers witnessed the problem, so I'm not sure what happened.
      I'll chalk it up to user error; sorry for the false alarm.