Statistics
| Branch: | Tag: | Revision:

root / configure.ac @ 878730dc

History | View | Annotate | Download (5.8 kB)

1
dnl Copyright 2001,2002,2003,2004,2005,2006 Free Software Foundation, Inc.
2
dnl 
3
dnl This file is part of GNU Radio
4
dnl 
5
dnl GNU Radio is free software; you can redistribute it and/or modify
6
dnl it under the terms of the GNU General Public License as published by
7
dnl the Free Software Foundation; either version 2, or (at your option)
8
dnl any later version.
9
dnl 
10
dnl GNU Radio is distributed in the hope that it will be useful,
11
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
dnl GNU General Public License for more details.
14
dnl 
15
dnl You should have received a copy of the GNU General Public License
16
dnl along with GNU Radio; see the file COPYING.  If not, write to
17
dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18
dnl Boston, MA 02111-1307, USA.
19
20
AC_INIT
21
AC_PREREQ(2.57)
22
AM_CONFIG_HEADER(config.h)
23
AC_CANONICAL_HOST
24
AC_CANONICAL_TARGET([])
25
AM_INIT_AUTOMAKE(gnuradio,2.8svn)
26
AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
27
28
GR_X86_64		dnl check for lib64 suffix
29
LF_CONFIGURE_CC
30
LF_CONFIGURE_CXX
31
LF_SET_WARNINGS
32
GR_SET_GPROF
33
GR_SET_PROF
34
GR_PROG_AS
35
AC_PROG_LN_S
36
AC_PROG_MAKE_SET
37
AC_PROG_INSTALL
38
AC_PATH_PROG([RM_PROG], [rm])
39
40
AC_LIBTOOL_WIN32_DLL
41
dnl AC_DISABLE_SHARED	dnl don't build shared libraries
42
AC_ENABLE_SHARED	dnl do build shared libraries
43
AC_DISABLE_STATIC	dnl don't build static libraries
44
AC_PROG_LIBTOOL
45
GR_FORTRAN
46
47
GR_NO_UNDEFINED		dnl do we need the -no-undefined linker flag
48
GR_SCRIPTING
49
50
AC_CHECK_PROG([XMLTO],[xmlto],[yes],[])
51
AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes])
52
53
dnl Checks for libraries.
54
AC_CHECK_LIB(socket,socket)
55
56
dnl check for threads (mandatory)
57
GR_OMNITHREAD
58
#AC_SUBST(PTHREAD_CFLAGS)
59
CFLAGS="${CFLAGS} $PTHREAD_CFLAGS"
60
CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS"
61
62
if test "x$CXX_FOR_BUILD" = x
63
then
64
  CXX_FOR_BUILD=${CXX}
