Projekt

Allgemein

Profil

Herunterladen (11,3 KB) Statistiken
| Zweig: | Markierung: | Revision:
d8f33628 aquamaniac
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

# info
793860b4 aquamaniac
GWENHYWFAR_AUTHOR="Martin Preuss<martin@libchipcard.de>"
5a8f7e6b aquamaniac
GWENHYWFAR_BUGREPORT_ADDR="<martin@libchipcard.de>"
d8f33628 aquamaniac
a15eca3f aquamaniac
71e7895e cstim
AC_PREREQ(2.56)
a15eca3f aquamaniac
AC_INIT
AC_CANONICAL_TARGET([])
1f8f1970 aquamaniac
AC_CONFIG_SRCDIR([src/gwenhywfarapi.h])
a15eca3f aquamaniac
AC_CONFIG_HEADER([config.h])

#
d8f33628 aquamaniac
# versions
a15eca3f aquamaniac
#
793860b4 aquamaniac
GWENHYWFAR_VERSION_MAJOR=0
GWENHYWFAR_VERSION_MINOR=9
49458851 aquamaniac
GWENHYWFAR_VERSION_PATCHLEVEL=11
ec256bbf aquamaniac
GWENHYWFAR_VERSION_BUILD=3
5a8f7e6b aquamaniac
dnl "stable", "rcX", "betaX", "cvs"
4b173970 aquamaniac
GWENHYWFAR_VERSION_TAG="cvs"
0c6ee459 aquamaniac
GWENHYWFAR_VERSION_FULL_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL.$GWENHYWFAR_VERSION_BUILD${GWENHYWFAR_VERSION_TAG}"
110fc2f8 aquamaniac
GWENHYWFAR_VERSION_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR.$GWENHYWFAR_VERSION_PATCHLEVEL"
d8f33628 aquamaniac
5a8f7e6b aquamaniac
#
# Create release string
#
case "$GWENHYWFAR_VERSION_TAG" in
cvs)
GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_FULL_STRING"
;;
stable)
GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR"
# should we add patchlevel ?
2367dd23 aquamaniac
if test "$GWENHYWFAR_VERSION_PATCHLEVEL" != "0"; then
5a8f7e6b aquamaniac
GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_RELEASE_STRING.$GWENHYWFAR_VERSION_PATCHLEVEL"
fi
;;
*)
GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_MAJOR.$GWENHYWFAR_VERSION_MINOR"
# should we add patchlevel ?
f1f3174f aquamaniac
if test "$GWENHYWFAR_VERSION_PATCHLEVEL" != "0"; then
5a8f7e6b aquamaniac
GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_RELEASE_STRING.$GWENHYWFAR_VERSION_PATCHLEVEL"
fi
# add TAG
GWENHYWFAR_VERSION_RELEASE_STRING="$GWENHYWFAR_VERSION_RELEASE_STRING${GWENHYWFAR_VERSION_TAG}"
;;
esac

