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

SCM Repository

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

Diff of /branches/staging/configure.ac

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

trunk/configure.ac revision 3, Wed Jan 6 04:47:22 2010 UTC branches/staging/configure.ac revision 2661, Fri May 30 14:43:55 2014 UTC
# Line 1  Line 1 
1  dnl Process this file with autoconf to produce a configure script.  dnl Process this file with autoconf to produce a configure script.
2  dnl  dnl
3  dnl COPYRIGHT (c) 2010 The Diderot Project  dnl COPYRIGHT (c) 2012 The Diderot Project
4  dnl All rights reserved.  dnl All rights reserved.
5  dnl  dnl
6    
 dnl NOTE: MANTICORE_DIST_VERSION is an M4 variable defined in config/aclocal.m4  
 dnl  
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) 2010 The Diderot Project]])  AC_COPYRIGHT([[COPYRIGHT (c) 2013 The Diderot Project (http://diderot-language.cs.uchicago.edu)]])
11  AC_CONFIG_SRCDIR(??)  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    
15  dnl  dnl
16  dnl include additional macros  dnl include additional macros
17  dnl  dnl
 dnl sinclude(config/ax_check_gl.m4)  
 dnl sinclude(config/ax_check_glu.m4)  
 dnl sinclude(config/ax_check_glut.m4)  
18  sinclude(config/acx_pthread.m4)  sinclude(config/acx_pthread.m4)
19  sinclude(config/ax_lang_compiler_ms.m4)  sinclude(config/check_smlnj.m4)
20    sinclude(config/check_smlnj_heap_suffix.m4)
21  sinclude(config/ax_check_framework.m4)  sinclude(config/ax_check_framework.m4)
 sinclude(config/ax_check_macports.m4)  
 sinclude(config/ax_check_lib_stdcall.m4)  
22    
23  dnl  dnl
24  dnl get host and target information  dnl get host information
25  dnl  dnl
26  AC_CANONICAL_HOST  AC_CANONICAL_HOST
27    
28  dnl check for standard programs  dnl check for standard programs
29  dnl  dnl
30  AC_PROG_CC_C99  AC_PROG_CC([clang gcc cc])
31  AC_PROG_CPP  AC_PROG_CPP
32  AC_PROG_INSTALL  AC_PROG_INSTALL
33  AC_PROG_MAKE_SET  AC_PROG_MAKE_SET
34    
35    dnl FIXME: this works for now, but we should probably switch to libtool
36    dnl
37    AC_PATH_PROG(LD, [ld], [none])
38    if test x$LD = xnone ; then
39      AC_MSG_ERROR([cannot find ld command])
40    fi
41    AC_SUBST(LD)
42    
43    dnl check for c99 support
44    dnl
45    AC_PROG_CC_C99
46    if test x"$ac_cv_prog_cc_c99" = xno ; then
47      AC_MSG_ERROR([Diderot requires c99 support])
48    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
56    dnl
57    CFLAGS=""
58    CFLAGS_BASE="-Wformat -Wreturn-type -Wuninitialized"
59    AC_SUBST(CFLAG_MXX)
60    AC_SUBST(CFLAGS_BASE)
61    
62    dnl
63    dnl standard headers
64    dnl
65    AC_HEADER_STDBOOL
66    
67    dnl
68    dnl check for pthreads support
69    dnl
70    ACX_PTHREAD
71    
72    dnl
73    dnl Look for NVIDIA's nvcc compiler
74    dnl
75    AC_MSG_NOTICE([checking for CUDA and nvcc])
76    AC_PATH_PROG(NVCC, nvcc, no, $PATH)
77    if test x"$NVCC" = xno ; then
78      AC_MSG_WARN([nvcc not found])
79      CUDA_ENABLED=false
80      NVCC=":"
81    else
82      AC_MSG_RESULT([$NVCC])
83      CUDA_ENABLED=true
84    fi
85    AC_SUBST(NVCC)
86    AC_SUBST(CUDA_ENABLED)
87    
88    dnl
89    dnl check for OpenCL support
90    dnl
91    LIBS_CL="none"
92    case "$host_os" in
93      darwin*) # On Mac OS X we check for installed frameworks
94        AX_CHECK_FRAMEWORK([OpenCL], [LIBS_CL="-framework OpenCL"], [])
95      ;;
96      *)
97        AC_CHECK_LIB([OpenCL],[clGetPlatformIDs],[LIBS_CL="-lOpenCL"])
98      ;;
99    esac
100    if test x"$LIBS_CL" = xnone ; then
101      AC_MSG_WARN([no OpenCL library found])
102      CL_ENABLED=false
103      CL_VERSION=0
104    else
105      CL_ENABLED=true
106      CPPFLAGS_CL=""
107      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
110        # check for AMD's SDK
111        AC_MSG_CHECKING([for cl.h in AMD's SDK])
112        if test -d /opt/AMDAPP/include/CL ; then
113          HAVE_CL_H="yes"
114          CL_HEADER="/opt/AMDAPP/include/CL/cl.h"
115          AC_DEFINE([HAVE_CL_CL_H])
116          CPPFLAGS_CL="-I/opt/AMDAPP/include"
117        fi
118        AC_MSG_RESULT([$HAVE_CL_H])
119      fi
120      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])
132        CL_ENABLED=false
133        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
139        # check the cl.h header for which version of OpenCL is supported
140        AC_LANG([C])
141        save_CPPFLAGS=$CPPFLAGS
142        CPPFLAGS="$CPPFLAGS_CL $CPPFLAGS"
143        AC_LINK_IFELSE([AC_LANG_PROGRAM([[
144    #include <stdio.h>
145    # ifdef HAVE_CL_CL_H
146    #   include <CL/cl.h>
147    # elif defined(HAVE_OPENCL_CL_H)
148    #   include <OpenCL/cl.h>
149    # else
150    #   error no cl.h
151    # endif]],
152    [[#if defined(CL_VERSION_1_1)
153      printf("11000\n");
154    #elif defined(CL_VERSION_1_0)
155      printf("10000\n");
156    #else
157      printf("0\n");
158    #endif
159          ]])],
160          [CL_VERSION=`./conftest$EXEEXT`], [CL_VERSION=0])
161    dnl
162    dnl check to see how we access the host-side vector types.  For OpenCL 1.1,
163    dnl the specification specifies the behavior, but it was unspecified in 1.0.
164    dnl
165        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
166    #include "$CL_HEADER"
167    ]],
168          [[cl_float4 x; x[0] = 0.0;]])],
169          [AC_DEFINE([CL_HOST_VECTORS_ARE_ARRAYS],[1],[host vector types are arrays])],
170    dnl
171    dnl not arrays, so try the OpenCL 1.1 structure representation
172    dnl
173          [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
174    #include "$CL_HEADER"
175    ]],
176          [[cl_float4 x; x.s[0] = 0.0;]])],
177          [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])])])
179      # restore saved CPPFLAGS
180        CPPFLAGS=$save_CPPFLAGS
181      # substitutions
182        AC_SUBST(LIBS_CL)
183        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
195    fi
196    AC_SUBST(CL_ENABLED)
197    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
205    dnl check for various library routines etc.
206    dnl
207    AC_CHECK_FUNCS(posix_memalign)
208    if test x"$ac_cv_func_posix_memalign" != xyes ; then
209      AC_CHECK_FUNCS(memalign)
210      if test x"$ac_cv_func_posix_memalign" != xyes ; then
211        AC_CHECK_FUNCS(valloc)
212      fi
213    fi
214    
215    AC_CHECK_FUNCS(mach_absolute_time)
216    AC_CHECK_TYPES([struct timespec])
217    AC_CHECK_FUNCS(pthread_barrier_init)
218    
219    dnl
220    dnl check for clock_gettime.  On Linux, this requires librt.
221    dnl
222    save_LIBS=$LIBS
223    LIBS="-lrt $LIBS"
224    AC_MSG_CHECKING([for clock_gettime])
225    AC_LINK_IFELSE(
226      [AC_LANG_PROGRAM(
227        [[#include <time.h>]],
228        [[struct timespec t; clock_gettime(CLOCK_REALTIME, &t); ]])],
229      [ ac_cv_func_clock_gettime=yes;
230        AC_DEFINE(HAVE_CLOCK_GETTIME, [1], [is clock_gettime available?])],
231      [ac_cv_func_clock_gettime=no])
232    AC_MSG_RESULT($ac_cv_func_clock_gettime)
233    if test "$ac_cv_func_clock_gettime" = "no" ; then
234      LIBS=$save_LIBS
235    fi
236    
237    AC_CHECK_FUNCS(pthread_getcpuclockid)
238    AC_CHECK_FUNCS(sigtimedwait nanosleep)
239    
240    dnl
241    dnl check for sched_setaffinity
242    dnl
243    AC_CHECK_FUNCS(sched_setaffinity)
244    
245    dnl
246    dnl check for pthread_setaffinity_np
247    dnl
248    save_LIBS=$LIBS
249    save_CFLAGS=$CFLAGS
250    LIBS="$PTHREAD_LIBS $LIBS"
251    CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
252    AC_MSG_CHECKING([for pthread_setaffinity_np])
253    AC_LINK_IFELSE(
254      [AC_LANG_PROGRAM(
255        [[#include <pthread.h>]],
256        [[cpu_set_t s; pthread_setaffinity_np(pthread_self(), sizeof(s), &s); ]])],
257      [ ac_cv_func_pthread_setaffinity_np=yes;
258        AC_DEFINE(HAVE_PTHREAD_SETAFFINITY_NP, [1], [is pthread_setaffinity_np available?])],
259      [ac_cv_func_pthread_setaffinity_np=no])
260    AC_MSG_RESULT($ac_cv_func_pthread_setaffinity_np)
261    LIBS=$save_LIBS
262    CFLAGS=$save_CFLAGS
263    
264    dnl
265    dnl check for Linux NUMA support (libnuma)
266    dnl
267    AC_CHECK_LIB(numa,numa_available)
268    if test "$ac_cv_lib_numa_numa_available" = "yes" ; then
269      PTHREAD_LIBS="$PTHREAD_LIBS -lnuma"
270    fi
271    
272    dnl check for /proc/cpuinfo
273    dnl
274    AC_CHECK_FILES(/proc/cpuinfo)
275    
276    dnl
277    dnl OS-specific linking issues
278    dnl
279    LD_NEEDS_RPATH=false;
280    LIBM=""
281    case "$host_os" in
282      darwin*) # On Mac OS X we check for the presence of macports and/or fink
283        if test -x /opt/local/bin/port ; then
284          HAS_MACPORTS=yes
285        else
286          HAS_MACPORTS=no
287        fi
288        if test -x /sw/bin/fink ; then
289          HAS_FINK=yes
290        else
291          HAS_FINK=no
292        fi
293      ;;
294      linux*) # On Linux we include the -rpath option to pick up dynamically-loaded libraries
295        LD_NEEDS_RPATH=true
296        LIBM="-lm"
297      ;;
298    esac
299    
300    if test x"$HAS_MACPORTS" = xyes ; then
301      LDPATHS="-L/opt/local/lib"
302    elif test x"$HAS_FINK" = xyes ; then
303      LDPATHS="-L/sw/lib"
304    else
305      LDPATHS=""
306    fi
307    AC_SUBST(LDPATHS)
308    AC_SUBST(LD_NEEDS_RPATH)
309    AC_SUBST(LIBM)
310    
311    dnl
312    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
316    AC_ARG_WITH(teem,
317      AC_HELP_STRING([--with-teem=<path>], [specify path to teem installation]),
318      [ac_cv_use_teem=$withval], [ac_cv_use_teem=no])
319    if test x"$ac_cv_use_teem" = xno ; then
320      TEEM_DIR=none
321    else
322      AC_MSG_CHECKING([path to teem ($ac_cv_use_teem)])
323      case $ac_cv_use_teem in
324        /*) ;;
325        *) AC_MSG_ERROR([path to teem must be absolute]) ;;
326      esac
327      if test -x $ac_cv_use_teem ; then
328        TEEM_DIR=$ac_cv_use_teem
329        # check that TEEM_DIR actually points to something that looks like teem
330        if test -f $TEEM_DIR/include/teem/nrrd.h ; then
331          AC_MSG_RESULT([yes])
332        else
333          TEEM_DIR=none
334          AC_MSG_RESULT([no])
335        fi
336      else
337        TEEM_DIR=none
338        AC_MSG_RESULT([no])
339      fi
340    fi
341    if test x"$TEEM_DIR" = xnone ; then
342      AC_MSG_ERROR([unable to find teem; use --with-teem option to specify location])
343    fi
344    dnl
345    dnl check that unu supports the dnorm command
346    dnl
347    if test x"$TEEM_DIR" != xnone ; then
348      AC_MSG_CHECKING([that \"unu dnorm\" works])
349      if test -x $TEEM_DIR/bin/unu ; then
350        $TEEM_DIR/bin/unu dnorm > /dev/null 2> /dev/null
351        if test $? -eq 0 ; then
352          AC_MSG_RESULT([yes])
353        else
354          AC_MSG_ERROR([\"unu dnorm\" is not supported; please update your teem installation])
355        fi
356      else
357        AC_MSG_ERROR([unable to find unu executable in $TEEM_DIR/bin"])
358      fi
359    fi
360    AC_SUBST(TEEM_DIR)
361    
362    dnl ******************** SML/NJ configuration ********************
363    dnl
364    
365    dnl check that we have a compatible version of SML/NJ
366    dnl
367    CHECK_SMLNJ([AC_MSG_ERROR([unable to find SML/NJ installation; check your PATH or set SMLNJ_CMD])])
368    if test $SMLNJ_MAJOR_VERSION -lt 110 \
369      -o $SMLNJ_MINOR_VERSION -lt 75
370    then
371      AC_MSG_ERROR([installation requires SML/NJ version 110.75+])
372    fi
373    AC_SUBST(SMLNJ_VERSION)
374    
375    dnl determine the heap-image suffix
376    dnl
377    CHECK_SMLNJ_HEAP_SUFFIX([
378      AC_MSG_ERROR([unsupported configuration ${host_cpu}-${host_os}])])
379    
380    dnl look for ml-makedepend
381    dnl
382    AC_MSG_CHECKING([for ml-makedepend])
383    tmpPATH="$SMLNJ_PATH:$PATH"
384    AC_PATH_PROG(ML_MAKEDEPEND, ml-makedepend, ":", $tmpPATH)
385    if test $ML_MAKEDEPEND = none ; then
386      AC_MSG_ERROR([ml-makedepend not found])
387    else
388      AC_MSG_RESULT([$ML_MAKEDEPEND])
389    fi
390    AC_SUBST(ML_MAKEDEPEND)
391    
392    dnl
393    dnl look for ml-build
394    dnl
395    tmpPATH="$SMLNJ_PATH:$PATH"
396    AC_PATH_PROG(ML_BUILD, ml-build, none, $tmpPATH)
397    if test $ML_BUILD = none ; then
398      AC_MSG_ERROR([ml-build not found])
399    fi
400    AC_SUBST(ML_BUILD)
401    
402    dnl ******************** Documentation tools ********************
403    
404    dnl check for doxygen
405    dnl
406    AC_ARG_WITH([doxygen],
407      [AS_HELP_STRING([--with-doxygen=PATH], [specify location of doxygen executable])],
408      [DOXYGEN=$with_doxygen],
409      [DOXYGEN=none])
410    if test x$DOXYGEN = xnone ; then
411      # see if we can find doxygen in the user's path
412      AC_PATH_PROG(DOXYGEN, [doxygen], [none])
413    fi
414    if test x$with_doxygen = xyes -o x$with_doxygen = xno ; then
415      AC_MSG_ERROR([--with-doxygen option must specify directory argument])
416    elif test x$DOXYGEN != xnone -a ! -x $DOXYGEN ; then
417      AC_MSG_ERROR([doxygen not found at $DOXYGEN])
418    elif test x$DOXYGEN != xnone ; then
419    dnl
420    dnl verify that $DOXYGEN is an absolute path
421    dnl
422      case $DOXYGEN in
423        /*) ;;
424        *) AC_MSG_ERROR([--with-doxygen path must be absolute]) ;;
425      esac
426    fi
427    if test $DOXYGEN = xnone ; then
428      DOXYGEN=:
429    fi
430    AC_SUBST(DOXYGEN)
431    
432    dnl check for asciidoc and related tools
433    dnl
434    AC_PATH_PROGS([ASCIIDOC], [asciidoc], [none])
435    AC_PATH_PROGS([A2X], [a2x], [none])
436    AC_PATH_PROGS([HIGHLIGHTER], [pygmentize], [none])
437    AC_PATH_PROGS([DBLATEX], [dblatex], [none])
438    
439    dnl
440    dnl get the path to the asciidoc cofiguration files
441    dnl
442    if test x"$ASCIIDOC" != xnone ; then
443      AC_MSG_CHECKING([path to asciidoc configuration files])
444      ASCIIDOC_CONF_DIR=`$ASCIIDOC -v /dev/null 2>&1 | head -n 1 | sed 's|.*reading: \(.*\)/asciidoc.conf|\1|'`
445      AC_MSG_RESULT([$ASCIIDOC_CONF_DIR])
446    fi
447    AC_SUBST(ASCIIDOC)
448    AC_SUBST(A2X)
449    AC_SUBST(ASCIIDOC_CONF_DIR)
450    AC_SUBST(HIGHLIGHTER)
451    AC_SUBST(DBLATEX)
452    
453    
454    dnl ******************** Paths ********************
455    
456    DIDEROT_ROOT=`pwd`
457    DIDEROT_DOCDIR=$DIDEROT_ROOT/doc
458    DIDEROT_SRCDIR=$DIDEROT_ROOT/src
459    DIDEROT_LIBDIR=$DIDEROT_ROOT/lib
460    DIDEROT_BINDIR=$DIDEROT_ROOT/bin
461    DIDEROT_MKDIR=$DIDEROT_ROOT/mk
462    
463    HEAP_IMAGE_DIR=$DIDEROT_BINDIR/.heap
464    INSTALL_SMLNJ_WRAPPER=$DIDEROT_BINDIR/install-sml-wrapper.sh
465    
466    AC_SUBST(DIDEROT_ROOT)
467    AC_SUBST(DIDEROT_DOCDIR)
468    AC_SUBST(DIDEROT_SRCDIR)
469    AC_SUBST(DIDEROT_LIBDIR)
470    AC_SUBST(DIDEROT_BINDIR)
471    AC_SUBST(DIDEROT_MKDIR)
472    AC_SUBST(HEAP_IMAGE_DIR)
473    AC_SUBST(INSTALL_SMLNJ_WRAPPER)
474    
475    dnl
476    dnl ******************** C compiler properties ********************
477    dnl
478    
479    dnl
480    dnl run the compiler tests in 64-bit mode
481    dnl
482    save_CFLAGS=$CFLAGS
483    CFLAGS="$CFLAGS $CFLAG_MXX"
484    
485    dnl
486    dnl check for gcc builtin atomic operations
487    dnl
488    AC_MSG_CHECKING([for builtin atomic operations])
489    AC_LINK_IFELSE(
490       [AC_LANG_PROGRAM([], [int foo1; int foo2 = __sync_fetch_and_add(&foo1, 1);])],
491       AC_MSG_RESULT(yes)
492       AC_DEFINE(
493        [HAVE_BUILTIN_ATOMIC_OPS], 1,
494        [Define to 1 if gcc compiler provides atomic operations.]),
495       AC_MSG_RESULT(no))
496    
497    AC_C_BIGENDIAN
498    
499    #
500    # determine the sizes of the standard C types
501    AC_CHECK_SIZEOF([int])
502    SIZEOF_C_INT=$ac_cv_sizeof_int
503    AC_CHECK_SIZEOF([long])
504    SIZEOF_C_LONG=$ac_cv_sizeof_long
505    AC_CHECK_SIZEOF([float])
506    SIZEOF_C_FLOAT=$ac_cv_sizeof_float
507    AC_CHECK_SIZEOF([double])
508    SIZEOF_C_DOUBLE=$ac_cv_sizeof_double
509    
510    AC_SUBST(SIZEOF_C_INT)
511    AC_SUBST(SIZEOF_C_LONG)
512    AC_SUBST(SIZEOF_C_FLOAT)
513    AC_SUBST(SIZEOF_C_DOUBLE)
514    
515    dnl
516    dnl restore CFLAGS
517    dnl
518    CFLAGS=$save_CFLAGS
519    
520    dnl
521    dnl ******************** config.h stuff ********************
522    dnl
523    
524    AC_DEFINE_UNQUOTED(DIDEROT_INCLUDE_PATH,["$DIDEROT_SRCDIR/include"], [path for Diderot header files])
525    
526    AH_TOP([
527    /*
528     * COPYRIGHT (c) 2014 Diderot project. (http://diderot-language.cs.uchicago.edu)
529     * All rights reserved.
530     */
531    
532    #ifndef _DIDEROT_CONFIG_H_
533    #define _DIDEROT_CONFIG_H_
534    
535    ])
536    AH_BOTTOM([
537    
538    #ifdef NDEBUG
539    #define STATIC_INLINE   static inline
540    #else
541    #define STATIC_INLINE   static
542    #endif
543    
544    #endif /* !_DIDEROT_CONFIG_H_ */
545    ])
546    
547    dnl
548    dnl ******************** write output ********************
549    dnl
550    
551    AC_CONFIG_FILES(
552    dnl
553    dnl ***** Makefiles *****
554      Makefile
555      doc/Makefile
556      doc/man/Makefile
557      src/clinfo/Makefile
558      src/compiler/Makefile
559      src/lib/build/Makefile
560      src/lib/build/mk/build.gmk:src/lib/build/mk/build_gmk.in
561      test/MIP/Makefile
562      test/probe/Makefile
563      test/iso2d-polyline/Makefile
564      test/vr-lite-cam/Makefile
565      test/hlic/Makefile
566    dnl
567    dnl ***** SML source files *****
568      src/compiler/nrrd/run-dnorm.sml:src/compiler/nrrd/run-dnorm_sml.in
569      src/compiler/common/paths.sml:src/compiler/common/paths_sml.in
570      src/compiler/common/size-of.sml:src/compiler/common/size-of_sml.in
571    )
572    
573    AC_CONFIG_HEADERS(src/include/Diderot/config.h:config/config_h.in)
574    
575    dnl
576    dnl shell scripts
577    dnl
578    AC_CONFIG_FILES([
579      bin/install-sml-wrapper.sh:config/install-sml-wrapper_sh.in
580    ], [chmod +x bin/install-sml-wrapper.sh])
581    AC_CONFIG_FILES([
582      src/compiler/gen/file2str/file2str.sh:src/compiler/gen/file2str/file2str_sh.in
583    ], [chmod +x src/compiler/gen/file2str/file2str.sh])
584    AC_CONFIG_FILES([
585      rtest/scripts/run.sh:rtest/scripts/run_sh.in
586    ], [chmod +x rtest/scripts/run.sh])
587    AC_CONFIG_FILES([
588      rtest/scripts/run-one.sh:rtest/scripts/run-one_sh.in
589    ], [chmod +x rtest/scripts/run-one.sh])
590    
591    dnl
592    dnl generate makefiles for runtime library builds
593    dnl
594    dnl usage: MK_BUILD_DIR(<build-dir>, <target-platform>, <options>)
595    dnl
596    AC_DEFUN([MK_BUILD_DIR], [
597        if test ! -d src/lib/build/$1 ; then
598          mkdir src/lib/build/$1
599        fi
600        [sed -e 's,@BUILD_TARGET@,$1,g' \
601          -e 's,@TARGET_PLATFORM@,$2,g' \
602          -e 's,@BUILD_OPTIONS@,$3,g' \
603          src/lib/build/mk/Makefile.in \
604            > src/lib/build/$1/Makefile.in]
605        AC_CONFIG_FILES(src/lib/build/$1/Makefile)
606      ])
607    
608    MK_BUILD_DIR(rt-c-f, c, [float])
609    MK_BUILD_DIR(rt-c-d, c, [double])
610    MK_BUILD_DIR(rt-c-f-debug, c, [float debug])
611    MK_BUILD_DIR(rt-c-d-debug, c, [double debug])
612    MK_BUILD_DIR(rt-c-f-par, parallel, [parallel float])
613    MK_BUILD_DIR(rt-c-d-par, parallel, [parallel double])
614    MK_BUILD_DIR(rt-c-f-par-debug, parallel, [parallel float debug])
615    MK_BUILD_DIR(rt-c-d-par-debug, parallel, [parallel double debug])
616    
617    if test x"$CL_ENABLED" = xtrue ; then
618      MK_BUILD_DIR(rt-cl-f, cl, [float])
619      MK_BUILD_DIR(rt-cl-d, cl, [double])
620      MK_BUILD_DIR(rt-cl-f-debug, cl, [float debug])
621      MK_BUILD_DIR(rt-cl-d-debug, cl, [double debug])
622    fi
623    
624  AC_OUTPUT  AC_OUTPUT

Legend:
Removed from v.3  
changed lines
  Added in v.2661

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