summaryrefslogtreecommitdiff
path: root/m4/cares-override.m4
diff options
context:
space:
mode:
authorYang Tse <yangsita@gmail.com>2008-11-16 02:23:18 +0000
committerYang Tse <yangsita@gmail.com>2008-11-16 02:23:18 +0000
commit03c11998645ad239e29d46c8499d99f822e5affb (patch)
tree20f031243aff4073d53fd96c321a291f8671fd00 /m4/cares-override.m4
parent54056b206383e4aef73b0299a398887230da79d8 (diff)
downloadc-ares-03c11998645ad239e29d46c8499d99f822e5affb.tar.gz
c-ares-03c11998645ad239e29d46c8499d99f822e5affb.tar.bz2
c-ares-03c11998645ad239e29d46c8499d99f822e5affb.zip
trim down configure script size
Diffstat (limited to 'm4/cares-override.m4')
-rw-r--r--m4/cares-override.m487
1 files changed, 87 insertions, 0 deletions
diff --git a/m4/cares-override.m4 b/m4/cares-override.m4
new file mode 100644
index 0000000..9377adb
--- /dev/null
+++ b/m4/cares-override.m4
@@ -0,0 +1,87 @@
+#***************************************************************************
+# $Id$
+#***************************************************************************
+
+# File version for 'aclocal' use. Keep it a single number.
+# serial 1
+
+dnl CARES_OVERRIDE_AUTOCONF
+dnl -------------------------------------------------
+dnl Placing a call to this macro in configure.ac after
+dnl the one to AC_INIT will make macros in this file
+dnl visible to the rest of the compilation overriding
+dnl those from Autoconf.
+
+AC_DEFUN([CARES_OVERRIDE_AUTOCONF], [
+AC_BEFORE([$0],[AC_PROG_LIBTOOL])
+# using cares-override.m4
+])
+
+dnl Override some Libtool tests
+dnl -------------------------------------------------
+dnl This is done to prevent Libtool 1.5.X from doing
+dnl unnecesary C++, Fortran and Java tests and reduce
+dnl resulting configure script by nearly 300 Kb.
+
+m4_define([AC_LIBTOOL_LANG_CXX_CONFIG],[:])
+m4_define([AC_LIBTOOL_LANG_F77_CONFIG],[:])
+m4_define([AC_LIBTOOL_LANG_GCJ_CONFIG],[:])
+
+dnl Override Autoconf's AC_LANG_PROGRAM (C)
+dnl -------------------------------------------------
+dnl This is done to prevent compiler warning
+dnl 'function declaration isn't a prototype'
+dnl in function main. This requires at least
+dnl a c89 compiler and does not suport K&R.
+
+m4_define([AC_LANG_PROGRAM(C)],
+[$1
+int main (void)
+{
+$2
+; return 0;
+}])
+
+dnl Override Autoconf's AC_LANG_CALL (C)
+dnl -------------------------------------------------
+dnl This is a backport of Autoconf's 2.60 with the
+dnl embedded comments that hit the resulting script
+dnl removed. This is done to reduce configure size
+dnl and use fixed macro across Autoconf versions.
+
+m4_define([AC_LANG_CALL(C)],
+[AC_LANG_PROGRAM([$1
+m4_if([$2], [main], ,
+[
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();])], [return $2 ();])])
+
+dnl Override Autoconf's AC_LANG_FUNC_LINK_TRY (C)
+dnl -------------------------------------------------
+dnl This is a backport of Autoconf's 2.60 with the
+dnl embedded comments that hit the resulting script
+dnl removed. This is done to reduce configure size
+dnl and use fixed macro across Autoconf versions.
+
+m4_define([AC_LANG_FUNC_LINK_TRY(C)],
+[AC_LANG_PROGRAM(
+[
+#define $1 innocuous_$1
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+#undef $1
+#ifdef __cplusplus
+extern "C"
+#endif
+char $1 ();
+#if defined __stub_$1 || defined __stub___$1
+choke me
+#endif
+], [return $1 ();])])
+
+