aboutsummaryrefslogtreecommitdiffstats
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in297
1 files changed, 297 insertions, 0 deletions
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000000..7ddffd85ad
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,297 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_PREREQ(2.8)dnl
+
+AC_INIT()
+
+default_cache_file=./config.cache
+
+if test "x$no_recursion" != "xyes" -a "x$OVERRIDE_CONFIG_CACHE" = "x"; then
+ # The no_recursion variable is not documented, but the only
+ # action we take on it is disabling caching which is safe!
+ if test "x$cache_file" != "x$default_cache_file"; then
+ echo "Ignoring the --cache-file argument since it can cause the system to be erroneously configured"
+ fi
+ echo "Disabling caching"
+ if test -f $cache_file; then
+ echo "Removing cache file $cache_file"
+ rm -f $cache_file
+ fi
+ cache_file=/dev/null
+fi
+
+dnl How to set srcdir absolute is taken from the GNU Emacs distribution
+#### Make srcdir absolute, if it isn't already. It's important to
+#### avoid running the path through pwd unnecessary, since pwd can
+#### give you automounter prefixes, which can go away.
+case "${srcdir}" in
+ /* ) ;;
+ . )
+ ## We may be able to use the $PWD environment variable to make this
+ ## absolute. But sometimes PWD is inaccurate.
+ ## Make sure CDPATH doesn't affect cd (in case PWD is relative).
+ CDPATH=
+ if test "${PWD}" != "" && test "`(cd ${PWD} ; sh -c pwd)`" = "`pwd`" ;
+ then
+ srcdir="$PWD"
+ else
+ srcdir="`(cd ${srcdir}; pwd)`"
+ fi
+ ;;
+ * ) srcdir="`(cd ${srcdir}; pwd)`" ;;
+esac
+
+#
+# Now srcdir is absolute and also the top of Erlang distribution, ERL_TOP.
+#
+ERL_TOP=${srcdir}
+AC_SUBST(ERL_TOP)
+
+dnl
+dnl Aux programs are found in erts/autoconf
+dnl
+AC_CONFIG_AUX_DIR(${srcdir}/erts/autoconf)
+
+dnl
+dnl Figure out what we are running on. And in violation of autoconf
+dnl style assume that $host is also what we are building for. I would
+dnl like to get cross compiling working, since we actually have
+dnl systems we cross compile for!
+dnl
+
+if test "X$host" != "Xfree_source" -a "X$host" != "Xwin32"; then
+ AC_CANONICAL_HOST
+fi
+
+TARGET=$host
+AC_SUBST(TARGET)
+
+
+dnl Checks for programs.
+
+AC_PROG_CC
+
+
+#
+# We need GNU make, complain if we can't find it
+#
+AC_MSG_CHECKING(for GNU make)
+# If there is a Makefile created we don't want make to start making, run
+# in a subdirectory and -f /dev/null
+MAKE_PROG=x
+if test X"$CLEARCASE_MAKE_COMPAT" = X"gnu" -a X"$CLEARCASE_ROOT" != X"" ; then
+ eval clearmake -version 2>&1 | grep clearmake > /dev/null 2>&1
+ case $? in
+ 0) MAKE_PROG="clearmake -V";;
+ *);;
+ esac
+fi
+if test X"$MAKE_PROG" = X"x"; then
+ mkdir conftestmake
+ if test -d conftestmake; then
+ cd conftestmake
+ for m in make gmake ggmake; do
+ eval $m --version -f /dev/null 2>&1 | grep GNU > /dev/null 2>&1
+ case $? in
+ 0) MAKE_PROG=$m ; break ;;
+ *) ;;
+ esac
+ done
+ cd ..
+ else
+ AC_MSG_ERROR(could not create subdirectory)
+ fi
+fi
+rm -rf conftestmake
+case $MAKE_PROG in
+ x) AC_MSG_RESULT(no)
+ AC_MSG_ERROR(GNU make is required!)
+ ;;
+ *) AC_MSG_RESULT(yes ($MAKE_PROG))
+ AC_SUBST(MAKE_PROG)
+ ;;
+esac
+
+AC_PROG_INSTALL
+if test X"${INSTALL}" = "X${ac_aux_dir}/install-sh -c" && test -f /usr/ucb/install ; then
+ case $host_os in
+ osf*) ;;
+ *) INSTALL="/usr/ucb/install -c" ;;
+ esac
+fi
+
+AC_PROG_LN_S
+AC_PROG_RANLIB
+
+#
+# Get erts version from erts/vsn.mk
+#
+[ERTS=erts-`sed -n 's/^VSN[ ]*=[ ]*\([0-9.]\)/\1/p' < erts/vsn.mk`]
+AC_SUBST(ERTS)
+
+
+AC_ARG_ENABLE(threads,
+[ --enable-threads enable async thread support
+ --disable-threads disable async thread support])
+
+AC_ARG_ENABLE(smp-support,
+[ --enable-smp-support enable smp support
+ --disable-smp-support disable smp support])
+
+AC_ARG_WITH(termcap,
+[ --with-termcap use termcap (default)
+ --without-termcap do not use any termcap libraries (ncurses,curses,termcap,termlib)])
+
+AC_ARG_ENABLE(kernel-poll,
+[ --enable-kernel-poll enable kernel poll support])
+
+AC_ARG_ENABLE(hipe,
+[ --enable-hipe enable hipe support
+ --disable-hipe disable hipe support])
+
+AC_ARG_ENABLE(megaco_flex_scanner_lineno,
+[ --enable-megaco-flex-scanner-lineno enable megaco flex scanner lineno
+ --disable-megaco-flex-scanner-lineno disable megaco flex scanner lineno])
+
+AC_ARG_ENABLE(megaco_reentrant_flex_scanner,
+[ --enable-megaco-reentrant-flex-scanner enable reentrans megaco flex scanner
+ --disable-megaco-reentrant-flex-scanner disable reentrans megaco flex scanner])
+
+AC_ARG_WITH(ssl,
+[ --with-ssl=PATH specify location of OpenSSL include and lib
+ --with-ssl use SSL (default)
+ --without-ssl don't use SSL])
+
+AC_ARG_ENABLE(dynamic-ssl-lib,
+[ --enable-dynamic-ssl-lib force using dynamic openssl libraries
+ --disable-dynamic-ssl-lib disable using dynamic openssl libraries])
+
+AC_ARG_ENABLE(shared-zlib,
+[ --enable-shared-zlib enable using shared zlib library
+ --disable-shared-zlib disable shared zlib, compile own zlib source (default)])
+
+#
+# Set Erlang man page directory
+#
+AC_ARG_ENABLE(erlang-mandir,
+[ --disable-erlang-mandir do not install Erlang man pages in a private directory],
+[ case "$enableval" in
+ no) erl_mandir=$mandir ;;
+ *) erl_mandir='$(ERLANG_ILIBDIR)/man' ;;
+ esac ], erl_mandir='$(ERLANG_ILIBDIR)/man')
+AC_SUBST(erl_mandir)
+
+AC_ARG_ENABLE(darwin-universal,
+[ --enable-darwin-universal build universal binaries on darwin i386],
+[ case "$enableval" in
+ no) enable_darwin_universal=no ;;
+ *) enable_darwin_univeral=yes ;;
+ esac
+],enable_darwin_universal=no)
+
+
+AC_ARG_ENABLE(darwin-64bit,
+[ --enable-darwin-64bit build 64bit binaries on darwin],
+[ case "$enableval" in
+ no) enable_darwin_64bit=no ;;
+ *) enable_darwin_64bit=yes ;;
+ esac
+],enable_darwin_64bit=no)
+
+AC_ARG_ENABLE(m64-build,
+[ --enable-m64-build build 64bit binaries using the -m64 flag to (g)cc],
+[ case "$enableval" in
+ no) enable_m64_build=no ;;
+ *) enable_m64_build=yes ;;
+ esac
+],enable_m64_build=no)
+
+dnl OK, we might have darwin switches off different kinds, lets
+dnl check it all before continuing.
+TMPSYS=`uname -s`-`uname -m`
+if test X${enable_darwin_universal} = Xyes; then
+ if test X${enable_darwin_64bit} = Xyes; then
+ AC_MSG_ERROR([--enable-darwin-universal and --enable-darwin-64bit mutually exclusive])
+ fi
+ enable_hipe=no
+ CFLAGS="-arch i386 -arch ppc $CFLAGS"
+ export CFLAGS
+ LDFLAGS="-arch i386 -arch ppc $LDFLAGS"
+ export LDFLAGS
+fi
+if test X${enable_darwin_64bit} = Xyes; then
+ case "$TMPSYS" in
+ Darwin-i386|Darwin-x86_64)
+ ;;
+ Darwin*)
+ AC_MSG_ERROR([--enable-darwin-64bit only supported on x86 hosts])
+ ;;
+ *)
+ AC_MSG_ERROR([--enable-darwin-64bit only supported on Darwin])
+ ;;
+ esac
+ enable_hipe=no
+ CFLAGS="-m64 $CFLAGS"
+ export CFLAGS
+ LDFLAGS="-m64 $LDFLAGS"
+ export LDFLAGS
+elif test X"$TMPSYS" '=' X"Darwin-i386"; then
+ CFLAGS="-m32 $CFLAGS"
+ export CFLAGS
+ LDFLAGS="-m32 $LDFLAGS"
+ export LDFLAGS
+fi
+
+if test X${enable_m64_build} = Xyes; then
+ enable_hipe=no
+ CFLAGS="-m64 $CFLAGS"
+ export CFLAGS
+ LDFLAGS="-m64 $LDFLAGS"
+ export LDFLAGS
+fi
+
+export ERL_TOP
+AC_CONFIG_SUBDIRS(lib erts)
+
+AC_OUTPUT(Makefile)
+
+pattern="lib/*/SKIP"
+files=`echo $pattern`
+if test "$files" != "$pattern"; then
+ echo '*********************************************************************'
+ echo '********************** APPLICATIONS DISABLED **********************'
+ echo '*********************************************************************'
+ echo
+ for skipfile in $files; do
+ app=`dirname $skipfile`; app=`basename $app`
+ printf "%-15s: " $app; cat $skipfile
+ done
+ echo
+ echo '*********************************************************************'
+fi
+pattern="lib/*/CONF_INFO"
+files=`echo $pattern`
+if test "$files" != "$pattern"; then
+ echo '*********************************************************************'
+ echo '********************** APPLICATIONS INFORMATION *******************'
+ echo '*********************************************************************'
+ echo
+ for infofile in $files; do
+ app=`dirname $infofile`; app=`basename $app`
+ printf "%-15s: " $app; cat $infofile
+ done
+ echo
+ echo '*********************************************************************'
+fi
+if test -f "erts/doc/CONF_INFO"; then
+ echo '*********************************************************************'
+ echo '********************** DOCUMENTATION INFORMATION ******************'
+ echo '*********************************************************************'
+ echo
+ printf "%-15s: \n" documentation;
+ for cmd in `cat erts/doc/CONF_INFO`; do
+ echo " $cmd is missing."
+ done
+ echo ' The documentation can not be built.'
+ echo
+ echo '*********************************************************************'
+fi