summaryrefslogtreecommitdiff
path: root/InstallShield/decyg.pl
diff options
context:
space:
mode:
Diffstat (limited to 'InstallShield/decyg.pl')
-rw-r--r--InstallShield/decyg.pl21
1 files changed, 21 insertions, 0 deletions
diff --git a/InstallShield/decyg.pl b/InstallShield/decyg.pl
new file mode 100644
index 0000000000..7bcfd7e285
--- /dev/null
+++ b/InstallShield/decyg.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+# Patch a DLL or EXE to change the name of the Cygwin DLL it uses or is, so that we can
+# include our own Cygwin DLL that doesn't interfere with the rest of the system, for great justice
+
+@ARGV = ('-') unless @ARGV;
+@FILES = @ARGV;
+while ($ARGV = shift) {
+ $out = $ARGV . ".new";
+ open(IN, $ARGV) or warn "Can't open $ARGV: $!\n";
+ open(OUT, ">$out") or warn "Can't open $out: $!\n";
+ binmode IN;
+ while (<IN>) {
+ s/cygwin1/aybabtu/g;
+ s/c\000y\000g\000w\000i\000n\0001/a\000y\000b\000a\000b\000t\000u/g;
+ print OUT;
+ }
+ close IN;
+ close OUT;
+ unlink $ARGV;
+ rename $out, $ARGV;
+}