2006-06-06 10:51:22 +02:00
|
|
|
# -*- Autoconf -*-
|
|
|
|
#
|
|
|
|
# Top-level configure.ac file for libupnp
|
|
|
|
#
|
|
|
|
# Process this file with autoconf to produce a configure script.
|
|
|
|
#
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
# (C) Copyright 2005-2007 Rémi Turboult <r3mi@users.sourceforge.net>
|
2006-06-06 10:51:22 +02:00
|
|
|
#
|
|
|
|
|
2007-02-02 04:44:55 +01:00
|
|
|
AC_PREREQ(2.60)
|
2006-06-06 10:51:22 +02:00
|
|
|
|
2010-10-04 14:58:15 +02:00
|
|
|
AC_INIT([libupnp], [1.6.8], [mroberto@users.sourceforge.net])
|
2007-12-27 03:14:02 +01:00
|
|
|
dnl ############################################################################
|
|
|
|
dnl # *Independently* of the above libupnp package version, the libtool version
|
|
|
|
dnl # of the 3 libraries need to be updated whenever there is a change released:
|
|
|
|
dnl # "current:revision:age" (this is NOT the same as the package version),
|
|
|
|
dnl # where:
|
|
|
|
dnl # - library code modified: revision++
|
|
|
|
dnl # - interfaces changed/added/removed: current++ and revision=0
|
|
|
|
dnl # - interfaces added: age++
|
|
|
|
dnl # - interfaces removed: age=0
|
|
|
|
dnl # *please update only once, before a formal release, not for each change*
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Release 1.4.1:
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:2:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [2:2:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [2:2:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Release 1.4.6:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl # - Code has changed in ixml
|
|
|
|
dnl # revision: 2 -> 3
|
|
|
|
dnl # - Code has changed in threadutil
|
|
|
|
dnl # revision: 2 -> 3
|
|
|
|
dnl # - Interface added in threadutil
|
|
|
|
dnl # current: 2 -> 3
|
|
|
|
dnl # revisiion: 3 -> 0
|
|
|
|
dnl # age: 0 -> 1
|
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 2 -> 3
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:3:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [3:0:1])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [2:3:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Release 1.6.0:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl # - Code has changed in ixml
|
|
|
|
dnl # revision: 3 -> 4
|
|
|
|
dnl # - Code has changed in threadutil
|
|
|
|
dnl # revision: 0 -> 1
|
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 3 -> 4
|
|
|
|
dnl # - Interface changed in upnp
|
|
|
|
dnl # current: 2 -> 3
|
|
|
|
dnl # revision: 4 -> 0
|
|
|
|
dnl # - Interface removed in upnp
|
|
|
|
dnl # age: 0 -> 0
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [3:1:1])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:0:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Release 1.6.1:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl # - Code has changed in threadutil
|
|
|
|
dnl # revision: 1 -> 2
|
|
|
|
dnl # - Interface added in threadutil
|
|
|
|
dnl # current: 3 -> 4
|
|
|
|
dnl # revision: 2 -> 0
|
|
|
|
dnl # - Interface added in threadutil
|
|
|
|
dnl # age: 1 -> 2
|
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 0 -> 1
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:0:2])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:1:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Release 1.6.2:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 1 -> 2
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:0:2])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:2:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Release 1.6.3:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl # - Code has changed in threadutil
|
|
|
|
dnl # revision: 0 -> 1
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:1:2])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:2:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
2008-01-27 03:13:08 +01:00
|
|
|
dnl # Release 1.6.4:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl # - Code has changed in threadutil
|
|
|
|
dnl # revision: 1 -> 2
|
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 2 -> 3
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:2:2])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:3:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
2008-02-03 02:36:23 +01:00
|
|
|
dnl # Release 1.6.5:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 3 -> 4
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:2:2])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:4:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
2008-02-08 03:29:26 +01:00
|
|
|
dnl # Release 1.6.6:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
2008-04-26 02:49:39 +02:00
|
|
|
dnl # - Code has changed in threadutil
|
|
|
|
dnl # revision: 2 -> 3
|
2008-02-08 03:29:26 +01:00
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 4 -> 5
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
2008-04-26 02:49:39 +02:00
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:3:2])
|
2008-02-08 03:29:26 +01:00
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:5:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
2008-04-29 17:38:35 +02:00
|
|
|
dnl # Release 1.6.7:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
dnl # - Code has changed in upnp
|
|
|
|
dnl # revision: 5 -> 6
|
|
|
|
dnl # - Code has changed in threadutil
|
|
|
|
dnl # revision: 3 -> 4
|
|
|
|
dnl # - Interfaces have been changed, added and removed in upnp
|
|
|
|
dnl # current: 4 -> 5
|
|
|
|
dnl # revision: 4 -> 0
|
|
|
|
dnl #
|
2008-04-29 17:38:35 +02:00
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
2010-10-04 14:58:15 +02:00
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [5:0:2])
|
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:5:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Release 1.6.8:
|
|
|
|
dnl # "current:revision:age"
|
|
|
|
dnl #
|
|
|
|
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [5:0:2])
|
2008-04-29 17:38:35 +02:00
|
|
|
dnl #AC_SUBST([LT_VERSION_UPNP], [3:5:0])
|
|
|
|
dnl #
|
|
|
|
dnl ############################################################################
|
2007-05-26 07:54:23 +02:00
|
|
|
AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
AC_SUBST([LT_VERSION_THREADUTIL], [5:0:2])
|
2008-02-08 03:29:26 +01:00
|
|
|
AC_SUBST([LT_VERSION_UPNP], [3:5:0])
|
2007-12-27 03:14:02 +01:00
|
|
|
dnl ############################################################################
|
|
|
|
dnl # Repeating the algorithm to place it closer to the modificatin place:
|
|
|
|
dnl # - library code modified: revision++
|
|
|
|
dnl # - interfaces changed/added/removed: current++ and revision=0
|
|
|
|
dnl # - interfaces added: age++
|
|
|
|
dnl # - interfaces removed: age=0
|
|
|
|
dnl # *please update only once, before a formal release, not for each change*
|
|
|
|
dnl ############################################################################
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
2008-01-27 03:13:08 +01:00
|
|
|
AC_CONFIG_AUX_DIR([build-aux])
|
|
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_CONFIG_SRCDIR([upnp/inc/upnp.h])
|
2006-06-06 10:51:22 +02:00
|
|
|
|
2007-11-19 15:15:45 +01:00
|
|
|
|
2007-02-02 05:21:21 +01:00
|
|
|
AM_INIT_AUTOMAKE([1.8 -Wall foreign subdir-objects dist-bzip2])
|
2006-06-06 10:51:22 +02:00
|
|
|
|
2007-11-19 15:15:45 +01:00
|
|
|
|
2007-04-28 19:45:34 +02:00
|
|
|
#
|
|
|
|
# Get canonical host names in host and host_os
|
|
|
|
#
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
2006-06-06 10:51:22 +02:00
|
|
|
#
|
|
|
|
# There are 3 configuration files :
|
|
|
|
# 1) "./autoconfig.h" is auto-generated and used only internally during build
|
|
|
|
# (usually named "config.h" but conflicts with the file below)
|
|
|
|
# 2) "./upnp/src/inc/config.h" is static and contains some compile-time
|
|
|
|
# parameters. This file was previously in "./upnp/inc" but is no longer
|
|
|
|
# installed (contains internal definitions only).
|
|
|
|
# 3) "./upnp/inc/upnpconfig.h" is auto-generated and installed with the
|
|
|
|
# libraries : it contains information on the configuration of the
|
|
|
|
# installed libraries.
|
|
|
|
#
|
|
|
|
AC_CONFIG_HEADERS([autoconfig.h upnp/inc/upnpconfig.h])
|
2006-08-17 07:16:23 +02:00
|
|
|
#AC_SYS_LARGEFILE_SENSITIVE
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
AC_REVISION([$Revision: 1.11 $])
|
|
|
|
|
|
|
|
upnpmaj=`echo "$PACKAGE_VERSION" | sed 's/\..*//' `
|
|
|
|
upnpmin=[`echo "$PACKAGE_VERSION" | sed 's/^[^.]\.// ; s/[^0-9].*$//' `]
|
|
|
|
upnppatch=[`echo "$PACKAGE_VERSION" | sed 's/^[^.]\.[^.]\.// ; s/[^0-9].*$//' `]
|
2007-12-27 03:14:02 +01:00
|
|
|
AC_DEFINE_UNQUOTED([UPNP_VERSION_STRING], "$PACKAGE_VERSION", [see upnpconfig.h])
|
2006-06-06 10:51:22 +02:00
|
|
|
AC_DEFINE_UNQUOTED([UPNP_VERSION_MAJOR], $upnpmaj, [see upnpconfig.h])
|
|
|
|
AC_DEFINE_UNQUOTED([UPNP_VERSION_MINOR], $upnpmin, [see upnpconfig.h])
|
|
|
|
AC_DEFINE_UNQUOTED([UPNP_VERSION_PATCH], $upnppatch, [see upnpconfig.h])
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Check for DEBUG flag
|
|
|
|
#
|
|
|
|
RT_BOOL_ARG_ENABLE([debug], [no], [extra debugging code])
|
|
|
|
if test "x$enable_debug" = xyes ; then
|
|
|
|
AC_DEFINE(UPNP_HAVE_DEBUG, 1, [see upnpconfig.h])
|
|
|
|
AC_DEFINE(DEBUG, 1, [Define to 1 to compile debug code])
|
|
|
|
else
|
|
|
|
AC_DEFINE(NO_DEBUG, 1, [Define to 1 to prevent some debug code])
|
|
|
|
AC_DEFINE(NDEBUG, 1, [Define to 1 to prevent compilation of assert()])
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Check for libupnp subsets
|
|
|
|
#
|
|
|
|
RT_BOOL_ARG_ENABLE([client], [yes], [control point code (client)])
|
|
|
|
if test "x$enable_client" = xyes ; then
|
|
|
|
AC_DEFINE(UPNP_HAVE_CLIENT, 1, [see upnpconfig.h])
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
RT_BOOL_ARG_ENABLE([device], [yes],
|
|
|
|
[device specific code (implies --disable-webserver if disabled)])
|
|
|
|
if test "x$enable_device" = xyes ; then
|
|
|
|
AC_DEFINE(UPNP_HAVE_DEVICE, 1, [see upnpconfig.h])
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
if test "x$enable_device" = xno ; then
|
|
|
|
enable_webserver=no
|
|
|
|
else
|
|
|
|
RT_BOOL_ARG_ENABLE([webserver], [yes], [integrated web server])
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(ENABLE_WEBSERVER, test x"$enable_webserver" = xyes)
|
|
|
|
if test "x$enable_webserver" = xyes ; then
|
|
|
|
AC_DEFINE(UPNP_HAVE_WEBSERVER, 1, [see upnpconfig.h])
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
RT_BOOL_ARG_ENABLE([tools], [yes], [helper APIs in upnptools.h])
|
|
|
|
if test "x$enable_tools" = xyes ; then
|
|
|
|
AC_DEFINE(UPNP_HAVE_TOOLS, 1, [see upnpconfig.h])
|
|
|
|
fi
|
|
|
|
|
2010-09-10 02:36:25 +02:00
|
|
|
RT_BOOL_ARG_ENABLE([ipv6], [no], [ipv6 support])
|
|
|
|
if test "x$enable_ipv6" = xyes ; then
|
|
|
|
AC_DEFINE(UPNP_ENABLE_IPV6, 1, [see upnpconfig.h])
|
|
|
|
fi
|
|
|
|
|
2010-10-01 19:00:02 +02:00
|
|
|
RT_BOOL_ARG_ENABLE([notification_reordering], [yes], [GENA notification reordering in gena_device.c])
|
|
|
|
if test "x$enable_notification_reordering" = xyes ; then
|
|
|
|
AC_DEFINE(UPNP_ENABLE_NOTIFICATION_REORDERING, 1, [see upnpconfig.h])
|
|
|
|
fi
|
|
|
|
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
RT_BOOL_ARG_ENABLE([samples], [yes], [compilation of upnp/sample/ code])
|
|
|
|
|
|
|
|
|
2007-12-27 03:14:02 +01:00
|
|
|
#
|
2006-06-06 10:51:22 +02:00
|
|
|
# doc installation
|
2007-02-03 14:52:42 +01:00
|
|
|
# autoconf >= 2.60 already defines ${docdir}, but we will not use its
|
|
|
|
# default value, which is ${datarootdir}/doc/${PACKAGE_TARNAME}.
|
|
|
|
# That would give us ${datarootdir}/doc/libupnp, and we want the package
|
|
|
|
# version on that.
|
2007-12-27 03:14:02 +01:00
|
|
|
#
|
2007-02-03 14:52:42 +01:00
|
|
|
docdir="${datadir}/doc/${PACKAGE_NAME}-${PACKAGE_VERSION}"
|
2007-02-02 04:44:55 +01:00
|
|
|
AC_MSG_CHECKING([for documentation directory])
|
2007-04-28 19:45:34 +02:00
|
|
|
AC_ARG_WITH(
|
|
|
|
[documentation],
|
|
|
|
AS_HELP_STRING(
|
|
|
|
[--with-documentation=directory_name],
|
2007-02-02 04:44:55 +01:00
|
|
|
[where documentation is installed
|
|
|
|
@<:@[DATADIR/doc/]AC_PACKAGE_NAME[-]AC_PACKAGE_VERSION@:>@])
|
2007-04-28 19:45:34 +02:00
|
|
|
AS_HELP_STRING(
|
|
|
|
[--without-documentation],
|
2007-02-02 04:44:55 +01:00
|
|
|
[do not install the documentation]),
|
|
|
|
[],
|
|
|
|
[with_documentation=no])
|
|
|
|
|
2007-12-27 03:14:02 +01:00
|
|
|
#
|
2007-02-02 04:44:55 +01:00
|
|
|
# If something has been entered after an equal sign, assume it is the directory
|
2007-12-27 03:14:02 +01:00
|
|
|
#
|
2007-02-02 04:44:55 +01:00
|
|
|
if test x"$with_documentation" != xyes -a x"$with_documentation" != xno; then
|
|
|
|
docdir="$with_documentation"
|
|
|
|
fi
|
|
|
|
AM_CONDITIONAL(WITH_DOCUMENTATION, test x"$with_documentation" != xno)
|
|
|
|
AC_SUBST(docdir)
|
|
|
|
AC_MSG_RESULT($docdir)
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Checks for programs
|
|
|
|
#
|
|
|
|
AC_PROG_CC
|
|
|
|
AM_PROG_CC_C_O
|
|
|
|
AC_PROG_LIBTOOL
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
AC_PROG_MAKE_SET
|
2006-07-05 04:56:34 +02:00
|
|
|
AC_PROG_EGREP
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
#
|
|
|
|
# Default compilation flags
|
|
|
|
#
|
2007-04-28 19:45:34 +02:00
|
|
|
echo "--------------------- Default compilation flags -------------------------------"
|
|
|
|
echo host is $host
|
|
|
|
echo host_os is $host_os
|
|
|
|
case $host_os in
|
2007-04-30 03:09:21 +02:00
|
|
|
freebsd*)
|
2007-04-28 19:45:34 +02:00
|
|
|
echo "Using FreeBSD specific compiler settings"
|
|
|
|
# Put FreeBSD specific compiler flags here
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo "Using non-specific system compiler settings"
|
|
|
|
if test x"$enable_debug" = xyes; then
|
|
|
|
# AC_PROG_CC already sets CFLAGS to "-g -O2" by default
|
2008-04-26 02:49:39 +02:00
|
|
|
#:
|
|
|
|
# Use -O0 in debug so that variables do not get optimized out
|
|
|
|
AX_CFLAGS_GCC_OPTION([-O0])
|
2007-04-28 19:45:34 +02:00
|
|
|
else
|
|
|
|
# add optimise for size
|
|
|
|
AX_CFLAGS_GCC_OPTION([-Os])
|
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2006-06-06 10:51:22 +02:00
|
|
|
AX_CFLAGS_WARN_ALL
|
2007-04-28 19:45:34 +02:00
|
|
|
echo "-------------------------------------------------------------------------------"
|
|
|
|
|
2006-06-06 10:51:22 +02:00
|
|
|
|
2006-08-17 07:16:23 +02:00
|
|
|
#
|
|
|
|
# Lot's of stuff to ensure large file support
|
|
|
|
#
|
2007-04-28 19:45:34 +02:00
|
|
|
AC_TYPE_SIZE_T
|
2006-08-17 07:16:23 +02:00
|
|
|
AC_TYPE_OFF_T
|
2007-04-28 19:45:34 +02:00
|
|
|
AC_DEFINE([_LARGE_FILE_SOURCE], [], [Large files support])
|
|
|
|
AC_DEFINE([_FILE_OFFSET_BITS], [64], [File Offset size])
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
#
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
# Are we targetting Win32?
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING([for Win32])
|
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
|
|
#ifdef WIN32
|
|
|
|
#error Yup
|
|
|
|
#endif
|
|
|
|
],[])], [ac_cv_win32="no"], [ac_cv_win32="yes"])
|
|
|
|
if test "$ac_cv_win32" = "yes"; then
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Checks for header files (which aren't needed on Win32)
|
2006-06-06 10:51:22 +02:00
|
|
|
#
|
|
|
|
AC_HEADER_STDC
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
if test "$ac_cv_win32" = "no"; then
|
2006-06-06 10:51:22 +02:00
|
|
|
# libupnp code doesn't use autoconf variables yet,
|
|
|
|
# so just abort if a header file is not found.
|
2007-04-28 19:45:34 +02:00
|
|
|
AC_CHECK_HEADERS(
|
|
|
|
[ \
|
|
|
|
arpa/inet.h \
|
|
|
|
fcntl.h \
|
2007-05-09 01:45:21 +02:00
|
|
|
inttypes.h \
|
2007-04-28 19:45:34 +02:00
|
|
|
limits.h \
|
|
|
|
netdb.h \
|
|
|
|
netinet/in.h \
|
|
|
|
stdlib.h \
|
|
|
|
string.h \
|
|
|
|
sys/ioctl.h \
|
|
|
|
sys/socket.h \
|
|
|
|
sys/time.h \
|
|
|
|
syslog.h \
|
|
|
|
unistd.h \
|
|
|
|
],
|
|
|
|
[],
|
|
|
|
[AC_MSG_ERROR([required header file missing])])
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
fi
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics
|
|
|
|
#
|
|
|
|
AC_C_CONST
|
1 - Ported some of IPV6 code to 1.6.7.
2 - Backport of svn revision 527:
* Added API to ithread, created the following functions:
- int ithread_initialize_library(void);
- int ithread_cleanup_library(void);
- int ithread_initialize_thread(void);
- int ithread_cleanup_thread(void);
* SF Bug Tracker [ 2876374 ] Access Violation when compiling with Visual Studio 2008
Submitted: Stulle ( stulleamgym ) - 2009-10-10 19:05
Hi,
I am one of the devs of the MorphXT project and I use this lib in some
other of my projects, too. When I tried to upgrade the lib earlier for one
of my projects I had to realise that something did not work at first and
while most of the things were reasonably ease to be fixed. Now, the last
thing I encountered was not so easy to fix and I am uncertain if my fix is
any good so I'll just post it here and wait for some comments.
The problem was that I got an Access Violation when calling "UpnpInit". It
would call "ithread_rwlock_init(&GlobalHndRWLock, NULL)" which eventually
led to calling "pthread_cond_init" and I got the error notice at
"EnterCriticalSection (&ptw32_cond_list_lock);". It appeared that
"ptw32_cond_list_lock" was NULL. Now, I found two ways to fix this. Firstly
moving the whole block after at least one of the "ThreadPoolInit" calls
will fix the issue. Secondly, you could add:
#ifdef WIN32
#ifdef PTW32_STATIC_LIB
// to get the following working we need this... is it a good patch or
not... I do not know!
pthread_win32_process_attach_np();
#endif
#endif
right before "ithread_rwlock_init(&GlobalHndRWLock, NULL)".
Just so you know, I am using libupnp 1.6.6 and libpthreads 2.8.0 and both
are linked static into the binaries. I am currently using Visual Studio
2008 for development with Windows being the target OS. Any comment at your
end?
Regards, Stulle
git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@529 119443c7-1b9e-41f8-b6fc-b9c35fce742c
2010-03-31 19:53:16 +02:00
|
|
|
|
|
|
|
# The test for socklen_t was getting it wrong when it exists but is in ws2tcpip.h,
|
|
|
|
# so we use a new test.
|
|
|
|
#TYPE_SOCKLEN_T
|
|
|
|
|
|
|
|
AC_CHECK_HEADERS([sys/types.h sys/socket.h ws2tcpip.h])
|
|
|
|
AC_MSG_CHECKING(for socklen_t)
|
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
|
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
|
|
#include <sys/types.h>
|
|
|
|
#endif
|
|
|
|
#ifdef HAVE_SYS_SOCKET_H
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#endif
|
|
|
|
#ifdef HAVE_WS2TCPIP_H
|
|
|
|
#include <ws2tcpip.h>
|
|
|
|
#endif
|
|
|
|
],[ socklen_t t = 0; return t; ])
|
|
|
|
],[ac_cv_socklen_t="yes"],[ac_cv_socklen_t="no"])
|
|
|
|
if test "$ac_cv_socklen_t" = "yes"; then
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT([no, using int])
|
|
|
|
AC_DEFINE(socklen_t, int, [Type for storing the length of struct sockaddr])
|
|
|
|
fi
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Checks for library functions
|
|
|
|
#
|
|
|
|
AC_FUNC_VPRINTF
|
|
|
|
AC_FUNC_FSEEKO
|
2007-04-28 19:45:34 +02:00
|
|
|
AC_CHECK_FUNCS(ftime,, [AC_CHECK_LIB(compat, ftime)])
|
2010-03-27 15:45:47 +01:00
|
|
|
#
|
|
|
|
# Solaris needs -lsocket -lnsl -lrt
|
|
|
|
AC_SEARCH_LIBS([bind], [socket])
|
|
|
|
AC_SEARCH_LIBS([gethostbyname], [nsl])
|
|
|
|
AC_SEARCH_LIBS([sched_getparam], [rt])
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
# Checks for POSIX Threads
|
|
|
|
#
|
2007-12-27 03:14:02 +01:00
|
|
|
echo "--------------------------- pthread stuff -------------------------------------"
|
2007-04-28 19:45:34 +02:00
|
|
|
ACX_PTHREAD(
|
|
|
|
[],
|
|
|
|
[AC_MSG_ERROR([POSIX threads are required to build this program])])
|
2007-12-27 03:14:02 +01:00
|
|
|
#
|
|
|
|
# Update environment variables for pthreads
|
|
|
|
#
|
|
|
|
CC="$PTHREAD_CC"
|
|
|
|
CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
|
|
|
|
LIBS="$PTHREAD_LIBS $LIBS"
|
|
|
|
#
|
|
|
|
# Determine if pthread_rwlock_t is available
|
|
|
|
#
|
|
|
|
echo "----------------------- pthread_rwlock_t stuff --------------------------------"
|
|
|
|
AC_MSG_CHECKING([if pthread_rwlock_t is available])
|
|
|
|
AC_LANG([C])
|
|
|
|
AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM(
|
|
|
|
[#include <pthread.h>],
|
|
|
|
[pthread_rwlock_t *x;])],
|
|
|
|
[AC_DEFINE([UPNP_USE_RWLOCK], [1], [Use pthread_rwlock_t])
|
|
|
|
AC_MSG_RESULT([yes, supported without any options])],
|
|
|
|
[AC_COMPILE_IFELSE(
|
|
|
|
[AC_LANG_PROGRAM(
|
|
|
|
[#define _GNU_SOURCE
|
|
|
|
#include <pthread.h>],
|
|
|
|
[pthread_rwlock_t *x;])],
|
|
|
|
[AC_DEFINE([UPNP_USE_RWLOCK], [1], [Use pthread_rwlock_t])
|
|
|
|
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
|
|
|
|
AC_MSG_RESULT([yes, definition of _GNU_SOURCE required])],
|
|
|
|
[AC_DEFINE([UPNP_USE_RWLOCK], [0], [Do not use pthread_rwlock_t])
|
|
|
|
AC_MSG_RESULT([no, needs to fallback to pthread_mutex])
|
|
|
|
AC_MSG_ERROR([pthread_rwlock_t not available])])])
|
|
|
|
echo "-------------------------------------------------------------------------------"
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
2007-04-28 19:45:34 +02:00
|
|
|
AC_CONFIG_FILES([
|
|
|
|
Makefile
|
|
|
|
ixml/Makefile
|
|
|
|
ixml/doc/Makefile
|
|
|
|
threadutil/Makefile
|
|
|
|
upnp/Makefile
|
|
|
|
upnp/doc/Makefile
|
2007-05-11 07:00:43 +02:00
|
|
|
upnp/sample/Makefile
|
2007-04-28 19:45:34 +02:00
|
|
|
docs/dist/Makefile
|
|
|
|
libupnp.pc
|
|
|
|
])
|
2006-06-06 10:51:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
AC_OUTPUT
|
|
|
|
|