source: tags/20110331/trunk/configure.in @ 4790

Last change on this file since 4790 was 2192, checked in by gah, 14 years ago
File size: 24.7 KB
Line 
1
2AC_INIT([Rappture],[1.1],[rappture@nanohub.org])
3dnl AC_CONFIG_HEADER(src/core/RpConfig.h)
4AC_CONFIG_AUX_DIR(cf)
5AC_CONFIG_HEADER(src/core/config.h)
6
7with_tclsh=yes
8rp_with_tclsh="yes"
9rp_with_mkoctfile2="no"
10rp_with_mkoctfile3="no"
11rp_with_octave="yes"
12rp_with_vtk="yes"
13rp_with_matlab="yes"
14rp_with_perl="yes"
15rp_with_python="yes"
16rp_with_ruby="yes"
17rp_with_java="yes"
18with_install="yes"
19
20#------------------------------------------------------------------------
21# Handle the --prefix=... option
22#------------------------------------------------------------------------
23
24if test "${prefix}" = "NONE"; then
25    prefix=/usr/local
26fi
27if test "${exec_prefix}" = "NONE"; then
28    exec_prefix=$prefix
29fi
30
31AC_ARG_WITH(
32    [install],
33    [AS_HELP_STRING([--with-install[=DIR]],
34        [location of installation @<:@default=yes@:>@])],
35    [],
36    [with_install=yes])
37if test "$with_install" != "yes"; then
38    INSTALL_PREFIX=$with_install
39else
40    INSTALL_PREFIX=$prefix
41fi
42AC_SUBST(INSTALL_PREFIX)
43
44
45if test "${libdir}" != "${prefix}/lib"; then
46    LIB_SEARCH_DIRS="-L${prefix}/lib -L${libdir}"
47else
48    LIB_SEARCH_DIRS="-L${libdir}"
49fi
50
51AC_SUBST(LIB_SEARCH_DIRS)
52
53AC_PROG_INSTALL
54AC_PROG_INSTALL
55AC_PROG_RANLIB
56AC_PROG_LN_S
57AC_PROG_MKDIR_P
58AC_PROG_MAKE_SET
59
60# Check for C, C++, and FORTRAN
61AC_PROG_CC
62AC_PROG_CXX
63# Avoid g95
64AC_PROG_F77([g77 gfortran f77 fort77 f90 xlf xlf90 fl32])
65
66AC_LANG([C])
67
68AC_HEADER_STDC
69AC_CHECK_FUNC(atol,,AC_MSG_ERROR(oops! no atol ?!?))
70
71AC_LANG([C++])
72
73AC_CHECK_FUNCS([sysinfo])
74AC_CHECK_HEADERS(sys/sysinfo.h)
75
76AC_CHECK_LIB(m, main,,AC_MSG_ERROR(librappture requires libm))
77AC_CHECK_LIB(stdc++, main,,AC_MSG_ERROR(librappture requires libstdc++))
78AC_CHECK_HEADERS(algorithm,,AC_MSG_WARN(STL classes missing ?))
79AC_CHECK_HEADERS(cctype,,AC_MSG_WARN(STL classes missing ?))
80AC_CHECK_HEADERS(cfloat,,AC_MSG_WARN(STL classes missing ?))
81AC_CHECK_HEADERS(cmath,,AC_MSG_WARN(STL classes missing ?))
82AC_CHECK_HEADERS(cstdio,,AC_MSG_WARN(STL classes missing ?))
83AC_CHECK_HEADERS(cstdlib,,AC_MSG_WARN(STL classes missing ?))
84AC_CHECK_HEADERS(cstring,,AC_MSG_WARN(STL classes missing ?))
85AC_CHECK_HEADERS(fstream,,AC_MSG_WARN(STL classes missing ?))
86AC_CHECK_HEADERS(list,,AC_MSG_WARN(STL classes missing ?))
87AC_CHECK_HEADERS(iostream,,AC_MSG_WARN(STL classes missing ?))
88AC_CHECK_HEADERS(iterator,,AC_MSG_WARN(STL classes missing ?))
89AC_CHECK_HEADERS(sstream,,AC_MSG_WARN(STL classes missing ?))
90AC_CHECK_HEADERS(stack,,AC_MSG_WARN(STL classes missing ?))
91AC_CHECK_HEADERS(string,,AC_MSG_WARN(STL classes missing ?))
92AC_CHECK_HEADERS(vector,,AC_MSG_WARN(STL classes missing ?))
93
94AC_CHECK_HEADERS(assert.h,,AC_MSG_WARN(C headers missing ?))
95AC_CHECK_HEADERS(ctype.h,,AC_MSG_WARN(C headers missing ?))
96AC_CHECK_HEADERS(errno.h,,AC_MSG_WARN(C headers missing ?))
97AC_CHECK_HEADERS(limits.h,,AC_MSG_WARN(C headers missing ?))
98AC_CHECK_HEADERS(string.h,,AC_MSG_WARN(C headers missing ?))
99AC_CHECK_HEADERS(stdlib.h,,AC_MSG_WARN(C headers missing ?))
100AC_CHECK_HEADERS(stddef.h,,AC_MSG_WARN(C headers missing ?))
101AC_CHECK_HEADERS(float.h,,AC_MSG_WARN(C headers missing ?))
102AC_CHECK_HEADERS(math.h,,AC_MSG_WARN(C headers missing ?))
103dnl AC_CHECK_HEADERS(ieeefp.h,,AC_MSG_WARN(C headers missing ?))
104AC_CHECK_HEADERS(malloc.h,,AC_MSG_WARN(C headers missing ?))
105AC_CHECK_HEADERS(memory.h,,AC_MSG_WARN(C headers missing ?))
106AC_CHECK_HEADERS(unistd.h,,AC_MSG_WARN(C headers missing ?))
107
108AC_CHECK_HEADERS(inttypes.h,,AC_MSG_WARN(C headers missing ?))
109if test "${ac_cv_header_inttypes_h}" = "yes" ; then
110  HAVE_INTTYPES_H=1
111else
112  HAVE_INTTYPES_H=0
113fi
114AC_SUBST(HAVE_INTTYPES_H)
115
116
117SC_CONFIG_CFLAGS
118
119make_command=""
120for m in "$MAKE" make gmake gnumake ; do
121  if test "x${m}" != "x" ; then
122    if  ( sh -c "$m --version" 2>/dev/null | grep GNU >/dev/null ) ; then
123      make_command=$m; break;
124    fi
125  fi
126done
127if test "x${make_command}" = "x" ; then
128  AC_MSG_ERROR([Requires GNU make. You can specify a version with \$MAKE])
129fi
130AC_SUBST(MAKE, ${make_command})
131
132AC_ARG_ENABLE(
133    [gui],
134    [AS_HELP_STRING([--enable-gui], [build code related to the graphical user interface @<:@default=yes@:>@])],
135    [],
136    [enable_gui=yes])
137
138ENABLE_GUI=
139if test "$enable_gui" != "no" ; then
140    ENABLE_GUI="yes"
141fi
142AC_SUBST(ENABLE_GUI)
143
144TCL_VERSION="8.4"
145for dir in \
146 ${exec_prefix} \
147 ${exec_prefix}/lib ; do
148  tclconfig="${dir}/tclConfig.sh"
149  if test -f "$tclconfig" ; then
150    . $tclconfig
151    break
152  fi
153done
154
155
156AC_ARG_WITH(
157    [tclsh],
158    [AS_HELP_STRING([--with-tclsh[=DIR]],
159        [location of tclsh @<:@default=yes@:>@])],
160    [rp_with_tclsh=$withval],
161    [rp_with_tclsh=yes])
162
163TCLSH=""
164if test "${rp_with_tclsh}" != "no" ; then
165  tclsh="tclsh${TCL_VERSION}"
166  if test "${rp_with_tclsh}" = "yes" ; then
167    AC_PATH_PROG(TCLSH, ${tclsh}, [], [${exec_prefix}/bin:${PATH}])
168  else
169    AC_PATH_PROG(TCLSH, ${tclsh}, [], [${rp_with_tclsh}/bin:${rp_with_tclsh}])
170  fi
171  if test "x${TCLSH}" = "x" ; then
172    AC_ERROR([can't find tclsh])
173  fi
174fi
175AC_SUBST(TCLSH)
176
177 
178TCL_INC_SPEC="$TCL_INCLUDE_SPEC"
179
180AC_SUBST(TCL_VERSION)
181AC_SUBST(TCL_INC_SPEC)
182AC_SUBST(TCL_LIB_SPEC)
183
184AC_ARG_WITH(
185    [vtk],
186    [AS_HELP_STRING([--with-vtk[=DIR]],
187        [location of vtk library @<:@default=yes@:>@])],
188    [rp_with_vtk=$withval], [rp_with_vtk=yes])
189
190AC_MSG_CHECKING([for vtk])
191VTKDIR=""
192
193if test "$rp_with_vtk" != "no" ; then
194  if test "$rp_with_vtk" = "yes" ; then
195    for path in \
196     $libdir \
197     $prefix/lib \
198     $exec_prefix/lib \
199     /usr/lib
200    do
201      for vtk in $path/vtk-* ; do
202        if test -d "${vtk}" ; then
203          VTKDIR=${vtk}
204        fi
205      done
206      if test "x${VTKDIR}" != "x" ; then
207        break
208      fi
209    done
210  fi
211fi
212AC_SUBST(VTKDIR)
213AC_MSG_RESULT([$VTKDIR])
214
215
216AC_ARG_WITH(
217    [matlab],
218    [AS_HELP_STRING([--with-matlab[=DIR]],
219        [location of matlab and mex compiler @<:@default=yes@:>@])],
220    [rp_with_matlab=$withval],
221    [rp_with_matlab=yes])
222
223MCC=""
224MEX=""
225MEX_ARCH=""
226MEXEXT=""
227MATLAB=
228if test "$rp_with_matlab" != "no" ; then
229  if test "$rp_with_matlab" = "yes" ; then
230    AC_PATH_PROG(MATLAB, matlab)
231  else
232    AC_PATH_PROG(MATLAB, matlab, [], [${rp_with_matlab}/bin:${rp_with_matlab}])
233  fi
234fi
235
236if test "x$MATLAB" != "x" ; then
237  # Found matlab.  May be a symlink to the real binary.  Run "matlab -e"
238  # to tell where matlab is installed.
239
240  matlab_bindir=`${MATLAB} -e | grep "MATLAB=" | sed s/MATLAB=//`/bin
241
242  # Now see if we can find "mex" or "mexext" there.
243  AC_PATH_PROG(MEX, mex, [], [${matlab_bindir}])
244  AC_PATH_PROG(MEXEXT, mexext, [], [${matlab_bindir}])
245
246  # Run "mexext" to get the expected module extension for this platform.
247  AC_MSG_CHECKING([for mex extension])
248  if test "x$MEXEXT" != "x" ; then
249    MEXEXT=`$MEXEXT`
250  else
251    MEXEXT="mexglx"
252  fi
253  AC_MSG_RESULT([$MEXEXT])
254  AC_PATH_PROG(MCC, mcc, [], [${matlab_bindir}])
255  AC_MSG_CHECKING([for mcc extension])
256fi
257
258AC_SUBST(MCC)
259AC_SUBST(MEX)
260AC_SUBST(MATLAB)
261AC_SUBST(MEX_ARCH)
262AC_SUBST(MEXEXT)
263
264#
265# Octave variables:
266#
267#       OCTAVE                  Path to default octave executable.  Will use
268#                               to determine the version.
269#       OCTAVE_VERSION          Full version of octave (X.X.X).  Used in
270#                               Makefiles to indicate if we are building
271#                               the octave language bindings.  The empty
272#                               string indicates octave is not available.
273#       OCTAVE_VERSION_MAJOR    Single verion number of octave.  Used in
274#                               rappture.env scripts to indicate how to set
275#                               OCTAVE_PATH and OCTAVE_LOADPATH variables.
276#       MKOCTFILE               Path to the default octave compiler.  This
277#                               variable isn't used directly.  Either
278#                               MKOCTFILE2 or MKOCTFILE3 will be set to its
279#                               value.
280#       MKOCTFILE2              Path to octave version 2 compiler.
281#       MKOCTFILE3              Path to octave version 3 compiler.
282#
283
284# Standard octave search (use the installed version of octave)
285AC_ARG_WITH(
286    [octave],
287    [AS_HELP_STRING([--with-octave[=DIR]],
288        [path of default octave compiler `mkoctfile' @<:@default=yes@:>@])],
289    [rp_with_octave=$withval],
290    [rp_with_octave=yes])
291
292OCTAVE=
293OCTAVE_VERSION=
294OCTAVE_VERSION_MAJOR=
295MKOCTFILE2=
296MKOCTFILE3=
297
298if test "$rp_with_octave" != "no" ; then
299  if test "$rp_with_octave" = "yes" ; then
300    AC_PATH_PROG(OCTAVE, octave)
301    AC_PATH_PROG(MKOCTFILE, mkoctfile)
302  else
303    OCTAVE=$rp_with_octave
304    MKOCTFILE=`dirname $rp_with_octave`/mkoctfile
305  fi
306fi
307
308if test "x${OCTAVE}" != "x" ; then
309  OCTAVE_VERSION=`${OCTAVE} -v | grep version | cut -d' ' -f4`
310  OCTAVE_VERSION_MAJOR=`echo ${OCTAVE_VERSION} | cut -d'.' -f1`
311  if test "${OCTAVE_VERSION_MAJOR}" == "3" ; then
312    OCTAVE3=$OCTAVE
313    MKOCTFILE3=$MKOCTFILE
314  fi
315  if test "${OCTAVE_VERSION_MAJOR}" == "2" ; then
316    OCTAVE2=$OCTAVE
317    MKOCTFILE2=$MKOCTFILE
318  fi
319fi
320
321#
322# Check for octave3 before octave2 so that we can override the
323# OCTAVE_VERSION variables. 
324#
325# Rappture doesn't normally really support both octave2 and octave3
326# simultaneously.  NANOhub has a hacked version of octave3 that
327# looks for OCTAVE_LOADPATH before looking at OCTAVE_PATH (i.e.
328# OCTAVE_PATH tells octave2 where to load the rappture bindings
329# and OCTAVE_LOADPATH tells octave3 where to load).
330#
331# Usually you will have installed either octave2 or octave3, but
332# not both. 
333#
334
335# Check if octave3 was designated *in addition* to the installed version.
336# This can override the default version if they are the same versions.
337
338AC_ARG_WITH(
339    [mkoctfile3],
340    [AS_HELP_STRING([--with-mkoctfile3[=DIR]],
341        [path of octave compiler `mkoctfile' @<:@default=no@:>@])],
342    [rp_with_mkoctfile3=$withval],
343    [rp_with_mkoctfile3=no])
344
345if test "$rp_with_mkoctfile3" != "no" ; then
346  if test "$rp_with_mkoctfile3" = "yes" ; then
347    AC_PATH_PROG(mkoctfile3, mkoctfile)
348  else
349    MKOCTFILE3=$rp_with_mkoctfile3
350  fi
351  OCTAVE_VERSION=`${MKOCTFILE3} --version 2>&1 | cut -d' ' -f3`
352  OCTAVE_VERSION_MAJOR=`echo ${OCTAVE_VERSION} | cut -d'.' -f1`
353fi
354
355# Check if mkoctfile2 was designated *in addition* to the installed version.
356# This can override the default version if they are the same versions.
357AC_ARG_WITH(
358    [mkoctfile2],
359    [AS_HELP_STRING([--with-mkoctfile2[=DIR]],
360        [path of octave compiler `mkoctfile' @<:@default=no@:>@])],
361    [rp_with_mkoctfile2=$withval],
362    [rp_with_mkoctfile2=no])
363
364if test "$rp_with_mkoctfile2" != "no" ; then
365  if test "$rp_with_mkoctfile2" = "yes" ; then
366    AC_PATH_PROG(mkoctfile2, mkoctfile)
367  else
368    MKOCTFILE2=$rp_with_mkoctfile2
369  fi
370  # Have to use octave to get a version, instead of mkoctfile.
371  octave=`dirname $MKOCTFILE2`/octave
372  OCTAVE_VERSION=`${octave} -v | grep version | cut -d' ' -f4`
373  OCTAVE_VERSION_MAJOR=`echo ${OCTAVE_VERSION} | cut -d'.' -f1`
374fi
375
376
377echo "MKOCTFILE2 = $MKOCTFILE2"
378echo "MKOCTFILE3 = $MKOCTFILE3"
379echo "OCTAVE_VERSION_MAJOR = $OCTAVE_VERSION_MAJOR"
380echo "OCTAVE_VERSION = $OCTAVE_VERSION"
381
382AC_SUBST(OCTAVE_VERSION)
383AC_SUBST(OCTAVE_VERSION_MAJOR)
384AC_SUBST(MKOCTFILE2)
385AC_SUBST(MKOCTFILE3)
386
387AC_ARG_WITH(
388    [perl],
389    [AS_HELP_STRING([--with-perl[=DIR]], [location of perl @<:@default=yes@:>@])],
390    [],
391    [rp_with_perl=yes])
392
393PERL=
394PERL_INCLUDES=
395PERL_ARCHLIB=
396PERL_ARCHLIBEXP=
397PERL_VERSION=
398PERL_VENDORLIB=
399PERL_PRIVLIB=
400PERL_CPPFLAGS=
401PERL_CCFlAGS=
402PERL_VERSION_RV=
403PERL_LIBSPEC=
404if test "$rp_with_perl" != "no" ; then
405  if test "$rp_with_perl" != "yes" ; then
406    AC_PATH_PROG(PERL, perl, [], [$rp_with_perl/bin:$rp_with_perl])
407  else
408    AC_PATH_PROG(PERL, perl)
409  fi
410  if test "x${PERL}" != "x" ; then
411    PERL_ARCHLIB=`${PERL} -MConfig -e 'print $Config{archlib}'`
412    PERL_VERSION=`${PERL} -MConfig -e 'print $Config{version}'`
413    PERL_CCFLAGS=`${PERL} -MConfig -e 'print $Config{ccflags}'`
414    PERL_CPPFLAGS=`${PERL} -MConfig -e 'print $Config{cppflags}'`
415    PERL_VENDORLIB=`${PERL} -MConfig -e 'print $Config{vendorlib}'`
416    PERL_PRIVLIB=`${PERL} -MConfig -e 'print $Config{privlib}'`
417    PERL_INSTALLARCHLIB=`${PERL} -MConfig -e 'print $Config{installarchlib}'`
418    PERL_ARCHLIBEXP=`${PERL} -MConfig -e 'print $Config{archlibexp}'`
419    PERL_VERSION_RV=`echo ${PERL_VERSION} | cut -d'.' -f1-2`
420    # libperl may or may not be installed.  Check for its existence.
421    if test -f "${PERL_ARCHLIBEXP}/CORE/libperl${SHLIB_SUFFIX}" ; then
422      PERL_LIBSPEC="-L${PERL_ARCHLIBEXP}/CORE -lperl"
423    fi
424  fi
425fi
426AC_SUBST(PERL)
427AC_SUBST(PERL_INCLUDES)
428AC_SUBST(PERL_ARCHLIB)
429AC_SUBST(PERL_ARCHLIBEXP)
430AC_SUBST(PERL_VERSION)
431AC_SUBST(PERL_CCFLAGS)
432AC_SUBST(PERL_CPPFLAGS)
433AC_SUBST(PERL_VENDORLIB)
434AC_SUBST(PERL_PRIVLIB)
435AC_SUBST(PERL_INSTALLARCHLIB)
436AC_SUBST(PERL_VERSION_RV)
437AC_SUBST(PERL_LIBSPEC)
438
439PYTHON=""
440PYTHON_CFLAGS=""
441PYTHON_CPPFLAGS=""
442PYTHON_DISTUTILS=""
443PYTHON_INCLUDES=""
444PYTHON_LDFLAGS=""
445PYTHON_LIB=""
446PYTHON_LIBDIR=""
447PYTHON_SITE_DIR=""
448PYTHON_SITE_PACKAGES=""
449PYTHON_VERSION=""
450pythondir=""
451
452AC_ARG_WITH([python],
453    [AS_HELP_STRING([--with-python[=DIR]],[location of python @<:@default=yes@:>@])],
454    [],
455    [rp_with_python=yes])
456
457if test "$rp_with_python" != "no" ; then
458  if test "$rp_with_python" = "yes" ; then
459    AC_PATH_PROG(PYTHON, python python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
460  else
461    AC_PATH_PROG(PYTHON, python, [], [${rp_with_python}/bin:${rp_with_python}])
462  fi
463  AC_MSG_CHECKING([for Python version])
464  if test "x${PYTHON}" != "x"; then
465    PYTHON_VERSION=`${PYTHON} -c "import sys; print sys.version[[0:3]]"`
466  fi
467  AC_MSG_RESULT([$PYTHON_VERSION])
468fi
469
470if test "x${PYTHON_VERSION}" != "x"; then
471  PYTHON_INCLUDES=$incdir
472  AC_MSG_CHECKING([for Python distutils])
473  PYTHON_DISTUTILS=""
474  ${PYTHON} -c "from distutils.core import setup; setup(name='test')" \
475        build build_ext 2>&1 > /dev/null
476  if test $? = 0 ; then
477    PYTHON_DISTUTILS="yes"
478  fi
479  AC_MSG_RESULT([$PYTHON_DISTUTILS])
480  if test "${PYTHON_DISTUTILS}" = "yes" ; then
481    PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib()"`
482    #
483    # Check for Python include path
484    #
485    AC_MSG_CHECKING([path to Python headers])
486    PYTHON_INCDIR=`${PYTHON} -c "import distutils.sysconfig; \
487     print distutils.sysconfig.get_python_inc();"`
488    AC_MSG_RESULT([$PYTHON_INCDIR])
489    #
490    # Python distutils found, get settings from python directly
491    #
492    PYTHON_SITE_DIR="`${PYTHON} -c 'from distutils import sysconfig; print sysconfig.get_python_lib(0);'`"
493   
494    PYTHON_CFLAGS="`$PYTHON -c 'from distutils import sysconfig; flags = [[\"-I\" + sysconfig.get_python_inc(0), \"-I\" + sysconfig.get_python_inc(1), \" \".join(sysconfig.get_config_var(\"CFLAGS\").split())]]; print \" \".join(flags);'`"
495    PYTHON_LDFLAGS="`$PYTHON -c 'from distutils import sysconfig; libs = sysconfig.get_config_var(\"LIBS\").split() + sysconfig.get_config_var(\"SYSLIBS\").split(); libs.append(\"-lpython\"+sysconfig.get_config_var(\"VERSION\")); print \" \".join(libs);'`"
496    PYTHON_LIB="`$PYTHON -c 'from distutils import sysconfig; print \"python\" + sysconfig.get_config_var(\"VERSION\");'`"
497    PYTHON_LIBDIR="`$PYTHON -c 'from distutils import sysconfig; print sysconfig.get_config_var(\"LIBDIR\");'`"
498    save_CPPFLAGS=$CPPFLAGS
499    CPPFLAGS="$CPPFLAGS -I${PYTHON_INCDIR}"
500    AC_CHECK_HEADERS([Python.h], [found=yes], [found=no])
501    CPPFLAGS=$save_CPPFLAGS
502    if test "$found" = "no" ; then
503      PYTHON_DISTUTILS=""
504    fi
505  fi
506fi
507
508AC_SUBST(PYTHON)
509AC_SUBST(PYTHON_VERSION)
510AC_SUBST(PYTHON_INCLUDES)
511AC_SUBST(PYTHON_CFLAGS)
512AC_SUBST(PYTHON_INCDIR)
513AC_SUBST(PYTHON_LDFLAGS)
514AC_SUBST(PYTHON_LIB)
515AC_SUBST(PYTHON_SITE_DIR)
516AC_SUBST(PYTHON_LIBDIR)
517AC_SUBST(PYTHON_SITE_PACKAGES)
518AC_SUBST(PYTHON_DISTUTILS)
519
520rp_with_ruby="yes"
521
522RUBY=""
523RUBY_DEV_PKG="no"
524
525AC_ARG_WITH(
526    [ruby],
527    [AS_HELP_STRING([--with-ruby=DIR], [location of ruby @<:@default=yes@:>@])],
528    [rp_with_ruby=$withval])
529
530if test "${rp_with_ruby}" != "no" ; then
531  if test "${rp_with_ruby}" = "yes" ; then
532    AC_PATH_PROG(RUBY, ruby)
533  else
534    AC_PATH_PROG(RUBY, ruby, [], [${rp_with_ruby}/bin:${rp_with_ruby}])
535  fi
536fi
537AC_SUBST(RUBY)
538
539RUBY_VERSION_RV=
540RUBY_PLATFORM=
541if test "x${RUBY}" != "x" ; then
542  AX_PROG_RUBY_VERSION
543  RUBY_VERSION_RV=`echo ${RUBY_VERSION} | cut -d'.' -f1-2`
544  RUBY_PLATFORM=`ruby -e 'puts RUBY_PLATFORM'`
545  ac_mkmf_result=`${RUBY} -r mkmf -e ";" 2>&1`
546  if test -z "$ac_mkmf_result"; then
547    HAVE_RUBY_DEVEL="yes"
548    AX_RUBY_DEV_FLAGS([${RUBY}])
549  fi
550fi
551AC_SUBST(HAVE_RUBY_DEVEL)
552AC_SUBST(RUBY_VERSION_RV)
553AC_SUBST(RUBY_PLATFORM)
554
555JAVA=""
556JAVAH=""
557JAVAC=""
558JAVA_DEV_PKG="no"
559AC_ARG_WITH(
560    [java],
561    [AS_HELP_STRING([--with-java=DIR], [location of java @<:@default=yes@:>@])],
562    [rp_with_java=$withval])
563
564if test "${rp_with_java}" != "no" ; then
565  if test "${rp_with_java}" = "yes" ; then
566    AC_PATH_PROG(JAVA,  java)
567    AC_PATH_PROG(JAVAC, javac)
568    AC_PATH_PROG(JAVAH, javah)
569  else
570    AC_PATH_PROG(JAVA,  java,  [], [${rp_with_java}/bin:${rp_with_java}])
571    AC_PATH_PROG(JAVAC, javac, [], [${rp_with_java}/bin:${rp_with_java}])
572    AC_PATH_PROG(JAVAH, javah, [], [${rp_with_java}/bin:${rp_with_java}])
573  fi
574fi
575JDK=
576JAVA_HOME=
577JAVA_INC_DIR=
578JAVA_INC_SPEC=
579
580# If java exists, let's look for the jni.h file.
581if test "x${JAVA}" != "x" ; then
582  for d in \
583   /apps/java/jdk1.6.0_01 \
584   /usr/lib/jvm/*sun-1.6* \
585   /opt/sun-jdk-1.6* \
586   /opt/icedtea6-* \
587   /opt/sun-jdk-1.5* \
588   /usr/lib/jvm/*sun-1.5*
589  do
590    if test -r "${d}/include/jni.h" ; then
591      JDK=${d}
592      break;
593    fi
594  done
595  JAVA_HOME=$JDK
596  JAVA_INC_DIR=${JDK}/include
597  JAVA_INC_SPEC="-I${JDK}/include -I${JDK}/include/linux"
598fi
599
600AC_SUBST(JAVA)
601AC_SUBST(JAVAC)
602AC_SUBST(JAVAH)
603AC_SUBST(JAVA_HOME)
604AC_SUBST(JAVA_INC_DIR)
605AC_SUBST(JAVA_INC_SPEC)
606
607RP_BASE=`pwd`
608AC_SUBST(RP_BASE)
609
610SC_ENABLE_SHARED
611
612#--------------------------------------------------------------------
613# This macro figures out what flags to use with the compiler/linker
614# when building shared/static debug/optimized objects.  This information
615# is all taken from the tclConfig.sh file.
616#--------------------------------------------------------------------
617
618AC_SUBST(CFLAGS_DEBUG)
619AC_SUBST(CFLAGS_OPTIMIZE)
620AC_SUBST(STLIB_LD)
621AC_SUBST(SHLIB_LD)
622AC_SUBST(SHLIB_CFLAGS)
623AC_SUBST(SHLIB_LDFLAGS)
624AC_SUBST(SHLIB_SUFFIX)
625
626if test -f "${exec_prefix}/lib/tclConfig.sh" ; then
627  . ${exec_prefix}/lib/tclConfig.sh
628fi
629if test -f "${exec_prefix}/lib/tclConfig.sh" ; then
630  . ${exec_prefix}/lib/tkConfig.sh
631fi
632AC_SUBST(TCL_VERSION)
633AC_SUBST(TK_VERSION)
634
635# -----------------------------------------------------------------------
636#
637# Compiler characteristics:
638#   Check for existence of types of size_t and pid_t
639#
640# -----------------------------------------------------------------------
641
642AC_C_BIGENDIAN
643AC_CHECK_SIZEOF(int)
644AC_CHECK_SIZEOF(long)
645AC_CHECK_SIZEOF(long long)
646AC_CHECK_SIZEOF(void *)
647
648SIZEOF_LONG="${ac_cv_sizeof_long}"
649SIZEOF_LONG_LONG="${ac_cv_sizeof_long_long}"
650SIZEOF_VOID_P="${ac_cv_sizeof_void_p}"
651SIZEOF_INT="${ac_cv_sizeof_int}"
652AC_SUBST(SIZEOF_INT)
653AC_SUBST(SIZEOF_LONG)
654AC_SUBST(SIZEOF_LONG_LONG)
655AC_SUBST(SIZEOF_VOID_P)
656
657
658#--------------------------------------------------------------------
659# Set the default compiler switches based on the --enable-symbols
660# option.
661#--------------------------------------------------------------------
662
663SC_ENABLE_SYMBOLS
664
665
666#--------------------------------------------------------------------
667# search for ffmpeg libraries libavcodec, libavformat, libswscale
668#--------------------------------------------------------------------
669
670AC_CHECK_HEADERS(ffmpeg/avcodec.h,[],[],
671[[#define __STDC_CONSTANT_MACROS 1
672  #ifdef HAVE_FFMPEG_AVCODEC_H
673  # include <ffmpeg/avcodec.h>
674  #endif
675]])
676
677AC_CHECK_HEADERS(libavcodec/avcodec.h,[],[],
678[[#define __STDC_CONSTANT_MACROS 1
679  #ifdef HAVE_LIBAVCODEC_AVCODEC_H
680  # include <libavcodec/avcodec.h>
681  #endif
682]])
683
684AC_CHECK_HEADERS([ffmpeg/avformat.h],[],[],
685[[#define __STDC_CONSTANT_MACROS 1
686  #ifdef HAVE_FFMPEG_AVFORMAT_H
687  # include <ffmpeg/avformat.h>
688  #endif
689]])
690
691AC_CHECK_HEADERS([libavformat/avformat.h],[],[],
692[[#define __STDC_CONSTANT_MACROS 1
693  #ifdef HAVE_LIBAVFORMAT_AVFORMAT_H
694  # include <libavformat/avformat.h>
695  #endif
696]])
697
698AC_CHECK_HEADERS([ffmpeg/avutil.h],[],[],
699[[#define __STDC_CONSTANT_MACROS 1
700  #ifdef HAVE_FFMPEG_AVUTIL_H
701  # include <ffmpeg/avutil.h>
702  #endif
703]])
704
705AC_CHECK_HEADERS([libavutil/avutil.h],[],[],
706[[#define __STDC_CONSTANT_MACROS 1
707  #ifdef HAVE_LIBAVUTIL_AVUTIL_H
708  # include <libavutil/avutil.h>
709  #endif
710]])
711
712AC_CHECK_HEADERS([ffmpeg/swscale.h],[],[],
713[[#define __STDC_CONSTANT_MACROS 1
714  #ifdef HAVE_FFMPEG_SWSCALE_H
715  # include <ffmpeg/swscale.h>
716  #endif
717]])
718
719AC_CHECK_HEADERS([libswscale/swscale.h],[],[],
720[[#define __STDC_CONSTANT_MACROS 1
721  #ifdef HAVE_LIBSWSCALE_SWSCALE_H
722  # include <libswscale/swscale.h>
723  #endif
724]])
725
726HAVE_FFMPEG_LIBS=""
727if [[ \( "${ac_cv_header_ffmpeg_avcodec_h}" = "yes" -o \
728        "${ac_cv_header_libavcodec_avcodec_h}" = "yes" \) -a \
729     \( "${ac_cv_header_ffmpeg_avformat_h}" = "yes" -o \
730        "${ac_cv_header_libavformat_avformat_h}" = "yes" \) -a \
731     \( "${ac_cv_header_ffmpeg_avutil_h}" = "yes" -o \
732        "${ac_cv_header_libavutil_avutil_h}" = "yes" \) -a \
733     \( "${ac_cv_header_ffmpeg_swscale_h}" = "yes" -o \
734        "${ac_cv_header_libswscale_swscale_h}" = "yes" \) ]] ; then
735  HAVE_FFMPEG_LIBS="yes"
736  AC_DEFINE(BUILD_with_ffmpeg, 1, [Build rappture with ffmpeg widgets])
737else
738  HAVE_FFMPEG_LIBS=""
739fi
740
741AC_CHECK_FUNCS(img_convert)
742AC_CHECK_FUNCS(sws_scale)
743AC_SUBST(HAVE_FFMPEG_LIBS)
744
745ac_configure_args="--disable-threads --enable-shared"
746AC_CONFIG_SUBDIRS( [packages/optimizer/src] )
747
748dnl read Makefile.in and write Makefile
749AC_CONFIG_FILES([
750    Makefile
751    packages/Makefile
752    src/Makefile
753    src/core/Makefile
754    src/core2/Makefile
755    src/objects/Makefile
756    src/objects/RpHash.h
757    gui/Makefile
758    gui/apps/Makefile
759    gui/apps/about
760    gui/apps/encodedata
761    gui/apps/rappture
762    gui/apps/rappture-csh.env
763    gui/apps/rappture.env
764    gui/apps/rappture.use
765    gui/apps/rerun
766    gui/apps/simsim
767    gui/apps/xmldiff
768    gui/pkgIndex.tcl
769    gui/scripts/Makefile
770    gui/src/Makefile
771    builder/Makefile
772    builder/pkgIndex.tcl
773    builder/scripts/Makefile
774    tester/Makefile
775    tester/pkgIndex.tcl
776    tester/scripts/Makefile
777    lang/Makefile
778    lang/java/Makefile
779    lang/java/rappture/Makefile
780    lang/perl/Makefile
781    lang/perl/Makefile.PL
782    lang/python/Makefile
783    lang/python/setup.py
784    lang/matlab/Makefile
785    lang/octave/Makefile
786    lang/octave/octave2/Makefile
787    lang/octave/octave3/Makefile
788    lang/ruby/Makefile
789    lang/ruby/build.rb
790    lang/tcl/Makefile
791    lang/tcl/pkgIndex.tcl
792    lang/tcl/src/Makefile
793    lang/tcl/scripts/Makefile
794    lang/tcl/tests/Makefile
795    lib/Makefile
796    examples/3D/Makefile
797    examples/Makefile
798    examples/app-fermi/2.0/Makefile
799    examples/app-fermi/Makefile
800    examples/app-fermi/cee/Makefile
801    examples/app-fermi/fortran/Makefile
802    examples/app-fermi/java/Makefile
803    examples/app-fermi/matlab/Makefile
804    examples/app-fermi/matlab/compiled/Makefile
805    examples/app-fermi/matlab/uncompiled/Makefile
806    examples/app-fermi/octave/2/Makefile
807    examples/app-fermi/octave/3/Makefile
808    examples/app-fermi/octave/Makefile
809    examples/app-fermi/perl/Makefile
810    examples/app-fermi/python/Makefile
811    examples/app-fermi/ruby/Makefile
812    examples/app-fermi/tcl/Makefile
813    examples/app-fermi/wrapper/Makefile
814    examples/app-fermi/wrapper/cee/Makefile
815    examples/app-fermi/wrapper/perl/Makefile
816    examples/app-fermi/wrapper/python/Makefile
817    examples/app-fermi/wrapper/tcl/Makefile
818    examples/c-example/Makefile
819    examples/canvas/Makefile
820    examples/demo.bash
821    examples/flow/Makefile
822    examples/flow/demo1/Makefile
823    examples/flow/demo2/Makefile
824    examples/flow/demo3/Makefile
825    examples/graph/Makefile
826    examples/objects/Makefile
827    examples/objects/axis/Makefile
828    examples/objects/contour/Makefile
829    examples/objects/curve/Makefile
830    examples/objects/dxWriter/Makefile
831    examples/objects/floatBuffer/Makefile
832    examples/objects/histogram/Makefile
833    examples/objects/library/Makefile
834    examples/objects/number/Makefile
835    examples/objects/path/Makefile
836    examples/objects/plot/Makefile
837    examples/objects/scatter/Makefile
838    examples/objects/string/Makefile
839    examples/objects/tree/Makefile
840    examples/objects/xmlparser/Makefile
841    examples/zoo/Makefile
842    examples/zoo/binary/Makefile
843    examples/zoo/boolean/Makefile
844    examples/zoo/choice/Makefile
845    examples/zoo/cloud/Makefile
846    examples/zoo/cloud/matlab/Makefile
847    examples/zoo/curve/Makefile
848    examples/zoo/enable/Makefile
849    examples/zoo/field/Makefile
850    examples/zoo/group/Makefile
851    examples/zoo/image/Makefile
852    examples/zoo/image/docs/Makefile
853    examples/zoo/image/examples/Makefile
854    examples/zoo/integer/Makefile
855    examples/zoo/integer2/Makefile
856    examples/zoo/loader/Makefile
857    examples/zoo/loader/examples/Makefile
858    examples/zoo/loadrun/Makefile
859    examples/zoo/log/Makefile
860    examples/zoo/note/Makefile
861    examples/zoo/note/docs/Makefile
862    examples/zoo/number/Makefile
863    examples/zoo/number2/Makefile
864    examples/zoo/parallelepiped/Makefile
865    examples/zoo/periodicelement/Makefile
866    examples/zoo/phase/Makefile
867    examples/zoo/sequence/Makefile
868    examples/zoo/sequence/examples/Makefile
869    examples/zoo/string/Makefile
870    examples/zoo/structure/Makefile
871    examples/zoo/structure/examples/Makefile
872    examples/zoo/table/Makefile
873    examples/zoo/unirect2d/Makefile
874    oldtest/Makefile
875    oldtest/src/Makefile
876])
877AC_OUTPUT
Note: See TracBrowser for help on using the repository browser.