autoconf-archive-maintainers | |
[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problem with LIBS generated by a macro
From: |
Sergio Belkin |
Subject: |
Problem with LIBS generated by a macro |
Date: |
Sun, 31 Oct 2010 18:02:32 -0300 |
Hi,
I've autoconfiscated a project that link against libresolv and
libtpthread, and optionally against ssl, mysqlclient and pq. I am
working on Fedora 13 (i686).
I've found a macro AX_EXT_HAVE_LIB
(http://www.gnu.org/software/autoconf-archive/ax_ext_have_lib.html)
that "is identical to AC_SEARCH_LIBS with the exception that will add
-L<directory> when looking, and use a different variable for each
directory. " It seems great for me!
The problem is that at the end only take the last library found, in my
case "pq".
It seems that macro override the earlier value of "LIBS" variable.
I've examined the configure script but it's a bit tricky, you may
read a snippet about the macro on http://pastebin.com/vHKYp0UR
I've tried modifying macro, replacing the final LIBS="$new_libs" por
LIBS="$new_libs $LIBS" which you may read on
http://pastebin.com/DNCCfgnU
But now LIBS ends as: '-lpq -lmysqlclient -lssl -lpthread -lresolv
-lssl -lpthread -lresolv '
It seems harmless but it's too ugly, isn't it? Please could you help
me to get the correct value of LIBS variable
The autoconf is as follows:
AC_PREREQ([2.59])
AC_INIT([UpTools],[8.5.3],address@hidden,[UpTools])
AM_INIT_AUTOMAKE([foreign -Wall -Werror])
LT_PREREQ([2.2])
LT_INIT([dlopen])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([UpConf.cc])
AC_CONFIG_HEADERS([config.h])
AC_PREFIX_DEFAULT(/usr)
AC_PROG_CXX
AX_EXT_HAVE_LIB([/lib64 /lib /usr/lib64 /usr/lib64 /usr/lib
/usr/local/lib64 /usr/local/lib],resolv,inet_net_pton)
AS_ECHO($LIBS)
AX_EXT_HAVE_LIB([/lib64 /lib /usr/lib64 /usr/lib64 /usr/lib
/usr/local/lib64 /usr/local/lib],pthread,pthread_create)
AC_ARG_WITH([ssl],
[AS_HELP_STRING([--with-ssl],
[enable support for ssl @<:@default=check@:>@])],
[],
[with_ssl=check])
AS_IF([test "x$with_ssl" != xno],[AX_EXT_HAVE_LIB(/lib64 /lib
/usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib
/usr/local/lib64/ssl /usr/lib/ssl , ssl, SSL_library_init)],
[if test "x$with_ssl" != xcheck -a "x$ext_lib_found" = xno
then AC_MSG_FAILURE([ssl test failed (--without-ssl to disable)])
fi
])
if test x"$ext_lib_found" = xyes
then found_ssl=yes
fi
AC_ARG_WITH([mysql],
[AS_HELP_STRING([--with-mysql],
[enable support for mysql @<:@default=check@:>@])],
[],
[with_mysql=check])
AS_IF([test "x$with_mysql" != xno],[AX_EXT_HAVE_LIB(/lib64 /lib
/usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib
/usr/local/lib64/mysql /usr/lib/mysql , mysqlclient, mysql_close)],
[if test "x$with_mysql" != xcheck -a "x$ext_lib_found" = xno
then AC_MSG_FAILURE([mysql test failed (--without-mysql to disable)])
fi
])
if test x"$ext_lib_found" = xyes
then found_mysql=yes
fi
AC_ARG_WITH([postgresql],
[AS_HELP_STRING([--with-postgresql],
[enable support for mysql @<:@default=check@:>@])],
[],
[with_postgresql=check])
AS_IF([test "x$with_postgresql" != xno],[AX_EXT_HAVE_LIB(/lib64 /lib
/usr/lib64 /usr/lib /usr/local/lib64 /usr/local/lib
/usr/local/lib64/postgresql /usr/lib/postgresql , pq, PQfinish)],
[if test "x$with_postgresql" != xcheck -a "x$ext_lib_found" = xno
then AC_MSG_FAILURE([postgresql test failed (--without-postgresql to disable)])
fi
])
if test x"$ext_lib_found" = xyes
then found_postgresql=yes
fi
AC_HEADER_RESOLV
if test "x${found_ssl}" = xyes
then AC_CHECK_HEADERS([openssl/ssl.h yassl/ssl.h], [break])
if test x"$ac_cv_header_openssl_ssl_h" != xyes -a
x"$ac_cv_header_yassl_ssl_h" != xyes
then AC_MSG_FAILURE([ssl headers not found or not usable])
else ssl=true
fi
else ssl=false
fi
if test "x$want_mysql" != xno -a "x$found_mysql" != xno
then AC_CHECK_HEADERS([mysql/mysql.h mysql.h], [break])
if test x"$ac_cv_header_mysql_mysql_h" != xyes -a
x"$ac_cv_header_mysql_h" != xyes
then AC_MSG_FAILURE([MySQL headers not found or not usable])
else mysql=true
fi
else mysql=false
fi
if test x"${found_pq}" = xyes
then AC_CHECK_HEADERS([postgresql/libpq-fe.h libpq-fe.h], [break])
if test x"$ac_cv_header_postgresql_libpq_fe_h" != xyes -a
x"$ac_cv_header_libpq_fe_h" != xyes
then AC_MSG_FAILURE([PostgreSQL headers not found or
not usable])
else postgresql=true
fi
else postgresql=false
fi
AM_CONDITIONAL([ssl], [test x$ssl = xtrue])
AM_CONDITIONAL([mysql], [test x$mysql = xtrue])
AM_CONDITIONAL([postgresql], [test x$postgresql = xtrue])
if test x"$ssl" = xfalse
then
ss="No. You may enable with --enable-ssl"
else
ss="Yes"
fi
if test x"$mysql" != xtrue
then
ms="No. You may enable with --with-mysql"
else
ms="Yes"
fi
if test x"$postgresql" = xfalse
then
pq="No. You may enable with --with-postgresql"
else
pq="Yes"
fi
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stdlib.h
string.h strings.h sys/ioctl.h sys/socket.h sys/time.h syslog.h
unistd.h])
AC_HEADER_STDBOOL
AC_C_INLINE
AC_TYPE_SIZE_T
AC_FUNC_MKTIME
AC_CHECK_FUNCS([gethostbyname localtime_r memmove memset regcomp
select socket strcasecmp strerror strncasecmp])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
echo \
"-------------------------------------------------
Congratulations! You have created a Makefile for: ${PACKAGE_NAME}
${PACKAGE_VERSION}
Prefix is '${prefix}'.
Compiler is '${CXX}
LIBS are '${LIBS}'
ssl support: '${ss}'
Wanted MySQL: ${want_mysql}
mysql support: ${found_mysql}
postgresql support: '${pq}'
UpTools will be Built on: '${build}'
UpTools will Built for: '${host}'
Now type 'make' in order to compile
If you want to test your compiling type 'make check'
After compiling, you can install with 'make install'
At the end, you can check your installation with 'make installcheck'
--------------------------------------------------"
EOF
TIA!
--
--
Sergio Belkin http://www.sergiobelkin.com
Watch More TV http://sebelk.blogspot.com
Sergio Belkin -
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Problem with LIBS generated by a macro,
Sergio Belkin <=