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
openSUSE Build Service is sponsored by