793860b4 aquamaniac
AC_SUBST(GWENHYWFAR_VERSION_MAJOR)
AC_SUBST(GWENHYWFAR_VERSION_MINOR)
AC_SUBST(GWENHYWFAR_VERSION_PATCHLEVEL)
AC_SUBST(GWENHYWFAR_VERSION_BUILD)
AC_SUBST(GWENHYWFAR_VERSION_TAG)
AC_SUBST(GWENHYWFAR_VERSION_FULL_STRING)
AC_SUBST(GWENHYWFAR_VERSION_STRING)
5b6c9182 aquamaniac
AC_SUBST(GWENHYWFAR_VERSION_RELEASE_STRING)
d8f33628 aquamaniac
793860b4 aquamaniac
AC_DEFINE_UNQUOTED(GWENHYWFAR_VERSION_MAJOR,$GWENHYWFAR_VERSION_MAJOR,
f38a59ba aquamaniac
[major version])
793860b4 aquamaniac
AC_DEFINE_UNQUOTED(GWENHYWFAR_VERSION_MINOR,$GWENHYWFAR_VERSION_MINOR,
f38a59ba aquamaniac
[minor version])
793860b4 aquamaniac
AC_DEFINE_UNQUOTED(GWENHYWFAR_VERSION_PATCHLEVEL,$GWENHYWFAR_VERSION_PATCHLEVEL,
f38a59ba aquamaniac
[patchlevel])
793860b4 aquamaniac
AC_DEFINE_UNQUOTED(GWENHYWFAR_VERSION_BUILD,$GWENHYWFAR_VERSION_BUILD, [build])
AC_DEFINE_UNQUOTED(GWENHYWFAR_VERSION_STRING,"$GWENHYWFAR_VERSION_STRING",
f38a59ba aquamaniac
[version string])
793860b4 aquamaniac
AC_DEFINE_UNQUOTED(GWENHYWFAR_VERSION_FULL_STRING,"$GWENHYWFAR_VERSION_FULL_STRING",
f38a59ba aquamaniac
[full version string])
793860b4 aquamaniac
AC_DEFINE_UNQUOTED(GWENHYWFAR_VERSION_TAG,$GWENHYWFAR_VERSION_TAG, [tag])
f38a59ba aquamaniac
a15eca3f aquamaniac
#
# SO version
#
90dd49e5 aquamaniac
GWENHYWFAR_SO_CURRENT="13"
f4d11b23 aquamaniac
GWENHYWFAR_SO_REVISION="0"
e2c13477 aquamaniac
GWENHYWFAR_SO_AGE="0"
dafb784e aquamaniac
GWENHYWFAR_SO_EFFECTIVE="`echo \$(($GWENHYWFAR_SO_CURRENT-$GWENHYWFAR_SO_AGE))`"

793860b4 aquamaniac
AC_SUBST(GWENHYWFAR_SO_CURRENT)
AC_SUBST(GWENHYWFAR_SO_REVISION)
AC_SUBST(GWENHYWFAR_SO_AGE)
dafb784e aquamaniac
AC_SUBST(GWENHYWFAR_SO_EFFECTIVE)
a15eca3f aquamaniac
5a8f7e6b aquamaniac
AM_INIT_AUTOMAKE(gwenhywfar, $GWENHYWFAR_VERSION_RELEASE_STRING)
a15eca3f aquamaniac
d8f33628 aquamaniac
80f7cc83 aquamaniac
AC_ENABLE_STATIC(no)
AC_ENABLE_SHARED(yes)


d8f33628 aquamaniac
# Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_PROG_AWK
65e20290 cstim
AC_CHECK_PROG(USE_DOT,dot,YES,NO)
d8f33628 aquamaniac

# Checks for libraries.
AC_CHECK_LIB(dl,dlopen)


# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h])
AC_CHECK_HEADERS([stdlib.h string.h sys/socket.h sys/time.h])
AC_CHECK_HEADERS([syslog.h unistd.h])
AC_CHECK_HEADERS([unistd.h])
AC_CHECK_HEADERS([dlfcn.h])
AC_CHECK_HEADERS([signal.h])
AC_CHECK_HEADERS([time.h])
AC_CHECK_HEADERS([syslog.h])
AC_CHECK_HEADERS([sys/stat.h])
AC_CHECK_HEADERS([sys/types.h])
AC_CHECK_HEADERS([sys/wait.h])


# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_HEADER_TIME
AC_STRUCT_TM

# Checks for library functions.
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_MKTIME
AC_FUNC_SELECT_ARGTYPES
6fc5e175 aquamaniac
AC_CHECK_FUNCS([gethostbyaddr gethostbyname inet_ntoa isascii getpid])
d8f33628 aquamaniac
AC_CHECK_FUNCS([memmove memset])
AC_CHECK_FUNCS([select socket])
AC_CHECK_FUNCS([strcasecmp strchr strdup strerror])
AC_CHECK_FUNCS([snprintf])

dnl prefix handling
AC_PREFIX_DEFAULT(/usr)
if test "x$prefix" = "xNONE"; then
prefix=$ac_default_prefix
ac_configure_args="$ac_configure_args --prefix $prefix"
fi
AC_SUBST(prefix)


