AC_INIT(vizservers, 0.1, rappture@nanohub.org) AC_CONFIG_HEADER(nanovis/nvconf.h nanoscale/config.h) VERSION=0.0.1 AC_SUBST(VERSION) #------------------------------------------------------------------------ # Handle the --prefix=... option #------------------------------------------------------------------------ if test "${prefix}" = "NONE"; then prefix=/usr/local fi if test "${exec_prefix}" = "NONE"; then exec_prefix=$prefix fi if test "${libdir}" != "${prefix}/lib"; then LIB_SEARCH_DIRS="-L ${prefix}/lib -L ${libdir}" else LIB_SEARCH_DIRS="-L ${libdir}" fi SC_CONFIG_CFLAGS AC_SUBST(CFLAGS_DEBUG) AC_SUBST(CFLAGS_OPTIMIZE) AC_SUBST(STLIB_LD) AC_SUBST(SHLIB_LD) AC_SUBST(SHLIB_CFLAGS) AC_SUBST(SHLIB_LDFLAGS) AC_SUBST(SHLIB_SUFFIX) AC_PROG_INSTALL AC_PROG_RANLIB AC_PROG_LN_S AC_PROG_MKDIR_P dnl find and test the C compiler AC_PROG_CC AC_PROG_CPP AC_PROG_CXXCPP AC_PROG_CXX AC_LANG_CPLUSPLUS AC_C_BIGENDIAN AC_CHECK_SIZEOF(int, 4) AC_CHECK_SIZEOF(long, 4) AC_CHECK_SIZEOF(long long, 8) AC_CHECK_SIZEOF(void *, 4) AC_CHECK_SIZEOF(float, 4) # Save the values as shell variables so that we can substitute them # into bltHash.h for situtations where there's no bltInt.h. AC_SUBST(SIZEOF_INT, ${ac_cv_sizeof_int}) AC_SUBST(SIZEOF_LONG, ${ac_cv_sizeof_long}) AC_SUBST(SIZEOF_LONG_LONG, ${ac_cv_sizeof_long_long}) AC_SUBST(SIZEOF_VOID_P, ${ac_cv_sizeof_void_p}) AC_SUBST(SIZEOF_FLOAT, ${ac_cv_sizeof_float}) LD_RPATH=""; SUBDIRS="nanoscale nanovis pymolproxy" AC_SUBST(SUBDIRS) AC_ARG_WITH( [tcllib], [AS_HELP_STRING([--with-tcllib[=DIR]], [location of Tcl binary library libtclstubs.a @<:@default=/usr/lib@:>@])], [with_tcllib=$withval], [with_tcllib=""]) # # Need to check for the following dependencies: # Rappture headers and library (done) # Tcl headers and library (done) # GL headers and library # GLuT headers and library # GLui header and library # GLEW header and library # Cg headers and library # CgGL headers and library # pthread library # DX headers and library (done, sort of) # ffmpeg headers and library (started) # TCL_VERSION="8.4" for dir in \ ${exec_prefix} \ ${exec_prefix}/lib \ ${with_rappture} \ ${with_rappture}/lib ; do tclconfig="${dir}/tclConfig.sh" if test -f "$tclconfig" ; then . $tclconfig break fi done TCL_INC_SPEC="$TCL_INCLUDE_SPEC" if test "x$with_tcllib" != "x" ; then tclconfig="${with_tcllib}/tclConfig.sh" if test -f "$tclconfig" ; then . $tclconfig fi TCL_LIB_SPEC="-L${with_tcllib} -ltcl${TCL_VERSION}" fi if test "x$with_tclinclude" != "x" ; then TCL_INC_SPEC="-I${with_tclinclude}" fi AC_SUBST(TCL_VERSION) AC_SUBST(TCL_INC_SPEC) AC_SUBST(TCL_LIB_SPEC) AC_ARG_WITH( [rappture], [AS_HELP_STRING([--with-rappture[=DIR]], [location of rappture files lib/librappture2.a and include/rappture2/rappture2.h @<:@default=/usr@:>@])], [with_rappture=$withval], [with_rappture=/usr]) RP2_INCL_DIR="" RP_DIR="" AC_MSG_CHECKING([for rappture]) if test "x$with_rappture" != "x" ; then if test "x$with_rappture" != "xprefix" ; then if test -f "$with_rappture" then AC_MSG_RESULT([no]) AC_MSG_ERROR([please provide --with-rappture with directory]) else if test -d "$with_rappture" then if test -r "$with_rappture/include/rappture2/rappture2.h" -a -r "$with_rappture/lib/librappture2.a" then RP2_INCL_DIR="$with_rappture/include/rappture2" RP_DIR="$with_rappture" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) AC_MSG_ERROR([cannot find rappture2.h and librappture2.a, try using --with-rappture]) fi else AC_MSG_RESULT([no]) AC_MSG_ERROR([cannot find rappture2.h and librappture2.a inside $with_rappture, try using --with-rappture]) fi fi else RP2_INCL_DIR="$prefix/include/rappture2" RP_DIR="$prefix" AC_MSG_RESULT([set to prefix]) fi else AC_CHECK_HEADERS([rappture.h], [], [AC_MSG_ERROR([cannot find rappture.h, try using --with-rappture])]) fi AC_MSG_RESULT([${RP_DIR}/include]) AC_SUBST(RP2_INCL_DIR) AC_SUBST(RP_DIR) AC_CHECK_HEADER([GL/glui.h]) AC_CHECK_HEADER([glui.h]) AC_CHECK_HEADER([GL/glut.h]) AC_CHECK_HEADER([GL/glew.h]) AC_CHECK_HEADER([Cg/cgGL.h]) AC_CHECK_HEADERS([stdio.h unistd.h stdlib.h string.h sys/types.h]) AC_CHECK_HEADERS([sys/socket.h sys/time.h netinet/in.h arpa/inet.h netdb.h]) AC_MSG_CHECKING([for OpenDX headers]) DX_INC_DIR="" for dir in \ /apps/rappture/include \ /usr/dx/include \ /usr/include do if test -r "${dir}/dx/dx.h" ; then DX_INC_DIR="$dir" break fi done if test "x${DX_INC_DIR}" = "x" ; then AC_MSG_ERROR([can't find OpenDX include files]) fi if test "${DX_INC_DIR}" = "/usr/include" ; then DX_INC_SPEC="" else DX_INC_SPEC="-I{DX_INC_DIR}" fi AC_SUBST(DX_INC_SPEC) AC_MSG_RESULT([${DX_INC_DIR}]) AC_MSG_CHECKING([for OpenDX libraries]) DX_LIB_DIR="" for dir in \ /apps/rappture/lib \ /usr/lib/dx/lib_linux \ /usr/dx/lib_linux \ /usr/lib do if test -r "${dir}/libDXcallm.a" ; then DX_LIB_DIR="$dir" break fi done if test "x${DX_LIB_DIR}" = "x" ; then AC_MSG_ERROR([can't find OpenDX libraries]) fi if test "${DX_LIB_DIR}" = "/usr" ; then DX_LIB_SPEC="" else DX_LIB_SPEC="-L${DX_LIB_DIR}" fi AC_SUBST(DX_LIB_SPEC) AC_MSG_RESULT([${DX_LIB_DIR}]) AC_CHECK_HEADERS([ffmpeg/avcodec.h libavcodec/avcodec.h ffmpeg/avformat.h libavformat/avformat.h ffmpeg/avutil.h libavutil/avutil.h],,,[ #define SIZEOF_LONG ${ac_cv_sizeof_long} #if SIZEOF_LONG == 8 # define INT64_C(c) c ## L # define UINT64_C(c) c ## UL #else # define INT64_C(c) c ## LL # define UINT64_C(c) c ## ULL #endif ]) oldLIBS=$LIBS LIBS=-lavcodec AC_CHECK_FUNCS(img_convert) LIBS=-lavformat AC_CHECK_FUNCS(avformat_alloc_context) LIBS=$oldLIBS AC_MSG_CHECKING([for nVidia Cg installation]) CG_DIR="" for dir in \ /opt/nvidia-cg-toolkit \ /usr/cg \ /usr do if test -r "${dir}/include/Cg/cgGL.h" ; then CG_DIR="$dir" break fi done if test "x${CG_DIR}" = "x" ; then AC_MSG_ERROR([can't find nVidia Cg installation]) fi if test "${CG_DIR}" = "/usr" ; then CG_DIR="" else LD_RPATH="$loader_run_path:${CG_DIR}/lib" fi AC_SUBST(CG_DIR) AC_MSG_RESULT([${CG_DIR}]) AC_SUBST(LD_RPATH) dnl AC_MSG_CHECKING(tcl library version) dnl TCL=`AC_TRY_RUN([#include dnl int main() {printf("tcl%s",TCL_VERSION);return(0);}],, dnl echo "tcl8.4", echo "tcl8.4")` dnl AC_MSG_RESULT($TCL) dnl AC_MSG_CHECKING(tk library version) dnl TK=`AC_TRY_RUN([#include dnl main() {printf("tk%s", TK_VERSION); exit(0);}],, dnl echo "tk8.4", echo "tk8.4")` dnl AC_MSG_RESULT($TK) AC_OUTPUT( Makefile \ nanoscale/Makefile \ nanovis/Makefile \ nanovis/newmat11/Makefile \ nanovis/R2/src/Makefile \ nanovis/vrutil/Makefile \ nanovis/vrmath/Makefile \ nanovis/vr3d/Makefile \ nanovis/imgLoaders/Makefile \ nanovis/transfer-function/Makefile \ pymolproxy/Makefile \ start_viz.sh )