Statistics
| Branch: | Tag: | Revision:

root / configure.ac @ 511ddd6c

History | View | Annotate | Download (7.1 kB)

1
dnl Copyright 2001,2002,2003,2004,2005,2006,2007 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., 51 Franklin Street,
18
dnl Boston, MA 02110-1301, 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,3.0svn)
26
AC_CONFIG_SRCDIR([gnuradio-core/src/lib/runtime/gr_vmcircbuf.cc])
27
28
DEFINES=""
29
AC_SUBST(DEFINES)
30
31
dnl Remember if the user explicity set CXXFLAGS
32
if test -n "${CXXFLAGS}"; then
33
  user_set_cxxflags=yes
34
fi
35
36
GR_X86_64		dnl check for lib64 suffix
37
LF_CONFIGURE_CC
38
LF_CONFIGURE_CXX
39
40
dnl The three macros above are known to override CXXFLAGS if the user
41
dnl didn't specify them.  Though I'm sure somebody thought this was
42
dnl a good idea, it makes it hard to use other than -g -O2 when compiling
43
dnl selected files.  Thus we "undo" the damage here...
44
dnl 
45
dnl If the user specified CXXFLAGS, we use them.  Otherwise when compiling
46
dnl the output of swig use use -O1 if we're using g++.
47
dnl See Makefile.common for the rest of the magic.
48
if test "$user_set_cxxflags" != yes; then
49
  autoconf_default_CXXFLAGS="$CXXFLAGS"
50
  CXXFLAGS=""
51
  if test "$GXX" = yes; then
52
    case "$host_os" in
53
    	darwin*)
54
	if test "$host_cpu" = i386; then
55
	   swig_CXXFLAGS="-g1 -O1"
56
	else
57
	   # "-O1" breaks PPC-OSX for some reason
58
	   swig_CXXFLAGS="-g1 -O2"
59
	fi	
60
	;;
61
    	*) 
62
	swig_CXXFLAGS="-g1 -O1"
63
	;;
64
    esac
65
  fi
66
fi
67
AC_SUBST(autoconf_default_CXXFLAGS)
68
AC_SUBST(swig_CXXFLAGS)
69
70
71
LF_SET_WARNINGS
72
GR_SET_GPROF
73
GR_SET_PROF
74
AM_PROG_AS
75
AC_PROG_LN_S
76
AC_PROG_MAKE_SET
77
AC_PROG_INSTALL
78
AC_PATH_PROG([RM_PROG], [rm])
79
80
AC_LIBTOOL_WIN32_DLL
81
dnl AC_DISABLE_SHARED	dnl don't build shared libraries
82
AC_ENABLE_SHARED	dnl do build shared libraries
83
AC_DISABLE_STATIC	dnl don't build static libraries
84
AC_PROG_LIBTOOL
85
GR_FORTRAN
86
87
GR_NO_UNDEFINED		dnl do we need the -no-undefined linker flag
88
GR_SCRIPTING
89
90
AC_CHECK_PROG([XMLTO],[xmlto],[yes],[])
91
AM_CONDITIONAL([HAS_XMLTO], [test x$XMLTO = xyes])
92
93
dnl Checks for libraries.
94
AC_CHECK_LIB(socket,socket)
95
96
dnl check for threads (mandatory)
97
GR_OMNITHREAD
98
#AC_SUBST(PTHREAD_CFLAGS)
99
CFLAGS="${CFLAGS} $PTHREAD_CFLAGS"
100
CXXFLAGS="${CXXFLAGS} $PTHREAD_CFLAGS"
101
102
if test "x$CXX_FOR_BUILD" = x
103
then
104
  CXX_FOR_BUILD=${CXX}