dnl OS dependant settings
AQ_CHECK_OS

case "$OS_TYPE" in
posix)
1f8f1970 aquamaniac
gwenhywfar_libs="-L`eval echo $prefix/lib` -lgwenhywfar"
gwenhywfar_includes="-I`eval echo $prefix/include`"
dafb784e aquamaniac
gwenhywfar_headers="`eval echo $prefix/include/gwenhywfar`"
aaa30da8 aquamaniac
gwenhywfar_sections=""
8df4d059 aquamaniac
gwenhywfar_plugins="`eval echo $prefix/lib`/gwenhywfar/plugins/${GWENHYWFAR_SO_EFFECTIVE}"
1f8f1970 aquamaniac
gwenhywfar_os_lib="os/posix/libos.la"
d8f33628 aquamaniac
GWEN_OS="posix"
230c36cc aquamaniac
# check for some types
AQ_TYPE_UINT32(unsigned int)
GWEN_TYPE_UINT32=$aq_type_uint32
AC_SUBST(GWEN_TYPE_UINT32)
e2c13477 aquamaniac
AQ_TYPE_UINT64(unsigned long long)
GWEN_TYPE_UINT64=$aq_type_uint64
AC_SUBST(GWEN_TYPE_UINT64)
10217cc9 aquamaniac
# add special libraries for solaris
if test "$OSYSTEM" = "solaris"; then
all_libraries="${all_libraries} -lresolv -lsocket"
fi
d8f33628 aquamaniac
;;
windows)
793860b4 aquamaniac
AC_DEFINE_UNQUOTED(BUILDING_GWEN_DLL,1, [Define if DLL is built])
c15f4cdd cstim
ACX_WINDOWS_PATHS
38818173 aquamaniac
gwenhywfar_libs="-L${WIN_PATH_WINDOWS_MINGW} -lgwenhywfar32_${GWENHYWFAR_SO_EFFECTIVE}"
1f8f1970 aquamaniac
gwenhywfar_includes="-I`eval echo $prefix/include`"
dafb784e aquamaniac
gwenhywfar_headers="`eval echo $prefix/include/gwenhywfar`"
aaa30da8 aquamaniac
gwenhywfar_sections=""
8df4d059 aquamaniac
gwenhywfar_plugins="`eval echo $prefix/lib`/gwenhywfar/plugins/${GWENHYWFAR_SO_EFFECTIVE}"
1f8f1970 aquamaniac
gwenhywfar_os_lib="os/windows/libos.la"
84394cc5 aquamaniac
GWEN_MAKE_DLL_TARGET="dll"
GWEN_INSTALL_DLL_TARGET="dll-install"
3bfc7e77 aquamaniac
GWEN_OS="windows"
230c36cc aquamaniac
# check for some types
AQ_TYPE_UINT32(unsigned int)
GWEN_TYPE_UINT32=$aq_type_uint32
AC_SUBST(GWEN_TYPE_UINT32)
e2c13477 aquamaniac
AQ_TYPE_UINT64(unsigned long long)
GWEN_TYPE_UINT64=$aq_type_uint64
AC_SUBST(GWEN_TYPE_UINT64)
d8f33628 aquamaniac
;;
esac

5a8f7e6b aquamaniac
AM_CONDITIONAL(IS_WINDOWS, [test "$OS_TYPE" = "windows"])
d8f33628 aquamaniac
60bf789e cstim
#
# check whether variadic macros should be supported
#
AC_MSG_CHECKING(if compiling with variadic macros)
AC_ARG_ENABLE(variadic-macros,
[ --enable-variadic-macros enable variadic macros (default=yes)],
enable_variadic_macros="$enableval",
enable_variadic_macros="yes")
AC_MSG_RESULT($enable_variadic_macros)
if test "x$enable_variadic_macros" == "xno"; then
AC_DEFINE(NO_VARIADIC_MACROS, 1, [Define if variadic macros should be disabled])
fi

