Skip to content
This repository has been archived by the owner on Jan 9, 2019. It is now read-only.

Commit

Permalink
review of infrastructure
Browse files Browse the repository at this point in the history
  • Loading branch information
Marco Maggi committed Jul 21, 2012
1 parent fdb8979 commit bc3e6d4
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 17 deletions.
70 changes: 60 additions & 10 deletions acinclude.m4
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
### custom macros

m4_define([VICARE_INCLUDES],[
AC_INCLUDES_DEFAULT
#ifdef HAVE_VICARE_H
# include <vicare.h>
#endif
])

dnl page
AC_DEFUN([VICARE_VALUEOF_TEST],[
VALUEOF_$1="#f"
AC_CACHE_CHECK([the value of '$2'],
Expand All @@ -22,6 +14,11 @@ AC_DEFUN([VICARE_VALUEOF_TEST],[
AC_DEFUN([VICARE_CONSTANT_TEST],[VICARE_VALUEOF_TEST([$1],[$1])])
AC_DEFUN([VICARE_CONSTANT_TESTS],[m4_map_args_w($1,[VICARE_CONSTANT_TEST(],[)])])

AC_DEFUN([VICARE_CONSTANT_FALSE],
[VALUEOF_$1="#f"
AC_SUBST([VALUEOF_$1])])
AC_DEFUN([VICARE_CONSTANT_FALSES],[m4_map_args_w($1,[VICARE_CONSTANT_FALSE(],[)])])

dnl page
AC_DEFUN([VICARE_STRINGOF_TEST],
[VALUEOF_$1=""
Expand All @@ -35,7 +32,8 @@ AC_DEFUN([VICARE_STRINGOF_TEST],
return ferror (f) || fclose (f) != 0;
}])],
[vicare_cv_stringof_$1=`cat conftest.val`],
[vicare_cv_stringof_$1=""])
[vicare_cv_stringof_$1=""],
[vicare_cv_stringof_$1=""])
rm -f conftest.val])
VALUEOF_$1="$vicare_cv_stringof_$1"
AC_SUBST([VALUEOF_$1])])
Expand All @@ -56,11 +54,63 @@ AC_DEFUN([VICARE_DOUBLEOF_TEST],
return ferror (f) || fclose (f) != 0;
}])],
[vicare_cv_doubleof_$1=`cat conftest.val`],
[vicare_cv_doubleof_$1=""])
[vicare_cv_doubleof_$1=""],
[vicare_cv_doubleof_$1="0.0"])
rm -f conftest.val])
VALUEOF_$1="$vicare_cv_doubleof_$1"
AC_SUBST([VALUEOF_$1])])

AC_DEFUN([VICARE_DOUBLEOF_TESTS],[m4_map_args_w($1,[VICARE_DOUBLEOF_TEST(],[)])])

dnl page
dnl 1 WITH_TEMP_FILE_CHUNK
dnl 2 AFTER_CHUNK
AC_DEFUN([VICARE_WITH_TMPFILE],
[: ${TMPDIR=/tmp}
{
vicare_private_TMPDIR=$((umask 077 && mktemp -d "$TMPDIR/fooXXXXXX") 2>/dev/null) &&
test -n "${vicare_private_TMPDIR}" && test -d "${vicare_private_TMPDIR}"
} || {
vicare_private_TMPDIR=${TMPDIR}/foo$$-$RANDOM
(umask 077 && mkdir "${vicare_private_TMPDIR}")
} || exit $?
vicare_TMPFILE=${vicare_private_TMPDIR}/temporary.txt
dnl Chunk with temporary file usage.
$1
rm -fr "${vicare_private_TMPDIR}"
dnl Chunk after temporary file usage.
$2
])

AC_DEFUN([WITH_OUTPUT_FROM_VICARE_SCRIPT],
[VICARE_WITH_TMPFILE([vicare_ANSWER=`echo '$1' >"${vicare_TMPFILE}"
"${VICARE}" "${vicare_TMPFILE}" $2`],[$3])])

dnl 1 OUTPUT_VARIABLE_COMPONENT_NAME
dnl 2 LIBRARY_IMPORT_SPEC
dnl 3 OPTIONAL_ACTION_IF_FOUND
dnl 4 OPTIONAL_ACTION_IF_FOUND
AC_DEFUN([VICARE_CHECK_LIBRARY],
[AC_CACHE_CHECK([availability of Vicare library $2],[vicare_cv_have_$1],
[WITH_OUTPUT_FROM_VICARE_SCRIPT([(import (rnrs) (rnrs eval (6)))
(with-exception-handler
(lambda (ex)
(display "no\n")
(flush-output-port (current-output-port))
(exit))
(lambda ()
(environment (quote $2))
(display "yes\n")
(flush-output-port (current-output-port))))],,
[vicare_cv_have_$1=$vicare_ANSWER
if test "$vicare_ANSWER" = yes ; then
dnl action if found
:
$3
else
dnl action if not found
AC_MSG_WARN([Vicare Scheme could not find library $2])
$4
fi])])])

### end of file
29 changes: 22 additions & 7 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,15 @@ AC_INIT([Vicare/CityHash],[1.0b3],
[marco.maggi-ipsu@poste.it],[vicare-cityhash],
[http://marcomaggi.github.com/vicare.html])
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AM_INIT_AUTOMAKE([-Wall])
dnl AM_MAINTAINER_MODE
AC_CONFIG_SRCDIR([src/])
AC_CONFIG_MACRO_DIR([m4])
dnl AM_MAINTAINER_MODE
AC_CANONICAL_HOST

#page
#### compiler

AM_INIT_AUTOMAKE([-Wall])

AC_PROG_CC
AC_PROG_CC_C_O

Expand All @@ -29,7 +27,7 @@ AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET

LT_PREREQ([2.2])
LT_PREREQ([2.4])
LT_INIT([shared disable-static])

AC_TYPE_INT32_T
Expand Down Expand Up @@ -70,12 +68,29 @@ AC_SUBST([vicare_cityhash_VERSION_INTERFACE_CURRENT])
AC_SUBST([vicare_cityhash_VERSION_INTERFACE_REVISION])
AC_SUBST([vicare_cityhash_VERSION_INTERFACE_AGE])

#page
#### constants

m4_define([VICARE_INCLUDES],[
AC_INCLUDES_DEFAULT
#ifdef HAVE_VICARE_H
# include <vicare.h>
#endif
#ifdef HAVE_CITY_H
# include <city.h>
#endif
])

#page
#### finish

AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile tests/Makefile lib/Makefile
meta/slackware/doinst.sh])
AC_CONFIG_FILES([Makefile]
[src/Makefile]
[doc/Makefile]
[tests/Makefile]
[lib/Makefile]
[meta/slackware/doinst.sh])
AC_OUTPUT

### end of file
Expand Down

0 comments on commit bc3e6d4

Please sign in to comment.