this repo has no description
1#!/usr/bin/perl
2#
3# Main authors:
4# Christian Schulte <schulte@gecode.org>
5#
6# Copyright:
7# Christian Schulte, 2010
8#
9# This file is part of Gecode, the generic constraint
10# development environment:
11# http://www.gecode.org
12#
13# Permission is hereby granted, free of charge, to any person obtaining
14# a copy of this software and associated documentation files (the
15# "Software"), to deal in the Software without restriction, including
16# without limitation the rights to use, copy, modify, merge, publish,
17# distribute, sublicense, and/or sell copies of the Software, and to
18# permit persons to whom the Software is furnished to do so, subject to
19# the following conditions:
20#
21# The above copyright notice and this permission notice shall be
22# included in all copies or substantial portions of the Software.
23#
24# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31#
32#
33
34$dllsuffix = $ARGV[0];
35$file = $ARGV[1];
36
37if ($dllsuffix =~ /-([0-9]+)-([0-9]+)-([0-9]+)-[rd]-(x[0-9]+)\.dll/) {
38 $revx = $1; $revy = $2; $revz = $3;
39 $arch = $4;
40}
41
42if ($file =~ /(.*)Gecode([A-Za-z]+)-[0-9]+-[0-9]+-[0-9]+-[rd]-x[0-9]+\.dll\.manifest/) {
43 $type = "Modules";
44 $name = $2;
45} elsif ($file =~ /(.*)\/examples\/(.+)\.exe/) {
46 $type = "Examples";
47 $name = $2;
48} elsif ($file =~ /(.*)fzn-gecode\.exe/) {
49 $type = "Tools";
50 $name = "FlatZinc";
51} elsif ($file =~ /(.*)\/test\.exe/) {
52 $type = "Tools";
53 $name = "Test";
54}
55
56if ($arch =~ /x64/) {
57 $arch = "amd64";
58}
59
60if (open (INMANIFEST, "<", $file)) {
61 open (OUTMANIFEST, ">", "$file.tmp") || die "Could not open " . "$file.tmp";
62
63 while ($l = <INMANIFEST>) {
64 print OUTMANIFEST $l;
65 if ($l =~ /\<assembly /) {
66 print OUTMANIFEST " <assemblyIdentity type=\"win32\"\n";
67 print OUTMANIFEST " name=\"Gecode.$type.$name\"\n";
68 print OUTMANIFEST " version=\"$revx.$revy.$revz.0\"\n";
69 print OUTMANIFEST " processorArchitecture=\"$arch\"\n";
70 print OUTMANIFEST " publicKeyToken=\"0000000000000000\"\n";
71 print OUTMANIFEST " />\n";
72 }
73 }
74
75 close INMANIFEST;
76 close OUTMANIFEST;
77
78 system("rm -f \"$file\"");
79 system("mv \"$file.tmp\" \"$file\"");
80}