d8f33628 aquamaniac
#
# check for encryption library
#
aaa30da8 aquamaniac
AQ_CHECK_SSL
if test "$ssl_available" = "yes"; then
all_libraries="${all_libraries} ${ssl_libraries} ${ssl_lib}"
all_includes="$all_includes $ssl_includes"
gwenhywfar_includes="$gwenhywfar_includes $ssl_includes"
GWEN_CRYPTO="ossl"
192453a8 cstim
AC_DEFINE_UNQUOTED(GWEN_SSL_CRYPTO, 1, [Defined if OpenSSL crypto module is built])
21dc46ad aquamaniac
else
GWEN_CRYPTO="none"
d8f33628 aquamaniac
fi
02ee75c3 cstim
AM_CONDITIONAL(GWEN_SSL_CRYPTO, [test "$GWEN_CRYPTO" = "ossl"])
d8f33628 aquamaniac


#
# create header directory, make symlinks
#
35983cd1 aquamaniac
GWEN_HEADER_DIRS="src src/base src/net src/crypt src/crypt/${GWEN_CRYPTO} src/io src/ipc src/os src/os/${GWEN_OS} src/parser"
d8f33628 aquamaniac
lprefix="${srcdir}"
lprefix=`( cd ${lprefix} ; pwd )`

1f8f1970 aquamaniac
rm -Rf gwenhywfar
mkdir gwenhywfar
d8f33628 aquamaniac
GWEN_HEADER_FILES=""
for d in ${GWEN_HEADER_DIRS}; do
hfiles=`( cd "${srcdir}/${d}" && ls *.h 2>/dev/null )`
for f in ${hfiles}; do
GWEN_HEADER_FILES="${GWEN_HEADER_FILES} ${lprefix}/${d}/${f}"
case ${f} in
*_p.h)
;;
*)
1f8f1970 aquamaniac
ln -s "${lprefix}/${d}/${f}" "gwenhywfar/${f}"
d8f33628 aquamaniac
;;
esac
done
done
230c36cc aquamaniac
test -f gwenhywfar/version.h || ln -s "${lprefix}/src/version.h" "gwenhywfar/version.h" &>/dev/null
test -f gwenhywfar/types.h || ln -s "${lprefix}/src/types.h" "gwenhywfar/types.h" &>/dev/null
0970f69e aquamaniac
test -f gwenhywfar/system.h || ln -s "${lprefix}/src/os/$OS_TYPE/system.h" "gwenhywfar/system.h" &>/dev/null
d8f33628 aquamaniac
50e5b742 aquamaniac
5176e1ad aquamaniac
#
# check docpath
#
AC_MSG_CHECKING(docpath)
AC_ARG_WITH(docpath, [ --with-docpath=DIR where to store the apidoc],
[docpath="$withval"],
[docpath="apidoc"])
AC_SUBST(docpath)
AC_MSG_RESULT($docpath)


#
# check for doc type
#
AC_MSG_CHECKING(if full docu should be created)
AC_ARG_ENABLE(full-doc,
[ --enable-full-doc enable creating full apidoc (default=no)],
[ case "${enableval}" in
yes) enable_fulldoc="yes";;
no) enable_fulldoc="no";;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-full-doc);;
esac
],
enable_fulldoc="no")

if test "$enable_fulldoc" = "yes"; then
DOXYGEN_INPUT="src"
DOXYGEN_DEFINE=""
else
DOXYGEN_DEFINE="DOXYGEN_HIDE"
c765d3ee aquamaniac
DOXYGEN_INPUT="doc/apidoc.h gwenhywfar"
5176e1ad aquamaniac
fi
AC_SUBST(DOXYGEN_INPUT)
AC_SUBST(DOXYGEN_DEFINE)
AC_MSG_RESULT($enable_fulldoc)


5516bf5c aquamaniac
dnl Search for dlopen
LIBS=""
AC_SEARCH_LIBS(dlopen, c dl)
if test "$LIBS" = "-lc"; then
LIBS=""
fi
ld_library="$LIBS"
LIBS=""
all_libraries="$all_libraries $ld_library"


