Loader for cygwin where asterisk is really a big dll
authorLuigi Rizzo <rizzo@icir.org>
Sat, 17 Nov 2007 09:37:12 +0000 (09:37 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Sat, 17 Nov 2007 09:37:12 +0000 (09:37 +0000)
(something like this is already in 1.2)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89364 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/cygload.c [new file with mode: 0644]

diff --git a/main/cygload.c b/main/cygload.c
new file mode 100644 (file)
index 0000000..fc9c1c2
--- /dev/null
@@ -0,0 +1,20 @@
+/*
+ * Loader for asterisk under windows.
+ * Open the dll, locate main, run.
+ */
+#include <unistd.h>
+#include <dlfcn.h>
+#include <stdio.h>
+
+typedef int (*main_f)(int argc, char *argv[]);
+
+int main(int argc, char *argv[])
+{
+       main_f ast_main = NULL;
+       void *handle = dlopen("asterisk.dll", 0);
+       if (handle)
+               ast_main = (main_f)dlsym(handle, "amain");
+       if (ast_main)
+               return ast_main(argc, argv);
+       fprintf(stderr, "could not load asterisk, %s\n", dlerror());
+}