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

SCM Repository

[diderot] Annotation of /branches/pure-cfg/configure.ac
ViewVC logotype

Annotation of /branches/pure-cfg/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1164 - (view) (download)

1 : jhr 3 dnl Process this file with autoconf to produce a configure script.
2 :     dnl
3 :     dnl COPYRIGHT (c) 2010 The Diderot Project
4 :     dnl All rights reserved.
5 :     dnl
6 :    
7 :     dnl NOTE: MANTICORE_DIST_VERSION is an M4 variable defined in config/aclocal.m4
8 :     dnl
9 :     AC_INIT(diderot,0.1,)
10 :    
11 :     AC_PREREQ(2.60)
12 : jhr 436 AC_COPYRIGHT([[COPYRIGHT (c) 2010 The Diderot Project (http://diderot-language.cs.uchicago.edu)]])
13 : jhr 123 AC_CONFIG_SRCDIR(src/dnorm/dnorm.c)
14 : jhr 3 AC_CONFIG_AUX_DIR(config)
15 :     AC_CONFIG_MACRO_DIR(config)
16 : jhr 123
17 : jhr 3 dnl
18 :     dnl include additional macros
19 :     dnl
20 :     sinclude(config/acx_pthread.m4)
21 : jhr 123 sinclude(config/check_smlnj.m4)
22 :     sinclude(config/check_smlnj_heap_suffix.m4)
23 : jhr 3
24 :     dnl
25 : jhr 123 dnl get host information
26 : jhr 3 dnl
27 :     AC_CANONICAL_HOST
28 :    
29 :     dnl check for standard programs
30 :     dnl
31 : jhr 1164 AC_PROG_CC([clang gcc cc])
32 : jhr 3 AC_PROG_CPP
33 :     AC_PROG_INSTALL
34 :     AC_PROG_MAKE_SET
35 :    
36 : jhr 671 dnl check for c99 support
37 : jhr 123 dnl
38 : jhr 671 AC_PROG_CC_C99
39 :     if test x"$ac_cv_prog_cc_c99" = xno ; then
40 :     AC_MSG_ERROR([Diderot requires c99 support])
41 :     fi
42 :    
43 :     dnl extra C compiler options
44 :     dnl
45 : jhr 1094 CFLAG_M64="-m64"
46 : jhr 1164 CFLAGS_BASE="-Wformat -Wreturn-type -Wuninitialized"
47 : jhr 1094 AC_SUBST(CFLAG_M64)
48 : jhr 1164 AC_SUBST(CFLAGS_BASE)
49 : jhr 671
50 :     dnl
51 : jhr 676 dnl Look for NVIDIA's nvcc compiler
52 :     dnl
53 :     AC_MSG_CHECKING([for CUDA and nvcc])
54 :     AC_PATH_PROG(NVCC, nvcc, ":", $PATH)
55 :     if test $NVCC = none ; then
56 : jhr 679 AC_MSG_WARN([nvcc not found])
57 : jhr 676 else
58 :     AC_MSG_RESULT([$NVCC])
59 :     fi
60 :     AC_SUBST(NVCC)
61 :    
62 :     dnl
63 : jhr 997 dnl check for pthreads support
64 :     dnl
65 :     ACX_PTHREAD()
66 :    
67 :     dnl
68 : jhr 989 dnl OS-specific linking issues
69 : jhr 123 dnl
70 : jhr 989 LD_NEEDS_RPATH=false;
71 : jhr 997 LIBM=""
72 : jhr 123 case "$host_os" in
73 : jhr 989 darwin*) # On Mac OS X we check for the presence of macports and/or fink
74 : jhr 123 if test -x /opt/local/bin/port ; then
75 :     HAS_MACPORTS=yes
76 :     else
77 :     HAS_MACPORTS=no
78 :     fi
79 :     if test -x /sw/bin/fink ; then
80 :     HAS_FINK=yes
81 :     else
82 :     HAS_FINK=no
83 :     fi
84 :     ;;
85 : jhr 999 linux*) # On Linux we include the -rpath option to pick up dynamically-loaded libraries
86 : jhr 989 LD_NEEDS_RPATH=true
87 : jhr 997 LIBM="-lm"
88 : jhr 989 ;;
89 : jhr 123 esac
90 : jhr 3
91 : jhr 123 if test x"$HAS_MACPORTS" = xyes ; then
92 :     LDPATHS="-L/opt/local/lib"
93 :     elif test x"$HAS_FINK" = xyes ; then
94 :     LDPATHS="-L/sw/lib"
95 :     else
96 :     LDPATHS=""
97 :     fi
98 :     AC_SUBST(LDPATHS)
99 : jhr 989 AC_SUBST(LD_NEEDS_RPATH)
100 : jhr 997 AC_SUBST(LIBM)
101 : jhr 123
102 :     dnl
103 :     dnl get the path to the TEEM installation
104 :     dnl
105 :     AC_ARG_WITH(teem,
106 :     AC_HELP_STRING([--with-teem=<path>], [specify path to teem installation]),
107 :     [ac_cv_use_teem=$withval], [ac_cv_use_teem=no])
108 :     if test x"$ac_cv_use_teem" = xno ; then
109 :     TEEM_DIR=none
110 :     else
111 :     AC_MSG_CHECKING([path to teem ($ac_cv_use_teem)])
112 :     case $ac_cv_use_teem in
113 :     /*) ;;
114 :     *) AC_MSG_ERROR([path to teem must be absolute]) ;;
115 :     esac
116 :     if test -x $ac_cv_use_teem ; then
117 :     TEEM_DIR=$ac_cv_use_teem
118 :     AC_MSG_RESULT([ okay])
119 :     else
120 :     TEEM_DIR=none
121 :     AC_MSG_RESULT([ invalid])
122 :     fi
123 :     fi
124 :     if test x"$TEEM_DIR" = xnone ; then
125 :     AC_MSG_ERROR([unable to find teem])
126 :     fi
127 :     AC_SUBST(TEEM_DIR)
128 :    
129 :     dnl ******************** SML/NJ configuration ********************
130 :     dnl
131 :    
132 :     dnl check that we have a compatible version of SML/NJ
133 :     dnl
134 :     CHECK_SMLNJ([AC_MSG_ERROR([unable to find SML/NJ installation; check your PATH or set SMLNJ_CMD])])
135 :     if test $SMLNJ_MAJOR_VERSION -lt 110 \
136 :     -o $SMLNJ_MINOR_VERSION -lt 72
137 :     then
138 :     AC_MSG_ERROR([installation requires SML/NJ version 110.72+])
139 :     fi
140 :     AC_SUBST(SMLNJ_VERSION)
141 :    
142 :     dnl determine the heap-image suffix
143 :     dnl
144 :     CHECK_SMLNJ_HEAP_SUFFIX([
145 :     AC_MSG_ERROR([unsupported configuration ${host_cpu}-${host_os}])])
146 :    
147 :     dnl look for ml-makedepend
148 :     dnl
149 :     AC_MSG_CHECKING([for ml-makedepend])
150 :     tmpPATH="$SMLNJ_PATH:$PATH"
151 :     AC_PATH_PROG(ML_MAKEDEPEND, ml-makedepend, ":", $tmpPATH)
152 :     if test $ML_MAKEDEPEND = none ; then
153 :     AC_MSG_ERROR([ml-makedepend not found])
154 :     else
155 :     AC_MSG_RESULT([$ML_MAKEDEPEND])
156 :     fi
157 :     AC_SUBST(ML_MAKEDEPEND)
158 :    
159 :     dnl
160 :     dnl look for ml-build
161 :     dnl
162 :     tmpPATH="$SMLNJ_PATH:$PATH"
163 :     AC_PATH_PROG(ML_BUILD, ml-build, none, $tmpPATH)
164 :     if test $ML_BUILD = none ; then
165 :     AC_MSG_ERROR([ml-build not found])
166 :     fi
167 :     AC_SUBST(ML_BUILD)
168 :    
169 :     dnl ******************** Paths ********************
170 :    
171 :     DIDEROT_ROOT=`pwd`
172 :     DIDEROT_DOCDIR=$DIDEROT_ROOT/doc
173 :     DIDEROT_SRCDIR=$DIDEROT_ROOT/src
174 :     DIDEROT_LIBDIR=$DIDEROT_ROOT/lib
175 :     DIDEROT_BINDIR=$DIDEROT_ROOT/bin
176 :     DIDEROT_MKDIR=$DIDEROT_ROOT/mk
177 :    
178 :     HEAP_IMAGE_DIR=$DIDEROT_BINDIR/.heap
179 :     INSTALL_SMLNJ_WRAPPER=$DIDEROT_BINDIR/install-sml-wrapper.sh
180 :    
181 :     AC_SUBST(DIDEROT_ROOT)
182 :     AC_SUBST(DIDEROT_DOCDIR)
183 :     AC_SUBST(DIDEROT_SRCDIR)
184 :     AC_SUBST(DIDEROT_LIBDIR)
185 :     AC_SUBST(DIDEROT_BINDIR)
186 :     AC_SUBST(DIDEROT_MKDIR)
187 :     AC_SUBST(HEAP_IMAGE_DIR)
188 :     AC_SUBST(INSTALL_SMLNJ_WRAPPER)
189 :    
190 :     dnl
191 :     dnl ******************** write output ********************
192 :     dnl
193 :    
194 : jhr 127 AC_CONFIG_FILES(
195 :     dnl
196 : jhr 123 dnl ***** Makefiles *****
197 : jhr 321 Makefile
198 : jhr 123 src/dnorm/Makefile
199 :     src/compiler/Makefile
200 : jhr 566 src/lib/Makefile
201 : jhr 1094 src/lib/build/Makefile
202 :     src/lib/build/mk/build.gmk:src/lib/build/mk/build_gmk.in
203 : jhr 204 test/MIP/Makefile
204 : jhr 260 test/probe/Makefile
205 : jhr 127 dnl
206 :     dnl ***** SML source files *****
207 : jhr 202 src/compiler/fields/run-dnorm.sml:src/compiler/fields/run-dnorm_sml.in
208 : jhr 632 src/compiler/common/paths.sml:src/compiler/common/paths_sml.in
209 : jhr 123 )
210 :    
211 :     dnl
212 :     dnl shell scripts
213 :     dnl
214 :     AC_CONFIG_FILES([
215 :     bin/install-sml-wrapper.sh:config/install-sml-wrapper_sh.in
216 :     ], [chmod +x bin/install-sml-wrapper.sh])
217 :    
218 : jhr 1094 dnl
219 :     dnl generate makefiles for runtime library builds
220 :     dnl
221 :     dnl usage: MK_BUILD_DIR(<build-dir>, <target-platform>, <options>)
222 :     dnl
223 :     AC_DEFUN([MK_BUILD_DIR], [
224 :     if test ! -d src/lib/build/$1 ; then
225 :     mkdir src/lib/build/$1
226 :     fi
227 :     [sed -e 's,@BUILD_TARGET@,$1,g' \
228 :     -e 's,@TARGET_PLATFORM@,$2,g' \
229 :     -e 's,@BUILD_OPTIONS@,$3,g' \
230 :     src/lib/build/mk/Makefile.in \
231 :     > src/lib/build/$1/Makefile.in]
232 :     AC_CONFIG_FILES(src/lib/build/$1/Makefile)
233 :     ])
234 :    
235 :     MK_BUILD_DIR(rt-c-f, c-target, [float])
236 :     MK_BUILD_DIR(rt-c-f-debug, c-target, [float debug])
237 :    
238 : jhr 3 AC_OUTPUT

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