mirror of https://github.com/BOINC/boinc.git
177 lines
5.2 KiB
Plaintext
177 lines
5.2 KiB
Plaintext
dnl -*- autoconf -*-
|
|
|
|
dnl $Id$
|
|
|
|
dnl NOTE: on milkyway.ssl and jill.ssl , need autoconf/automake et al from quarl's
|
|
dnl directory; the _autosetup script does this.
|
|
|
|
dnl not sure exactly what the minimum version is (but 2.13 won't work)
|
|
AC_PREREQ(2.57)
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
AC_INIT(BOINC, 1.09)
|
|
|
|
echo "--- Configuring BOINC AC_PACKAGE_VERSION ---"
|
|
|
|
AC_CANONICAL_SYSTEM
|
|
|
|
dnl generate .tar.gz, .tar.bz2, .zip
|
|
dnl AM_INIT_AUTOMAKE(dist-bzip2 dist-zip)
|
|
AM_INIT_AUTOMAKE(dist-zip)
|
|
|
|
AC_CONFIG_SRCDIR(lib/shmem.C)
|
|
|
|
AC_COPYRIGHT([
|
|
The contents of this file are subject to the BOINC Public License
|
|
Version 1.0 (the "License"); you may not use this file except in
|
|
compliance with the License. You may obtain a copy of the License at
|
|
http://boinc.berkeley.edu/license_1.0.txt
|
|
|
|
Software distributed under the License is distributed on an "AS IS"
|
|
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
|
License for the specific language governing rights and limitations
|
|
under the License.
|
|
|
|
The Original Code is the Berkeley Open Infrastructure for Network Computing.
|
|
|
|
The Initial Developer of the Original Code is the SETI@home project.
|
|
Portions created by the SETI@home project are Copyright (C) 2002
|
|
University of California at Berkeley. All Rights Reserved.
|
|
|
|
Contributor(s):
|
|
])
|
|
|
|
AC_REVISION([$Revision$])
|
|
|
|
AC_SUBST(MAJOR_VERSION, `echo AC_PACKAGE_VERSION | sed 's/\..*//'`)
|
|
AC_SUBST(MINOR_VERSION, `echo AC_PACKAGE_VERSION | sed 's/.*\.0*//'`)
|
|
|
|
AC_DEFINE_UNQUOTED(MAJOR_VERSION, $MAJOR_VERSION, [Major part of version number])
|
|
AC_DEFINE_UNQUOTED(MINOR_VERSION, $MINOR_VERSION, [Minor part of version number])
|
|
AC_DEFINE_UNQUOTED(HOSTTYPE, "$host", [Host for this compilation])
|
|
|
|
AC_SUBST(BUILD_TOP_DIR, `pwd`)
|
|
|
|
AM_MAINTAINER_MODE
|
|
|
|
dnl AC_EGREP_CPP(yes,
|
|
dnl [#ifdef __APPLE__
|
|
dnl yes
|
|
dnl #endif
|
|
dnl ], AC_DEFINE(unix, 1, [unix]))
|
|
|
|
dnl AC_EGREP_CPP(yes,
|
|
dnl [#ifdef _AIX
|
|
dnl yes
|
|
dnl #endif
|
|
dnl ], AC_DEFINE(unix, 1, [unix]))
|
|
|
|
AC_DEFUN([AC_CHECK_MYSQL],[
|
|
AC_ARG_VAR([MYSQL_CONFIG], [mysql_config program])
|
|
if test -z "$MYSQL_CONFIG"; then
|
|
AC_PATH_PROG(MYSQL_CONFIG,mysql_config,,[$PATH:/usr/local/mysql/bin])
|
|
fi
|
|
if test -z "$MYSQL_CONFIG"
|
|
then
|
|
AC_MSG_ERROR([mysql_config executable not found])
|
|
else
|
|
AC_MSG_CHECKING(mysql libraries)
|
|
MYSQL_LIBS=`${MYSQL_CONFIG} --libs`
|
|
AC_MSG_RESULT($MYSQL_LIBS)
|
|
AC_MSG_CHECKING(mysql includes)
|
|
MYSQL_CFLAGS=`${MYSQL_CONFIG} --cflags`
|
|
AC_MSG_RESULT($MYSQL_CFLAGS)
|
|
fi
|
|
])
|
|
AC_SUBST(MYSQL_LIBS)
|
|
AC_SUBST(MYSQL_CFLAGS)
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_CXX
|
|
AC_PROG_CPP
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_RANLIB
|
|
|
|
dnl Checks for libraries.
|
|
AC_CHECK_LIB(gen, main)
|
|
AC_CHECK_LIB(m, sin)
|
|
AC_CHECK_LIB(nsl, gethostbyaddr)
|
|
AC_CHECK_LIB(socket, main)
|
|
AC_CHECK_LIB(stdc++, main)
|
|
AC_CHECK_LIB(z, gzopen)
|
|
dnl check for pthread
|
|
AC_CHECK_LIB(pthread, pthread_mutex_init, AC_DEFINE(HAVE_PTHREAD, 1, [Have libpthread]))
|
|
dnl check for GL library
|
|
AC_CHECK_LIB(GL, glCallList, AC_DEFINE(HAVE_GL_LIB, 1, [Have libGL]))
|
|
AC_CHECK_LIB(socket, setservent)
|
|
AC_CHECK_LIB(gen, strfind)
|
|
AC_CHECK_LIB(gen, strfind, [ AC_DEFINE(HAVE_STRFIND, 1, [Have strfind]) ] )
|
|
AC_CHECK_MYSQL
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_HEADER_SYS_WAIT
|
|
AC_CHECK_HEADERS(fcntl.h malloc.h strings.h sys/time.h unistd.h sys/systeminfo.h sys/swap.h sys/sysctl.h sys/resource.h sys/types.h dirent.h sys/utsname.h netdb.h netinet/in.h arpa/inet.h signal.h sys/wait.h sys/file.h sys/ipc.h sys/shm.h)
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_HEADER_TIME
|
|
|
|
dnl TODO: use compiler to test these; there probably exists an autoconf macro already!
|
|
case "$target" in
|
|
*-linux-* | *-sun-*)
|
|
AC_DEFINE(GETSOCKOPT_SOCKLEN_T, 1, [getsockopt uses socklen_t])
|
|
;;
|
|
*sysv5OpenUNIX8*)
|
|
AC_DEFINE(GETSOCKOPT_SIZE_T, 1, [getsockopt uses size_t])
|
|
;;
|
|
esac
|
|
|
|
dnl Checks for library functions.
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_FUNC_VPRINTF
|
|
AC_FUNC_WAIT3
|
|
AC_CHECK_FUNCS(gethostname gettimeofday mkdir select socket strstr uname lockf flock strftime)
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_DIRENT
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(fcntl.h malloc.h sys/time.h unistd.h sys/select.h sys/statvfs.h sys/swap.h sys/systeminfo.h sys/sysctl.h sys/vmmeter.h sys/socket.h sys/types.h dirent.h sys/utsname.h netdb.h netinet/in.h netinet/tcp.h arpa/inet.h sys/resource.h signal.h sys/wait.h sys/mount.h sys/ipc.h sys/shm.h)
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
AC_TYPE_SIZE_T
|
|
AC_HEADER_TIME
|
|
AC_STRUCT_TM
|
|
|
|
AC_SUBST(CLIENT_BIN_FILENAME,[boinc_]AC_PACKAGE_VERSION[_$host${EXEEXT}])
|
|
|
|
# by default, create static binaries on linux.
|
|
[if [ "$target_os" = "linux-gnu" ]; then
|
|
STATIC_FLAGS="-static"
|
|
fi
|
|
echo "checking static flags... ${STATIC_FLAGS:-(none)}"]
|
|
AC_SUBST(STATIC_FLAGS)
|
|
|
|
AC_CONFIG_FILES([RSAEuro/source/Makefile
|
|
RSAEuro/Makefile
|
|
api/Makefile
|
|
apps/Makefile
|
|
client/Makefile
|
|
db/Makefile
|
|
lib/Makefile
|
|
sched/Makefile
|
|
tools/Makefile
|
|
test/Makefile
|
|
py/Makefile
|
|
test/version.inc
|
|
py/version.py
|
|
Makefile
|
|
])
|
|
|
|
AC_CONFIG_HEADER([config.h])
|
|
|
|
AC_OUTPUT
|