source: trunk/packages/vizservers/configure.in @ 2073

Last change on this file since 2073 was 2073, checked in by gah, 13 years ago
File size: 7.5 KB
Line 
1AC_INIT(vizservers, 0.1, rappture@nanohub.org)
2AC_CONFIG_HEADER(nanovis/nvconf.h nanoscale/config.h)
3
4VERSION=0.0.1
5AC_SUBST(VERSION)
6
7#------------------------------------------------------------------------
8# Handle the --prefix=... option
9#------------------------------------------------------------------------
10
11if test "${prefix}" = "NONE"; then
12    prefix=/usr/local
13fi
14if test "${exec_prefix}" = "NONE"; then
15    exec_prefix=$prefix
16fi
17
18if test "${libdir}" != "${prefix}/lib"; then
19    LIB_SEARCH_DIRS="-L ${prefix}/lib -L ${libdir}"
20else
21    LIB_SEARCH_DIRS="-L ${libdir}"
22fi
23
24SC_CONFIG_CFLAGS
25
26AC_SUBST(CFLAGS_DEBUG)
27AC_SUBST(CFLAGS_OPTIMIZE)
28AC_SUBST(STLIB_LD)
29AC_SUBST(SHLIB_LD)
30AC_SUBST(SHLIB_CFLAGS)
31AC_SUBST(SHLIB_LDFLAGS)
32AC_SUBST(SHLIB_SUFFIX)
33
34AC_PATH_X
35
36AC_PROG_INSTALL
37AC_PROG_RANLIB
38AC_PROG_LN_S
39AC_PROG_MKDIR_P
40
41dnl find and test the C compiler
42AC_PROG_CC
43AC_PROG_CPP
44AC_PROG_CXXCPP
45AC_PROG_CXX
46AC_LANG_CPLUSPLUS
47
48AC_C_BIGENDIAN
49AC_CHECK_SIZEOF(int, 4)
50AC_CHECK_SIZEOF(long, 4)
51AC_CHECK_SIZEOF(long long, 8)
52AC_CHECK_SIZEOF(void *, 4)
53AC_CHECK_SIZEOF(float, 4)
54
55# Save the values as shell variables so that we can substitute them
56# into bltHash.h for situtations where there's no bltInt.h.
57
58AC_SUBST(SIZEOF_INT, ${ac_cv_sizeof_int})
59AC_SUBST(SIZEOF_LONG, ${ac_cv_sizeof_long})
60AC_SUBST(SIZEOF_LONG_LONG, ${ac_cv_sizeof_long_long})
61AC_SUBST(SIZEOF_VOID_P, ${ac_cv_sizeof_void_p})
62AC_SUBST(SIZEOF_FLOAT, ${ac_cv_sizeof_float})
63
64LD_RPATH="";
65
66SUBDIRS="nanoscale nanovis pymolproxy"
67AC_SUBST(SUBDIRS)
68
69AC_ARG_WITH(
70    [tcllib],
71    [AS_HELP_STRING([--with-tcllib[=DIR]],
72        [location of Tcl binary library libtclstubs.a @<:@default=/usr/lib@:>@])],
73    [with_tcllib=$withval],
74    [with_tcllib=""])
75
76#
77# Need to check for the following dependencies:
78#       Rappture headers and library (done)
79#       Tcl headers and library (done)
80#       GL headers and library
81#       GLuT headers and library
82#       GLui header and library
83#       GLEW header and library
84#       Cg headers and library
85#       CgGL headers and library
86#       pthread library
87#       DX headers and library (done, sort of)
88#       ffmpeg headers and library (started)
89#
90
91TCL_VERSION="8.4"
92for dir in \
93 ${exec_prefix} \
94 ${exec_prefix}/lib \
95 ${with_rappture} \
96 ${with_rappture}/lib ; do
97  tclconfig="${dir}/tclConfig.sh"
98  if test -f "$tclconfig" ; then
99    . $tclconfig
100    break
101  fi
102done
103TCL_INC_SPEC="$TCL_INCLUDE_SPEC"
104
105if test "x$with_tcllib" != "x" ; then
106   tclconfig="${with_tcllib}/tclConfig.sh"
107   if test -f "$tclconfig" ; then
108    . $tclconfig
109   fi
110   TCL_LIB_SPEC="-L${with_tcllib} -ltcl${TCL_VERSION}"
111fi
112if test "x$with_tclinclude" != "x" ; then
113   TCL_INC_SPEC="-I${with_tclinclude}"
114fi
115
116AC_SUBST(TCL_VERSION)
117AC_SUBST(TCL_INC_SPEC)
118AC_SUBST(TCL_LIB_SPEC)
119
120AC_ARG_WITH(
121    [rappture],
122    [AS_HELP_STRING([--with-rappture[=DIR]],
123        [location of rappture files lib/librappture2.a and include/rappture2/rappture2.h @<:@default=/usr@:>@])],
124    [with_rappture=$withval],
125    [with_rappture=/usr])
126
127RP2_INCL_DIR=""
128RP_DIR=""
129AC_MSG_CHECKING([for rappture])
130if test "x$with_rappture" != "x" ; then
131    if test "x$with_rappture" != "xprefix" ; then
132        if test -f "$with_rappture"
133        then
134            AC_MSG_RESULT([no])
135            AC_MSG_ERROR([please provide --with-rappture with directory])
136        else
137            if test -d "$with_rappture"
138            then
139                if test -r "$with_rappture/include/rappture2/rappture2.h" -a -r "$with_rappture/lib/librappture2.a"
140                then
141                    RP2_INCL_DIR="$with_rappture/include/rappture2"
142                    RP_DIR="$with_rappture"
143                    AC_MSG_RESULT([yes])
144                else
145                    AC_MSG_RESULT([no])
146                    AC_MSG_ERROR([cannot find rappture2.h and librappture2.a, try using --with-rappture])
147                fi
148            else
149                AC_MSG_RESULT([no])
150                AC_MSG_ERROR([cannot find rappture2.h and librappture2.a inside $with_rappture, try using --with-rappture])
151            fi
152        fi
153    else
154        RP2_INCL_DIR="$prefix/include/rappture2"
155        RP_DIR="$prefix"
156        AC_MSG_RESULT([set to prefix])
157    fi
158else
159    AC_CHECK_HEADERS([rappture.h], [],
160           [AC_MSG_ERROR([cannot find rappture.h, try using --with-rappture])])
161
162
163fi
164AC_MSG_RESULT([${RP_DIR}/include])
165AC_SUBST(RP2_INCL_DIR)
166AC_SUBST(RP_DIR)
167
168AC_CHECK_HEADER([GL/glui.h])
169AC_CHECK_HEADER([glui.h])
170AC_CHECK_HEADER([GL/glut.h])
171AC_CHECK_HEADER([GL/glew.h])
172AC_CHECK_HEADER([Cg/cgGL.h])
173
174AC_CHECK_HEADERS([stdio.h unistd.h stdlib.h string.h sys/types.h])
175AC_CHECK_HEADERS([sys/socket.h sys/time.h netinet/in.h arpa/inet.h netdb.h])
176
177AC_MSG_CHECKING([for OpenDX headers])
178DX_INC_DIR=""
179for dir in \
180 /apps/rappture/include \
181 /usr/dx/include \
182 /usr/include
183do
184  if test -r "${dir}/dx/dx.h" ; then
185    DX_INC_DIR="$dir"
186    break
187  fi
188done
189if test "x${DX_INC_DIR}" = "x" ; then
190  AC_MSG_ERROR([can't find OpenDX include files])
191fi
192
193if test "${DX_INC_DIR}" = "/usr/include" ; then
194  DX_INC_SPEC=""
195else
196  DX_INC_SPEC="-I{DX_INC_DIR}"
197fi
198AC_SUBST(DX_INC_SPEC)
199AC_MSG_RESULT([${DX_INC_DIR}])
200
201DX_LIB_DIR=""
202found=no
203for dir in \
204 /usr/lib \
205 /usr/lib64 \
206 /usr/dx/lib_linux \
207 /usr/lib/dx/lib_linux \
208 /usr/lib64/dx/lib_linux \
209 /apps/rappture/lib
210do
211  saveLDFLAGS=$LDFLAGS
212  LDFLAGS="-L$dir $LDFLAGS"
213  unset ac_cv_lib_DXcallm_DXGetComponentValue
214  AC_CHECK_LIB([DXcallm], [DXGetComponentValue], [found=yes], [found=no], [-lX11])
215  LDFLAGS=$saveLDFLAGS
216  if test "$found" = "yes" ; then
217    DX_LIB_DIR="$dir"
218    break
219  fi
220done
221if test "x{$DX_LIB_DIR}" = "x" ; then
222  AC_MSG_ERROR([cant find OpenDX libraries])
223fi
224
225AC_MSG_CHECKING([for libDXcallm library])
226if test "${DX_LIB_DIR}" = "/usr/lib" -o "${DX_LIB_DIR}" = "/usr/lib64"; then
227  DX_LIB_SPEC=""
228else
229  DX_LIB_SPEC="-L${DX_LIB_DIR}"
230fi
231AC_MSG_RESULT([$DX_LIB_SPEC])
232AC_SUBST(DX_LIB_SPEC)
233
234AC_CHECK_HEADERS([ffmpeg/avcodec.h libavcodec/avcodec.h ffmpeg/avformat.h libavformat/avformat.h ffmpeg/avutil.h libavutil/avutil.h],,,[
235#define SIZEOF_LONG ${ac_cv_sizeof_long}
236#if SIZEOF_LONG == 8
237#  define INT64_C(c)  c ## L
238#  define UINT64_C(c) c ## UL
239#else
240#  define INT64_C(c)  c ## LL
241#  define UINT64_C(c) c ## ULL
242#endif
243])
244
245AC_CHECK_LIB([avcodec], [avcodec_alloc_frame])
246AC_CHECK_LIB([avformat], [avformat_alloc_context])
247AC_CHECK_LIB([avutil], [av_free])
248AC_CHECK_FUNCS([img_convert])
249
250AC_MSG_CHECKING([for nVidia Cg installation])
251CG_DIR=""
252for dir in \
253 /opt/nvidia-cg-toolkit \
254 /usr/cg \
255 /usr
256do
257  if test -r "${dir}/include/Cg/cgGL.h" ; then
258    CG_DIR="$dir"
259    break
260  fi
261done
262if test "x${CG_DIR}" = "x" ; then
263  AC_MSG_ERROR([can't find nVidia Cg installation])
264fi
265
266if test "${CG_DIR}" = "/usr" ; then
267  CG_DIR=""
268else
269  LD_RPATH="$loader_run_path:${CG_DIR}/lib"
270fi
271
272AC_SUBST(CG_DIR)
273AC_MSG_RESULT([${CG_DIR}])
274AC_SUBST(LD_RPATH)
275
276dnl AC_MSG_CHECKING(tcl library version)
277dnl TCL=`AC_TRY_RUN([#include <tcl.h>
278dnl         int main() {printf("tcl%s",TCL_VERSION);return(0);}],,
279dnl         echo "tcl8.4", echo "tcl8.4")`
280dnl AC_MSG_RESULT($TCL)
281dnl AC_MSG_CHECKING(tk library version)
282dnl TK=`AC_TRY_RUN([#include <tk.h>
283dnl         main() {printf("tk%s", TK_VERSION); exit(0);}],,
284dnl         echo "tk8.4", echo "tk8.4")`
285dnl AC_MSG_RESULT($TK)
286
287
288AC_OUTPUT(  Makefile \
289            nanoscale/Makefile \
290            nanovis/Makefile \
291            nanovis/newmat11/Makefile \
292            nanovis/R2/src/Makefile \
293            nanovis/vrutil/Makefile \
294            nanovis/vrmath/Makefile \
295            nanovis/vr3d/Makefile \
296            nanovis/imgLoaders/Makefile \
297            nanovis/transfer-function/Makefile \
298            pymolproxy/Makefile \
299            start_viz.sh    )
Note: See TracBrowser for help on using the repository browser.