summaryrefslogtreecommitdiff
path: root/libsoup-zip.in
diff options
context:
space:
mode:
authorTor Lillqvist <tml@novell.com>2005-04-19 06:21:32 +0000
committerTor Lillqvist <tml@src.gnome.org>2005-04-19 06:21:32 +0000
commita18fd89f6c9db048bdee8e9f8ccb506d0c7152d7 (patch)
tree632fbc7d0b5d57be5f3264dc7951900d8bcc85b5 /libsoup-zip.in
parentc1c9e22042e1a4f8bfbdbb85ce91b6bcab00af52 (diff)
downloadlibsoup-a18fd89f6c9db048bdee8e9f8ccb506d0c7152d7.tar.gz
Call AC_LIBTOOL_WIN32_DLL. Check for Win32, set Automake conditional
2005-04-18 Tor Lillqvist <tml@novell.com> * configure.in: Call AC_LIBTOOL_WIN32_DLL. Check for Win32, set Automake conditional OS_WIN32. Pre-cache information that we do have getaddrinfo(), getnameinfo(), and IPv6 on Win32. (The tests wouldn't notice as they don't include the necessary headers or link with -lws2_32. Easiest to just pre-cache it.) * libsoup-zip.in: New file, to build zipfile-based distribution of libsoup for Win32. * Makefile.am (EXTRA_DIST) * configure.in (AC_OUTPUT): Add libsoup-zip(.in). * libsoup/Makefile.am: Use -no-undefined on Win32. Link with WinSock library -lws2_32. * libsoup/soup-portability.h: New file. On Unix it includes the traditional BSD socket etc headers. On Win32 it includes winsock2.h and ws2tcpip.h. * libsoup/*.c * libsoup/*.h: Correspondingly, don't include the BSD socket API headers directly. * libsoup/soup-address.h * libsoup/soup-dns.h: Include soup-portability.h * libsoup/soup-address.c (soup_address_class_init): This function should get called before libsoup uses the WinSock API, so this is a good place to call WSAStartup(). * libsoup/soup-auth-digest.c (get_protection_space): Use g_strsplit() instead of the relatively unportable strtok_r(). * libsoup/soun-dns.c: Remove unused headers. Implement inet_pton() and inet_ntop() on Win32 using WSAStringToAddress() and WSAAddressToString(). * libsoup/soup-socket.c (SOUP_CLOSE_SOCKET, SOUP_IS_SOCKET_ERROR, SOUP_IS_INVALID_SOCKET, SOUP_IS_CONNECT_STATUS_INPROGRESS): Portability macros. (soup_socket_class_init): Call soup_address_get_type() to make sure WSAStartup() gets called (through soup_address_class_init()). (update_fdflags): Use ioctlsocket(FIONBIO) on Win32. (soup_socket_write): Conditionalize SIGPIPE use. * tests/get.c: mkdir() is different in Microsoft's C library. * tests/simple-httpd.c: Rename TRY_AGAIN label to AGAIN to avoid some clash with winsock2.h (which includes windows.h). The Win32 headers pollute the namespace wildly.
Diffstat (limited to 'libsoup-zip.in')
-rwxr-xr-xlibsoup-zip.in23
1 files changed, 23 insertions, 0 deletions
diff --git a/libsoup-zip.in b/libsoup-zip.in
new file mode 100755
index 00000000..86f7c501
--- /dev/null
+++ b/libsoup-zip.in
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# Build zipfiles for libsoup on Win32. Separate runtime and developer
+# ones. After running make install, run this.
+
+ZIP=/tmp/libsoup-@VERSION@.zip
+DEVZIP=/tmp/libsoup-dev-@VERSION@.zip
+
+cd @prefix@
+rm $ZIP
+
+current_minus_age=`expr @SOUP_CURRENT@ - @SOUP_AGE@`
+
+zip $ZIP -@ <<EOF
+bin/libsoup-2.4-$current_minus_age.dll
+EOF
+
+rm $DEVZIP
+zip -r $DEVZIP -@ <<EOF
+include/libsoup-2.4
+lib/libsoup-2.4.dll.a
+lib/pkgconfig/libsoup-2.4.pc
+EOF