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 3609, Tue Jan 19 16:44:01 2016 UTC revision 4161, Mon Jul 4 18:06:36 2016 UTC
# Line 2  Line 2 
2  dnl  dnl
3  dnl This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)  dnl This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
4  dnl  dnl
5  dnl COPYRIGHT (c) 2015 The University of Chicago  dnl COPYRIGHT (c) 2016 The University of Chicago
6  dnl All rights reserved.  dnl All rights reserved.
7  dnl  dnl
8    
9  AC_INIT(diderot,1.0,)  AC_INIT(diderot,1.0,)
10    
11  AC_PREREQ(2.60)  AC_PREREQ(2.60)
12  AC_COPYRIGHT([[COPYRIGHT (c) 2015 The University of Chicago]])  AC_COPYRIGHT([[COPYRIGHT (c) 2016 The University of Chicago]])
13  AC_CONFIG_SRCDIR(src/compiler/options/ctl.sml)  AC_CONFIG_SRCDIR(src/compiler/options/ctl.sml)
14  AC_CONFIG_AUX_DIR(config)  AC_CONFIG_AUX_DIR(config)
15  AC_CONFIG_MACRO_DIR(config)  AC_CONFIG_MACRO_DIR(config)
# Line 27  Line 27 
27  sinclude(config/check_smlnj.m4)  sinclude(config/check_smlnj.m4)
28  sinclude(config/check_smlnj_heap_suffix.m4)  sinclude(config/check_smlnj_heap_suffix.m4)
29  sinclude(config/ax_check_framework.m4)  sinclude(config/ax_check_framework.m4)
30    sinclude(config/ax_cxx_compile_stdcxx.m4)
31    
32  dnl  dnl
33  dnl get host information  dnl get host information
34  dnl  dnl
35  AC_CANONICAL_HOST  AC_CANONICAL_HOST
36    
37    #################### Paths configuration ####################
38    
39    DIDEROT_ROOT=`pwd`
40    DIDEROT_DOCDIR=$DIDEROT_ROOT/doc
41    DIDEROT_SRCDIR=$DIDEROT_ROOT/src
42    DIDEROT_LIBDIR=$DIDEROT_ROOT/lib
43    DIDEROT_BINDIR=$DIDEROT_ROOT/bin
44    DIDEROT_MKDIR=$DIDEROT_ROOT/mk
45    
46    AC_SUBST(DIDEROT_ROOT)
47    AC_SUBST(DIDEROT_DOCDIR)
48    AC_SUBST(DIDEROT_SRCDIR)
49    AC_SUBST(DIDEROT_LIBDIR)
50    AC_SUBST(DIDEROT_BINDIR)
51    AC_SUBST(DIDEROT_MKDIR)
52    
53    #################### end Paths configuration ####################
54    
55  dnl check for standard programs  dnl check for standard programs
56  dnl  dnl
 AC_PROG_CC([clang gcc cc])  
57  AC_PROG_CPP  AC_PROG_CPP
58    AC_PROG_CC([clang gcc cc])
59    AC_PROG_CXX([clang++ g++ c++])
60    AX_CXX_COMPILE_STDCXX(11,[],[mandatory])
61  AC_PROG_INSTALL  AC_PROG_INSTALL
62  AC_PROG_MAKE_SET  AC_PROG_MAKE_SET
63    
# Line 48  Line 69 
69  fi  fi
70  AC_SUBST(LD)  AC_SUBST(LD)
71    
72  dnl check for c99 support  dnl extra compiler options
73  dnl  dnl
74  AC_PROG_CC_C99  CXXFLAGS_BASE="-Wreturn-type -Wuninitialized"
 if test x"$ac_cv_prog_cc_c99" = xno ; then  
   AC_MSG_ERROR([Diderot requires c99 support])  
 fi  
