this repo has no description
at develop 2.7 kB view raw
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}