65
fi
66
AC_SUBST(CXX_FOR_BUILD)
67
68
dnl Check for SysV shm (mandatory)
69
dnl FIXME this is no longer mandatory.  Check the macro.
70
GR_SYSV_SHM
71
72
dnl Checks for header files.
73
AC_HEADER_STDC
74
AC_HEADER_SYS_WAIT
75
AC_CHECK_HEADERS(fcntl.h limits.h strings.h time.h sys/ioctl.h sys/time.h unistd.h)
76
AC_CHECK_HEADERS(linux/ppdev.h sys/mman.h sys/select.h sys/types.h)
77
AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h)
78
79
dnl Checks for typedefs, structures, and compiler characteristics.
80
AC_C_CONST
81
AC_C_INLINE
82
AC_TYPE_SIZE_T
83
AC_HEADER_TIME
84
AC_C_BIGENDIAN
85
AC_STRUCT_TM
86
87
dnl Checks for library functions.
88
AC_FUNC_ALLOCA
89
AC_FUNC_SETVBUF_REVERSED
90
AC_FUNC_VPRINTF
91
AC_CHECK_FUNCS([mmap select socket strcspn strerror strspn getpagesize sysconf])
92
AC_CHECK_FUNCS([snprintf gettimeofday nanosleep sched_setscheduler])
93
AC_CHECK_FUNCS([modf sqrt])
94
95
AC_CHECK_LIB(m, sincos, [AC_DEFINE([HAVE_SINCOS],[1],[Define to 1 if your system has `sincos'.])])
96
AC_CHECK_LIB(m, sincosf,[AC_DEFINE([HAVE_SINCOSF],[1],[Define to 1 if your system has `sincosf'.])])
97
AC_CHECK_LIB(m, sinf, [AC_DEFINE([HAVE_SINF],[1],[Define to 1 if your system has `sinf'.])])
98
AC_CHECK_LIB(m, cosf, [AC_DEFINE([HAVE_COSF],[1],[Define to 1 if your system has `cosf'.])])
99
AC_CHECK_LIB(m, trunc, [AC_DEFINE([HAVE_TRUNC],[1],[Define to 1 if your system has `trunc'.])])
100
AC_CHECK_LIB(m, exp10, [AC_DEFINE([HAVE_EXP10],[1],[Define to 1 if your system has 'exp10'.])])
101
#AC_FUNC_MKTIME
102
103
AH_BOTTOM([
104
#ifndef HAVE_TRUNC
105
#include <math.h>
106
inline static double trunc(double x)
107
{
108
  return x >= 0 ? floor(x) : ceil(x);
109
}
110
#endif
111
112
#ifndef HAVE_EXP10
113
#include <math.h>
114
inline static double exp10(double x)
115
{
116
  return pow(10.0, x);
117
}
118
#endif
119
])
120
121
GR_CHECK_SHM_OPEN
122
GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS
123
GR_CHECK_CREATEFILEMAPPING
124
125
dnl Check for Mingw support
126
GR_PWIN32
127
128
dnl Do we have "dot", part of the graphviz package from AT&T?
129
dnl Doxgen will use it to draw pretty diagrams ;-)
130
AC_CHECK_PROG(HAVE_DOT, [dot],[YES],[NO])
131
132
PKG_CHECK_MODULES(FFTW3F, fftw3f >= 3.0)
133
AC_SUBST(FFTW3F_LIBS)
134
135
dnl conditional build stuff
136
GR_CHECK_DOXYGEN
137
GR_SET_MD_CPU
138
139
dnl Define where to look for cppunit includes and libs
140
dnl sets CPPUNIT_CFLAGS and CPPUNIT_LIBS
141
AM_PATH_CPPUNIT([1.9.14],[],
142
		[AC_MSG_ERROR([GNU Radio requires cppunit.  Stop])])
143
144
CPPUNIT_INCLUDES=$CPPUNIT_CFLAGS
145
AC_SUBST(CPPUNIT_INCLUDES)
146
147
dnl Define where to find boost includes
148
dnl defines BOOST_CFLAGS
149
GR_REQUIRE_BOOST_INCLUDES
150
151
DEFINES=""
152
AC_SUBST(DEFINES)
153
154
dnl Component specific configuration
155
dnl The order of the GR_ macros determines the order of compilation
156
AC_ARG_ENABLE(
157
    [all-components],
158
    [  --enable-all-components Build all components or stop on failed dependencies]
159
)
160
161
build_dirs="config"
162
GRC_GNURADIO_CORE
163
GRC_GNURADIO_EXAMPLES
164
GRC_USRP
165
GRC_GR_USRP			dnl this must come after GRC_USRP
166
GRC_GR_AUDIO_ALSA
167
GRC_GR_AUDIO_JACK
168
GRC_GR_AUDIO_OSS
169
GRC_GR_AUDIO_OSX
170
GRC_GR_AUDIO_PORTAUDIO
171
GRC_GR_AUDIO_WINDOWS
172
GRC_GR_ATSC
173
GRC_GR_COMEDI
174
GRC_GR_ERROR_CORRECTING_CODES
175
GRC_GR_GSM_FR_VOCODER
176
GRC_GR_RADAR
177
GRC_GR_RADIO_ASTRONOMY
178
GRC_GR_TRELLIS
179
GRC_GR_VIDEO_SDL
180
GRC_GR_WXGUI
181
GRC_PMT
182
GRC_MBLOCK			dnl this must come after GRC_PMT
183
GRC_EZDOP		
184
GRC_GR_EZDOP			dnl this must come after GRC_EZDOP
185
186
# Each component is now either to be built, was skipped, or failed dependencies
187
AC_SUBST([build_dirs], [$build_dirs])
188
AC_SUBST([skipped_dirs], [$skipped_dirs])
189
 
190
AC_CONFIG_FILES([\
191
    Makefile \
192
    config/Makefile
193
])
194
195
AC_OUTPUT
196
197
echo
198
echo "*********************************************************************"
199
echo The following GNU Radio components have been successfully configured:
200
echo 
201
for dir in $build_dirs
202
do
203
    echo $dir
204
done
205
echo
206
echo You my now run the 'make' command to build these components.
207
echo
208
if test "$skipped_dirs" != ""; then
209
    echo "*********************************************************************"
210
    echo The following components were skipped either because you asked not
211
    echo to build them or they didn\'t pass configuration checks:
212
    echo
213
    for dir in $skipped_dirs
214
    do
215
        echo $dir
216
    done
217
    echo
218
    echo These components will not be built.
219
    echo
220
fi