From 3f01d9a043664caa17e764d53c62b2bef58027a0 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Sun, 16 Nov 2008 02:23:18 +0000 Subject: trim down configure script size --- ares/configure.ac | 18 ++-------- ares/m4/cares-override.m4 | 87 +++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 18 ++-------- m4/curl-override.m4 | 87 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 178 insertions(+), 32 deletions(-) create mode 100644 ares/m4/cares-override.m4 create mode 100644 m4/curl-override.m4 diff --git a/ares/configure.ac b/ares/configure.ac index 1b1b20d59..56bcf6e80 100644 --- a/ares/configure.ac +++ b/ares/configure.ac @@ -4,6 +4,8 @@ dnl Version not hardcoded here. Fetched later from ares_version.h AC_INIT([c-ares], [-], [c-ares mailing list => http://cool.haxx.se/mailman/listinfo/c-ares]) +CARES_OVERRIDE_AUTOCONF + AC_CONFIG_SRCDIR([ares_ipv6.h]) AM_CONFIG_HEADER([config.h]) AM_MAINTAINER_MODE @@ -95,22 +97,6 @@ CARES_PROCESS_DEBUG_BUILD_OPTS AM_CONDITIONAL(DEBUGBUILD, test x$want_debug = xyes) AM_CONDITIONAL(CURLDEBUG, test x$want_debug = xyes) -dnl skip libtool C++ and Fortran compiler checks -m4_ifdef([AC_PROG_CXX], [m4_undefine([AC_PROG_CXX])]) -m4_defun([AC_PROG_CXX],[]) -m4_ifdef([AC_PROG_CXXCPP], [m4_undefine([AC_PROG_CXXCPP])]) -m4_defun([AC_PROG_CXXCPP],[true]) -m4_ifdef([AC_PROG_F77], [m4_undefine([AC_PROG_F77])]) -m4_defun([AC_PROG_F77],[]) - -dnl skip libtool C++ and Fortran linker checks -m4_ifdef([AC_LIBTOOL_CXX], [m4_undefine([AC_LIBTOOL_CXX])]) -m4_defun([AC_LIBTOOL_CXX],[]) -m4_ifdef([AC_LIBTOOL_CXXCPP], [m4_undefine([AC_LIBTOOL_CXXCPP])]) -m4_defun([AC_LIBTOOL_CXXCPP],[true]) -m4_ifdef([AC_LIBTOOL_F77], [m4_undefine([AC_LIBTOOL_F77])]) -m4_defun([AC_LIBTOOL_F77],[]) - dnl force libtool to build static libraries with PIC on AMD64-Linux & FreeBSD AC_MSG_CHECKING([if arch-OS host is AMD64-Linux/FreeBSD (to build static libraries with PIC)]) case $host in diff --git a/ares/m4/cares-override.m4 b/ares/m4/cares-override.m4 new file mode 100644 index 000000000..9377adba9 --- /dev/null +++ b/ares/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 +#else +# include +#endif +#undef $1 +#ifdef __cplusplus +extern "C" +#endif +char $1 (); +#if defined __stub_$1 || defined __stub___$1 +choke me +#endif +], [return $1 ();])]) + + diff --git a/configure.ac b/configure.ac index ada25fc1c..54d435044 100644 --- a/configure.ac +++ b/configure.ac @@ -27,6 +27,8 @@ AC_PREREQ(2.57) dnl We don't know the version number "statically" so we use a dash here AC_INIT([curl], [-], [a suitable curl mailing list => http://curl.haxx.se/mail/]) +CURL_OVERRIDE_AUTOCONF + dnl configure script copyright AC_COPYRIGHT([Copyright (c) 1998 - 2008 Daniel Stenberg, This configure script may be copied, distributed and modified under the @@ -153,22 +155,6 @@ AC_LIBTOOL_WIN32_DLL CURL_PROCESS_DEBUG_BUILD_OPTS -dnl skip libtool C++ and Fortran compiler checks -m4_ifdef([AC_PROG_CXX], [m4_undefine([AC_PROG_CXX])]) -m4_defun([AC_PROG_CXX],[]) -m4_ifdef([AC_PROG_CXXCPP], [m4_undefine([AC_PROG_CXXCPP])]) -m4_defun([AC_PROG_CXXCPP],[true]) -m4_ifdef([AC_PROG_F77], [m4_undefine([AC_PROG_F77])]) -m4_defun([AC_PROG_F77],[]) - -dnl skip libtool C++ and Fortran linker checks -m4_ifdef([AC_LIBTOOL_CXX], [m4_undefine([AC_LIBTOOL_CXX])]) -m4_defun([AC_LIBTOOL_CXX],[]) -m4_ifdef([AC_LIBTOOL_CXXCPP], [m4_undefine([AC_LIBTOOL_CXXCPP])]) -m4_defun([AC_LIBTOOL_CXXCPP],[true]) -m4_ifdef([AC_LIBTOOL_F77], [m4_undefine([AC_LIBTOOL_F77])]) -m4_defun([AC_LIBTOOL_F77],[]) - dnl force libtool to build static libraries with PIC on AMD64-Linux & FreeBSD AC_MSG_CHECKING([if arch-OS host is AMD64-Linux/FreeBSD (to build static libraries with PIC)]) case $host in diff --git a/m4/curl-override.m4 b/m4/curl-override.m4 new file mode 100644 index 000000000..6770088dd --- /dev/null +++ b/m4/curl-override.m4 @@ -0,0 +1,87 @@ +#*************************************************************************** +# $Id$ +#*************************************************************************** + +# File version for 'aclocal' use. Keep it a single number. +# serial 1 + +dnl CURL_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([CURL_OVERRIDE_AUTOCONF], [ +AC_BEFORE([$0],[AC_PROG_LIBTOOL]) +# using curl-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 +#else +# include +#endif +#undef $1 +#ifdef __cplusplus +extern "C" +#endif +char $1 (); +#if defined __stub_$1 || defined __stub___$1 +choke me +#endif +], [return $1 ();])]) + + -- cgit v1.2.3