Dillo on Cygwin/X
Stephan Götter <[email protected]>
| Newsgroups | gmane.comp.web.dillo.devel |
|---|---|
| Message-ID | <CAEvr0C6mUzF4C0WdORMfRMZ_aAWr+Jtf+giD21s26QNavkpkCw@mail.gmail.com> |
Hello, I just gave Dillo another try on Cygwin/X11 and got it working at least partially with cygwin 1.7.9. You need to compile FLTK using Cygwin libraries and X11: ./configure --enable-cygwin --enable-x11 && make install Because the dpis are installed with ".exe" extension (eg hello.dpi.exe) they aren't found by dpid. The extension is added by automake: http://www.gnu.org/s/hello/manual/automake/EXEEXT.html The Makefiles look like this: bookmarks_PROGRAMS = bookmarks.dpi$(EXEEXT) I don't know how to break automake of doing this for the dpis only, so I modified dpid to use .exe-extension on cygwin (see attached patch). After starting the XServer (/usr/bin/XWin -multiwindow) you can run Dillo. Plain browsing with http using proxy and the bookmark & cookie dpis does work. The other dpi currently fail. - hello-dpi shows the dialog and without pressing any button the resultpage (Answer received: Window was closed). After pressing Yes dpid logs "ERROR: [a_Capi_dpi_send_data] No open connection found" - vsource just crashes - file, ftp and https can't connect: Dpi_get_server_port: can't read server port from dpid. ** ERROR **: dpi.c: can't start dpi daemon Looks like the socket implementation of cygwin still has some quirks which can maybe tracked down. Is there any interest to support this target on a source code basis? Thanks and Greets, Stephan _______________________________________________ Dillo-dev mailing list [email protected] http://lists.auriga.wearlab.de/cgi-bin/mailman/listinfo/dillo-dev
dillo-cygwin-patch.diff
(application/octet-stream, 1 KB)
diff -ru dillo-3.0.1.orig/dpid/dpid.c dillo-3.0.1/dpid/dpid.c
--- dillo-3.0.1.orig/dpid/dpid.c 2011-09-04 23:09:03.000000000 +0200
+++ dillo-3.0.1/dpid/dpid.c 2011-10-07 17:05:11.043456400 +0200
@@ -148,7 +148,7 @@
{
char *dot = strrchr(file_name, '.');
- if (dot && !strcmp(dot, ".dpi"))
+ if (dot && !strcmp(dot, DPI_FILE_EXTENSION))
return DPI_FILE; /* Any filename ending in ".dpi" */
else {
MSG_ERR("get_file_type: Unknown file type for %s\n", file_name);
diff -ru dillo-3.0.1.orig/dpid/dpid_common.h dillo-3.0.1/dpid/dpid_common.h
--- dillo-3.0.1.orig/dpid/dpid_common.h 2011-09-04 23:09:03.000000000 +0200
+++ dillo-3.0.1/dpid/dpid_common.h 2011-10-07 17:05:22.228593600 +0200
@@ -36,6 +36,12 @@
#define CKD_WRITE(fd, msg) ckd_write(fd, msg, __FILE__, __LINE__)
#define CKD_CLOSE(fd) ckd_close(fd, __FILE__, __LINE__)
+/*! Extension for dpis */
+#ifdef __CYGWIN__
+ #define DPI_FILE_EXTENSION ".exe"
+#else
+ #define DPI_FILE_EXTENSION ".dpi"
+#endif
/*! Error codes for dpid */
enum {