source: trunk/configure.in @ 2080

Last change on this file since 2080 was 2080, checked in by mmc, 13 years ago

Part 1 of a major reorganization of content. Moving "instant" to "builder"
and setting up "builder" more like the "gui" part as a package. Moving the
Rappture::object stuff from the builder into the main installation, so it
can be shared by the tester as well. Moving "driver" into gui/scripts
where it belongs. Creating a new "launcher.tcl" script that decides
which of the three parts to launch based on command line options. Still
need to sort out the Makefiles to get this all right...

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