osmo-tetra/src/demod/config/gr_standalone.m4

136 lines
4.2 KiB
Plaintext

dnl
dnl Copyright 2008,2009 Free Software Foundation, Inc.
dnl
dnl This file is part of GNU Radio
dnl
dnl GNU Radio is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 3, or (at your option)
dnl any later version.
dnl
dnl GNU Radio is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License along
dnl with this program; if not, write to the Free Software Foundation, Inc.,
dnl 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
dnl
dnl
dnl GR_STANDALONE([package],[version])
dnl
dnl Handles the bulk of the configure.ac work for an out-of-tree build
dnl
dnl N.B., this is an m4_define because if it were an AC_DEFUN it would
dnl get called too late to be useful.
m4_define([GR_STANDALONE],
[
AC_CONFIG_SRCDIR([config/gr_standalone.m4])
AM_CONFIG_HEADER(config.h)
dnl Remember if the user explicity set CXXFLAGS
if test -n "${CXXFLAGS}"; then
user_set_cxxflags=yes
fi
LF_CONFIGURE_CC
LF_CONFIGURE_CXX
GR_LIB64 dnl check for lib64 suffix after choosing compilers
dnl The three macros above are known to override CXXFLAGS if the user
dnl didn't specify them. Though I'm sure somebody thought this was
dnl a good idea, it makes it hard to use other than -g -O2 when compiling
dnl selected files. Thus we "undo" the damage here...
dnl
dnl If the user specified CXXFLAGS, we use them. Otherwise when compiling
dnl the output of swig use use -O1 if we're using g++.
dnl See Makefile.common for the rest of the magic.
if test "$user_set_cxxflags" != yes; then
autoconf_default_CXXFLAGS="$CXXFLAGS"
if test "$GXX" = yes; then
case "$host_cpu" in
powerpc*)
dnl "-O1" is broken on the PPC for some reason
dnl (at least as of g++ 4.1.1)
swig_CXXFLAGS="-g1 -O2 -Wno-strict-aliasing -Wno-parentheses"
;;
*)
swig_CXXFLAGS="-g -O1 -Wno-strict-aliasing -Wno-parentheses"
;;
esac
fi
fi
AC_SUBST(autoconf_default_CXXFLAGS)
AC_SUBST(swig_CXXFLAGS)
dnl add ${prefix}/lib${gr_libdir_suffix}/pkgconfig to the head of the PKG_CONFIG_PATH
if test x${PKG_CONFIG_PATH} = x; then
PKG_CONFIG_PATH=${prefix}/lib${gr_libdir_suffix}/pkgconfig
else
PKG_CONFIG_PATH=${prefix}/lib${gr_libdir_suffix}/pkgconfig:${PKG_CONFIG_PATH}
fi
export PKG_CONFIG_PATH
LF_SET_WARNINGS
GR_SET_GPROF
GR_SET_PROF
AM_PROG_AS
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_PATH_PROG([RM_PROG], [rm])
AC_LIBTOOL_WIN32_DLL
AC_ENABLE_SHARED dnl do build shared libraries
AC_DISABLE_STATIC dnl don't build static libraries
m4_ifdef([LT_INIT],[LT_INIT],[AC_PROG_LIBTOOL])
dnl GR_FORTRAN
GR_NO_UNDEFINED dnl do we need the -no-undefined linker flag
GR_SCRIPTING dnl Locate python, SWIG, etc
dnl Checks for header files.
AC_HEADER_STDC
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_C_BIGENDIAN
dnl Check for Mingw support
GR_PWIN32
AC_CHECK_PROG([XMLTO],[xmlto],[yes],[])
AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes])
PKG_CHECK_MODULES(GNURADIO_CORE, gnuradio-core >= 3)
LIBS="$LIBS $GNURADIO_CORE_LIBS"
dnl Allow user to choose whether to generate SWIG/Python
dnl Default is enabled
AC_ARG_ENABLE([python],
[AS_HELP_STRING([--enable-python],
[generate SWIG/Python components (default is yes)])],
[case "${enableval}" in
yes) enable_python=yes ;;
no) enable_python=no ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-python]) ;;
esac],
[enable_python=yes]
)
AM_CONDITIONAL([PYTHON], [test x$enable_python = xyes])
dnl Define where to look for cppunit includes and libs
dnl sets CPPUNIT_CFLAGS and CPPUNIT_LIBS
dnl Try using pkg-config first, then fall back to cppunit-config.
PKG_CHECK_EXISTS(cppunit,
[PKG_CHECK_MODULES(CPPUNIT, cppunit >= 1.9.14)],
[AM_PATH_CPPUNIT([1.9.14],[],
[AC_MSG_ERROR([GNU Radio requires cppunit. Stop])])])
])