cons-discuss
[Top][All Lists]
Advanced

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

Re: Installing 3rd party files w/o knowing all dependencies


From: Tony Kolarik
Subject: Re: Installing 3rd party files w/o knowing all dependencies
Date: Wed, 11 Oct 2000 21:04:27 -0400

Actually I need to pick files from various places, the example I gave just
happened to be in one directory.  But taking if taking a list of files, making
them all Default and doing InstallAs guarantees that they will get copied this
seems like a good place to start.
I hadn't heard of this find package either.  Everything I need to install does
live under a single branch of the build tree so I can probably use that too.  By
the way to just get a list of all files under the current directory in NT use:
    dir /s/b
I imagine the perl find is more powerfull though if its modeled on the UNIX
command.

Thanks a lot for the good ideas.
 -- Tony K.


Greg Spencer wrote:

> You could use perl's built in find package instead of the UNIX command.
>
>                 -Greg.
>
> ----- Original Message -----
> From: "Doug Treder" <address@hidden>
> To: "Kolarik, Tony" <address@hidden>
> Cc: <address@hidden>
> Sent: Wednesday, October 11, 2000 4:02 PM
> Subject: Re: Installing 3rd party files w/o knowing all dependencies
>
> >
> > I used the following procedure to copy a directory recursively.
> > It depends on using a unix command via perl ` backquote.  If
> > you're on NT maybe you can use pieces of this to do what you
> > want.
> >
> > sub cons::InstallRecursive {
> >
> >   my ($cons, $output, $input) = @_;
> >
> >   my $files = `find $input -type f`;
> >   foreach my $file (split(/\n/, $files)) {
> >     my $target = $file;
> >     $target =~ s/$input/$output/;
> >     unless ($target =~ /CVS/) {
> >       InstallAs $cons $target, $file;
> >       Default ($target);
> >     }
> >   }
> > }
> >
> >
> > On Wed, 11 Oct 2000, Kolarik, Tony wrote:
> >
> > > I'd need to copy a bunch of 3rd party binaries from within the build
> tree to
> > > a central export directory.  It can't depend on a particular file, I'd
> > > rather not enumerate every file that the copy operations depend on, and
> it
> > > should be a one time operation that happens no matter what target gets
> built
> > > first.  I want to be sure that if *anything* got built into export then
> > > these files are there  installed there too.
> > >
> > > Can someone offer a clean way to do this?  Command just isn't happy with
> my
> > > efforts so far, which at this point probably make no sense.  In any
> event
> > > Command never seems to get what it wants to do my copy.
> > >
> > > As an aside the way the doc reads to me almost sounds like Install or
> > > InstallAs will do just copy arbitrary files if they are out of date or
> don't
> > > exist in the target directory.  Doesn't seem to work that way though.
> > >
> > > Thanks a lot,
> > >  -- Tony K.
> > >
> > > # in construct at root of tree
> > > # copy files needed for packaging
> > >
> > > my @THIRDPARTYFILES = ();
> > > if ($BUILDTYPE eq 'release') {
> > > @THIRDPARTYFILES  = qw(
> > > ace.dll
> > > blt24.dll
> > > itcl31.dll
> > > itk31.dll
> > > MSVCIRT.DLL
> > > MSVCP60.DLL
> > > MSVCRT.DLL
> > > tcl82.dll
> > > tclpip82.dll
> > > tk82.dll
> > > tls7012d.dll
> > > xerces-c_1_1.dll
> > > xmlparse.dll
> > > xmltok.dll
> > > );
> > > }
> > > else {
> > > @THIRDPARTYFILES = qw(
> > > aced.dll
> > > blt24.dll
> > > itcl31.dll
> > > itk31.dll
> > > MSVCIRTD.DLL
> > > MSVCP60D.DLL
> > > MSVCRTD.DLL
> > > tcl82.dll
> > > tclpip82.dll
> > > tk82.dll
> > > tls7015d.dll
> > > xerces-c_1_1.dll
> > > xerces-c_1_1.pdb
> > > xmlparse.dll
> > > xmltok.dll
> > > );
> > > }
> > >
> > > $abscwd = cwd();
> > > $exppath = DirPath $BIN;
> > >
> > > $absexp = "$abscwd/$exppath";
> > >
> > > # the files exist in #bin/debug or #bin/release
> > > @EXTFILES  = map("bin/$BUILDTYPE/$_", @THIRDPARTYFILES);
> > >
> > > # $BIN is #export/debug/bin or #export/release/bin
> > > @TARGETFILES = map("$BIN/$_", @THIRDPARTYFILES);
> > >
> > > print "EXTFILES: @EXTFILES\n\n";
> > > print "TARGETFILES: @TARGETFILES\n\n";
> > >
> > > # this echo's zilch
> > > $CONS->Command(address@hidden, address@hidden,
> > >
>
> > >    echo %< %>
> > >    ));
> > >
> > >
> > > _______________________________________________
> > > address@hidden
> > > http://mail.gnu.org/mailman/listinfo/cons-discuss
> > > Cons URL: http://www.dsmit.com/cons/
> > >
> >
> >
> > _______________________________________________
> > address@hidden
> > http://mail.gnu.org/mailman/listinfo/cons-discuss
> > Cons URL: http://www.dsmit.com/cons/
>
> _______________________________________________
> address@hidden
> http://mail.gnu.org/mailman/listinfo/cons-discuss
> Cons URL: http://www.dsmit.com/cons/




reply via email to

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