summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile5
-rw-r--r--cmdwrap.c17
-rw-r--r--inst.nsi1
3 files changed, 23 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 0c443a1d..6cb88e3b 100644
--- a/Makefile
+++ b/Makefile
@@ -468,3 +468,8 @@ conftest.clean:
$(V)rm -f conftest$(EXE) conftest.[co] \
conftest2$(EXE) conftest[12].[oc] \
conftest.err conftest.syms
+
+# rule for building the Cygwin /bin/sh -> cmd.exe wrapper
+
+sh.exe: cmdwrap.c
+ $(CC) -O -o $@ $^
diff --git a/cmdwrap.c b/cmdwrap.c
new file mode 100644
index 00000000..51e44b07
--- /dev/null
+++ b/cmdwrap.c
@@ -0,0 +1,17 @@
+#include <process.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main(int argc, char **argv)
+{
+ if (argc != 3)
+ return EXIT_FAILURE;
+
+ if (strcmp(argv[1], "-c") != 0)
+ return EXIT_FAILURE;
+
+ argv[0] = "c:/Windows/System32/cmd.exe";
+ argv[1] = "/c";
+
+ return spawnvp(_P_WAIT, argv[0], (const char * const *) argv);
+}
diff --git a/inst.nsi b/inst.nsi
index f89facd7..41a9691d 100644
--- a/inst.nsi
+++ b/inst.nsi
@@ -47,6 +47,7 @@ section "TXR"
SetOutPath $INSTDIR\txr\bin
File txr.exe
File txr-win.exe
+ File sh.exe
File c:\cygwin\bin\cygwin1.dll
File c:\cygwin\bin\cyggcc_s-1.dll
SetOutPath $INSTDIR\txr\doc