-
edgrif authoredcf23a20a
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
configure.ac 13.11 KiB
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
################################################################################
################################################################################
# Initialise
################################################################################
################################################################################
AC_PREREQ(2.59)
AC_INIT([ZMap],[0.1],[zmap@sanger.ac.uk])
# check we can find the source
AC_CONFIG_SRCDIR([zmapApp/zmapAppmain_c.c])
AC_CONFIG_HEADER(config.h)
echo "************************************************************"
echo "* Welcome to ./configure for $PACKAGE_STRING"
echo "* Cmd: $0 $@"
echo "* Environment:"
echo "* LDFLAGS : $LDFLAGS"
echo "* CFLAGS : $CFLAGS"
echo "* CC : $CC"
echo "* PATH : $PATH"
echo "* PACKAGE_CFG : $PKG_CONFIG"
echo "* PACKAGE_CFG_PATH : $PKG_CONFIG_PATH"
echo "* LD_LIBRARY_PATH : $LD_LIBRARY_PATH"
echo "* continuing..."
echo "*"
# what are we building on?
AC_CANONICAL_BUILD
case $build in
*-*-linux*)
zmap_os_type="Linux";;
*-*-darwin*)
zmap_os_type="darwin";;
*)
zmap_os_type="Unknown";;
esac
# replaces -DLINUX
if test "$zmap_os_type" = "Linux" ; then
AC_MSG_RESULT([Got OS type of LINUX])
AC_DEFINE(LINUX, [], [Operating System is LINUX. See zmapThreads/zmapThreads_P.h])
elif test "$zmap_os_type" = "darwin" ; then
AC_MSG_RESULT([Got OS type of Darwin])
AC_DEFINE(DARWIN, [], [Operating System is DARWIN. See zmapThreads/zmapThreads_P.h])
# this is pretty evil NEED to find a better method_
# ALPHA_POPT=-I/sw/include
# AC_SUBST(ALPHA_POPT)
else
# this is pretty evil NEED to find a better method
ALPHA_POPT=-I/nfs/team71/acedb/prefix/ALPHA/include
AC_SUBST(ALPHA_POPT)
fi
################################################################################
################################################################################
# Doxygen Features
#DX_HTML_FEATURE(ON)
#DX_CHM_FEATURE(OFF)
#DX_CHI_FEATURE(OFF)
#DX_MAN_FEATURE(OFF)
#DX_RTF_FEATURE(OFF)
#DX_XML_FEATURE(OFF)
#DX_PDF_FEATURE(ON)
#DX_PS_FEATURE(OFF)
#DX_INIT_DOXYGEN([AC_PACKAGE_NAME], Doxyfile, docs/[AC_PACKAGE_NAME])
ZMAP_FALSE=no
ZMAP_TRUE=yes
AC_ARG_WITH([macosx-sdk-path],
AS_HELP_STRING([--with-maxosx-sdk-path=path], [enable building of mac osx universal binary using 'path' to SDK]),
[], [with_macosx_sdk_path=$ZMAP_FALSE])
MACOSX_UNIVERSAL_FILE=".deps/zmap.c"
MACOSX_UNIVERSAL_FLAGS=""
AS_IF([test "x$with_macosx_sdk_path" != "x$ZMAP_FALSE"],
AS_IF([ test -d $with_macosx_sdk_path ],
[[
# SDK path
export SDK=$with_macosx_sdk_path
# This stops link errors to -lcrt1.so
export MACOSX_DEPLOYMENT_VERSION=10.4
CFLAGS="$CFLAGS -arch i386 -arch ppc -isysroot $SDK -mmacosx-version-min=$MACOSX_DEPLOYMENT_VERSION"
# we need to make another target. N.B. _single_ quoted
MACOSX_UNIVERSAL_FILE='$(top_srcdir)/zmapApp/.zmap.c'
MACOSX_UNIVERSAL_FLAGS='-Wl,-undefined,dynamic_lookup -Wl,-all_load'
MACOSX_UNIVERSAL_FLAGS=''
###
]], [with_macosx_sdk_path=$ZMAP_FALSE]))
AC_SUBST(MACOSX_UNIVERSAL_FILE)
AC_SUBST(MACOSX_UNIVERSAL_FLAGS)
# autoconf can forget to subst abs_top_srcdir
AC_SUBST(abs_top_srcdir)
AC_ARG_ENABLE(shtml-doc,
AS_HELP_STRING(--enable-shtml-doc,enable shtml documentation info compilation (no)),
shtml=$enableval, shtml=no)
ZMAP_DOXY_HTML_FILE_EXT=".html"
ZMAP_DOXY_HTML_HEADER=""
ZMAP_DOXY_HTML_FOOTER=""
if test "x$shtml" = "xyes"; then
ZMAP_DOXY_HTML_FILE_EXT=".shtml";
ZMAP_DOXY_HTML_HEADER="doxyhtml.hdr";
ZMAP_DOXY_HTML_FOOTER="doxyhtml.ftr";
fi
AC_SUBST(ZMAP_DOXY_HTML_FILE_EXT)
AC_SUBST(ZMAP_DOXY_HTML_HEADER)
AC_SUBST(ZMAP_DOXY_HTML_FOOTER)
AC_PROG_LIBTOOL
AM_INIT_AUTOMAKE
AC_LANG(C)
# for some reason AC_PATH_XTRA doesn't set up -lX11
AC_PATH_XTRA
X_LIBS="$X_LIBS -lX11"
PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
# Leopard and tiger have different versions of X11 installed in different places.
# Leopard has a softlink for the tiger directory and as the tiger version is older we go
# with that one, of which there's a copy in the 10.4u sdk.
if test "x$with_macosx_sdk_path" != "x$ZMAP_FALSE" ; then
X_LIBS="-L$with_macosx_sdk_path/usr/X11R6/lib -lX11"
fi
AC_ARG_ENABLE(debug,
AS_HELP_STRING(--enable-debug,enable debug info compilation (no)),
deb=$enableval, deb=no)
AC_ARG_ENABLE(profile,_
AS_HELP_STRING(--enable-profile,enable profiling debug info compilation (no)),
prof=$enableval, prof=no)
if test "x$prof" = "xyes"; then
CFLAGS="$CFLAGS -pg -g";
elif test "x$deb" = "xyes"; then
CFLAGS="$CFLAGS -g";
else
CFLAGS="$CFLAGS -O2";
fi
AC_SUBST(PKG_CONFIG)
AC_SUBST(CFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(LDFLAGS)
VERSION="0.1"
AC_SUBST(VERSION)
################################################################################
################################################################################
# Checks for programs.
################################################################################
################################################################################
AC_PROG_CXX
AC_PROG_CC
#AC_PROG_RANLIB
AC_PATH_PROGS(PERL, perl perl5)
AC_PROG_LN_S
AC_ARG_VAR(GLIB_GENMARSHAL, [The glib-genmarshal executable.])
AC_CHECK_PROG(GLIB_GENMARSHAL, glib-genmarshal, glib-genmarshal)
################################################################################
################################################################################
# Checks for libraries.
################################################################################
################################################################################
# gtk first
GTK2_MODULES="pango >= 0.1 gtk+-2.0 >= 2.4.0 glib-2.0 gthread-2.0"
PKG_CHECK_MODULES([GTK], [${GTK2_MODULES}])
CANVAS_TESTING=""
GTK2_MODULES="gtk+-2.0 >= 2.10.0"
PKG_CHECK_MODULES([LATESTGTK], [${GTK2_MODULES}], [
CANVAS_TESTING="canvas_choice"
AC_MSG_RESULT([Found GTK 2.10])
], [
CANVAS_TESTING=""
AC_MSG_RESULT([GTK 2.10 not found.])
])
DEMO_CANVAS_MODULES="crcanvas >= 0.12 goocanvas >= 0.7 geocanvas >= 1.0.7"
PKG_CHECK_MODULES([DEMO_CANVAS], [${DEMO_CANVAS_MODULES}], [
AC_MSG_RESULT([Found Canvases])
], [
if test "x$CANVAS_TESTING" != "x"; then
CANVAS_TESTING=""
AC_MSG_RESULT([Are you sure?])
else
AC_MSG_RESULT([Canvases not found, but neither was GTK 2.10])
fi
])
AC_SUBST([CANVAS_TESTING])
dnl This has to go here for our nfs mounted mac....
if [ test "$zmap_os_type" = "darwin" ] && [ test -d /Users/zmap/nfs_mount ]; then
PKG_CONFIG="$PKG_CONFIG --define-variable MOUNT_POINT=/Users/zmap/nfs_mount"
# man pkg-config says use --define-variable=VAR=VALUE, but
# pkg-config --define-variable=VAR=VALUE --atleast-pkgconfig-version 0.9.0
# fails whereas
# pkg-config --define-variable VAR=VALUE --atleast-pkgconfig-version 0.9.0
# does not
fi
# now foocanvas
# really we want to allow foocanvas and foocanvas-patched(our version)
# to live side by side but for now lets leave it like this
PKG_CHECK_MODULES([FOOCANVAS], [libfoocanvas = 0.1],,AC_MSG_ERROR(foocanvas is required))
# needs curl, we'll be looking using curl-config
# LIBCURL_CHECK_CONFIG ([DEFAULT-ACTION], [MINIMUM-VERSION],
# [ACTION-IF-YES], [ACTION-IF-NO])
LIBCURL_CHECK_CONFIG([],7.11.0,[AC_MSG_RESULT(LIBCURL FLAGS ${LIBCURL})],[AC_MSG_ERROR(Sorry we need at least version 7.11.0)])
PKG_CHECK_MODULES([ACECONN], [AceConn-1.1],,AC_MSG_ERROR(AceConn is required))
CPPFLAGS="$CPPFLAGS $ACECONN_CFLAGS"
LDFLAGS="$LDFLAGS $ACECONN_LIBS"
AC_CHECK_LIB(AceConn, [main],
[ have_ace_conn='true' ],
[ have_ace_conn='false';
AC_MSG_ERROR(AceConn package is required) ],
[-lmd5])
if test "x$with_macosx_sdk_path" = "x$ZMAP_FALSE" ; then
AC_CHECK_LIB(g2, [g2_attach],
[ have_g2='true';
AC_CHECK_LIB(g2, [g2_open_gd],
[ have_g2_gd='true' ],
[ have_g2_gd='false';
AC_MSG_ERROR(g2 must have GD compiled in) ], [-lgd] )],
[ have_g2=have_g2_gd='false';
AC_MSG_ERROR(g2 package is required) ])
fi
#AC_CHECK_LIB(popt, [poptFreeContext], [],AC_MSG_ERROR(where is popt))
# and substitute values....
# Should be able to use @VARIABLE@ in Makefile.am
AC_SUBST(FOOCANVAS_CFLAGS)
AC_SUBST(FOOCANVAS_LIBS)
AC_SUBST(ACECONN_CFLAGS)
AC_SUBST(ACECONN_LIBS)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
AC_SUBST(DEMO_CANVAS_CFLAGS)
AC_SUBST(DEMO_CANVAS_LIBS)
# keep track for rpath
#RPATH=""
#full_paths="${FOOCANVAS_LIBS} ${ACECONN_LIBS} ${GTK_LIBS}"
#if $full_paths ; then
# save_ifs=$IFS; IFS=':'
# for l in $full_paths
# do
# case $l in
# -L*) RPATH="${RPATH} $l";;
# esac
# done
# IFS=$save_ifs
#fi
#echo ${RPATH}
#zmapMake/platform.alpha_5:LDFLAGS = -rpath '/usr/local/gtk2/lib:$(POPT_LIB)'
#zmapMake/platform.linux_4:LDFLAGS = -Xlinker -rpath -Xlinker $(FOO_CANVAS_PATH)/lib
# -rpath :separated_list
# -Wl,-rpath
################################################################################
################################################################################
# Checks for header files.
################################################################################
################################################################################
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h locale.h stdlib.h string.h strings.h sys/param.h unistd.h])
AC_CHECK_HEADER([AceConn.h g2.h g2_gd.h], [], [], [])
AC_CHECK_HEADER([popt.h], [], [], [])
################################################################################
################################################################################
# Checks for typedefs, structures, and compiler characteristics.
################################################################################
################################################################################
AC_C_CONST
AC_TYPE_SIZE_T
################################################################################
################################################################################
# Checks for library functions.
################################################################################
################################################################################
AC_FUNC_STAT
AC_CHECK_FUNCS([gethostname memmove memset mkdir strcasecmp strstr strtol])
LDFLAGS="$LDFLAGS $FOOCANVAS_LIBS $ACECONN_LIBS"
if test "x$with_macosx_sdk_path" == "x$ZMAP_FALSE" ; then
AC_CHECK_LIB(foocanvas, foo_canvas_zmap,:, AC_MSG_ERROR(no patched libfoocanvas!))
# HAVE_LIBFOOCANVAS is now defined
fi
#--------------------------------------------------------------------
# Find out if backtrace/backtrace_symbols_fd are available.
#--------------------------------------------------------------------
AC_CHECK_HEADER([execinfo.h], [
AC_CHECK_FUNCS([backtrace backtrace_symbols_fd], [AC_DEFINE([HAVE_GNUC_BACKTRACE], [1], [Have gnu glibc and backtrace()])], [])
],
[AC_DEFINE([NO_BACKTRACE], [], [There's no backtrace from gnu glibc on this machine])],
[#ifndef NO_EXTRA_HEADERS
#endif /* EXTRA_HEADERS */
])
#--------------------------------------------------------------------
# Find out if sigaction is available.
#--------------------------------------------------------------------
AC_CHECK_FUNC([sigaction],[sigaction=1],[sigaction=0])
if test $sigaction = 0; then
AC_DEFINE([NO_SIGACTION], [], [There's no sigaction() on this machine])
fi
################################################################################
################################################################################
# Stuff for ~/.ZMap directory
################################################################################
################################################################################
# make this if "x$ac_with_blah" = "xyes" then blah else no_blah
ZMAPSCHEME=acedb
ZMAPUSERNAMEPASSWORD="any:any@"
ZMAPHOSTPORT="$ac_hostname:23100"
ZMAPSTYLESFILE="ZMapTypes.b0250"
AC_SUBST(ZMAPSCHEME)
AC_SUBST(ZMAPUSERNAMEPASSWORD)
AC_SUBST(ZMAPHOSTPORT)
AC_SUBST(ZMAPSTYLESFILE)
# THE zmap* source directories
ZMAP_SRC_DIRS="zmapApp \
zmapConfig \
zmapControl \
zmapDAS \
zmapDocs \
zmapDraw \
zmapFeature \
zmapGFF \
zmapMake \
zmapManager \
zmapServer \
zmapThreads \
zmapUtils \
zmapView \
zmapWindow \
zmapXML"
AC_SUBST(ZMAP_SRC_DIRS)
ZMAP_SRC_DIRS_DOXYGEN=""
for zm_srcdir in $ZMAP_SRC_DIRS
do
ZMAP_SRC_DIRS_DOXYGEN="$ZMAP_SRC_DIRS_DOXYGEN $srcdir/$zm_srcdir"
done
AC_SUBST(ZMAP_SRC_DIRS_DOXYGEN)
AC_CONFIG_FILES([Makefile
canvas_choice/Makefile
zmapApp/Makefile
zmapConfig/Makefile
zmapControl/Makefile
zmapControl/remote/Makefile
zmapDocs/Makefile
zmapDAS/Makefile
zmapDraw/Makefile
zmapFeature/Makefile
zmapFeature/tests/Makefile
zmapGFF/Makefile
zmapMake/Makefile
zmapManager/Makefile
zmapServer/Makefile
zmapServer/acedb/Makefile
zmapServer/das/Makefile
zmapServer/pipe/Makefile
zmapThreads/Makefile
zmapUtils/Makefile
zmapUtils/tests/Makefile
zmapView/Makefile
zmapWindow/Makefile
zmapXML/Makefile
include/Makefile
libpfetch/Makefile
libpfetch/tests/Makefile
libcurlobject/Makefile
zmap.pc
dotZMap:dotZmap.in
])
#$srcdir/$DX_CONFIG:Doxyfile.in
#
AC_OUTPUT