105
fi
106
AC_SUBST(CXX_FOR_BUILD)
107
108
dnl Check for SysV shm (mandatory)
109
dnl FIXME this is no longer mandatory.  Check the macro.
110
GR_SYSV_SHM
111
112
dnl Checks for header files.
113
AC_HEADER_STDC
114
AC_HEADER_SYS_WAIT
115
AC_CHECK_HEADERS(fcntl.h limits.h strings.h time.h sys/ioctl.h sys/time.h unistd.h)
116
AC_CHECK_HEADERS(linux/ppdev.h sys/mman.h sys/select.h sys/types.h)
117
AC_CHECK_HEADERS(sys/resource.h stdint.h sched.h signal.h)
118
119
dnl Checks for typedefs, structures, and compiler characteristics.
120
AC_C_CONST
121
AC_C_INLINE
122
AC_TYPE_SIZE_T
123
AC_HEADER_TIME
124
AC_C_BIGENDIAN
125
AC_STRUCT_TM
126
127
dnl Checks for library functions.
128
AC_FUNC_ALLOCA
129
AC_FUNC_SETVBUF_REVERSED
130
AC_FUNC_VPRINTF
131
AC_CHECK_FUNCS([mmap select socket strcspn strerror strspn getpagesize sysconf])
132
AC_CHECK_FUNCS([snprintf gettimeofday nanosleep sched_setscheduler])
133
AC_CHECK_FUNCS([modf sqrt sigaction sigprocmask])
134
135
AC_CHECK_LIB(m, sincos, [AC_DEFINE([HAVE_SINCOS],[1],[Define to 1 if your system has `sincos'.])])
136
AC_CHECK_LIB(m, sincosf,[AC_DEFINE([HAVE_SINCOSF],[1],[Define to 1 if your system has `sincosf'.])])
137
AC_CHECK_LIB(m, sinf, [AC_DEFINE([HAVE_SINF],[1],[Define to 1 if your system has `sinf'.])])
138
AC_CHECK_LIB(m, cosf, [AC_DEFINE([HAVE_COSF],[1],[Define to 1 if your system has `cosf'.])])
139
AC_CHECK_LIB(m, trunc, [AC_DEFINE([HAVE_TRUNC],[1],[Define to 1 if your system has `trunc'.])])
140
AC_CHECK_LIB(m, exp10, [AC_DEFINE([HAVE_EXP10],[1],[Define to 1 if your system has 'exp10'.])])
141
#AC_FUNC_MKTIME
142
143
AH_BOTTOM([
144
#ifndef HAVE_TRUNC
145
#include <math.h>
146
inline static double trunc(double x)
147
{
148
  return x >= 0 ? floor(x) : ceil(x);
149
}
150
#endif
151
152
#ifndef HAVE_EXP10
153
#include <math.h>
154
inline static double exp10(double x)
155
{
156
  return pow(10.0, x);
157
}
158
#endif
159
])
160
161
GR_CHECK_SHM_OPEN
162
GR_LIBGNURADIO_CORE_EXTRA_LDFLAGS
163
GR_CHECK_CREATEFILEMAPPING
164
165
dnl Check for Mingw support
166
GR_PWIN32
167
168
dnl Do we have "dot", part of the graphviz package from AT&T?
169
dnl Doxgen will use it to draw pretty diagrams ;-)
170
AC_CHECK_PROG(HAVE_DOT, [dot],[YES],[NO])
171
172
PKG_CHECK_MODULES(FFTW3F, fftw3f >= 3.0)
173
AC_SUBST(FFTW3F_LIBS)
174
175
dnl conditional build stuff
176
GR_CHECK_DOXYGEN
177
GR_SET_MD_CPU
178
179
dnl Define where to look for cppunit includes and libs
180
dnl sets CPPUNIT_CFLAGS and CPPUNIT_LIBS
181
AM_PATH_CPPUNIT([1.9.14],[],
182
		[AC_MSG_ERROR([GNU Radio requires cppunit.  Stop])])
183
184
CPPUNIT_INCLUDES=$CPPUNIT_CFLAGS
185
AC_SUBST(CPPUNIT_INCLUDES)
186
187
dnl Define where to find boost includes
188
dnl defines BOOST_CFLAGS
189
GR_REQUIRE_BOOST_INCLUDES
190
191
dnl Component specific configuration
192
dnl The order of the GR_ macros determines the order of compilation
193
AC_ARG_ENABLE(
194
    [all-components],
195
    [  --enable-all-components Build all components or stop on failed dependencies]
196
)
197
198
build_dirs="config"
199
GRC_OMNITHREAD			dnl must come before gnuradio-core and mblock
200
GRC_GNURADIO_CORE
201
GRC_USRP
202
GRC_GR_USRP			dnl this must come after GRC_USRP
203
GRC_GR_AUDIO_ALSA
204
GRC_GR_AUDIO_JACK
205
GRC_GR_AUDIO_OSS
206
GRC_GR_AUDIO_OSX
207
GRC_GR_AUDIO_PORTAUDIO
208
GRC_GR_AUDIO_WINDOWS
209
GRC_GR_ATSC
210
GRC_GR_COMEDI
211
GRC_GR_GSM_FR_VOCODER
212
GRC_GR_PAGER
213
GRC_GR_RADIO_ASTRONOMY
214
GRC_GR_TRELLIS
215
GRC_GR_VIDEO_SDL
216
#GRC_GR_QTGUI			dnl disabled until grc_gr_qtgui.m4 is final
217
GRC_GR_WXGUI
218
GRC_PMT
219
GRC_MBLOCK			dnl this must come after GRC_PMT
220
GRC_EZDOP		
221
GRC_GR_EZDOP			dnl this must come after GRC_EZDOP
222
GRC_GR_RDF
223
GRC_GNURADIO_EXAMPLES		dnl must come last
224
225
# Each component is now either to be built, was skipped, or failed dependencies
226
AC_SUBST([build_dirs], [$build_dirs])
227
AC_SUBST([skipped_dirs], [$skipped_dirs])
228
 
229
AC_CONFIG_FILES([\
230
    Makefile \
231
    run_tests.sh
232
    config/Makefile
233
])
234
235
dnl run_tests.sh is created from run_tests.in.sh.  Make it executable.
236
AC_CONFIG_COMMANDS([run_tests_build], [chmod +x run_tests.sh])
237
238
AC_OUTPUT
239
240
echo
241
echo "*********************************************************************"
242
echo The following GNU Radio components have been successfully configured:
243
echo 
244
for dir in $build_dirs
245
do
246
    echo $dir
247
done
248
echo
249
echo You my now run the 'make' command to build these components.
250
echo
251
if test "$skipped_dirs" != ""; then
252
    echo "*********************************************************************"
253
    echo The following components were skipped either because you asked not
254
    echo to build them or they didn\'t pass configuration checks:
255
    echo
256
    for dir in $skipped_dirs
257
    do
258
        echo $dir
259
    done
260
    echo
261
    echo These components will not be built.
262
    echo
263
fi