Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis15/configure.ac
ViewVC logotype

Diff of /branches/vis15/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1941, Tue Jul 3 15:22:31 2012 UTC revision 2441, Wed Sep 25 17:00:08 2013 UTC
# Line 7  Line 7 
7  AC_INIT(diderot,0.1,)  AC_INIT(diderot,0.1,)
8    
9  AC_PREREQ(2.60)  AC_PREREQ(2.60)
10  AC_COPYRIGHT([[COPYRIGHT (c) 2012 The Diderot Project (http://diderot-language.cs.uchicago.edu)]])  AC_COPYRIGHT([[COPYRIGHT (c) 2013 The Diderot Project (http://diderot-language.cs.uchicago.edu)]])
11  AC_CONFIG_SRCDIR(src/dnorm/dnorm.c)  AC_CONFIG_SRCDIR(src/compiler/driver/main.sml)
12  AC_CONFIG_AUX_DIR(config)  AC_CONFIG_AUX_DIR(config)
13  AC_CONFIG_MACRO_DIR(config)  AC_CONFIG_MACRO_DIR(config)
14    
# Line 47  Line 47 
47    AC_MSG_ERROR([Diderot requires c99 support])    AC_MSG_ERROR([Diderot requires c99 support])
48  fi  fi
49    
50    AC_ARG_ENABLE([32-bit],
51      AC_HELP_STRING([--enable-32-bit], [configure Diderot to produce 32-bit executables]),
52      [CFLAG_MXX="-m32"],
53      [CFLAG_MXX="-m64"])
54    
55  dnl extra C compiler options  dnl extra C compiler options
56  dnl  dnl
57  CFLAGS=""  CFLAGS=""
 CFLAG_M64="-m64"  
58  CFLAGS_BASE="-Wformat -Wreturn-type -Wuninitialized"  CFLAGS_BASE="-Wformat -Wreturn-type -Wuninitialized"
59  AC_SUBST(CFLAG_M64)  AC_SUBST(CFLAG_MXX)
60  AC_SUBST(CFLAGS_BASE)  AC_SUBST(CFLAGS_BASE)
61    
62  dnl  dnl
# Line 65  Line 69 
69  dnl  dnl
70  ACX_PTHREAD  ACX_PTHREAD
71    
 dnl check for doxygen  
 dnl  
 AC_ARG_WITH([doxygen],  
   [AS_HELP_STRING([--with-doxygen=PATH], [specify location of doxygen executable])],  
   [DOXYGEN=$with_doxygen],  
   [DOXYGEN=none])  
 if test x$DOXYGEN = xnone ; then  
   # see if we can find doxygen in the user's path  
   AC_PATH_PROG(DOXYGEN, [doxygen], [none])  
 fi  
 if test x$with_doxygen = xyes -o x$with_doxygen = xno ; then  
   AC_MSG_ERROR([--with-doxygen option must specify directory argument])  
 elif test x$DOXYGEN != xnone -a ! -x $DOXYGEN ; then  
   AC_MSG_ERROR([doxygen not found at $DOXYGEN])  
 elif test x$DOXYGEN != xnone ; then  
 dnl  
 dnl verify that $DOXYGEN is an absolute path  
 dnl  
   case $DOXYGEN in  
     /*) ;;  
     *) AC_MSG_ERROR([--with-doxygen path must be absolute]) ;;  
   esac  
 fi  
 if test $DOXYGEN = xnone ; then  
   DOXYGEN=:  
 fi  
 AC_SUBST(DOXYGEN)  
   
72  dnl  dnl
73  dnl Look for NVIDIA's nvcc compiler  dnl Look for NVIDIA's nvcc compiler
74  dnl  dnl
# Line 128  Line 104 
104  else  else
105    CL_ENABLED=true    CL_ENABLED=true
106    CPPFLAGS_CL=""    CPPFLAGS_CL=""
107    AC_CHECK_HEADERS([CL/cl.h OpenCL/cl.h], [HAVE_CL_H="yes"; break], [HAVE_CL_H="no"])    CL_HEADER=""
108      AC_CHECK_HEADERS([CL/cl.h OpenCL/cl.h], [HAVE_CL_H="yes"; CL_HEADER="$ac_header"; break], [HAVE_CL_H="no"])
109    if test x"$HAVE_CL_H" = xno ; then    if test x"$HAVE_CL_H" = xno ; then
110      # check for AMD's SDK      # check for AMD's SDK
111      AC_MSG_CHECKING([for cl.h in AMD's SDK])      AC_MSG_CHECKING([for cl.h in AMD's SDK])
112      if test -d /opt/AMDAPP/include/CL ; then      if test -d /opt/AMDAPP/include/CL ; then
113        HAVE_CL_H="yes"        HAVE_CL_H="yes"
114          CL_HEADER="/opt/AMDAPP/include/CL/cl.h"
115        AC_DEFINE([HAVE_CL_CL_H])        AC_DEFINE([HAVE_CL_CL_H])
116        CPPFLAGS_CL="-I/opt/AMDAPP/include"        CPPFLAGS_CL="-I/opt/AMDAPP/include"
117      fi      fi
118      AC_MSG_RESULT([$HAVE_CL_H])      AC_MSG_RESULT([$HAVE_CL_H])
119    fi    fi
120    if test x"$HAVE_CL_H" = xno ; then    if test x"$HAVE_CL_H" = xno ; then
121        # check for NVIDIA's SDK
122        AC_MSG_CHECKING([for NVIDIA's SDK cl.h])
123        if test -d /usr/local/cuda/include/CL ; then
124          HAVE_CL_H="yes"
125          AC_DEFINE([HAVE_CL_CL_H])
126          CPPFLAGS_CL="-I/usr/local/cuda/include"
127        fi
128        AC_MSG_RESULT([$HAVE_CL_H])
129      fi
130      if test x"$HAVE_CL_H" = xno ; then
131      AC_MSG_WARN([no cl.h found])      AC_MSG_WARN([no cl.h found])
132      CL_ENABLED=false      CL_ENABLED=false
133      CL_VERSION=0      CL_VERSION=0
134        SIZEOF_CL_INT=0
135        SIZEOF_CL_LONG=0
136        SIZEOF_CL_FLOAT=0
137        SIZEOF_CL_DOUBLE=0
138    else    else
139      # check the cl.h header for which version of OpenCL is supported      # check the cl.h header for which version of OpenCL is supported
140      AC_LANG([C])      AC_LANG([C])
# Line 171  Line 163 
163  dnl the specification specifies the behavior, but it was unspecified in 1.0.  dnl the specification specifies the behavior, but it was unspecified in 1.0.
164  dnl  dnl
165      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
166  # ifdef HAVE_CL_CL_H  #include "$CL_HEADER"
167  #   include <CL/cl.h>  ]],
 # elif defined(HAVE_OPENCL_CL_H)  
 #   include <OpenCL/cl.h>  
 # else  
 #   error no cl.h  
 # endif]],  
168        [[cl_float4 x; x[0] = 0.0;]])],        [[cl_float4 x; x[0] = 0.0;]])],
169        [AC_DEFINE([CL_HOST_VECTORS_ARE_ARRAYS],[1],[host vector types are arrays])],        [AC_DEFINE([CL_HOST_VECTORS_ARE_ARRAYS],[1],[host vector types are arrays])],
170  dnl  dnl
171  dnl not arrays, so try the OpenCL 1.1 structure representation  dnl not arrays, so try the OpenCL 1.1 structure representation
172  dnl  dnl
173        [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[        [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
174  # ifdef HAVE_CL_CL_H  #include "$CL_HEADER"
175  #   include <CL/cl.h>  ]],
 # elif defined(HAVE_OPENCL_CL_H)  
 #   include <OpenCL/cl.h>  
 # else  
 #   error no cl.h  
 # endif]],  
176        [[cl_float4 x; x.s[0] = 0.0;]])],        [[cl_float4 x; x.s[0] = 0.0;]])],
177        [AC_DEFINE([CL_HOST_VECTORS_ARE_STRUCTS],[1],[host vector types are structs])],        [AC_DEFINE([CL_HOST_VECTORS_ARE_STRUCTS],[1],[host vector types are structs])],
178        [AC_MSG_ERROR([unable to figure out host types for OpenCL vectors])])])        [AC_MSG_ERROR([unable to figure out host types for OpenCL vectors])])])
# Line 199  Line 181 
181    # substitutions    # substitutions
182      AC_SUBST(LIBS_CL)      AC_SUBST(LIBS_CL)
183      AC_SUBST(CPPFLAGS_CL)      AC_SUBST(CPPFLAGS_CL)
184      #
185      # determine the sizes of the host-side OpenCL types
186      AC_CHECK_SIZEOF([cl_int], [], [#include "$CL_HEADER"])
187      SIZEOF_CL_INT=$ac_cv_sizeof_cl_int
188      AC_CHECK_SIZEOF([cl_long], [], [#include "$CL_HEADER"])
189      SIZEOF_CL_LONG=$ac_cv_sizeof_cl_long
190      AC_CHECK_SIZEOF([cl_float], [], [#include "$CL_HEADER"])
191      SIZEOF_CL_FLOAT=$ac_cv_sizeof_cl_float
192      AC_CHECK_SIZEOF([cl_double], [], [#include "$CL_HEADER"])
193      SIZEOF_CL_DOUBLE=$ac_cv_sizeof_cl_double
194    fi    fi
195  fi  fi
196  AC_SUBST(CL_ENABLED)  AC_SUBST(CL_ENABLED)
197  AC_SUBST(CL_VERSION)  AC_SUBST(CL_VERSION)
198    
199    AC_SUBST(SIZEOF_CL_INT)
200    AC_SUBST(SIZEOF_CL_LONG)
201    AC_SUBST(SIZEOF_CL_FLOAT)
202    AC_SUBST(SIZEOF_CL_DOUBLE)
203    
204  dnl  dnl
205  dnl check for various library routines etc.  dnl check for various library routines etc.
206  dnl  dnl
# Line 312  Line 309 
309  AC_SUBST(LIBM)  AC_SUBST(LIBM)
310    
311  dnl  dnl
312  dnl get the path to the TEEM installation  dnl get the path to the TEEM installation.  We need this to build the Diderot
313    dnl runtime code and we use the path when searching for teem in the Diderot
314    dnl compiler.
315  dnl  dnl
316  AC_ARG_WITH(teem,  AC_ARG_WITH(teem,
317    AC_HELP_STRING([--with-teem=<path>], [specify path to teem installation]),    AC_HELP_STRING([--with-teem=<path>], [specify path to teem installation]),
# Line 340  Line 339 
339    fi    fi
340  fi  fi
341  if test x"$TEEM_DIR" = xnone ; then  if test x"$TEEM_DIR" = xnone ; then
342    AC_MSG_ERROR([unable to find teem])    AC_MSG_ERROR([unable to find teem; use --with-teem option to specify location])
343  fi  fi
344  AC_SUBST(TEEM_DIR)  AC_SUBST(TEEM_DIR)
345    
# Line 351  Line 350 
350  dnl  dnl
351  CHECK_SMLNJ([AC_MSG_ERROR([unable to find SML/NJ installation; check your PATH or set SMLNJ_CMD])])  CHECK_SMLNJ([AC_MSG_ERROR([unable to find SML/NJ installation; check your PATH or set SMLNJ_CMD])])
352  if test $SMLNJ_MAJOR_VERSION -lt 110 \  if test $SMLNJ_MAJOR_VERSION -lt 110 \
353    -o $SMLNJ_MINOR_VERSION -lt 73    -o $SMLNJ_MINOR_VERSION -lt 74
354  then  then
355    AC_MSG_ERROR([installation requires SML/NJ version 110.73+])    AC_MSG_ERROR([installation requires SML/NJ version 110.74+])
356  fi  fi
357  AC_SUBST(SMLNJ_VERSION)  AC_SUBST(SMLNJ_VERSION)
358    
# Line 384  Line 383 
383  fi  fi
384  AC_SUBST(ML_BUILD)  AC_SUBST(ML_BUILD)
385    
386    dnl ******************** Documentation tools ********************
387    
388    dnl check for doxygen
389    dnl
390    AC_ARG_WITH([doxygen],
391      [AS_HELP_STRING([--with-doxygen=PATH], [specify location of doxygen executable])],
392      [DOXYGEN=$with_doxygen],
393      [DOXYGEN=none])
394    if test x$DOXYGEN = xnone ; then
395      # see if we can find doxygen in the user's path
396      AC_PATH_PROG(DOXYGEN, [doxygen], [none])
397    fi
398    if test x$with_doxygen = xyes -o x$with_doxygen = xno ; then
399      AC_MSG_ERROR([--with-doxygen option must specify directory argument])
400    elif test x$DOXYGEN != xnone -a ! -x $DOXYGEN ; then
401      AC_MSG_ERROR([doxygen not found at $DOXYGEN])
402    elif test x$DOXYGEN != xnone ; then
403    dnl
404    dnl verify that $DOXYGEN is an absolute path
405    dnl
406      case $DOXYGEN in
407        /*) ;;
408        *) AC_MSG_ERROR([--with-doxygen path must be absolute]) ;;
409      esac
410    fi
411    if test $DOXYGEN = xnone ; then
412      DOXYGEN=:
413    fi
414    AC_SUBST(DOXYGEN)
415    
416    dnl check for asciidoc and related tools
417    dnl
418    AC_PATH_PROGS([ASCIIDOC], [asciidoc], [none])
419    AC_PATH_PROGS([HIGHLIGHTER], [pygmentize], [none])
420    AC_PATH_PROGS([DBLATEX], [dblatex], [none])
421    
422    dnl
423    dnl get the path to the asciidoc cofiguration files
424    dnl
425    if test x"$ASCIIDOC" != xnone ; then
426      AC_MSG_CHECKING([path to asciidoc configuration files])
427      ASCIIDOC_CONF_DIR=`$ASCIIDOC -v /dev/null 2>&1 | head -n 1 | sed 's|.*reading: \(.*\)/asciidoc.conf|\1|'`
428      AC_MSG_RESULT([$ASCIIDOC_CONF_DIR])
429    fi
430    AC_SUBST(ASCIIDOC)
431    AC_SUBST(ASCIIDOC_CONF_DIR)
432    AC_SUBST(HIGHLIGHTER)
433    AC_SUBST(DBLATEX)
434    
435    
436  dnl ******************** Paths ********************  dnl ******************** Paths ********************
437    
438  DIDEROT_ROOT=`pwd`  DIDEROT_ROOT=`pwd`
# Line 413  Line 462 
462  dnl run the compiler tests in 64-bit mode  dnl run the compiler tests in 64-bit mode
463  dnl  dnl
464  save_CFLAGS=$CFLAGS  save_CFLAGS=$CFLAGS
465  CFLAGS="$CFLAGS $CFLAG_M64"  CFLAGS="$CFLAGS $CFLAG_MXX"
466    
467  dnl  dnl
468  dnl check for gcc builtin atomic operations  dnl check for gcc builtin atomic operations
# Line 429  Line 478 
478    
479  AC_C_BIGENDIAN  AC_C_BIGENDIAN
480    
481    #
482    # determine the sizes of the standard C types
483    AC_CHECK_SIZEOF([int])
484    SIZEOF_C_INT=$ac_cv_sizeof_int
485    AC_CHECK_SIZEOF([long])
486    SIZEOF_C_LONG=$ac_cv_sizeof_long
487    AC_CHECK_SIZEOF([float])
488    SIZEOF_C_FLOAT=$ac_cv_sizeof_float
489    AC_CHECK_SIZEOF([double])
490    SIZEOF_C_DOUBLE=$ac_cv_sizeof_double
491    
492    AC_SUBST(SIZEOF_C_INT)
493    AC_SUBST(SIZEOF_C_LONG)
494    AC_SUBST(SIZEOF_C_FLOAT)
495    AC_SUBST(SIZEOF_C_DOUBLE)
496    
497  dnl  dnl
498  dnl restore CFLAGS  dnl restore CFLAGS
499  dnl  dnl
# Line 452  Line 517 
517  ])  ])
518  AH_BOTTOM([  AH_BOTTOM([
519    
520    #ifdef NDEBUG
521    #define STATIC_INLINE   static inline
522    #else
523    #define STATIC_INLINE   static
524    #endif
525    
526  #endif /* !_DIDEROT_CONFIG_H_ */  #endif /* !_DIDEROT_CONFIG_H_ */
527  ])  ])
528    
# Line 464  Line 535 
535  dnl ***** Makefiles *****  dnl ***** Makefiles *****
536    Makefile    Makefile
537    doc/Makefile    doc/Makefile
538      doc/man/Makefile
539    src/clinfo/Makefile    src/clinfo/Makefile
   src/dnorm/Makefile  
540    src/compiler/Makefile    src/compiler/Makefile
541    src/lib/build/Makefile    src/lib/build/Makefile
542    src/lib/build/mk/build.gmk:src/lib/build/mk/build_gmk.in    src/lib/build/mk/build.gmk:src/lib/build/mk/build_gmk.in
# Line 476  Line 547 
547    test/hlic/Makefile    test/hlic/Makefile
548  dnl  dnl
549  dnl ***** SML source files *****  dnl ***** SML source files *****
550    src/compiler/fields/run-dnorm.sml:src/compiler/fields/run-dnorm_sml.in    src/compiler/nrrd/run-dnorm.sml:src/compiler/nrrd/run-dnorm_sml.in
551    src/compiler/common/paths.sml:src/compiler/common/paths_sml.in    src/compiler/common/paths.sml:src/compiler/common/paths_sml.in
552      src/compiler/common/size-of.sml:src/compiler/common/size-of_sml.in
553  )  )
554    
555  AC_CONFIG_HEADERS(src/include/Diderot/config.h:config/config_h.in)  AC_CONFIG_HEADERS(src/include/Diderot/config.h:config/config_h.in)

Legend:
Removed from v.1941  
changed lines
  Added in v.2441

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0