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: Greg Spencer
Subject: Re: Installing 3rd party files w/o knowing all dependencies
Date: Wed, 11 Oct 2000 16:11:14 -0600

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/




reply via email to

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