88dc6282 aquamaniac
#
# check for release
#
AC_MSG_CHECKING(whether this is an official release)
AC_ARG_ENABLE(release,
[ --enable-release make this an official release (default=no)],
[ case "${enableval}" in
yes) enable_release="yes";;
no) enable_release="no";;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-release);;
esac
],
enable_release="no")

if test "$enable_release" = "yes"; then
STRIPALL="-s"
else
STRIPALL=""
fi
AC_SUBST(STRIPALL)
AC_MSG_RESULT($enable_release)


5176e1ad aquamaniac
50e5b742 aquamaniac
#
# check for MEMTRACE
#
AC_MSG_CHECKING(if MEMTRACE is wanted)
AC_ARG_ENABLE(memtrace,
[ --enable-memtrace enable memory trace (default=no)],
enable_memtrace="$enableval",
enable_memtrace="no")
AC_MSG_RESULT($enable_memtrace)

if test "$enable_memtrace" != "no"; then
AC_DEFINE(GWEN_MEMTRACE, 1, [if memory trace is wanted])
fi

9601d646 cstim
# Debug arguments for compilation
ACX_COMPILE_WARN()
50e5b742 aquamaniac
5176e1ad aquamaniac
d8f33628 aquamaniac
#
# substitute vars
#
1f8f1970 aquamaniac
AS_SCRUB_INCLUDE(gwenhywfar_includes)
AC_SUBST(gwenhywfar_includes)
AC_SUBST(gwenhywfar_libs)
dafb784e aquamaniac
AC_SUBST(gwenhywfar_plugins)
AC_SUBST(gwenhywfar_headers)
aaa30da8 aquamaniac
AC_SUBST(gwenhywfar_sections)
1f8f1970 aquamaniac
AC_SUBST(gwenhywfar_needed_libs)
d8f33628 aquamaniac
AC_SUBST(GWEN_OS)
84394cc5 aquamaniac
AC_SUBST(GWEN_MAKE_DLL_TARGET)
AC_SUBST(GWEN_INSTALL_DLL_TARGET)
1f8f1970 aquamaniac
AC_SUBST(gwenhywfar_os_lib)
793860b4 aquamaniac
AC_SUBST(GWENHYWFAR_LIB)
1f8f1970 aquamaniac
AC_SUBST(gwenhywfar_crypt_lib)
d8f33628 aquamaniac
AC_SUBST(GWEN_CRYPTO)
AC_SUBST(GWEN_HEADER_FILES)
AC_SUBST(all_includes)
AC_SUBST(all_libraries)


#
# list of files to create
#
5176e1ad aquamaniac
AC_CONFIG_FILES([Doxyfile
Makefile
cb42a4bd aquamaniac
m4/Makefile
4ecc0776 aquamaniac
gwenhywfar-config.in
a31191f0 cstim
gwenhywfar.spec
c765d3ee aquamaniac
doc/Makefile
d8f33628 aquamaniac
src/Makefile
230c36cc aquamaniac
src/types.h
3bfc7e77 aquamaniac
src/ressource.rc
3ca7a382 aquamaniac
src/version.h
d8f33628 aquamaniac
src/base/Makefile
src/crypt/Makefile
src/crypt/ossl/Makefile
21dc46ad aquamaniac
src/crypt/none/Makefile
d8f33628 aquamaniac
src/io/Makefile
35983cd1 aquamaniac
src/ipc/Makefile
d8f33628 aquamaniac
src/os/Makefile
src/os/posix/Makefile
0970f69e aquamaniac
src/os/posix/system.h
3bfc7e77 aquamaniac
src/os/windows/Makefile
0970f69e aquamaniac
src/os/windows/system.h
a15eca3f aquamaniac
src/parser/Makefile
db6abdf6 aquamaniac
src/net/Makefile
83d13c8c aquamaniac
plugins/Makefile
plugins/dbio/Makefile
plugins/dbio/csv/Makefile
2dce2a32 aquamaniac
tools/Makefile
tools/xmlmerge/Makefile
0970f69e aquamaniac
test/Makefile
])
d8f33628 aquamaniac
AC_OUTPUT
0970f69e aquamaniac