File configure.in.diff of Package libsigc++12
--- configure.in
+++ configure.in
@@ -3,6 +3,7 @@
## Modified by Karl Nelson
AC_INIT(sigc++)
+AC_PREREQ(2.52)
define(AC_PUSH_LIB,[dnl
ifdef([__LIB__],,[define([__LIB__],0)])dnl
@@ -35,9 +36,9 @@
dnl AC_SUBST(SIGC_RELEASE, $SIGC_RELEASE)
AC_SUBST(SIGC_VERSION)
-AC_DEFINE_UNQUOTED(SIGC_MAJOR_VERSION, $SIGC_MAJOR_VERSION)
-AC_DEFINE_UNQUOTED(SIGC_MINOR_VERSION, $SIGC_MINOR_VERSION)
-AC_DEFINE_UNQUOTED(SIGC_MICRO_VERSION, $SIGC_MICRO_VERSION)
+AC_DEFINE_UNQUOTED(SIGC_MAJOR_VERSION, $SIGC_MAJOR_VERSION, [sigc++ major version])
+AC_DEFINE_UNQUOTED(SIGC_MINOR_VERSION, $SIGC_MINOR_VERSION, [sigc++ minor version])
+AC_DEFINE_UNQUOTED(SIGC_MICRO_VERSION, $SIGC_MICRO_VERSION, [sigc++ micro version])
AC_CONFIG_AUX_DIR(scripts)
@@ -76,12 +77,13 @@
# fi
AC_ARG_ENABLE(threads,
-[ --disable-threads disables support threading.],
-enable_threads=$enableval,enable_threads="yes")
+ AC_HELP_STRING([--disable-threads],
+ [disables support for threading.]),
+ enable_threads=$enableval,enable_threads="yes")
AC_ARG_ENABLE(checks,
-[ --disable-checks disables unnecessary tests needed for bug reports.],
-enable_checks=$enableval,enable_checks="yes"
-)
+ AC_HELP_STRING([--disable-checks],
+ [disables unnecessary tests needed for bug reports.]),
+ enable_checks=$enableval,enable_checks="yes")
AC_PROG_CC
AC_PROG_CPP
@@ -163,7 +165,7 @@
EOF
cat > mytest.$ac_ext <<EOF
-#include <stdio.h>
+#include <cstdio>
extern int foo();
@@ -288,10 +290,10 @@
};
],[
],
- AC_DEFINE(SIGC_CXX_EXPLICIT,explicit)
+ AC_DEFINE(SIGC_CXX_EXPLICIT,explicit,"SIGC_CXX_EXPLICIT")
ac_cxx_explicit=yes
,
- AC_DEFINE(SIGC_CXX_EXPLICIT,)
+ AC_DEFINE(SIGC_CXX_EXPLICIT,,"SIGC_CXX_EXPLICIT")
ac_cxx_explicit=no
)
AC_MSG_RESULT([$ac_cxx_explicit])
@@ -305,10 +307,10 @@
};
],[
],
- AC_DEFINE(SIGC_CXX_EXPLICIT_COPY,explicit)
+ AC_DEFINE(SIGC_CXX_EXPLICIT_COPY,explicit,"SIGC_CXX_EXPLICIT_COPY")
ac_cxx_explicit_copy_ctor=yes
,
- AC_DEFINE(SIGC_CXX_EXPLICIT_COPY,)
+ AC_DEFINE(SIGC_CXX_EXPLICIT_COPY,,"SIGC_CXX_EXPLICIT_COPY")
ac_cxx_explicit_copy_ctor=no
)
AC_MSG_RESULT([$ac_cxx_explicit_copy_ctor])
@@ -413,7 +415,8 @@
k<void,void> a;
],[
ac_cxx_partial_specialization=yes
- AC_DEFINE(SIGC_CXX_PARTIAL_SPEC)
+ AC_DEFINE(SIGC_CXX_PARTIAL_SPEC, 1,
+ [Define if your compiler supports partial specialization])
],[
# config_error=yes
ac_cxx_partial_specialization=no
@@ -434,7 +437,7 @@
],[
ac_cxx_namespaces=yes
AC_MSG_RESULT([$ac_cxx_namespaces])
- AC_DEFINE(SIGC_CXX_NAMESPACES)
+ AC_DEFINE(SIGC_CXX_NAMESPACES, 1, [Define if your compiler supports namespaces])
],[
ac_cxx_namespaces=no
AC_MSG_RESULT([$ac_cxx_namespaces])
@@ -474,7 +477,8 @@
A<int> i;
],[
],[
- AC_DEFINE(SIGC_CXX_INT_CTOR)
+ AC_DEFINE(SIGC_CXX_INT_CTOR, 1,
+ [Define if C++ compiler has intrinsic constructors])
ac_cxx_tmpl_intctor=yes
],[
ac_cxx_tmpl_intctor=no
@@ -515,7 +519,7 @@
],[
],[
ac_cxx_void_return=yes
- AC_DEFINE(SIGC_CXX_VOID_RETURN)
+ AC_DEFINE(SIGC_CXX_VOID_RETURN, 1, [Define if C++ compiler allows void returns])
],[
ac_cxx_void_return=no
])
@@ -530,7 +534,7 @@
],[
],[
ac_cxx_void_cast_return=yes
- AC_DEFINE(SIGC_CXX_VOID_CAST_RETURN)
+ AC_DEFINE(SIGC_CXX_VOID_CAST_RETURN,,"SIGC_CXX_VOID_CAST_RETURN")
],[
ac_cxx_void_cast_return=no
])
@@ -565,7 +569,7 @@
P<int&>::ptr q=b;
],[
ac_cxx_specialize_references=yes
- AC_DEFINE(SIGC_CXX_SPECIALIZE_REFERENCES)
+ AC_DEFINE(SIGC_CXX_SPECIALIZE_REFERENCES, 1, [Define if C++ compiler allows specialization of references])
],[
ac_cxx_specialize_references=no
])
@@ -612,7 +616,8 @@
dnl ],[
dnl ac_template_qualification=yes
dnl ],[
-dnl AC_DEFINE(SIGC_CXX_NO_TEMPLATE_QUALIFICATION)
+dnl AC_DEFINE(SIGC_CXX_NO_TEMPLATE_QUALIFICATION, 1,
+dnl [Define if C++ compiler supports qualification of return types with templates])
dnl ac_template_qualification=no
dnl ])
dnl AC_MSG_RESULT([$ac_template_qualification])
@@ -631,7 +636,8 @@
dnl ],[
dnl ac_static_templates=yes
dnl ],[
-dnl AC_DEFINE(SIGC_CXX_NO_STATIC_TEMPLATES)
+dnl AC_DEFINE(SIGC_CXX_NO_STATIC_TEMPLATES, 1,
+dnl [Define if C++ compiler supports static data inside templates])
dnl ac_static_templates=no
dnl ])
dnl AC_MSG_RESULT([$ac_static_templates])
@@ -651,6 +657,143 @@
# maintainer-mode rules. That would fail since we aren't using autoheader.
AUTOHEADER=':'
+AH_TOP([
+#ifndef _SIGC_CONFIG_H_
+#define _SIGC_CONFIG_H_
+])
+
+AH_BOTTOM([
+// Detect common platforms
+
+#if defined(__MWERKS__)
+#define LIBSIGC_MWERKS
+#elif defined(_WIN32)
+// Win32 compilers have a lot of varation
+#if defined(__BORLANDC__)
+#define LIBSIGC_BC
+#define LIBSIGC_DLL
+#elif defined(_MSC_VER)
+#if _MSC_VER > 1300
+#define LIBSIGC_MSVC_NET
+#else
+#define LIBSIGC_MSVC
+#define LIBSIGC_DLL
+#endif
+#elif defined(__CYGWIN__)
+// cygwin is considered unix and doesn't need DLL decl.
+#define LIBSIGC_GCC
+#elif defined(__MINGW32__)
+// LIBSIGC_DLL not strictly required for latest gcc on mingw
+// (that uses auto-import).
+#define LIBSIGC_DLL
+#define LIBSIGC_GCC
+#elif defined(__ICL) // Intel compiler
+#define LIBSIGC_INTEL
+#else
+#error "Unknown architecture (send me gcc --dumpspecs)"
+#endif
+#else
+#define LIBSIGC_GCC
+#endif /* _WIN32 */
+
+// Compiler specific definitions
+
+#ifdef LIBSIGC_GCC
+#undef SIGC_CXX_INT_CTOR
+#undef SIGC_CXX_NAMESPACES
+#undef SIGC_CXX_PARTIAL_SPEC
+#undef SIGC_CXX_SPECIALIZE_REFERENCES
+#undef SIGC_CXX_VOID_RETURN
+#undef SIGC_CXX_VOID_CAST_RETURN
+#undef SIGC_CXX_EXPLICIT
+#undef SIGC_CXX_EXPLICIT_COPY
+#endif /* LIBSIGC_GCC */
+
+// I guess the configure checks can't be run on these plaforms,
+// so we specify these compiler features based on our experience.
+// These platforms are detected above based on compiler-defined macros.
+// murrayc:
+#ifdef LIBSIGC_BC
+#define SIGC_CXX_INT_CTOR 1
+#define SIGC_CXX_NAMESPACES 1
+#define SIGC_CXX_PARTIAL_SPEC 1
+#define SIGC_CXX_SPECIALIZE_REFERENCES 1
+#define SIGC_CXX_VOID_RETURN 1
+#define SIGC_CXX_VOID_CAST_RETURN 1
+//#define SIGC_CXX_MEMBER_FUNC_TEMPLATES 1
+//#define SIGC_CXX_MEMBER_CLASS_TEMPLATES 1
+//#define SIGC_CXX_MUTABLE 1
+//#define SIGC_CXX_FRIEND_TEMPLATES 1
+#define SIGC_CXX_EXPLICIT explicit
+#define SIGC_CXX_EXPLICIT_COPY explicit
+#endif /* LIBSIGC_BC */
+
+#ifdef LIBSIGC_MSVC_NET
+#define SIGC_CXX_INT_CTOR 1
+#define SIGC_CXX_NAMESPACES 1
+#define SIGC_CXX_PARTIAL_SPEC 1
+#define SIGC_CXX_SPECIALIZE_REFERENCES 1
+#define SIGC_CXX_VOID_RETURN 1
+#define SIGC_CXX_VOID_CAST_RETURN 1
+#define SIGC_CXX_EXPLICIT explicit
+#define SIGC_CXX_EXPLICIT_COPY explicit
+#endif /* LIBSIGC_MSVC_NET */
+
+#ifdef LIBSIGC_MSVC
+#define SIGC_CXX_INT_CTOR 1
+#define SIGC_CXX_NAMESPACES 1
+//#define SIGC_CXX_MEMBER_FUNC_TEMPLATES 1
+//#define SIGC_CXX_MEMBER_CLASS_TEMPLATES 1
+//#define SIGC_CXX_TEMPLATE_CCTOR 1
+//#define SIGC_CXX_MUTABLE 1
+#define SIGC_CXX_EXPLICIT explicit
+#define SIGC_CXX_EXPLICIT_COPY explicit
+#endif /* LIBSIGC_MSVC */
+
+#ifdef LIBSIGC_MWERKS
+#define SIGC_CXX_INT_CTOR 1
+#define SIGC_CXX_NAMESPACES 1
+#define SIGC_CXX_PARTIAL_SPEC 1
+#define SIGC_CXX_SPECIALIZE_REFERENCES 1
+#define SIGC_CXX_VOID_RETURN 1
+#define SIGC_CXX_VOID_CAST_RETURN 1
+//#define SIGC_CXX_MEMBER_FUNC_TEMPLATES 1
+//#define SIGC_CXX_MEMBER_CLASS_TEMPLATES 1
+//#define SIGC_CXX_MUTABLE 1
+#define SIGC_CXX_EXPLICIT explicit
+#define SIGC_CXX_EXPLICIT_COPY explicit
+#endif /* LIBSIGC_MWERKS */
+
+#ifdef LIBSIGC_INTEL
+#define SIGC_CXX_INT_CTOR 1
+#define SIGC_CXX_NAMESPACES 1
+#define SIGC_CXX_PARTIAL_SPEC 1
+#define SIGC_CXX_SPECIALIZE_REFERENCES 1
+#define SIGC_CXX_VOID_RETURN 1
+#define SIGC_CXX_VOID_CAST_RETURN 1
+#define SIGC_CXX_EXPLICIT explicit
+#define SIGC_CXX_EXPLICIT_COPY explicit
+#endif /* LIBSIGC_INTEL */
+
+// Window DLL declarations
+
+#ifdef LIBSIGC_DLL
+ #if defined(LIBSIGC_COMPILATION) && defined(DLL_EXPORT)
+ #define LIBSIGC_API __declspec(dllexport)
+ #define LIBSIGC_TMPL
+ #elif !defined(LIBSIGC_COMPILATION)
+ #define LIBSIGC_API __declspec(dllimport)
+ #define LIBSIGC_TMPL extern
+ #else
+ #define LIBSIGC_API
+ #endif /* LIBSIGC_COMPILATION - DLL_EXPORT */
+#else
+ #define LIBSIGC_API
+#endif /* LIBSIGC_DLL */
+
+#endif /* _SIGC_CONFIG_H_ */
+
+])
AC_OUTPUT([Makefile
sigc++-1.2.pc