Magellan Linux

Annotation of /trunk/bmpx/patches/bmpx-0.40.13-libsoup24.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 541 - (hide annotations) (download)
Wed Mar 26 23:42:10 2008 UTC (16 years, 2 months ago) by niro
File size: 19590 byte(s)
-build with libsoup-2.4

1 niro 541 diff -up bmpx-0.40.13/configure.ac.libsoup24 bmpx-0.40.13/configure.ac
2     --- bmpx-0.40.13/configure.ac.libsoup24 2007-10-18 19:17:17.000000000 +0200
3     +++ bmpx-0.40.13/configure.ac 2008-02-15 20:26:58.000000000 +0100
4     @@ -240,8 +240,7 @@ AC_ARG_WITH([pkgconfig-dir],
5     AC_SUBST([pkgconfigdir])
6    
7     # libsoup
8     -PKG_CHECK_MODULES([SOUP], [libsoup-2.2 >= 2.2.100])
9     -BMP_CHECK_SOUP_EXTERN_C
10     +PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= 2.3.0.1])
11    
12     # sqlite
13     PKG_CHECK_MODULES([SQLITE], [sqlite3 >= 3.3])
14     diff -up bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc.libsoup24 bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc
15     --- bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc.libsoup24 2007-10-18 19:17:06.000000000 +0200
16     +++ bmpx-0.40.13/sentinel/beep-media-player-2-sentinel.cc 2008-02-15 20:26:58.000000000 +0100
17     @@ -68,13 +68,7 @@
18     #include <bmp/dbus.hh>
19     #include <src/paths.hh>
20    
21     -#ifndef LIBSOUP_HAS_EXTERN_C
22     -G_BEGIN_DECLS
23     -#endif
24     #include <libsoup/soup.h>
25     -#ifndef LIBSOUP_HAS_EXTERN_C
26     -G_END_DECLS
27     -#endif
28    
29     #define SERVER_NAME "beep-media-player.org"
30    
31     diff -up bmpx-0.40.13/src/minisoup.hh.libsoup24 bmpx-0.40.13/src/minisoup.hh
32     --- bmpx-0.40.13/src/minisoup.hh.libsoup24 2007-10-18 19:17:08.000000000 +0200
33     +++ bmpx-0.40.13/src/minisoup.hh 2008-02-15 20:26:58.000000000 +0100
34     @@ -33,13 +33,7 @@
35     #include <iostream>
36     #include <fstream>
37    
38     -#ifndef LIBSOUP_HAS_EXTERN_C
39     -G_BEGIN_DECLS
40     -# include <libsoup/soup.h>
41     -G_END_DECLS
42     -#else
43     -# include <libsoup/soup.h>
44     -#endif // !LIBSOUP_HAS_EXTERN_C
45     +#include <libsoup/soup.h>
46    
47     namespace Bmp
48     {
49     @@ -111,7 +105,7 @@ namespace Bmp
50     restarted (SoupMessage* /*message*/, gpointer /*data*/);
51    
52     static void
53     - got_chunk (SoupMessage* /*message*/, gpointer /*data*/);
54     + got_chunk (SoupMessage* /*message*/, SoupBuffer* /*chunk*/, gpointer /*data*/);
55    
56     static void
57     got_content_length (SoupMessage* /*message*/, gpointer /*data*/);
58     @@ -161,7 +155,7 @@ namespace Bmp
59     restarted (SoupMessage* /*message*/, gpointer /*data*/);
60    
61     static void
62     - got_answer (SoupMessage* /*message*/, gpointer /*data*/);
63     + got_answer (SoupSession* /*session*/, SoupMessage* /*message*/, gpointer /*data*/);
64     };
65    
66    
67     @@ -224,10 +218,10 @@ namespace Bmp
68     restarted (SoupMessage* /*message*/, gpointer /*data*/);
69    
70     static void
71     - got_answer (SoupMessage* /*message*/, gpointer /*data*/);
72     + got_answer (SoupSession* /*session*/, SoupMessage* /*message*/, gpointer /*data*/);
73    
74     static void
75     - got_chunk (SoupMessage* /*message*/, gpointer /*data*/);
76     + got_chunk (SoupMessage* /*message*/, SoupBuffer* /*chunk*/, gpointer /*data*/);
77    
78     static void
79     got_content_length (SoupMessage* /*message*/, gpointer /*data*/);
80     diff -up bmpx-0.40.13/src/minisoup.cc.libsoup24 bmpx-0.40.13/src/minisoup.cc
81     --- bmpx-0.40.13/src/minisoup.cc.libsoup24 2007-10-18 19:17:08.000000000 +0200
82     +++ bmpx-0.40.13/src/minisoup.cc 2008-02-15 20:26:58.000000000 +0100
83     @@ -60,8 +60,8 @@ namespace Bmp
84     {
85     g_signal_connect (G_OBJECT (m_message), "got-chunk", G_CALLBACK (got_chunk), this);
86     g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
87     - soup_message_add_header_handler (m_message, "content-length", SOUP_HANDLER_PRE_BODY,
88     - SoupMessageCallbackFn (got_content_length), this);
89     + soup_message_add_header_handler (m_message, "got-headers", "content-length",
90     + G_CALLBACK (got_content_length), this);
91     return soup_session_send_message (m_session, m_message);
92     }
93    
94     @@ -75,26 +75,26 @@ namespace Bmp
95     RequestSync::get_data ()
96     {
97     std::string buffer;
98     - buffer.append (m_message->response.body, m_message->response.length);
99     + buffer.append (m_message->response_body->data, m_message->response_body->length);
100     return buffer;
101     }
102    
103     void
104     RequestSync::get_data (std::string & buffer)
105     {
106     - buffer.append (m_message->response.body, m_message->response.length);
107     + buffer.append (m_message->response_body->data, m_message->response_body->length);
108     }
109    
110     char const*
111     RequestSync::get_data_raw ()
112     {
113     - return m_message->response.body;
114     + return m_message->response_body->data;
115     }
116    
117     guint
118     RequestSync::get_data_size ()
119     {
120     - return m_message->response.length;
121     + return m_message->response_body->length;
122     }
123    
124    
125     @@ -102,15 +102,15 @@ namespace Bmp
126     RequestSync::add_header (std::string const& name,
127     std::string const& value)
128     {
129     - soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());
130     + soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());
131     }
132    
133     void
134     RequestSync::add_request (std::string const& type,
135     std::string const& request)
136     {
137     - soup_message_set_request (m_message, type.c_str(), SOUP_BUFFER_SYSTEM_OWNED /* we can't rely on the std::string not being destroyed */,
138     - g_strdup (const_cast<char*>(request.c_str())), strlen (request.c_str()));
139     + soup_message_set_request (m_message, type.c_str(), SOUP_MEMORY_COPY,
140     + request.c_str(), strlen (request.c_str()));
141     m_post = true;
142     }
143    
144     @@ -125,11 +125,11 @@ namespace Bmp
145     }
146    
147     void
148     - RequestSync::got_chunk (SoupMessage* message, gpointer data)
149     + RequestSync::got_chunk (SoupMessage* message, SoupBuffer* chunk, gpointer data)
150     {
151     RequestSync & request = (*(reinterpret_cast<RequestSync*>(data)));
152    
153     - request.m_read += message->response.length;
154     + request.m_read += chunk->length;
155     double percent = (double (request.m_read) / double (request.m_size));
156     if(percent >= 0. && percent <= 1.)
157     {
158     @@ -141,7 +141,7 @@ namespace Bmp
159     RequestSync::got_content_length (SoupMessage* message, gpointer data)
160     {
161     RequestSync & request = (*(reinterpret_cast<RequestSync*>(data)));
162     - request.m_size = g_ascii_strtoull (soup_message_get_header (message->response_headers, "content-length"), NULL, 10);
163     + request.m_size = soup_message_headers_get_content_length (message->response_headers);
164     }
165    
166    
167     @@ -180,17 +180,17 @@ namespace Bmp
168     return m_message->status_code;
169     }
170    
171     - guint
172     - Request::message_status ()
173     - {
174     - return m_message->status;
175     - }
176     + //guint
177     + //Request::message_status ()
178     + //{
179     + // return m_message->status;
180     + //}
181    
182     void
183     Request::run ()
184     {
185     g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
186     - soup_session_queue_message (m_session, m_message, SoupMessageCallbackFn (got_answer), this);
187     + soup_session_queue_message (m_session, m_message, SoupSessionCallback (got_answer), this);
188     }
189    
190     void
191     @@ -199,9 +199,6 @@ namespace Bmp
192     if (G_IS_OBJECT(m_session))
193     {
194     soup_session_abort (m_session);
195     - //soup_message_set_status (m_message, SOUP_STATUS_CANCELLED);
196     - //soup_session_cancel_message (m_session, m_message);
197     - //m_message = 0;
198     }
199     }
200    
201     @@ -210,15 +207,15 @@ namespace Bmp
202     Request::add_header (std::string const& name,
203     std::string const& value)
204     {
205     - soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());
206     + soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());
207     }
208    
209     void
210     Request::add_request (std::string const& type,
211     std::string const& request)
212     {
213     - soup_message_set_request (m_message, type.c_str(), SOUP_BUFFER_SYSTEM_OWNED /* we can't rely on the std::string not being destroyed */,
214     - g_strdup (const_cast<char*>(request.c_str())), strlen (request.c_str()));
215     + soup_message_set_request (m_message, type.c_str(), SOUP_MEMORY_COPY,
216     + request.c_str(), strlen (request.c_str()));
217     m_post = true;
218     }
219    
220     @@ -230,7 +227,7 @@ namespace Bmp
221     }
222    
223     void
224     - Request::got_answer (SoupMessage* message, gpointer data)
225     + Request::got_answer (SoupSession* session, SoupMessage* message, gpointer data)
226     {
227     Request & request = (*(reinterpret_cast<Request*>(data)));
228    
229     @@ -241,15 +238,12 @@ namespace Bmp
230     if( block )
231     return;
232    
233     - if( request.m_message->status != SOUP_MESSAGE_STATUS_FINISHED )
234     - return;
235     -
236     //if( request.m_message->status_code == SOUP_STATUS_CANCELLED )
237     //return;
238    
239     request.Signals.Callback.emit(
240     - request.m_message->response.body,
241     - request.m_message->response.length,
242     + request.m_message->response_body->data,
243     + request.m_message->response_body->length,
244     request.m_message->status_code
245     );
246     }
247     @@ -269,6 +263,7 @@ namespace Bmp
248    
249     m_session = soup_session_async_new ();
250     m_message = soup_message_new ("GET", m_url.c_str());
251     + soup_message_set_flags (m_message, SOUP_MESSAGE_OVERWRITE_CHUNKS);
252     }
253    
254     Glib::RefPtr<RequestFile>
255     @@ -279,9 +274,9 @@ namespace Bmp
256    
257     RequestFile::~RequestFile ()
258     {
259     - if (G_IS_OBJECT(m_message) && m_message->status == SOUP_MESSAGE_STATUS_RUNNING)
260     + if (m_file.is_open())
261     {
262     - cancel ();
263     + cancel ();
264     Signals.Aborted.emit ((boost::format (_("Download of file '%s' was cancelled prematurely!")) % filename_to_utf8 (m_filename).c_str()).str());
265     }
266     g_object_unref (m_session);
267     @@ -316,9 +311,9 @@ namespace Bmp
268     {
269     g_signal_connect (G_OBJECT (m_message), "got-chunk", G_CALLBACK (got_chunk), this);
270     g_signal_connect (G_OBJECT (m_message), "restarted", G_CALLBACK (restarted), this);
271     - soup_message_add_header_handler (m_message, "content-length", SOUP_HANDLER_PRE_BODY,
272     - SoupMessageCallbackFn (got_content_length), this);
273     - soup_session_queue_message (m_session, m_message, SoupMessageCallbackFn (got_answer), this);
274     + soup_message_add_header_handler (m_message, "got-headers", "content-length",
275     + G_CALLBACK (got_content_length), this);
276     + soup_session_queue_message (m_session, m_message, SoupSessionCallback (got_answer), this);
277     fileOpen ();
278     }
279    
280     @@ -327,8 +322,7 @@ namespace Bmp
281     {
282     if (G_IS_OBJECT(m_message))
283     {
284     - soup_message_set_status (m_message, SOUP_STATUS_CANCELLED);
285     - soup_session_cancel_message (m_session, m_message);
286     + soup_session_cancel_message (m_session, m_message, SOUP_STATUS_CANCELLED);
287     m_message = 0;
288     }
289    
290     @@ -340,7 +334,7 @@ namespace Bmp
291     RequestFile::add_header (std::string const& name,
292     std::string const& value)
293     {
294     - soup_message_add_header (m_message->request_headers, name.c_str(), value.c_str());
295     + soup_message_headers_append (m_message->request_headers, name.c_str(), value.c_str());
296     }
297    
298    
299     @@ -356,7 +350,7 @@ namespace Bmp
300     }
301    
302     void
303     - RequestFile::got_answer (SoupMessage* message, gpointer data)
304     + RequestFile::got_answer (SoupSession* session, SoupMessage* message, gpointer data)
305     {
306     RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
307    
308     @@ -368,25 +362,22 @@ namespace Bmp
309     return;
310     }
311    
312     - if( request.m_message->status != SOUP_MESSAGE_STATUS_FINISHED )
313     - return;
314     -
315     if( request.m_message->status_code == SOUP_STATUS_CANCELLED)
316     return;
317    
318     - debug("soup","%s: status: %d, status_code: %d", G_STRLOC, request.m_message->status, request.m_message->status_code);
319     + debug("soup","%s: status_code: %d", G_STRLOC, request.m_message->status_code);
320    
321     request.fileClose ();
322     request.Signals.Done.emit (request.m_filename);
323     }
324    
325     void
326     - RequestFile::got_chunk (SoupMessage* message, gpointer data)
327     + RequestFile::got_chunk (SoupMessage* message, SoupBuffer* chunk, gpointer data)
328     {
329     RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
330    
331     - request.m_file.write (message->response.body, message->response.length);
332     - request.m_read += message->response.length;
333     + request.m_file.write (chunk->data, chunk->length);
334     + request.m_read += chunk->length;
335    
336     double percent = (double (request.m_read) / double (request.m_size));
337     if(percent >= 0. && percent <= 1.)
338     @@ -399,7 +390,7 @@ namespace Bmp
339     RequestFile::got_content_length (SoupMessage* message, gpointer data)
340     {
341     RequestFile & request = (*(reinterpret_cast<RequestFile*>(data)));
342     - request.m_size = g_ascii_strtoull (soup_message_get_header (message->response_headers, "content-length"), NULL, 10);
343     + request.m_size = soup_message_headers_get_content_length (message->response_headers);
344     }
345     }
346     }
347     diff -up bmpx-0.40.13/README.libsoup24 bmpx-0.40.13/README
348     --- bmpx-0.40.13/README.libsoup24 2007-10-18 19:17:17.000000000 +0200
349     +++ bmpx-0.40.13/README 2008-02-15 20:26:58.000000000 +0100
350     @@ -16,7 +16,7 @@ Requirements:
351     * libglademm-2.4 >= 2.6.2
352     * libsexymm >= 0.1.9
353     * librsvg >= 2.14.0
354     - * libsoup >= 2.2.100
355     + * libsoup >= 2.3.0.1
356     * libofa >= 0.9.3
357     * sqlite >= 3.3.11
358     * libxml >= 2.6.1
359     diff -up bmpx-0.40.13/configure.libsoup24 bmpx-0.40.13/configure
360     --- bmpx-0.40.13/configure.libsoup24 2008-02-15 20:27:13.000000000 +0100
361     +++ bmpx-0.40.13/configure 2008-02-15 20:27:26.000000000 +0100
362     @@ -31519,12 +31519,12 @@ echo $ECHO_N "checking for SOUP... $ECHO
363    
364     if test -n "$PKG_CONFIG"; then
365     if test -n "$PKG_CONFIG" && \
366     - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsoup-2.2 >= 2.2.100\"") >&5
367     - ($PKG_CONFIG --exists --print-errors "libsoup-2.2 >= 2.2.100") 2>&5
368     + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsoup-2.4 >= 2.3.0.1\"") >&5
369     + ($PKG_CONFIG --exists --print-errors "libsoup-2.4 >= 2.3.0.1") 2>&5
370     ac_status=$?
371     echo "$as_me:$LINENO: \$? = $ac_status" >&5
372     (exit $ac_status); }; then
373     - pkg_cv_SOUP_CFLAGS=`$PKG_CONFIG --cflags "libsoup-2.2 >= 2.2.100" 2>/dev/null`
374     + pkg_cv_SOUP_CFLAGS=`$PKG_CONFIG --cflags "libsoup-2.4 >= 2.3.0.1" 2>/dev/null`
375     else
376     pkg_failed=yes
377     fi
378     @@ -31533,12 +31533,12 @@ else
379     fi
380     if test -n "$PKG_CONFIG"; then
381     if test -n "$PKG_CONFIG" && \
382     - { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsoup-2.2 >= 2.2.100\"") >&5
383     - ($PKG_CONFIG --exists --print-errors "libsoup-2.2 >= 2.2.100") 2>&5
384     + { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsoup-2.4 >= 2.3.0.1\"") >&5
385     + ($PKG_CONFIG --exists --print-errors "libsoup-2.4 >= 2.3.0.1") 2>&5
386     ac_status=$?
387     echo "$as_me:$LINENO: \$? = $ac_status" >&5
388     (exit $ac_status); }; then
389     - pkg_cv_SOUP_LIBS=`$PKG_CONFIG --libs "libsoup-2.2 >= 2.2.100" 2>/dev/null`
390     + pkg_cv_SOUP_LIBS=`$PKG_CONFIG --libs "libsoup-2.4 >= 2.3.0.1" 2>/dev/null`
391     else
392     pkg_failed=yes
393     fi
394     @@ -31547,18 +31547,18 @@ else
395     fi
396    
397     if test $pkg_failed = yes; then
398     - SOUP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libsoup-2.2 >= 2.2.100"`
399     + SOUP_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libsoup-2.4 >= 2.3.0.1"`
400     # Put the nasty error message in config.log where it belongs
401     echo "$SOUP_PKG_ERRORS" 1>&5
402    
403     - { { echo "$as_me:$LINENO: error: Package requirements (libsoup-2.2 >= 2.2.100) were not met.
404     + { { echo "$as_me:$LINENO: error: Package requirements (libsoup-2.4 >= 2.3.0.1) were not met.
405     Consider adjusting the PKG_CONFIG_PATH environment variable if you
406     installed software in a non-standard prefix.
407    
408     Alternatively you may set the SOUP_CFLAGS and SOUP_LIBS environment variables
409     to avoid the need to call pkg-config. See the pkg-config man page for
410     more details." >&5
411     -echo "$as_me: error: Package requirements (libsoup-2.2 >= 2.2.100) were not met.
412     +echo "$as_me: error: Package requirements (libsoup-2.4 >= 2.3.0.1) were not met.
413     Consider adjusting the PKG_CONFIG_PATH environment variable if you
414     installed software in a non-standard prefix.
415    
416     @@ -31596,90 +31596,6 @@ echo "${ECHO_T}yes" >&6; }
417     :
418     fi
419    
420     - CPPFLAGS_SAVED="$CPPFLAGS"
421     - CPPFLAGS="$CPPFLAGS $SOUP_CFLAGS"
422     - export CPPFLAGS
423     -
424     - LDFLAGS_SAVED="$LDFLAGS"
425     - LDFLAGS="$LDFLAGS $SOUP_LDFLAGS"
426     - export LDFLAGS
427     -
428     - { echo "$as_me:$LINENO: checking for extern in libsoup headers" >&5
429     -echo $ECHO_N "checking for extern in libsoup headers... $ECHO_C" >&6; }
430     -
431     - ac_ext=cpp
432     -ac_cpp='$CXXCPP $CPPFLAGS'
433     -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
434     -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
435     -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
436     -
437     - cat >conftest.$ac_ext <<_ACEOF
438     -/* confdefs.h. */
439     -_ACEOF
440     -cat confdefs.h >>conftest.$ac_ext
441     -cat >>conftest.$ac_ext <<_ACEOF
442     -/* end confdefs.h. */
443     -
444     - #include <libsoup/soup.h>
445     -
446     -int
447     -main ()
448     -{
449     -
450     - SoupSession * session = soup_session_sync_new ();
451     -
452     - ;
453     - return 0;
454     -}
455     -_ACEOF
456     -rm -f conftest.$ac_objext
457     -if { (ac_try="$ac_compile"
458     -case "(($ac_try" in
459     - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
460     - *) ac_try_echo=$ac_try;;
461     -esac
462     -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
463     - (eval "$ac_compile") 2>conftest.er1
464     - ac_status=$?
465     - grep -v '^ *+' conftest.er1 >conftest.err
466     - rm -f conftest.er1
467     - cat conftest.err >&5
468     - echo "$as_me:$LINENO: \$? = $ac_status" >&5
469     - (exit $ac_status); } && {
470     - test -z "$ac_cxx_werror_flag" ||
471     - test ! -s conftest.err
472     - } && test -s conftest.$ac_objext; then
473     -
474     - { echo "$as_me:$LINENO: result: no" >&5
475     -echo "${ECHO_T}no" >&6; }
476     -
477     -else
478     - echo "$as_me: failed program was:" >&5
479     -sed 's/^/| /' conftest.$ac_ext >&5
480     -
481     -
482     - { echo "$as_me:$LINENO: result: yes" >&5
483     -echo "${ECHO_T}yes" >&6; }
484     -
485     -cat >>confdefs.h <<\_ACEOF
486     -#define LIBSOUP_HAS_EXTERN_C
487     -_ACEOF
488     -
489     -
490     -fi
491     -
492     -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
493     - ac_ext=cpp
494     -ac_cpp='$CXXCPP $CPPFLAGS'
495     -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
496     -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
497     -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
498     -
499     -
500     - CPPFLAGS="$CPPFLAGS_SAVED"
501     - LDFLAGS="$LDFLAGS_SAVED"
502     -
503     -
504     # sqlite
505    
506     pkg_failed=no
507     diff -up bmpx-0.40.13/m4/soup.m4.libsoup24 bmpx-0.40.13/m4/soup.m4
508     --- bmpx-0.40.13/m4/soup.m4.libsoup24 2007-10-18 19:17:06.000000000 +0200
509     +++ bmpx-0.40.13/m4/soup.m4 2008-02-15 20:26:58.000000000 +0100
510     @@ -1,4 +1,34 @@
511     dnl -*- Mode: Autoconf; -*-
512     +dnl -*- Mode: Autoconf; -*-
513     +
514     +AC_DEFUN([BMP_CHECK_SOUP_EXTERN_C],
515     +[
516     + CPPFLAGS_SAVED="$CPPFLAGS"
517     + CPPFLAGS="$CPPFLAGS $SOUP_CFLAGS"
518     + export CPPFLAGS
519     +
520     + LDFLAGS_SAVED="$LDFLAGS"
521     + LDFLAGS="$LDFLAGS $SOUP_LDFLAGS"
522     + export LDFLAGS
523     +
524     + AC_MSG_CHECKING(for extern in libsoup headers)
525     +
526     + AC_LANG_PUSH(C++)
527     + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
528     + @%:@include <libsoup/soup.h>
529     + ]], [[
530     + SoupSession * session = soup_session_sync_new ();
531     + ]])],[
532     + AC_MSG_RESULT(no)
533     + ],[
534     + AC_MSG_RESULT(yes)
535     + AC_DEFINE(LIBSOUP_HAS_EXTERN_C,,[define if libsoup has extern c])
536     + ])
537     + AC_LANG_POP([C++])
538     +
539     + CPPFLAGS="$CPPFLAGS_SAVED"
540     + LDFLAGS="$LDFLAGS_SAVED"
541     +])
542    
543     AC_DEFUN([BMP_CHECK_SOUP_EXTERN_C],
544     [