Mon, 28 Jul 2008 00:52:54 +0000
Update the Perl plugin loader to work with Perl 5.10.
I don't think this will break compiling with older versions (note that Perl
micro versions are not binary compatible).
Update the win32 build to use (and require and upgrade to Perl 5.10).
Fixes #5137
| 3776 | 1 | /* |
| 15884 | 2 | * purple |
|
5913
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
3 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
4 | * File: libc_interface.h |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
5 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
6 | * Copyright (C) 2002-2003, Herman Bloggs <hermanator12002@yahoo.com> |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
7 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
11 | * (at your option) any later version. |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
12 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
16 | * GNU General Public License for more details. |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
17 | * |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
19 | * along with this program; if not, write to the Free Software |
|
19859
71d37b57eff2
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19387
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
5913
4d016c00bb36
[gaim-migrate @ 6345]
Herman Bloggs <herman@bluedigits.com>
parents:
5113
diff
changeset
|
21 | * |
| 3776 | 22 | */ |
| 23 | #ifndef _LIBC_INTERFACE_H_ | |
| 24 | #define _LIBC_INTERFACE_H_ | |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
25 | #include <winsock2.h> |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
26 | #include <ws2tcpip.h> |
|
4714
08b54a8f301f
[gaim-migrate @ 5025]
Herman Bloggs <herman@bluedigits.com>
parents:
4373
diff
changeset
|
27 | #include <io.h> |
| 3776 | 28 | #include <errno.h> |
| 29 | #include "libc_internal.h" | |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10214
diff
changeset
|
30 | #include <glib.h> |
| 3776 | 31 | |
|
22686
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
32 | #ifdef __cplusplus |
|
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
33 | extern "C" { |
|
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
34 | #endif /* __cplusplus */ |
|
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
35 | |
|
18553
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
36 | #ifdef _MSC_VER |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
37 | #define S_IRUSR S_IREAD |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
38 | #define S_IWUSR S_IWRITE |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
39 | #define S_IXUSR S_IEXEC |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
40 | |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
41 | #define S_ISDIR(m) (((m)&S_IFDIR)==S_IFDIR) |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
42 | |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
43 | #define F_OK 0 |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
44 | #endif |
|
a65fadc62b15
Fix some S_ISDIR calls to work with Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
15936
diff
changeset
|
45 | |
| 3776 | 46 | /* sys/socket.h */ |
|
22812
cf92ffc5949c
Patch from vladb to remove a C++ protected word ("namespace") from win32 libpurple code. Fixes #5471
Daniel Atallah <datallah@pidgin.im>
parents:
22686
diff
changeset
|
47 | #define socket( domain, style, protocol ) \ |
|
cf92ffc5949c
Patch from vladb to remove a C++ protected word ("namespace") from win32 libpurple code. Fixes #5471
Daniel Atallah <datallah@pidgin.im>
parents:
22686
diff
changeset
|
48 | wpurple_socket( domain, style, protocol ) |
| 3776 | 49 | |
| 50 | #define connect( socket, addr, length ) \ | |
| 15884 | 51 | wpurple_connect( socket, addr, length ) |
| 3776 | 52 | |
|
18554
c68c8e6e2c7a
Fix up some macros for Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
18553
diff
changeset
|
53 | #define getsockopt( socket, level, optname, optval, optlenptr ) \ |
|
c68c8e6e2c7a
Fix up some macros for Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
18553
diff
changeset
|
54 | wpurple_getsockopt( socket, level, optname, optval, optlenptr ) |
| 3776 | 55 | |
|
18554
c68c8e6e2c7a
Fix up some macros for Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
18553
diff
changeset
|
56 | #define setsockopt( socket, level, optname, optval, optlen ) \ |
|
c68c8e6e2c7a
Fix up some macros for Visual Studio. --rlaager
Nick Hebner <hebnern@gmail.com>
parents:
18553
diff
changeset
|
57 | wpurple_setsockopt( socket, level, optname, optval, optlen ) |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
58 | |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
59 | #define getsockname( socket, addr, lenptr ) \ |
| 15884 | 60 | wpurple_getsockname( socket, addr, lenptr ) |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
61 | |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
62 | #define bind( socket, addr, length ) \ |
| 15884 | 63 | wpurple_bind( socket, addr, length ) |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
64 | |
|
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
65 | #define listen( socket, n ) \ |
| 15884 | 66 | wpurple_listen( socket, n ) |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
67 | |
|
11431
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
68 | #define sendto(socket, buf, len, flags, to, tolen) \ |
| 15884 | 69 | wpurple_sendto(socket, buf, len, flags, to, tolen) |
|
11431
60971f504319
[gaim-migrate @ 13668]
Daniel Atallah <datallah@pidgin.im>
parents:
10601
diff
changeset
|
70 | |
|
15936
1a5a326484f3
move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
71 | #define recv(fd, buf, len, flags) \ |
|
1a5a326484f3
move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
72 | wpurple_recv(fd, buf, len, flags) |
|
1a5a326484f3
move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
73 | |
|
1a5a326484f3
move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
74 | #define send(socket, buf, buflen, flags) \ |
|
1a5a326484f3
move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
75 | wpurple_send(socket, buf, buflen, flags) |
|
1a5a326484f3
move internal stuff to libc_internal.h to fix warnings
Daniel Atallah <datallah@pidgin.im>
parents:
15884
diff
changeset
|
76 | |
| 3776 | 77 | /* sys/ioctl.h */ |
| 78 | #define ioctl( fd, command, val ) \ | |
| 15884 | 79 | wpurple_ioctl( fd, command, val ) |
| 3776 | 80 | |
| 81 | /* fcntl.h */ | |
|
20239
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
82 | #define fcntl( fd, command, ... ) \ |
|
ae122f419324
applied changes from 2762c6075c0dc52a96098c5478c5bf68cfd890a3
Luke Schierer <lschiere@pidgin.im>
parents:
19859
diff
changeset
|
83 | wpurple_fcntl( fd, command, ##__VA_ARGS__ ) |
| 3776 | 84 | |
| 85 | /* arpa/inet.h */ | |
| 86 | #define inet_aton( name, addr ) \ | |
| 15884 | 87 | wpurple_inet_aton( name, addr ) |
| 3776 | 88 | |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
89 | #define inet_ntop( af, src, dst, cnt ) \ |
| 15884 | 90 | wpurple_inet_ntop( af, src, dst, cnt ) |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
91 | |
| 3776 | 92 | /* netdb.h */ |
| 93 | #define gethostbyname( name ) \ | |
| 15884 | 94 | wpurple_gethostbyname( name ) |
| 3776 | 95 | |
|
5084
21d2e7ec99ce
[gaim-migrate @ 5439]
Herman Bloggs <herman@bluedigits.com>
parents:
4905
diff
changeset
|
96 | /* netinet/in.h */ |
|
21d2e7ec99ce
[gaim-migrate @ 5439]
Herman Bloggs <herman@bluedigits.com>
parents:
4905
diff
changeset
|
97 | #define ntohl( netlong ) \ |
|
7242
d91a60e1095c
[gaim-migrate @ 7817]
Herman Bloggs <herman@bluedigits.com>
parents:
5913
diff
changeset
|
98 | (unsigned int)ntohl( netlong ) |
|
5084
21d2e7ec99ce
[gaim-migrate @ 5439]
Herman Bloggs <herman@bluedigits.com>
parents:
4905
diff
changeset
|
99 | |
| 3776 | 100 | /* string.h */ |
| 101 | #define hstrerror( herror ) \ | |
| 15884 | 102 | wpurple_strerror( errno ) |
| 3776 | 103 | #define strerror( errornum ) \ |
| 15884 | 104 | wpurple_strerror( errornum ) |
|
22686
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
105 | #define g_strerror( errornum ) \ |
|
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
106 | wpurple_strerror( errornum ) |
| 3776 | 107 | |
| 108 | /* unistd.h */ | |
| 109 | #define read( fd, buf, buflen ) \ | |
| 15884 | 110 | wpurple_read( fd, buf, buflen ) |
| 3776 | 111 | |
| 112 | #define write( socket, buf, buflen ) \ | |
| 15884 | 113 | wpurple_write( socket, buf, buflen ) |
| 3776 | 114 | |
| 115 | #define close( fd ) \ | |
| 15884 | 116 | wpurple_close( fd ) |
| 3776 | 117 | |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
118 | #if !GLIB_CHECK_VERSION(2,8,0) |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
119 | #define g_access( filename, mode) \ |
| 15884 | 120 | wpurple_g_access( filename, mode ) |
|
14974
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
121 | #endif |
|
8180f0f2e20c
[gaim-migrate @ 17684]
Daniel Atallah <datallah@pidgin.im>
parents:
14286
diff
changeset
|
122 | |
|
9570
8b3f38824cd3
[gaim-migrate @ 10413]
Herman Bloggs <herman@bluedigits.com>
parents:
8563
diff
changeset
|
123 | #ifndef sleep |
| 3776 | 124 | #define sleep(x) Sleep((x)*1000) |
|
9570
8b3f38824cd3
[gaim-migrate @ 10413]
Herman Bloggs <herman@bluedigits.com>
parents:
8563
diff
changeset
|
125 | #endif |
| 3776 | 126 | |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
127 | #define gethostname( name, size ) \ |
| 15884 | 128 | wpurple_gethostname( name, size ) |
|
8244
014ff38feea9
[gaim-migrate @ 8967]
Herman Bloggs <herman@bluedigits.com>
parents:
7242
diff
changeset
|
129 | |
|
20294
5af4a755ab36
applied changes from b8fa91b64c41d38520d7944d70d627007e271158
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20239
diff
changeset
|
130 | #define fsync(fd) _commit(fd) |
|
5af4a755ab36
applied changes from b8fa91b64c41d38520d7944d70d627007e271158
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20239
diff
changeset
|
131 | |
| 3776 | 132 | /* sys/time.h */ |
| 133 | #define gettimeofday( timeval, timezone ) \ | |
| 15884 | 134 | wpurple_gettimeofday( timeval, timezone ) |
| 3776 | 135 | |
| 136 | /* stdio.h */ | |
| 137 | #define snprintf _snprintf | |
| 138 | #define vsnprintf _vsnprintf | |
| 139 | ||
|
4905
1464e05926f0
[gaim-migrate @ 5239]
Herman Bloggs <herman@bluedigits.com>
parents:
4714
diff
changeset
|
140 | #define rename( oldname, newname ) \ |
| 15884 | 141 | wpurple_rename( oldname, newname ) |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
142 | |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
143 | #if GLIB_CHECK_VERSION(2,6,0) |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
144 | #ifdef g_rename |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
145 | # undef g_rename |
|
10589
4e10236e06d4
[gaim-migrate @ 11994]
Daniel Atallah <datallah@pidgin.im>
parents:
10214
diff
changeset
|
146 | #endif |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
147 | /* This is necessary because we want rename on win32 to be able to overwrite an existing file, it is done in internal.h if GLib < 2.6*/ |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
148 | #define g_rename(oldname, newname) \ |
| 15884 | 149 | wpurple_rename(oldname, newname) |
|
10601
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
150 | #endif |
|
84245a6eba0e
[gaim-migrate @ 12028]
Daniel Atallah <datallah@pidgin.im>
parents:
10589
diff
changeset
|
151 | |
| 3776 | 152 | /* sys/stat.h */ |
|
4373
fb2ae2f5edd3
[gaim-migrate @ 4639]
Herman Bloggs <herman@bluedigits.com>
parents:
4193
diff
changeset
|
153 | #define fchmod(a,b) |
| 3776 | 154 | |
|
5113
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
155 | /* time.h */ |
|
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
156 | #define localtime_r( time, resultp ) \ |
| 15884 | 157 | wpurple_localtime_r( time, resultp ) |
|
5113
8e545faf3d80
[gaim-migrate @ 5476]
Herman Bloggs <herman@bluedigits.com>
parents:
5084
diff
changeset
|
158 | |
| 15884 | 159 | /* helper for purple_utf8_strftime() by way of purple_internal_strftime() in src/util.c */ |
| 160 | const char *wpurple_get_timezone_abbreviation(const struct tm *tm); | |
|
13334
d0d48650f114
[gaim-migrate @ 15703]
Richard Laager <rlaager@pidgin.im>
parents:
12749
diff
changeset
|
161 | |
|
22686
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
162 | #ifdef __cplusplus |
|
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
163 | } |
|
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
164 | #endif /* __cplusplus */ |
|
d41016d7812d
Add extern "C" wrappers to win32 headers. There is also a change here that I thought I committed earlier that should provide better error messages for winsock errors.
Daniel Atallah <datallah@pidgin.im>
parents:
20294
diff
changeset
|
165 | |
| 3776 | 166 | #endif /* _LIBC_INTERFACE_H_ */ |