75    
76  AC_ARG_ENABLE([32-bit],  AC_ARG_ENABLE([32-bit],
77    AC_HELP_STRING([--enable-32-bit], [configure Diderot to produce 32-bit executables]),    AC_HELP_STRING([--enable-32-bit], [configure Diderot to produce 32-bit executables]),
78    [CFLAG_MXX="-m32"],    [CXXFLAG_Mxx="-m32"],
79    [CFLAG_MXX="-m64"])    [CXXFLAG_Mxx="-m64"])
80    if test x"$CXX" != "xclang++" ; then
81      CXXFLAGS_BASE="$CXXFLAGS_BASE -fno-implicit-templates"
82    fi
83    
84    CXXFLAGS="$CXXFLAG_Mxx $CXXFLAGS_BASE"
85    AC_SUBST(CXXFLAG_Mxx)
86    AC_SUBST(CXXFLAGS_BASE)
87    
 dnl extra C compiler options  
88  dnl  dnl
89  CFLAGS=""  dnl run the compiler tests in 64-bit mode
90  CFLAGS_BASE="-Wformat -Wreturn-type -Wuninitialized"  dnl
91  AC_SUBST(CFLAG_MXX)  save_CFLAGS=$CFLAGS
92  AC_SUBST(CFLAGS_BASE)  CFLAGS="$CFLAGS $CFLAG_MXX"
93    
94  dnl  dnl
95  dnl standard headers  dnl check for gcc builtin atomic operations
96    dnl
97    AC_MSG_CHECKING([for builtin atomic operations])
98    AC_LINK_IFELSE(
99       [AC_LANG_PROGRAM([], [int foo1; int foo2 = __sync_fetch_and_add(&foo1, 1);])],
100       AC_MSG_RESULT(yes)
101       AC_DEFINE(
102        [HAVE_BUILTIN_ATOMIC_OPS], 1,
103        [Define to 1 if gcc compiler provides atomic operations.]),
104       AC_MSG_RESULT(no))
105    
106    AC_C_BIGENDIAN
107    
108    #
109    # determine the sizes of the standard C types
110    AC_CHECK_SIZEOF([int])
111    SIZEOF_C_INT=$ac_cv_sizeof_int
112    AC_CHECK_SIZEOF([long])
113    SIZEOF_C_LONG=$ac_cv_sizeof_long
114    AC_CHECK_SIZEOF([float])
115    SIZEOF_C_FLOAT=$ac_cv_sizeof_float
116    AC_CHECK_SIZEOF([double])
117    SIZEOF_C_DOUBLE=$ac_cv_sizeof_double
118    
119    AC_SUBST(SIZEOF_C_INT)
120    AC_SUBST(SIZEOF_C_LONG)
121    AC_SUBST(SIZEOF_C_FLOAT)
122    AC_SUBST(SIZEOF_C_DOUBLE)
123    
124    dnl
125    dnl restore CFLAGS
126    dnl
127    CFLAGS=$save_CFLAGS
128    
129    dnl
130    dnl check for <stdbool.h>, which we use in the C API
131  dnl  dnl
132  AC_HEADER_STDBOOL  AC_HEADER_STDBOOL
133    
# Line 78  Line 137 
137  ACX_PTHREAD  ACX_PTHREAD
138    
139  dnl  dnl
140    dnl check for various library routines etc.
141    dnl
142    AC_CHECK_FUNCS(posix_memalign)
143    if test x"$ac_cv_func_posix_memalign" != xyes ; then
144      AC_CHECK_FUNCS(memalign)
145      if test x"$ac_cv_func_posix_memalign" != xyes ; then
146        AC_CHECK_FUNCS(valloc)
147      fi
148    fi
149    
150    AC_CHECK_FUNCS(mach_absolute_time)
151    AC_CHECK_TYPES([struct timespec])
152    AC_CHECK_FUNCS(pthread_barrier_init)
153    
154    dnl
155    dnl check for clock_gettime.  On Linux, this requires librt.
156    dnl
157    save_LIBS=$LIBS
158    LIBS="-lrt $LIBS"
159    AC_MSG_CHECKING([for clock_gettime])
160    AC_LINK_IFELSE(
161      [AC_LANG_PROGRAM(
162        [[#include <time.h>]],
163        [[struct timespec t; clock_gettime(CLOCK_REALTIME, &t); ]])],
164      [ ac_cv_func_clock_gettime=yes;
165        AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [is clock_gettime available?])],
166      [ac_cv_func_clock_gettime=no])
167    AC_MSG_RESULT($ac_cv_func_clock_gettime)
168    if test "$ac_cv_func_clock_gettime" = "no" ; then
169      LIBS=$save_LIBS
170    fi
171    
172    AC_CHECK_FUNCS(pthread_getcpuclockid)
173    AC_CHECK_FUNCS(sigtimedwait nanosleep)
174    
175    dnl
176    dnl check for sched_setaffinity
177    dnl
178    AC_CHECK_FUNCS(sched_setaffinity)
179    
180    dnl
181    dnl check for pthread_setaffinity_np
182    dnl
183    save_LIBS=$LIBS
184    save_CFLAGS=$CFLAGS
185    LIBS="$PTHREAD_LIBS $LIBS"
186    CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
187    AC_MSG_CHECKING([for pthread_setaffinity_np])
188    AC_LINK_IFELSE(
189      [AC_LANG_PROGRAM(
190        [[#include <pthread.h>]],
191        [[cpu_set_t s; pthread_setaffinity_np(pthread_self(), sizeof(s), &s); ]])],
192      [ ac_cv_func_pthread_setaffinity_np=yes;
193        AC_DEFINE(HAVE_PTHREAD_SETAFFINITY_NP, [1], [is pthread_setaffinity_np available?])],
194      [ac_cv_func_pthread_setaffinity_np=no])
195    AC_MSG_RESULT($ac_cv_func_pthread_setaffinity_np)
196    LIBS=$save_LIBS
197    CFLAGS=$save_CFLAGS
198    
199    dnl
200    dnl check for Linux NUMA support (libnuma)
201    dnl
202    AC_CHECK_LIB(numa,numa_available)
203    if test "$ac_cv_lib_numa_numa_available" = "yes" ; then
204      PTHREAD_LIBS="$PTHREAD_LIBS -lnuma"
205    fi
206    
207    dnl check for /proc/cpuinfo
208    dnl
209    AC_CHECK_FILES(/proc/cpuinfo)
210    
211    dnl
212    dnl OS-specific linking issues
213    dnl
214    LD_NEEDS_RPATH=false;
215    LIBM=""
216    case "$host_os" in
217      darwin*) # On Mac OS X we check for the presence of macports and/or fink
218        if test -x /opt/local/bin/port ; then
219          HAS_MACPORTS=yes
220        else
221          HAS_MACPORTS=no
222        fi
223        if test -x /sw/bin/fink ; then
224          HAS_FINK=yes
225        else
226          HAS_FINK=no
227        fi
228      ;;
229      linux*) # On Linux we include the -rpath option to pick up dynamically-loaded libraries
230        LD_NEEDS_RPATH=true
231        LIBM="-lm"
232      ;;
233    esac
234    
235    if test x"$HAS_MACPORTS" = xyes ; then
236      LDPATHS="-L/opt/local/lib"
237    elif test x"$HAS_FINK" = xyes ; then
238      LDPATHS="-L/sw/lib"
239    else
240      LDPATHS=""
241    fi
242    AC_SUBST(LDPATHS)
243    AC_SUBST(LD_NEEDS_RPATH)
244    AC_SUBST(LIBM)
245    
246    #################### CUDA configuration ####################
247    
248    dnl
249  dnl Look for NVIDIA's nvcc compiler  dnl Look for NVIDIA's nvcc compiler
250  dnl  dnl
251  AC_MSG_NOTICE([checking for CUDA and nvcc])  AC_MSG_NOTICE([checking for CUDA and nvcc])
# Line 93  Line 261 
261  AC_SUBST(NVCC)  AC_SUBST(NVCC)
262  AC_SUBST(CUDA_ENABLED)  AC_SUBST(CUDA_ENABLED)
263    
264    #################### end CUDA configuration ####################
265    
266    #################### OpenCL configuration ####################
267    
268  dnl  dnl
269  dnl check for OpenCL support  dnl check for OpenCL support
270  dnl  dnl
# Line 220  Line 392 
392  AC_SUBST(SIZEOF_CL_FLOAT)  AC_SUBST(SIZEOF_CL_FLOAT)
393  AC_SUBST(SIZEOF_CL_DOUBLE)  AC_SUBST(SIZEOF_CL_DOUBLE)
394    
395  dnl  #################### end OpenCL configuration ####################
 dnl check for various library routines etc.  
 dnl  
 AC_CHECK_FUNCS(posix_memalign)  
 if test x"$ac_cv_func_posix_memalign" != xyes ; then  
   AC_CHECK_FUNCS(memalign)  
   if test x"$ac_cv_func_posix_memalign" != xyes ; then  
     AC_CHECK_FUNCS(valloc)  
   fi  
 fi  
   
 AC_CHECK_FUNCS(mach_absolute_time)  
 AC_CHECK_TYPES([struct timespec])  
 AC_CHECK_FUNCS(pthread_barrier_init)  
   
 dnl  
 dnl check for clock_gettime.  On Linux, this requires librt.  
 dnl  
 save_LIBS=$LIBS  
 LIBS="-lrt $LIBS"  
 AC_MSG_CHECKING([for clock_gettime])  
 AC_LINK_IFELSE(  
   [AC_LANG_PROGRAM(  
     [[#include <time.h>]],  
     [[struct timespec t; clock_gettime(CLOCK_REALTIME, &t); ]])],  
   [ ac_cv_func_clock_gettime=yes;  
     AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [is clock_gettime available?])],  
   [ac_cv_func_clock_gettime=no])  
 AC_MSG_RESULT($ac_cv_func_clock_gettime)  
 if test "$ac_cv_func_clock_gettime" = "no" ; then  
   LIBS=$save_LIBS  
 fi  
   
 AC_CHECK_FUNCS(pthread_getcpuclockid)  
 AC_CHECK_FUNCS(sigtimedwait nanosleep)  
396    
397  dnl  #################### Teem configuration ####################
 dnl check for sched_setaffinity  
 dnl  
 AC_CHECK_FUNCS(sched_setaffinity)  
   
 dnl  
 dnl check for pthread_setaffinity_np  
 dnl  
 save_LIBS=$LIBS  
 save_CFLAGS=$CFLAGS  
 LIBS="$PTHREAD_LIBS $LIBS"  
 CFLAGS="$PTHREAD_CFLAGS $CFLAGS"  
 AC_MSG_CHECKING([for pthread_setaffinity_np])  
 AC_LINK_IFELSE(  
   [AC_LANG_PROGRAM(  
     [[#include <pthread.h>]],  
     [[cpu_set_t s; pthread_setaffinity_np(pthread_self(), sizeof(s), &s); ]])],  
   [ ac_cv_func_pthread_setaffinity_np=yes;  
     AC_DEFINE(HAVE_PTHREAD_SETAFFINITY_NP, [1], [is pthread_setaffinity_np available?])],  
   [ac_cv_func_pthread_setaffinity_np=no])  
 AC_MSG_RESULT($ac_cv_func_pthread_setaffinity_np)  
 LIBS=$save_LIBS  
 CFLAGS=$save_CFLAGS  
   
 dnl  
 dnl check for Linux NUMA support (libnuma)  
 dnl  
 AC_CHECK_LIB(numa,numa_available)  
 if test "$ac_cv_lib_numa_numa_available" = "yes" ; then  
   PTHREAD_LIBS="$PTHREAD_LIBS -lnuma"  
 fi  
   
 dnl check for /proc/cpuinfo  
 dnl  
 AC_CHECK_FILES(/proc/cpuinfo)  
   
 dnl  
 dnl OS-specific linking issues  
 dnl  
 LD_NEEDS_RPATH=false;  
 LIBM=""  
 case "$host_os" in  
   darwin*) # On Mac OS X we check for the presence of macports and/or fink  
     if test -x /opt/local/bin/port ; then  
       HAS_MACPORTS=yes  
     else  
       HAS_MACPORTS=no  
     fi  
     if test -x /sw/bin/fink ; then  
       HAS_FINK=yes  
     else  
       HAS_FINK=no  
     fi  
   ;;  
   linux*) # On Linux we include the -rpath option to pick up dynamically-loaded libraries  
     LD_NEEDS_RPATH=true  
     LIBM="-lm"  
   ;;  
 esac  
   
 if test x"$HAS_MACPORTS" = xyes ; then  
   LDPATHS="-L/opt/local/lib"  
 elif test x"$HAS_FINK" = xyes ; then  
   LDPATHS="-L/sw/lib"  
 else  
   LDPATHS=""  
 fi  
 AC_SUBST(LDPATHS)  
 AC_SUBST(LD_NEEDS_RPATH)  
 AC_SUBST(LIBM)  
398    
399  dnl  dnl
400  dnl get the path to the TEEM installation.  We need this to build the Diderot  dnl get the path to the TEEM installation.  We need this to build the Diderot
# Line 337  Line 406 
406    [ac_cv_use_teem=$withval], [ac_cv_use_teem=no])    [ac_cv_use_teem=$withval], [ac_cv_use_teem=no])
407  if test x"$ac_cv_use_teem" = xno ; then  if test x"$ac_cv_use_teem" = xno ; then
408    TEEM_DIR=none    TEEM_DIR=none
409      AC_MSG_ERROR([unable to find teem; use --with-teem option to specify location])
410  else  else
411    AC_MSG_CHECKING([path to teem ($ac_cv_use_teem)])    AC_MSG_CHECKING([path to teem ($ac_cv_use_teem)])
412    case $ac_cv_use_teem in    case $ac_cv_use_teem in
# Line 350  Line 420 
420        AC_MSG_RESULT([yes])        AC_MSG_RESULT([yes])
421      else      else
422        TEEM_DIR=none        TEEM_DIR=none
423        AC_MSG_RESULT([no])        AC_MSG_RESULT([invalid path to teem])
424      fi      fi
425    else    else
426      TEEM_DIR=none      TEEM_DIR=none
427      AC_MSG_RESULT([no])      AC_MSG_RESULT([invalid path to teem])
428    fi    fi
429  fi  fi
430  if test x"$TEEM_DIR" = xnone ; then  if test x"$TEEM_DIR" = xnone ; then
431    AC_MSG_ERROR([unable to find teem; use --with-teem option to specify location])    AC_MSG_ERROR([unable to find teem])
432  fi  fi
433  dnl  dnl
434  dnl check that unu supports the dnorm command  dnl check that unu supports the dnorm command
# Line 378  Line 448 
448  fi  fi
449  AC_SUBST(TEEM_DIR)  AC_SUBST(TEEM_DIR)
450    
451  dnl ******************** SML/NJ configuration ********************  #################### end Teem configuration ####################
452    
453    #################### SML configuration ####################
454    
455    dnl
456    dnl We support building with both SML/NJ (the default) or MLton.
457    dnl
458    
459    dnl first check for --with-mlton=path flag
460  dnl  dnl
461    AC_ARG_WITH([mlton],
462      [AS_HELP_STRING([--with-mlton=<path-to-mlton>],
463        [use the MLton Standard ML compiler to build Diderot])],
464      [with_mlton=yes],[with_mlton=no])
465    if test x"$with_mlton" = xyes ; then
466      if test x"$ac_cv_path_with_mlton" = x ; then
467        # look for mlton in the PATH
468        AC_PATH_PROGS(with_mlton, mlton, no)
469        if test x"$MLTON" = xno ; then
470          AC_MSG_ERROR([unable to find mlton executable; please specify the path])
471        fi
472      else
473        with_mlton=$ac_cv_path_with_mlton
474        case $with_mlton in
475          /*) ;;
476          *) AC_MSG_ERROR([please specify absolute path for mlton executable]) ;;
477        esac
478        if test ! -x $with_mlton ; then
479          AC_MSG_ERROR([invalid path for mlton; $with_mlton is not executable])
480        fi
481      fi
482    fi
483    
484    if test x"$with_mlton" = xno ; then
485      # we are using SML/NJ
486      #
487    
488  dnl check that we have a compatible version of SML/NJ  dnl check that we have a compatible version of SML/NJ
489  dnl  dnl
# Line 389  Line 493 
493  then  then
494    AC_MSG_ERROR([installation requires SML/NJ version 110.79+ (available from smlnj.org)])    AC_MSG_ERROR([installation requires SML/NJ version 110.79+ (available from smlnj.org)])
495  fi  fi
 AC_SUBST(SMLNJ_VERSION)  
496    
497  dnl determine the heap-image suffix  dnl determine the heap-image suffix
498  dnl  dnl
# Line 417  Line 520 
520    AC_MSG_ERROR([ml-build not found])    AC_MSG_ERROR([ml-build not found])
521  fi  fi
522  AC_SUBST(ML_BUILD)  AC_SUBST(ML_BUILD)
523      SML=smlnj
524    
525      HEAP_IMAGE_DIR=$DIDEROT_BINDIR/.heap
526      INSTALL_SMLNJ_WRAPPER=$DIDEROT_BINDIR/install-sml-wrapper.sh
527      AC_SUBST(HEAP_IMAGE_DIR)
528      AC_SUBST(INSTALL_SMLNJ_WRAPPER)
529    
530    else
531    
532      # we are using MLton
533      MLTON=$with_mlton
534      AC_SUBST(MLTON)
535      SML=mlton
536    
537    fi
538    AC_SUBST(SML)
539    
540    #################### SML configuration ####################
541    
542  dnl ******************** Documentation tools ********************  #################### Documentation tools configuration ####################
543    
544  dnl check for doxygen  dnl check for doxygen
545  dnl  dnl
546  AC_ARG_WITH([doxygen],  AC_ARG_WITH([doxygen],
547    [AS_HELP_STRING([--with-doxygen=PATH], [specify location of doxygen executable])],    [AS_HELP_STRING([--with-doxygen=<path>], [specify location of doxygen executable])],
548    [DOXYGEN=$with_doxygen],    [DOXYGEN=$with_doxygen],
549    [DOXYGEN=none])    [DOXYGEN=none])
550  if test x$DOXYGEN = xnone ; then  if test x$DOXYGEN = xnone ; then
# Line 469  Line 590 
590  AC_SUBST(HIGHLIGHTER)  AC_SUBST(HIGHLIGHTER)
591  AC_SUBST(DBLATEX)  AC_SUBST(DBLATEX)
592    
593    #################### end Documentation tools configuration ####################
594    
595  dnl ******************** Paths ********************  #################### config.h ####################
   
 DIDEROT_ROOT=`pwd`  
 DIDEROT_DOCDIR=$DIDEROT_ROOT/doc  
 DIDEROT_SRCDIR=$DIDEROT_ROOT/src  
 DIDEROT_LIBDIR=$DIDEROT_ROOT/lib  
 DIDEROT_BINDIR=$DIDEROT_ROOT/bin  
 DIDEROT_MKDIR=$DIDEROT_ROOT/mk  
   
 HEAP_IMAGE_DIR=$DIDEROT_BINDIR/.heap  
 INSTALL_SMLNJ_WRAPPER=$DIDEROT_BINDIR/install-sml-wrapper.sh  
   
 AC_SUBST(DIDEROT_ROOT)  
 AC_SUBST(DIDEROT_DOCDIR)  
 AC_SUBST(DIDEROT_SRCDIR)  
 AC_SUBST(DIDEROT_LIBDIR)  
 AC_SUBST(DIDEROT_BINDIR)  
 AC_SUBST(DIDEROT_MKDIR)  
 AC_SUBST(HEAP_IMAGE_DIR)  
 AC_SUBST(INSTALL_SMLNJ_WRAPPER)  
   
 dnl  
 dnl ******************** C compiler properties ********************  
 dnl  
   
 dnl  
 dnl run the compiler tests in 64-bit mode  
 dnl  
 save_CFLAGS=$CFLAGS  
 CFLAGS="$CFLAGS $CFLAG_MXX"  
   
 dnl  
 dnl check for gcc builtin atomic operations  
 dnl  
 AC_MSG_CHECKING([for builtin atomic operations])  
 AC_LINK_IFELSE(  
    [AC_LANG_PROGRAM([], [int foo1; int foo2 = __sync_fetch_and_add(&foo1, 1);])],  
    AC_MSG_RESULT(yes)  
    AC_DEFINE(  
     [HAVE_BUILTIN_ATOMIC_OPS], 1,  
     [Define to 1 if gcc compiler provides atomic operations.]),  
    AC_MSG_RESULT(no))  
   
 AC_C_BIGENDIAN  
   
 #  
 # determine the sizes of the standard C types  
 AC_CHECK_SIZEOF([int])  
 SIZEOF_C_INT=$ac_cv_sizeof_int  
 AC_CHECK_SIZEOF([long])  
 SIZEOF_C_LONG=$ac_cv_sizeof_long  
 AC_CHECK_SIZEOF([float])  
 SIZEOF_C_FLOAT=$ac_cv_sizeof_float  
 AC_CHECK_SIZEOF([double])  
 SIZEOF_C_DOUBLE=$ac_cv_sizeof_double  
   
 AC_SUBST(SIZEOF_C_INT)  
 AC_SUBST(SIZEOF_C_LONG)  
 AC_SUBST(SIZEOF_C_FLOAT)  
 AC_SUBST(SIZEOF_C_DOUBLE)  
   
 dnl  
 dnl restore CFLAGS  
 dnl  
 CFLAGS=$save_CFLAGS  
   
 dnl  
 dnl ******************** config.h stuff ********************  
 dnl  
596    
597  AC_DEFINE_UNQUOTED(DIDEROT_INCLUDE_PATH,["$DIDEROT_SRCDIR/include"], [path for Diderot header files])  AC_DEFINE_UNQUOTED(DIDEROT_INCLUDE_PATH,["$DIDEROT_SRCDIR/lib/include"], [path for Diderot header files])
598    
599  AH_TOP([  AH_TOP([
600  /*  /*
601   * This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)   * This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
602   *   *
603   * COPYRIGHT (c) 2015 The University of Chicago * All rights reserved.   * COPYRIGHT (c) 2016 The University of Chicago * All rights reserved.
604   */   */
605    
606  #ifndef _DIDEROT_CONFIG_H_  #ifndef _DIDEROT_CONFIG_H_
# Line 555  Line 609 
609  ])  ])
610  AH_BOTTOM([  AH_BOTTOM([
611    
 #ifdef NDEBUG  
 #define STATIC_INLINE   static inline  
 #else  
 #define STATIC_INLINE   static  
 #endif  
   
612  #endif /* !_DIDEROT_CONFIG_H_ */  #endif /* !_DIDEROT_CONFIG_H_ */
613  ])  ])
614    
615  dnl  #################### end config.h ####################
616  dnl ******************** write output ********************  
617  dnl  #################### write output ####################
618    
619    dnl The compiler Makefile depends on which SML system we are
620    dnl using.
621    if test x"$SML" = xmlton ; then
622      COMPILER_MAKEFILE_IN=":src/compiler/Makefile_mlton.in"
623    else
624      COMPILER_MAKEFILE_IN=""
625    fi
626    
627  AC_CONFIG_FILES(  AC_CONFIG_FILES(
628  dnl  dnl
# Line 575  Line 631 
631  dnl  doc/Makefile  dnl  doc/Makefile
632  dnl  doc/man/Makefile  dnl  doc/man/Makefile
633  dnl  src/clinfo/Makefile  dnl  src/clinfo/Makefile
634    src/compiler/Makefile    src/compiler/Makefile"$COMPILER_MAKEFILE_IN"
635  dnl  src/lib/build/Makefile    src/lib/build/Makefile
636  dnl  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
637  dnl  test/MIP/Makefile  dnl  test/MIP/Makefile
638  dnl  test/probe/Makefile  dnl  test/probe/Makefile
639  dnl  test/iso2d-polyline/Makefile  dnl  test/iso2d-polyline/Makefile
# Line 591  Line 647 
647    src/compiler/options/version.sml:src/compiler/options/version_sml.in    src/compiler/options/version.sml:src/compiler/options/version_sml.in
648  )  )
649    
650  AC_CONFIG_HEADERS(src/include/Diderot/config.h:config/config_h.in)  AC_CONFIG_HEADERS(src/lib/include/diderot/config.h:config/config_h.in)
651    
652  dnl  dnl
653  dnl shell scripts  dnl shell scripts
# Line 599  Line 655 
655  AC_CONFIG_FILES([  AC_CONFIG_FILES([
656    bin/install-sml-wrapper.sh:config/install-sml-wrapper_sh.in    bin/install-sml-wrapper.sh:config/install-sml-wrapper_sh.in
657  ], [chmod +x bin/install-sml-wrapper.sh])  ], [chmod +x bin/install-sml-wrapper.sh])
658  # AC_CONFIG_FILES([  AC_CONFIG_FILES([
659  #   src/compiler/gen/file2str/file2str.sh:src/compiler/gen/file2str/file2str_sh.in    src/compiler/gen/fragments/mkfrags.sh:src/compiler/gen/fragments/mkfrags_sh.in
660  # ], [chmod +x src/compiler/gen/file2str/file2str.sh])  ], [chmod +x src/compiler/gen/fragments/mkfrags.sh])
661  # AC_CONFIG_FILES([  AC_CONFIG_FILES([
662  #   rtest/scripts/run.sh:rtest/scripts/run_sh.in    src/compiler/gen/fragments/mkmk.sh:src/compiler/gen/fragments/mkmk_sh.in
663  # ], [chmod +x rtest/scripts/run.sh])  ], [chmod +x src/compiler/gen/fragments/mkmk.sh])
664  # AC_CONFIG_FILES([  AC_CONFIG_FILES([
665  #   rtest/scripts/run-one.sh:rtest/scripts/run-one_sh.in    src/tests/rtest/scripts/run.sh:src/tests/rtest/scripts/run_sh.in
666  # ], [chmod +x rtest/scripts/run-one.sh])  ], [chmod +x src/tests/rtest/scripts/run.sh])
667    AC_CONFIG_FILES([
668      src/tests/rtest/scripts/run-one.sh:src/tests/rtest/scripts/run-one_sh.in
669    ], [chmod +x src/tests/rtest/scripts/run-one.sh])
670  #  #
671  # more regression tests; should merge with rtest at some point  # more regression tests; should merge with rtest at some point
672  #  #
# Line 623  Line 682 
682  dnl  dnl
683  dnl usage: MK_BUILD_DIR(<build-dir>, <target-platform>, <options>)  dnl usage: MK_BUILD_DIR(<build-dir>, <target-platform>, <options>)
684  dnl  dnl
685    dnl where the options are taken from [debug, parallel]
686    dnl
687  AC_DEFUN([MK_BUILD_DIR], [  AC_DEFUN([MK_BUILD_DIR], [
688      if test ! -d src/lib/build/$1 ; then      if test ! -d src/lib/build/$1 ; then
689        mkdir src/lib/build/$1        mkdir src/lib/build/$1
# Line 635  Line 696 
696      AC_CONFIG_FILES(src/lib/build/$1/Makefile)      AC_CONFIG_FILES(src/lib/build/$1/Makefile)
697    ])    ])
698    
699  #MK_BUILD_DIR(rt-c-f, c, [float])  MK_BUILD_DIR(rt-seq, sequential, [])
700  #MK_BUILD_DIR(rt-c-d, c, [double])  MK_BUILD_DIR(rt-seq-debug, sequential, [debug])
701  #MK_BUILD_DIR(rt-c-f-debug, c, [float debug])  MK_BUILD_DIR(rt-par, parallel, [parallel])
702  #MK_BUILD_DIR(rt-c-d-debug, c, [double debug])  MK_BUILD_DIR(rt-par-debug, parallel, [parallel debug])
 #MK_BUILD_DIR(rt-c-f-par, parallel, [parallel float])  
 #MK_BUILD_DIR(rt-c-d-par, parallel, [parallel double])  
 #MK_BUILD_DIR(rt-c-f-par-debug, parallel, [parallel float debug])  
 #MK_BUILD_DIR(rt-c-d-par-debug, parallel, [parallel double debug])  
703    
704  #if test x"$CL_ENABLED" = xtrue ; then  #if test x"$CL_ENABLED" = xtrue ; then
705  #  MK_BUILD_DIR(rt-cl-f, cl, [float])  #  MK_BUILD_DIR(rt-cl-f, opencl, [float])
706  #  MK_BUILD_DIR(rt-cl-d, cl, [double])  #  MK_BUILD_DIR(rt-cl-d, opencl, [double])
707  #  MK_BUILD_DIR(rt-cl-f-debug, cl, [float debug])  #  MK_BUILD_DIR(rt-cl-f-debug, opencl, [float debug])
708  #  MK_BUILD_DIR(rt-cl-d-debug, cl, [double debug])  #  MK_BUILD_DIR(rt-cl-d-debug, opencl, [double debug])
709  #fi  #fi
710    
711  AC_OUTPUT  AC_OUTPUT
712    
713    #################### end write output ####################

Legend:
Removed from v.3609  
changed lines
  Added in v.4161

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