On 2006-01-26 12:07:31 Rene Rivera said:
> There's code in the var_expand_unit_test that tries to verify the
> functionality of expanding paths. In the case of Cygwin it wants to
> check that something like "/cygdrive/c/foo/bar" is translated to
> something like "c:\foo\bar". The problem comes in that the "/cygdrive"
> part is a user configurable path on Cygwin. I wrote code that tries to
> decipher what that 'cygdrive' is, as there doesn't seem to be any Cygwin
> call to get that value. Unfortunately, or fortunately from my POV, I
> don't have Cygwin to test with. So any help in getting that code working
> is appreciated ;-)

Please pardon me if this post is not helpful, but I as I was digging through the archives here trying to get up to speed with Boost.Build V2, I saw your comment about not knowing how to detect cygdrive.  I just happened to be looking at the code for the cygwin version of mount and I was wondering if maybe this snippit might be useful:

From /usr/src/cygwin- 1.5.19-4/winsup/utils/mount.cc

/* show_cygdrive_info: Show the user and/or cygdrive info, i.e., prefix and
   flags.*/
static void
show_cygdrive_info ()
{
  /* Get the cygdrive info */
  char user[MAX_PATH];
  char system[MAX_PATH];
  char user_flags[MAX_PATH];
  char system_flags[MAX_PATH];
  cygwin_internal (CW_GET_CYGDRIVE_INFO, user, system, user_flags,
           system_flags);

  /* Display the user and system cygdrive path prefix, if necessary
     (ie, not empty) */
  const char *format = "%-18s  %-11s  %s\n";
  printf (format, "Prefix", "Type", "Flags");
  if (strlen (user) > 0)
    printf (format, user, "user", user_flags);
  if (strlen (system) > 0)
    printf (format, system, "system", system_flags);

  exit (0);
}