Skip to content
Snippets Groups Projects
  • George Joseph's avatar
    2b4423d2
    build: Allow autoconf/ast_ext_tool_check to handle cross-compiling better. · 2b4423d2
    George Joseph authored
    ast_ext_tool_check.m4 isn't handling cases where a path to a package is
    provided (E.G. --with-mysqlclient=/some/sysroot) and the package has a config
    tool (E.G. mysql_config) and the package has its own subdirectories in include
    or lib.  For example, mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql
    but ast_ext_tool_check sets MYSQLCLIENT_LIB to ${MYSQLCLIENT_DIR}/usr/lib.
    libxml2 has the same problem with its includes.  They're in 
    ${LIBXML2_DIR}/usr/include/libxml2 not directly in ${LIBXML2_DIR}/usr/include.
    Both cause configure to fail and there are others in the same boat.
    
    The problem is caused by logic in ast_ext_tool_check that overrides the result
    of the config tool's --cflags and --libs options if package_DIR is set.
    
    This patch prepends package_DIR (if specified) to the -L and -I results from
    the package's config tool instead of overriding them.
    
    A regenerated ./configure and include/asterisk/autoconfig.h.in are included
    but can be regenerated by running ./bootstrap.sh at any time.
    
    Tested by: George Joseph
    Tested by: Matt Jordan
    Review: https://reviewboard.asterisk.org/r/3550/
    ........
    
    Merged revisions 416929 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@416930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
    2b4423d2
    History
    build: Allow autoconf/ast_ext_tool_check to handle cross-compiling better.
    George Joseph authored
    ast_ext_tool_check.m4 isn't handling cases where a path to a package is
    provided (E.G. --with-mysqlclient=/some/sysroot) and the package has a config
    tool (E.G. mysql_config) and the package has its own subdirectories in include
    or lib.  For example, mysql's libraries are in ${MYSQLCLIENT_DIR}/usr/lib/mysql
    but ast_ext_tool_check sets MYSQLCLIENT_LIB to ${MYSQLCLIENT_DIR}/usr/lib.
    libxml2 has the same problem with its includes.  They're in 
    ${LIBXML2_DIR}/usr/include/libxml2 not directly in ${LIBXML2_DIR}/usr/include.
    Both cause configure to fail and there are others in the same boat.
    
    The problem is caused by logic in ast_ext_tool_check that overrides the result
    of the config tool's --cflags and --libs options if package_DIR is set.
    
    This patch prepends package_DIR (if specified) to the -L and -I results from
    the package's config tool instead of overriding them.
    
    A regenerated ./configure and include/asterisk/autoconfig.h.in are included
    but can be regenerated by running ./bootstrap.sh at any time.
    
    Tested by: George Joseph
    Tested by: Matt Jordan
    Review: https://reviewboard.asterisk.org/r/3550/
    ........
    
    Merged revisions 416929 from http://svn.asterisk.org/svn/asterisk/branches/1.8
    
    
    git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@416930 65c4cc65-6c06-0410-ace0-fbb531ad65f3