Commit c37b2f1f c37b2f1f3e51dc5489b349cba20771cd762db148 by Sergey Poznyakoff

Improve autoconf machinery, drop support for Guile < 1.8

* scripts/guile-1.4: Removed.
* scripts/guile-1.6/guile-doc-snarf: Move to the parent dir.
* scripts/guile-1.6/guile-doc-snarf.awk: Move to the parent dir.
* scripts: Rename to mu-aux. All references updated.
* am/enable.m4 (MU_ENABLE_SUPPORT): add fourth argument, action-default
Translate + to x.
* am/guile.m4 (MU_RESULT_ACTIONS): Remove.
(MU_CHECK_GUILE): Rewrite. Drop support for versions < 1.8
* am/lib.m4 (MU_CHECK_LIB): Rewrite using a cleaner approach.
* bootstrap.conf: Remove build_aux assignement.
* configure.ac: Assume a new naming scheme for optional builds: for
each subst variable named MU_whatever_BUILD there is a corresponing
Makefile.am variable named MU_whatever_LIST, if `whatever' is to be
built MU_whatever_BUILD is set to '$(MU_whatever_LIST)'
New option --disable-c++.
Improve status output.
* examples/Makefile.am, examples/cpp/Makefile.am,
include/mailutils/Makefile.am, libmu_cpp/Makefile.am, libmu_scm/Makefile.am,
libmu_sieve/Makefile.am, libmu_sieve/extensions/Makefile.am,
libmu_sieve/load.c, mail.remote/Makefile.am,
mail.remote/testsuite/Makefile.am, mailbox/Makefile.am,
mh/Makefile.am, mimeview/Makefile.am, mu-aux/Makefile.am,
python/mailutils/Makefile.am: Reflect changes to autoconf machinery.

* /include/mailutils/guile.h: Drop support for versions < 1.8
* libmu_scm/mu_util.c: Likewise.
1 parent c09870d8
...@@ -15,6 +15,7 @@ Makefile ...@@ -15,6 +15,7 @@ Makefile
15 Makefile.in 15 Makefile.in
16 aclocal.m4 16 aclocal.m4
17 autom4te.cache 17 autom4te.cache
18 build-aux
18 config.h 19 config.h
19 config.h.in 20 config.h.in
20 config.log 21 config.log
......
...@@ -22,6 +22,7 @@ AUTOMAKE_OPTIONS = gnits 1.8.5 dist-bzip2 std-options ...@@ -22,6 +22,7 @@ AUTOMAKE_OPTIONS = gnits 1.8.5 dist-bzip2 std-options
22 ACLOCAL_AMFLAGS = -I m4 -I am 22 ACLOCAL_AMFLAGS = -I m4 -I am
23 23
24 SUBDIRS = \ 24 SUBDIRS = \
25 mu-aux\
25 include\ 26 include\
26 po\ 27 po\
27 testsuite\ 28 testsuite\
...@@ -44,7 +45,6 @@ SUBDIRS = \ ...@@ -44,7 +45,6 @@ SUBDIRS = \
44 maidag\ 45 maidag\
45 mail\ 46 mail\
46 sieve\ 47 sieve\
47 scripts\
48 guimb\ 48 guimb\
49 messages\ 49 messages\
50 comsat\ 50 comsat\
......
...@@ -16,11 +16,12 @@ dnl along with this program; if not, write to the Free Software Foundation, ...@@ -16,11 +16,12 @@ dnl along with this program; if not, write to the Free Software Foundation,
16 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 16 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 dnl 17 dnl
18 18
19 dnl MU_ENABLE_SUPPORT(feature, [action-if-true], [action-if-false]) 19 dnl MU_ENABLE_SUPPORT(feature, [action-if-true], [action-if-false],
20 dnl [action-default])
20 21
21 AC_DEFUN([MU_ENABLE_SUPPORT], [ 22 AC_DEFUN([MU_ENABLE_SUPPORT], [
22 pushdef([mu_upcase],translit($1,[a-z-],[A-Z_])) 23 pushdef([mu_upcase],translit($1,[a-z+-],[A-ZX_]))
23 pushdef([mu_cache_var],[mu_cv_enable_]translit($1,[-],[_])) 24 pushdef([mu_cache_var],[mu_cv_enable_]translit($1,[+-],[x_]))
24 25
25 AC_ARG_ENABLE($1, 26 AC_ARG_ENABLE($1,
26 AC_HELP_STRING([--disable-]$1, 27 AC_HELP_STRING([--disable-]$1,
...@@ -31,7 +32,7 @@ AC_DEFUN([MU_ENABLE_SUPPORT], [ ...@@ -31,7 +32,7 @@ AC_DEFUN([MU_ENABLE_SUPPORT], [
31 no) mu_cache_var=no;; 32 no) mu_cache_var=no;;
32 *) AC_MSG_ERROR([bad value ${enableval} for --disable-$1]) ;; 33 *) AC_MSG_ERROR([bad value ${enableval} for --disable-$1]) ;;
33 esac], 34 esac],
34 [mu_cache_var=yes]) 35 [ifelse([$4],,mu_cache_var=yes,[$4])])
35 36
36 if test x"[$]mu_cache_var" = x"yes"; then 37 if test x"[$]mu_cache_var" = x"yes"; then
37 ifelse([$2],,:,[$2]) 38 ifelse([$2],,:,[$2])
......
...@@ -16,110 +16,58 @@ dnl along with this program; if not, write to the Free Software Foundation, ...@@ -16,110 +16,58 @@ dnl along with this program; if not, write to the Free Software Foundation,
16 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 16 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17 dnl 17 dnl
18 18
19 dnl MU_RESULT_ACTIONS -- generate shell code for the result of a test 19 dnl MU_CHECK_GUILE(minversion, [act-if-found], [ac-if-not-found])
20 dnl $1 -- CVAR -- cache variable to check 20 dnl $1 $2 $3
21 dnl $2 -- NAME -- if not empty, used to generate a default value TRUE:
22 dnl `AC_DEFINE(HAVE_NAME)'
23 dnl $2 -- TRUE -- what to do if the CVAR is not `no'
24 dnl $3 -- FALSE -- what to do otherwise; defaults to `:'
25 dnl
26 AC_DEFUN([MU_RESULT_ACTIONS], [
27 [if test "$$1" != "" -a "$$1" != no; then
28 ]ifelse([$3], ,
29 [AC_DEFINE(HAVE_]translit($2, [a-z ./<>], [A-Z___])[,1,[FIXME])],
30 [$3])[
31 else
32 ]ifelse([$4], , [:], [$4])[
33 fi]])dnl
34
35 AC_DEFUN([MU_CHECK_GUILE], 21 AC_DEFUN([MU_CHECK_GUILE],
36 [ 22 [
37 if test "x$mu_cv_lib_guile" = x; then 23 AS_VAR_SET([mu_cv_guile], [no])
38 cached="" 24 AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $PATH)
39 AC_PATH_PROG(GUILE_CONFIG, guile-config, no, $PATH) 25 if test "$GUILE_CONFIG" = no; then
40 if test $GUILE_CONFIG = no; then 26 m4_if($3,,[AC_MSG_ERROR(cannot find Guile)], [$3])
41 mu_cv_lib_guile=no 27 else
42 else 28 AC_SUBST(GUILE_INCLUDES)
43 GUILE_INCLUDES=`$GUILE_CONFIG compile` 29 AC_SUBST(GUILE_LIBS)
44 GUILE_LIBS=`$GUILE_CONFIG link` 30 AC_SUBST(GUILE_VERSION)
45 fi 31 AC_SUBST(GUILE_VERSION_NUMBER)
32
33 GUILE_INCLUDES=`$GUILE_CONFIG compile`
34 GUILE_LIBS=`$GUILE_CONFIG link`
35 GUILE_VERSION=`($GUILE_CONFIG --version 2>&1; echo '')|sed 's/guile-config [[^0-9]]* \([[0-9]][[0-9.]]*\)$/\1/'`
36 VEX=`echo $GUILE_VERSION | sed 's/\./ \\\\* 1000 + /;s/\./ \\\\* 100 + /'`
37 GUILE_VERSION_NUMBER=`eval expr "$VEX"`
38
39 ifelse($1,,,[
40 VEX=`echo $1 | sed 's/\./ \\\\* 1000 + /;s/\./ \\\\* 100 + /'`
41 min=`eval expr "$VEX"`
42 if test $GUILE_VERSION_NUMBER -lt $min; then
43 m4_if($3,,
44 [AC_MSG_ERROR([Guile version too old; required is at least ]$1)],
45 [$3])
46 fi])
47
48 save_LIBS=$LIBS
49 save_CFLAGS=$CFLAGS
50 LIBS="$LIBS $GUILE_LIBS"
51 CFLAGS="$CFLAGS $GUILE_INCLUDES"
52 AC_TRY_LINK([#include <libguile.h>],
53 m4_if([$1], , scm_shell(0, NULL);, [$1]),
54 [AS_VAR_SET([mu_cv_guile], $GUILE_VERSION)])
55 LIBS=$save_LIBS
56 CFLAGS=$save_CFLAGS
57 fi
46 58
47 if test $GUILE_CONFIG != no; then 59 if test $mu_cv_guile = no; then
48 AC_MSG_CHECKING(for guile version 1.4 or higher) 60 GUILE_INCLUDES=
49 GUILE_VERSION=`($GUILE_CONFIG --version 2>&1; echo '')|sed -n 's/guile-config [[^0-9]]* \([[0-9]][[0-9]]*\)\.\([[0-9]][[0-9]]*\).*/\1\2/p'` 61 GUILE_LIBS=
50 case "x$GUILE_VERSION" in 62 GUILE_VERSION=
51 x[[0-9]]*) 63 GUILE_VERSION_NUMBER=
52 if test $GUILE_VERSION -lt 14; then 64 m4_if($3,,[AC_MSG_ERROR(required library libguile not found)], [$3])
53 AC_MSG_RESULT([Nope. Version number too low.]) 65 else
54 mu_cv_lib_guile=no 66 AC_DEFINE_UNQUOTED(GUILE_VERSION, "$GUILE_VERSION",
55 else 67 [Guile version number])
56 AC_DEFINE_UNQUOTED(GUILE_VERSION, $GUILE_VERSION, 68 AC_DEFINE_UNQUOTED(GUILE_VERSION_NUMBER, $GUILE_VERSION_NUMBER,
57 [Guile version number: MAX*10 + MIN]) 69 [Guile version number: MAX*10 + MIN])
58 AC_MSG_RESULT(OK) 70 m4_if($2,,,[$2])
59 save_LIBS=$LIBS 71 fi
60 save_CFLAGS=$CFLAGS 72 ])
61 LIBS="$LIBS $GUILE_LIBS"
62 CFLAGS="$CFLAGS $GUILE_INCLUDES"
63 AC_TRY_LINK([#include <libguile.h>],
64 ifelse([$1], , scm_shell(0, NULL);, [$1]),
65 [mu_cv_lib_guile=yes],
66 [mu_cv_lib_guile=no])
67 LIBS=$save_LIBS
68 CFLAGS=$save_CFLAGS
69 fi ;;
70 *) AC_MSG_RESULT(Nope. Unknown version number)
71 mu_cv_lib_guile=no;;
72 esac
73 fi
74 else
75 cached=" (cached) "
76 GUILE_INCLUDES=`$GUILE_CONFIG compile`
77 GUILE_LIBS=`$GUILE_CONFIG link`
78 fi
79 AC_MSG_CHECKING(whether to build guile support)
80 MU_RESULT_ACTIONS([mu_cv_lib_guile],[LIBGUILE],[$2],[$3])
81 AC_MSG_RESULT(${cached}$mu_cv_lib_guile)
82 if test $mu_cv_lib_guile = yes; then
83 if test $GUILE_VERSION -gt 14; then
84 LIBS="$LIBS $GUILE_LIBS"
85 CFLAGS="$CFLAGS $GUILE_INCLUDES"
86 AC_CHECK_FUNCS(scm_long2num scm_cell scm_list_1 scm_list_n scm_c_define\
87 scm_c_lookup)
88 if test $ac_cv_func_scm_cell = no; then
89 AC_MSG_CHECKING(for inline scm_cell)
90 AC_TRY_LINK([#include <libguile.h>],
91 [scm_cell(SCM_EOL, SCM_EOL)],
92 [ac_cv_func_scm_cell=yes
93 AC_DEFINE(HAVE_SCM_CELL,1,
94 Define if you have scm_cell function)])
95 AC_MSG_RESULT($ac_cv_func_scm_cell)
96 fi
97 CFLAGS=$save_CFLAGS
98 LIBS=$save_LIBS
99 fi
100 AC_ARG_WITH([guiledir],
101 AC_HELP_STRING([--with-guiledir=DIR],
102 [Specify the directory to install guile modules to]),
103 [case $withval in
104 /*) GUILE_SITE=$withval;;
105 yes) GUILE_SITE=`$GUILE_CONFIG info pkgdatadir`/site;;
106 *) AC_MSG_ERROR([Argument to --with-guiledir must be an absolute directory name]);;
107 esac],
108 [GUILE_SITE=`$GUILE_CONFIG info pkgdatadir`/site
109 pfx=$prefix
110 test "x$pfx" = xNONE && pfx=$ac_default_prefix
111 case $GUILE_SITE in
112 $pfx/*) ;; # OK
113 *) AC_MSG_WARN([guile site directory "$GUILE_SITE" lies outside your current prefix ($pfx).])
114 GUILE_SITE='$(pkgdatadir)/$(VERSION)/guile'
115 AC_MSG_WARN([Falling back to ${GUILE_SITE} instead. Use --with-guiledir to force using site directory.])
116 ;;
117 esac])
118 fi
119 AC_SUBST(GUILE_SITE)
120 AC_SUBST(GUILE_INCLUDES)
121 AC_SUBST(GUILE_LIBS)
122 ])
123
124
125 73
......
...@@ -6,21 +6,30 @@ dnl $4 -- Action to be taken when test succeeds ...@@ -6,21 +6,30 @@ dnl $4 -- Action to be taken when test succeeds
6 dnl $5 -- Action to be taken when test fails 6 dnl $5 -- Action to be taken when test fails
7 dnl $6 -- Directories where the library may reside 7 dnl $6 -- Directories where the library may reside
8 AC_DEFUN([MU_CHECK_LIB], 8 AC_DEFUN([MU_CHECK_LIB],
9 [ 9 [m4_ifval([$4], , [AH_CHECK_LIB([$1])])dnl
10 save_LIBS=$LIBS 10 AS_VAR_PUSHDEF([mu_Lib], [mu_cv_lib_$1])dnl
11 AC_CACHE_CHECK([for -l$1], mu_cv_lib_$1, 11 AC_CACHE_CHECK([for $2 in -l$1], [mu_Lib],
12 [ 12 [AS_VAR_SET([mu_Lib], [no])
13 for path in $6 13 mu_check_lib_save_LIBS=$LIBS
14 do 14 for path in "" $6
15 LIBS="$save_LIBS $3 -L$path -l$1" 15 do
16 AC_TRY_LINK_FUNC($2, 16 if test -n "$path"; then
17 [mu_cv_lib_$1="$3 -L$path -l$1" 17 mu_ldflags="-L$path -l$1 $3"
18 break], 18 else
19 [mu_cv_lib_$1=no],$3) 19 mu_ldflags="-l$1 $3"
20 done 20 fi
21 ]) 21 LIBS="$mu_ldflags $mu_check_lib_save_LIBS"
22 MU_RESULT_ACTIONS([mu_cv_lib_$1],[LIB$1],[$4],[$5]) 22 AC_LINK_IFELSE([AC_LANG_CALL([], [$2])],
23 LIBS=$save_LIBS 23 [AS_VAR_SET([mu_Lib], ["$mu_ldflags"])
24 ]) 24 break])
25 done
26 LIBS=$mu_check_lib_save_LIBS])
27 AS_IF([test "AS_VAR_GET([mu_Lib])" != no],
28 [m4_default([$4], [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
29 LIBS="-l$1 $LIBS"
30 ])],
31 [$5])dnl
32 AS_VAR_POPDEF([mu_Lib])dnl
33 ])# MU_CHECK_LIB
25 34
26 35
......
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
18 # 02110-1301, USA. 18 # 02110-1301, USA.
19 19
20 gnulib_name=libmuaux 20 gnulib_name=libmuaux
21 build_aux=scripts
22 21
23 # We don't need these modules, even though gnulib-tool mistakenly 22 # We don't need these modules, even though gnulib-tool mistakenly
24 # includes them because of gettext dependencies. 23 # includes them because of gettext dependencies.
......
...@@ -19,7 +19,7 @@ dnl Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ...@@ -19,7 +19,7 @@ dnl Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 19
20 AC_INIT([GNU Mailutils], [2.0.90], [bug-mailutils@gnu.org], [mailutils]) 20 AC_INIT([GNU Mailutils], [2.0.90], [bug-mailutils@gnu.org], [mailutils])
21 AC_CONFIG_SRCDIR([mailbox/mailbox.c]) 21 AC_CONFIG_SRCDIR([mailbox/mailbox.c])
22 AC_CONFIG_AUX_DIR([scripts]) 22 AC_CONFIG_AUX_DIR([build-aux])
23 AM_INIT_AUTOMAKE 23 AM_INIT_AUTOMAKE
24 AC_CONFIG_HEADERS([config.h]) 24 AC_CONFIG_HEADERS([config.h])
25 AC_CONFIG_MACRO_DIR([m4]) 25 AC_CONFIG_MACRO_DIR([m4])
...@@ -53,7 +53,8 @@ AC_SUBST(MU_LIB_ARGP,'${top_builddir}/libmu_argp/libmu_argp.la') ...@@ -53,7 +53,8 @@ AC_SUBST(MU_LIB_ARGP,'${top_builddir}/libmu_argp/libmu_argp.la')
53 AC_SUBST(MU_LIB_PY, '${top_builddir}/python/libmu_py/libmu_py.la') 53 AC_SUBST(MU_LIB_PY, '${top_builddir}/python/libmu_py/libmu_py.la')
54 54
55 dnl Other variables 55 dnl Other variables
56 AC_SUBST(SIEVE_MODDIR,'$(libdir)/$(PACKAGE)') 56 AC_SUBST(mu_aux_dir,'$(top_srcdir)/mu-aux')
57 AC_SUBST(MU_SIEVE_MODDIR,'$(libdir)/$(PACKAGE)')
57 58
58 AC_SUBST(MU_COMMON_LIBRARIES,'$(LTLIBINTL) $(LTLIBICONV)') 59 AC_SUBST(MU_COMMON_LIBRARIES,'$(LTLIBINTL) $(LTLIBICONV)')
59 AC_SUBST(MU_APP_LIBRARIES,'../libmu_argp/libmu_argp.a ../libmu_cfg/libmu_cfg.la ../lib/libmuaux.la') 60 AC_SUBST(MU_APP_LIBRARIES,'../libmu_argp/libmu_argp.a ../libmu_cfg/libmu_cfg.la ../lib/libmuaux.la')
...@@ -722,7 +723,7 @@ if test -n "$SQL_MODULES"; then ...@@ -722,7 +723,7 @@ if test -n "$SQL_MODULES"; then
722 sed 's,\.[[^.]]* ,.lo ,g;s,\.[[^.]]*$,.lo,'` 723 sed 's,\.[[^.]]* ,.lo ,g;s,\.[[^.]]*$,.lo,'`
723 724
724 AC_CONFIG_COMMANDS([sql/modlist.h], 725 AC_CONFIG_COMMANDS([sql/modlist.h],
725 [$srcdir/scripts/sqlmod.sh $SQL_MODULES > sql/modlist.h], 726 [$srcdir/mu-aux/sqlmod.sh $SQL_MODULES > sql/modlist.h],
726 [if test $USE_LOADABLE_MODULES = yes; then 727 [if test $USE_LOADABLE_MODULES = yes; then
727 SQL_MODULES= 728 SQL_MODULES=
728 else 729 else
...@@ -767,23 +768,24 @@ MU_ENABLE_SUPPORT(imap) ...@@ -767,23 +768,24 @@ MU_ENABLE_SUPPORT(imap)
767 MU_ENABLE_SUPPORT(pop) 768 MU_ENABLE_SUPPORT(pop)
768 MU_ENABLE_SUPPORT(nntp) 769 MU_ENABLE_SUPPORT(nntp)
769 770
770 AC_SUBST(BUILD_SMTP_PROGRAMS) 771 AC_SUBST(MU_SMTP_PROGRAMS_BUILD)
771 AC_SUBST(RUN_SMTP_DEJATOOL) 772 AC_SUBST(MU_SMTP_DEJATOOL)
772 773
773 MU_ENABLE_SUPPORT(smtp, [BUILD_SMTP_PROGRAMS='$(PROGRAMS_SMTP)' 774 MU_ENABLE_SUPPORT(smtp,
774 RUN_SMTP_DEJATOOL='$(SMTP_DEJATOOL)']) 775 [MU_SMTP_PROGRAMS_BUILD='$(MU_SMTP_PROGRAMS_LIST)'
776 MU_SMTP_DEJATOOL='$(SMTP_DEJATOOL)'])
775 MU_ENABLE_SUPPORT(sendmail) 777 MU_ENABLE_SUPPORT(sendmail)
776 778
777 MU_ENABLE_SUPPORT(prog) 779 MU_ENABLE_SUPPORT(prog)
778 780
779 AC_SUBST(BUILD_MH_PROGRAMS) 781 AC_SUBST(MU_MH_PROGRAMS_BUILD)
780 AC_SUBST(BUILD_MH_LIBRARIES) 782 AC_SUBST(MU_MH_LIBRARIES_BUILD)
781 AC_SUBST(BUILD_MH_EXEC_HOOK) 783 AC_SUBST(MU_MH_EXEC_HOOK)
782 784
783 MU_ENABLE_SUPPORT(mh, 785 MU_ENABLE_SUPPORT(mh,
784 [BUILD_MH_PROGRAMS='$(PROGRAMS_MH)'; 786 [MU_MH_PROGRAMS_BUILD='$(MU_MH_PROGRAMS_LIST)';
785 BUILD_MH_LIBRARIES='$(LIBRARIES_MH)'; 787 MU_MH_LIBRARIES_BUILD='$(MU_MH_LIBRARIES_LIST)';
786 BUILD_MH_EXEC_HOOK=mh_finish_install]) 788 MU_MH_EXEC_HOOK=mh_finish_install])
787 MU_ENABLE_SUPPORT(maildir) 789 MU_ENABLE_SUPPORT(maildir)
788 790
789 # FIXME: Should be --with-radius 791 # FIXME: Should be --with-radius
...@@ -793,18 +795,7 @@ MU_ENABLE_SUPPORT(radius, ...@@ -793,18 +795,7 @@ MU_ENABLE_SUPPORT(radius,
793 mu_cv_enable_radius=yes], 795 mu_cv_enable_radius=yes],
794 [mu_cv_enable_radius=no])]) 796 [mu_cv_enable_radius=no])])
795 797
796 AC_ARG_ENABLE([mh-utils],
797 AC_HELP_STRING([--enable-mh-utils],
798 [Build MH utilities]),
799 [MU_BUILD_MH="${enableval}"],
800 [MU_BUILD_MH=no])
801
802 AC_SUBST(MH_BIN_DIR) 798 AC_SUBST(MH_BIN_DIR)
803 if test ".$MU_BUILD_MH" = ".no"; then
804 BUILD_MH_PROGRAMS=
805 BUILD_MH_LIBRARIES=
806 BUILD_MH_EXEC_HOOK=
807 fi
808 799
809 AC_ARG_WITH([mh-bindir], 800 AC_ARG_WITH([mh-bindir],
810 AC_HELP_STRING([--with-mh-bindir], 801 AC_HELP_STRING([--with-mh-bindir],
...@@ -818,15 +809,8 @@ AC_ARG_WITH([mh-bindir], ...@@ -818,15 +809,8 @@ AC_ARG_WITH([mh-bindir],
818 AC_ARG_ENABLE([experimental], 809 AC_ARG_ENABLE([experimental],
819 AC_HELP_STRING([--enable-experimental], 810 AC_HELP_STRING([--enable-experimental],
820 [build experimental and/or unfinished utilities]), 811 [build experimental and/or unfinished utilities]),
821 [MU_BUILD_EXPERIMENTAL="${enableval}"], 812 [mu_build_experimental="${enableval}"],
822 [MU_BUILD_EXPERIMENTAL=no]) 813 [mu_build_experimental=no])
823
824 AC_SUBST(MU_CXX_LIBS)
825 AC_SUBST(MU_BUILT_CXX_EXAMPLES)
826 if test "$MU_BUILD_EXPERIMENTAL" = yes; then
827 MU_CXX_LIBS='$(MU_CXX_LIBS)'
828 MU_BUILT_CXX_EXAMPLES='$(CXX_EXAMPLES)'
829 fi
830 814
831 if test x"$testpam" = x"yes"; then 815 if test x"$testpam" = x"yes"; then
832 AC_CHECK_HEADERS(security/pam_appl.h) 816 AC_CHECK_HEADERS(security/pam_appl.h)
...@@ -1047,12 +1031,9 @@ if test "$status_dbm" != no; then ...@@ -1047,12 +1031,9 @@ if test "$status_dbm" != no; then
1047 fi 1031 fi
1048 1032
1049 dnl Check for Guile 1033 dnl Check for Guile
1050 AC_SUBST(GUILE_INCLUDES)
1051 AC_SUBST(GUILE_LIBS)
1052 AC_SUBST(GUILE_BINDIR) 1034 AC_SUBST(GUILE_BINDIR)
1053 AC_SUBST(GUILE_SNARF_VERSION)
1054 AC_SUBST(GUIMB) 1035 AC_SUBST(GUIMB)
1055 AC_SUBST(MU_SCM) 1036 AC_SUBST(MU_SCM_LTLIBRARIES_BUILD)
1056 AC_SUBST(LIBMU_SCM) 1037 AC_SUBST(LIBMU_SCM)
1057 AC_SUBST(LIBMU_SCM_DEPS) 1038 AC_SUBST(LIBMU_SCM_DEPS)
1058 AC_SUBST(GUILE_SITE_DATA) 1039 AC_SUBST(GUILE_SITE_DATA)
...@@ -1062,30 +1043,47 @@ AC_SUBST(MU_GUILE_SIEVE_MOD_DIR) ...@@ -1062,30 +1043,47 @@ AC_SUBST(MU_GUILE_SIEVE_MOD_DIR)
1062 AC_SUBST(MU_GUILE_SIEVE_SCRIPTS) 1043 AC_SUBST(MU_GUILE_SIEVE_SCRIPTS)
1063 AC_SUBST(MU_GUILE_SIEVE_MOD_DATA) 1044 AC_SUBST(MU_GUILE_SIEVE_MOD_DATA)
1064 1045
1065 if test x"$useguile" = x"yes"; then 1046 if test "$useguile" != "no"; then
1066 MU_CHECK_GUILE(,[ 1047 MU_CHECK_GUILE(1.8,
1067 AC_DEFINE(WITH_GUILE,1,[Enable Guile support]) 1048 [useguile=yes
1068 GUILE_INCLUDES=`guile-config compile` 1049 AC_DEFINE(WITH_GUILE,1,[Enable Guile support])
1069 GUILE_LIBS=`guile-config link` 1050 GUILE_BINDIR=`guile-config info bindir`
1070 GUILE_BINDIR=`guile-config info bindir` 1051 GUIMB='guimb$(EXEEXT)' # FIXME
1071 GUIMB='guimb$(EXEEXT)' 1052 MU_SCM_LTLIBRARIES_BUILD='$(MU_SCM_LTLIBRARIES_LIST)'
1072 MU_SCM=libmu_scm.la 1053 LIBMU_SCM=../libmu_scm/libmu_scm.la
1073 LIBMU_SCM=../libmu_scm/libmu_scm.la 1054 LIBMU_SCM_DEPS='${MU_LIB_MBOX} ${MU_LIB_IMAP} ${MU_LIB_POP} ${MU_LIB_MH} ${MU_LIB_MAILDIR} ${MU_LIB_MAILER}'
1074 LIBMU_SCM_DEPS='${MU_LIB_MBOX} ${MU_LIB_IMAP} ${MU_LIB_POP} ${MU_LIB_MH} ${MU_LIB_MAILDIR} ${MU_LIB_MAILER}' 1055 GUILE_SITE_DATA='$(GUILE_SITE_DATA_X)'
1075 GUILE_SITE_DATA='$(GUILE_SITE_DATA_X)' 1056 MU_GUILE_SITE_DIR='$(GUILE_SITE)/$(PACKAGE)'
1076 MU_GUILE_SITE_DIR='$(GUILE_SITE)/$(PACKAGE)' 1057 MU_GUILE_SIEVE_MOD_DIR='$(GUILE_SITE)/sieve-modules'
1077 MU_GUILE_SIEVE_MOD_DIR='$(GUILE_SITE)/sieve-modules' 1058 MU_GUILE_SIEVE_SCRIPTS='$(MU_GUILE_SIEVE_SCRIPTS_X)'
1078 MU_GUILE_SIEVE_SCRIPTS='$(MU_GUILE_SIEVE_SCRIPTS_X)' 1059 MU_GUILE_SIEVE_MOD_DATA='$(MU_GUILE_SIEVE_MOD_DATA_X)'
1079 MU_GUILE_SIEVE_MOD_DATA='$(MU_GUILE_SIEVE_MOD_DATA_X)' 1060 GUILE_BUILT_SOURCES='$(GUILE_BUILT_SOURCES_X)'
1080 GUILE_BUILT_SOURCES='$(GUILE_BUILT_SOURCES_X)' 1061 ],[useguile=no])
1081 case "$GUILE_VERSION" in 1062
1082 14) GUILE_SNARF_VERSION="1.4";; 1063 if test "$useguile" = "yes"; then
1083 16|17) GUILE_SNARF_VERSION="1.6";; 1064 AC_ARG_WITH([guiledir],
1084 *) GUILE_SNARF_VERSION="1.6";; 1065 AC_HELP_STRING([--with-guiledir=DIR],
1085 esac 1066 [Specify the directory to install guile modules to]),
1086 ],[useguile=no]) 1067 [case $withval in
1068 /*) GUILE_SITE=$withval;;
1069 yes) GUILE_SITE=`$GUILE_CONFIG info pkgdatadir`/site;;
1070 *) AC_MSG_ERROR([Argument to --with-guiledir must be an absolute directory name]);;
1071 esac],
1072 [GUILE_SITE=`$GUILE_CONFIG info pkgdatadir`/site
1073 pfx=$prefix
1074 test "$pfx" = NONE && pfx=$ac_default_prefix
1075 case $GUILE_SITE in
1076 $pfx/*) ;; # OK
1077 *) AC_MSG_WARN([guile site directory "$GUILE_SITE" lies outside your current prefix ($pfx).])
1078 GUILE_SITE='$(pkgdatadir)/$(VERSION)/guile'
1079 AC_MSG_WARN([Falling back to ${GUILE_SITE} instead. Use --with-guiledir to force using site directory.])
1080 ;;
1081 esac])
1082 fi
1087 fi 1083 fi
1088 1084
1085 AC_SUBST(GUILE_SITE)
1086
1089 dnl Check for Emacs site-lisp directory 1087 dnl Check for Emacs site-lisp directory
1090 AM_PATH_LISPDIR 1088 AM_PATH_LISPDIR
1091 1089
...@@ -1105,11 +1103,9 @@ case "${withval}" in ...@@ -1105,11 +1103,9 @@ case "${withval}" in
1105 *) AC_MSG_ERROR(bad value ${withval} for --without-python) ;; 1103 *) AC_MSG_ERROR(bad value ${withval} for --without-python) ;;
1106 esac],[status_python=yes]) 1104 esac],[status_python=yes])
1107 1105
1108 AC_SUBST(MU_PY)
1109 if test "$status_python" = yes; then 1106 if test "$status_python" = yes; then
1110 AM_PATH_PYTHON(2.5.0,, [status_python=no]) 1107 AM_PATH_PYTHON(2.5.0,, [status_python=no])
1111 if test "$status_python" = yes; then 1108 if test "$status_python" = yes; then
1112 MU_PY=libmu_py.la
1113 AC_ARG_VAR([PYTHON_CONFIG], [The name of python-config binary]) 1109 AC_ARG_VAR([PYTHON_CONFIG], [The name of python-config binary])
1114 AC_PATH_PROG([PYTHON_CONFIG], python-config) 1110 AC_PATH_PROG([PYTHON_CONFIG], python-config)
1115 if test -n "$PYTHON_CONFIG"; then 1111 if test -n "$PYTHON_CONFIG"; then
...@@ -1121,11 +1117,21 @@ if test "$status_python" = yes; then ...@@ -1121,11 +1117,21 @@ if test "$status_python" = yes; then
1121 1117
1122 if test "$status_python" = yes; then 1118 if test "$status_python" = yes; then
1123 AC_DEFINE(WITH_PYTHON,1,[Enable Python support]) 1119 AC_DEFINE(WITH_PYTHON,1,[Enable Python support])
1124 AC_SUBST(MU_PYTHON_LTLIBS,'$(MU_PYTHON_LTLIBS)') 1120 AC_SUBST(MU_PY_LIB_LTLIBRARIES_BUILD, '$(MU_PY_LIB_LTLIBRARIES_LIST)')
1121 AC_SUBST(MU_PY_PKGPYEXEC_LTLIBRARIES_BUILD,'$(MU_PY_PKGPYEXEC_LTLIBRARIES_LIST)')
1122 AC_SUBST(MU_PY_PKGPYTHON_BUILD,'$(MU_PY_PKGPYTHON_LIST)')
1125 fi 1123 fi
1126 fi 1124 fi
1127 fi 1125 fi
1128 1126
1127 AC_SUBST(MU_CXX_LTLIBRARIES_BUILD)
1128 AC_SUBST(MU_CXX_EXAMPLES_BUILD)
1129 MU_ENABLE_SUPPORT(c++,
1130 [MU_CXX_LTLIBRARIES_BUILD='$(MU_CXX_LTLIBRARIES_LIST)'
1131 MU_CXX_EXAMPLES_BUILD='$(MU_CXX_EXAMPLES_LIST)'],
1132 :,
1133 [mu_cv_enable_cxx=$mu_build_experimental])
1134
1129 # Default mailbox record 1135 # Default mailbox record
1130 # Note: 1. Support for mbox type is always enabled. 1136 # Note: 1. Support for mbox type is always enabled.
1131 # 2. Only local mailbox types are allowed for MU_DEFAULT_SCHEME 1137 # 2. Only local mailbox types are allowed for MU_DEFAULT_SCHEME
...@@ -1188,35 +1194,39 @@ cat <<EOF ...@@ -1188,35 +1194,39 @@ cat <<EOF
1188 ******************************************************************* 1194 *******************************************************************
1189 GNU Mailutils configured with the following settings: 1195 GNU Mailutils configured with the following settings:
1190 1196
1191 Default mailbox scheme......... $status_scheme 1197 Default mailbox scheme ........ $status_scheme
1192 Use PAM........................ $status_pam 1198 Use PAM ....................... $status_pam
1193 Use -ltdl...................... $status_ltdl 1199 Use -ltdl ..................... $status_ltdl
1194 Use DBM........................ $status_dbm 1200 Use DBM ....................... $status_dbm
1195 Use GNU TLS.................... $status_gnutls 1201 Use GNU TLS ................... $status_gnutls
1196 Use GSASL...................... $status_gsasl 1202 Use GSASL ..................... $status_gsasl
1197 Use GSSAPI..................... $status_gssapi 1203 Use GSSAPI .................... $status_gssapi
1198 Use Guile...................... $status_guile 1204 Use TCP wrappers .............. $status_tcpwrap
1199 Use Python..................... $status_python 1205 Pthread support ............... $status_pthread
1200 Use TCP wrappers............... $status_tcpwrap 1206 Readline support .............. $status_readline
1201 Pthread support................ $status_pthread 1207 MySQL support ................. $status_mysql
1202 Readline support............... $status_readline 1208 PostgreSQL suppor ............. $status_pgsql
1203 MySQL support.................. $status_mysql 1209 LDAP support .................. $status_ldap
1204 PostgreSQL support............. $status_pgsql 1210 Radius support ................ $status_radius
1205 LDAP support................... $status_ldap 1211 Support for virtual domains ... $status_virtual_domains
1206 Radius support................. $status_radius 1212
1207 Support for virtual domains.... $status_virtual_domains 1213 Interfaces:
1208 1214
1209 Protocols: 1215 Guile ......................... $status_guile
1210 1216 C++ ........................... $status_cxx
1211 IMAP........................... $status_imap 1217 Python ........................ $status_python
1212 POP............................ $status_pop 1218
1213 MH............................. $status_mh 1219 Mailbox formats:
1214 maildir........................ $status_maildir 1220
1221 IMAP .......................... $status_imap
1222 POP ........................... $status_pop
1223 MH ............................ $status_mh
1224 maildir ....................... $status_maildir
1215 1225
1216 Mailers: 1226 Mailers:
1217 1227
1218 SMTP........................... $status_smtp 1228 SMTP .......................... $status_smtp
1219 Sendmail....................... $status_sendmail 1229 Sendmail ...................... $status_sendmail
1220 1230
1221 1231
1222 ******************************************************************* 1232 *******************************************************************
...@@ -1234,6 +1244,7 @@ status_gsasl=$status_gsasl ...@@ -1234,6 +1244,7 @@ status_gsasl=$status_gsasl
1234 status_gssapi=$WITH_GSSAPI 1244 status_gssapi=$WITH_GSSAPI
1235 status_guile=$useguile 1245 status_guile=$useguile
1236 status_python=$status_python 1246 status_python=$status_python
1247 status_cxx=$mu_cv_enable_cxx
1237 status_tcpwrap=$status_tcpwrap 1248 status_tcpwrap=$status_tcpwrap
1238 status_pthread=$usepthread 1249 status_pthread=$usepthread
1239 status_readline=$usereadline 1250 status_readline=$usereadline
...@@ -1313,10 +1324,8 @@ AC_CONFIG_FILES([Makefile ...@@ -1313,10 +1324,8 @@ AC_CONFIG_FILES([Makefile
1313 python/mailutils/Makefile 1324 python/mailutils/Makefile
1314 readmsg/Makefile 1325 readmsg/Makefile
1315 readmsg/testsuite/Makefile 1326 readmsg/testsuite/Makefile
1316 scripts/Makefile 1327 mu-aux/Makefile
1317 scripts/guile-1.4/Makefile 1328 mu-aux/mailutils.spec
1318 scripts/guile-1.6/Makefile
1319 scripts/mailutils.spec
1320 sieve/Makefile 1329 sieve/Makefile
1321 sieve/testsuite/Makefile 1330 sieve/testsuite/Makefile
1322 testsuite/Makefile 1331 testsuite/Makefile
......
...@@ -83,7 +83,7 @@ VPATH = $(s) ...@@ -83,7 +83,7 @@ VPATH = $(s)
83 83
84 SUFFIXES=.c .inc 84 SUFFIXES=.c .inc
85 .c.inc: 85 .c.inc:
86 sed -f $(top_srcdir)/scripts/texify.sed $< > $@ 86 sed -f $(mu_aux_dir)/texify.sed $< > $@
87 87
88 DISTCLEANFILES=*.pgs *.kys *.vrs 88 DISTCLEANFILES=*.pgs *.kys *.vrs
89 MAINTAINERCLEANFILES=$(INCFILES) 89 MAINTAINERCLEANFILES=$(INCFILES)
......
1 ## Process this file with GNU Automake to create Makefile.in 1 ## Process this file with GNU Automake to create Makefile.in
2 2
3 ## Copyright (C) 2002, 2003, 2004, 2007, 2008 Free Software Foundation, Inc. 3 ## Copyright (C) 2002, 2003, 2004, 2007, 2008,
4 ## 2009 Free Software Foundation, Inc.
4 ## 5 ##
5 ## GNU Mailutils is free software; you can redistribute it and/or 6 ## GNU Mailutils is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU General Public License as 7 ## modify it under the terms of the GNU General Public License as
...@@ -48,7 +49,7 @@ noinst_PROGRAMS = \ ...@@ -48,7 +49,7 @@ noinst_PROGRAMS = \
48 ## will not create a shared library and `make check' will fail in 49 ## will not create a shared library and `make check' will fail in
49 ## sieve. Pity. 50 ## sieve. Pity.
50 ## -Sergey 51 ## -Sergey
51 moddir=@SIEVE_MODDIR@ 52 moddir=@MU_SIEVE_MODDIR@
52 mod_LTLIBRARIES = numaddr.la 53 mod_LTLIBRARIES = numaddr.la
53 54
54 INCLUDES = @MU_COMMON_INCLUDES@ 55 INCLUDES = @MU_COMMON_INCLUDES@
...@@ -60,7 +61,7 @@ LDADD = \ ...@@ -60,7 +61,7 @@ LDADD = \
60 61
61 numaddr_la_SOURCES = numaddr.c 62 numaddr_la_SOURCES = numaddr.c
62 numaddr_la_LIBADD = ${MU_LIB_SIEVE} 63 numaddr_la_LIBADD = ${MU_LIB_SIEVE}
63 numaddr_la_LDFLAGS = -module -avoid-version -no-undefined 64 numaddr_la_LDFLAGS = -module -avoid-version -no-undefined -rpath '$(moddir)'
64 65
65 mimetest_LDADD =\ 66 mimetest_LDADD =\
66 ../lib/libmuaux.la\ 67 ../lib/libmuaux.la\
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
18 ## 02110-1301 USA 18 ## 02110-1301 USA
19 19
20 CXX_EXAMPLES = \ 20 MU_CXX_EXAMPLES_LIST = \
21 addr\ 21 addr\
22 http\ 22 http\
23 iconv\ 23 iconv\
...@@ -30,8 +30,8 @@ CXX_EXAMPLES = \ ...@@ -30,8 +30,8 @@ CXX_EXAMPLES = \
30 sfrom\ 30 sfrom\
31 url-parse 31 url-parse
32 32
33 EXTRA_PROGRAMS=$(CXX_EXAMPLES) 33 EXTRA_PROGRAMS=$(MU_CXX_EXAMPLES_LIST)
34 noinst_PROGRAMS = @MU_BUILT_CXX_EXAMPLES@ 34 noinst_PROGRAMS = @MU_CXX_EXAMPLES_BUILD@
35 35
36 INCLUDES = @MU_COMMON_INCLUDES@ 36 INCLUDES = @MU_COMMON_INCLUDES@
37 37
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
21 BUILT_SOURCES=errno.h debug.h 21 BUILT_SOURCES=errno.h debug.h
22 EXTRA_DIST=errno.hin debug.hm4 types.hin 22 EXTRA_DIST=errno.hin debug.hm4 types.hin
23 errno.h: $(top_srcdir)/mailbox/errors errno.hin 23 errno.h: $(top_srcdir)/mailbox/errors errno.hin
24 $(AWK) -f $(top_srcdir)/scripts/generr.awk $^ > $@ 24 $(AWK) -f $(mu_aux_dir)/generr.awk $^ > $@
25 25
26 debug.h: $(top_srcdir)/scripts/debugdef.m4 debug.hm4 26 debug.h: $(mu_aux_dir)/debugdef.m4 debug.hm4
27 m4 $(top_srcdir)/scripts/debugdef.m4 debug.hm4 > debug.h 27 m4 $(mu_aux_dir)/debugdef.m4 debug.hm4 > debug.h
28 28
29 types.h: $(top_srcdir)/include/mailutils/types.hin Makefile 29 types.h: $(top_srcdir)/include/mailutils/types.hin Makefile
30 sed 's/_MU_OFF_TYPE_/$(MU_OFF_TYPE)/;s/_MU_DEFAULT_RECORD_/$(MU_DEFAULT_RECORD)/' $(top_srcdir)/include/mailutils/types.hin > $@ 30 sed 's/_MU_OFF_TYPE_/$(MU_OFF_TYPE)/;s/_MU_DEFAULT_RECORD_/$(MU_DEFAULT_RECORD)/' $(top_srcdir)/include/mailutils/types.hin > $@
......
1 /* GNU Mailutils -- a suite of utilities for electronic mail 1 /* GNU Mailutils -- a suite of utilities for electronic mail
2 Copyright (C) 1999, 2000, 2001, 2002, 2005, 2006, 2007 2 Copyright (C) 1999, 2000, 2001, 2002, 2005, 2006, 2007,
3 Free Software Foundation, Inc. 3 2009 Free Software Foundation, Inc.
4 4
5 This library is free software; you can redistribute it and/or 5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public 6 modify it under the terms of the GNU Lesser General Public
...@@ -22,58 +22,7 @@ ...@@ -22,58 +22,7 @@
22 22
23 #include <libguile.h> 23 #include <libguile.h>
24 24
25 #if GUILE_VERSION == 14 25 #define MU_SCM_SYMBOL_VALUE(p) SCM_VARIABLE_REF(scm_c_lookup(p))
26
27 # define SCM_STRING_CHARS SCM_CHARS
28 # define scm_list_1 SCM_LIST1
29 # define scm_list_2 SCM_LIST2
30 # define scm_list_3 SCM_LIST3
31 # define scm_list_4 SCM_LIST4
32 # define scm_list_5 SCM_LIST5
33 # define scm_list_n SCM_LISTN
34 # define scm_c_define scm_sysintern
35 # define scm_primitive_eval_x scm_eval_x
36 # define scm_i_big2dbl scm_big2dbl
37 # define scm_c_eval_string scm_eval_0str
38 # define MU_SCM_SYMBOL_VALUE(p) scm_symbol_value0(p)
39
40 extern SCM scm_long2num (long val);
41
42 #else
43 # define MU_SCM_SYMBOL_VALUE(p) SCM_VARIABLE_REF(scm_c_lookup(p))
44 #endif
45
46 #if GUILE_VERSION < 18
47
48 # define scm_i_string_chars SCM_ROCHARS
49 # define scm_i_string_length SCM_ROLENGTH
50 # define scm_is_string(s) (SCM_NIMP(s) && SCM_STRINGP(s))
51 # define scm_from_locale_stringn(s,l) scm_makfromstr(s,l,0)
52 # define scm_from_locale_string(s) scm_makfrom0str(s)
53
54 # define scm_from_locale_symbol(s) scm_str2symbol(s)
55
56 # define scm_from_int SCM_MAKINUM
57 # define scm_from_size_t mu_scm_makenum
58
59 # define scm_gc_malloc scm_must_malloc
60
61 /* FIXME */
62 # define scm_is_integer SCM_INUMP
63 # define scm_to_int32 SCM_INUM
64 # define scm_to_int SCM_INUM
65
66 # define DECL_SCM_T_ARRAY_HANDLE(name)
67 # define SCM_T_ARRAY_HANDLE_PTR(name) 0
68 # define scm_vector_writable_elements(res,handle,a,b) SCM_VELTS(res)
69 # define scm_array_handle_release(h)
70
71 #else
72
73 # define DECL_SCM_T_ARRAY_HANDLE(name) scm_t_array_handle name
74 # define SCM_T_ARRAY_HANDLE_PTR(name) &(name)
75
76 #endif
77 26
78 typedef struct 27 typedef struct
79 { 28 {
......
...@@ -19,9 +19,9 @@ ...@@ -19,9 +19,9 @@
19 19
20 INCLUDES = @MU_COMMON_INCLUDES@ 20 INCLUDES = @MU_COMMON_INCLUDES@
21 21
22 MU_CXX_LIBS = libmu_cpp.la 22 MU_CXX_LTLIBRARIES_LIST = libmu_cpp.la
23 lib_LTLIBRARIES = @MU_CXX_LIBS@ 23 lib_LTLIBRARIES = @MU_CXX_LTLIBRARIES_BUILD@
24 EXTRA_LTLIBRARIES = $(MU_CXX_LIBS) 24 EXTRA_LTLIBRARIES = $(MU_CXX_LTLIBRARIES_LIST)
25 25
26 libmu_cpp_la_SOURCES = \ 26 libmu_cpp_la_SOURCES = \
27 address.cc\ 27 address.cc\
......
1 ## Process this file with GNU Automake to create Makefile.in 1 ## Process this file with GNU Automake to create Makefile.in
2 2
3 ## Copyright (C) 2001, 2002, 2006, 2007 Free Software Foundation, Inc. 3 ## Copyright (C) 2001, 2002, 2006, 2007,
4 ## 2009 Free Software Foundation, Inc.
4 ## 5 ##
5 ## GNU Mailutils is free software; you can redistribute it and/or 6 ## GNU Mailutils is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU General Public License as 7 ## modify it under the terms of the GNU General Public License as
...@@ -19,7 +20,8 @@ ...@@ -19,7 +20,8 @@
19 20
20 INCLUDES = -I. @MU_COMMON_INCLUDES@ @GUILE_INCLUDES@ 21 INCLUDES = -I. @MU_COMMON_INCLUDES@ @GUILE_INCLUDES@
21 22
22 lib_LTLIBRARIES=@MU_SCM@ 23 MU_SCM_LTLIBRARIES_LIST = libmu_scm.la
24 lib_LTLIBRARIES=@MU_SCM_LTLIBRARIES_BUILD@
23 EXTRA_LTLIBRARIES=libmu_scm.la 25 EXTRA_LTLIBRARIES=libmu_scm.la
24 C_SRCS=\ 26 C_SRCS=\
25 mu_address.c\ 27 mu_address.c\
...@@ -90,7 +92,7 @@ AM_CPPFLAGS=-DDATADIR=\"$(pkgdatadir)\" ...@@ -90,7 +92,7 @@ AM_CPPFLAGS=-DDATADIR=\"$(pkgdatadir)\"
90 ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \ 92 ETAGS_ARGS = --regex='/SCM_\(GLOBAL_\)?\(G?PROC\|G?PROC1\|SYMBOL\|VCELL\|CONST_LONG\).*\"\([^\"]\)*\"/\3/' \
91 --regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/' 93 --regex='/[ \t]*SCM_[G]?DEFINE1?[ \t]*(\([^,]*\),[^,]*/\1/'
92 94
93 GUILE_DOC_SNARF=$(top_srcdir)/scripts/guile-$(GUILE_SNARF_VERSION)/guile-doc-snarf 95 GUILE_DOC_SNARF=$(mu_aux_dir)/guile-doc-snarf
94 96
95 SUFFIXES=.x .doc .inc .in 97 SUFFIXES=.x .doc .inc .in
96 98
......
...@@ -31,11 +31,11 @@ SCM_DEFINE (scm_mu_getpwuid, "mu-getpwuid", 1, 0, 0, ...@@ -31,11 +31,11 @@ SCM_DEFINE (scm_mu_getpwuid, "mu-getpwuid", 1, 0, 0,
31 SCM result; 31 SCM result;
32 struct mu_auth_data *entry; 32 struct mu_auth_data *entry;
33 SCM *ve; 33 SCM *ve;
34 DECL_SCM_T_ARRAY_HANDLE(handle); 34 scm_t_array_handle handle;
35 35
36 result = scm_c_make_vector (8, SCM_UNSPECIFIED); 36 result = scm_c_make_vector (8, SCM_UNSPECIFIED);
37 ve = scm_vector_writable_elements (result, 37 ve = scm_vector_writable_elements (result,
38 SCM_T_ARRAY_HANDLE_PTR(handle), 38 &handle,
39 NULL, NULL); 39 NULL, NULL);
40 40
41 if (scm_is_integer (USER)) 41 if (scm_is_integer (USER))
...@@ -69,7 +69,7 @@ SCM_DEFINE (scm_mu_getpwuid, "mu-getpwuid", 1, 0, 0, ...@@ -69,7 +69,7 @@ SCM_DEFINE (scm_mu_getpwuid, "mu-getpwuid", 1, 0, 0,
69 ve[6] = scm_makfrom0str (entry->shell); 69 ve[6] = scm_makfrom0str (entry->shell);
70 ve[7] = scm_makfrom0str (entry->mailbox); 70 ve[7] = scm_makfrom0str (entry->mailbox);
71 71
72 scm_array_handle_release (SCM_T_ARRAY_HANDLE_PTR (handle)); 72 scm_array_handle_release (&handle);
73 73
74 mu_auth_data_free (entry); 74 mu_auth_data_free (entry);
75 return result; 75 return result;
......
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
20 20
21 INCLUDES = @MU_COMMON_INCLUDES@ 21 INCLUDES = @MU_COMMON_INCLUDES@
22 22
23 YLWRAP = $(SHELL) $(top_srcdir)/scripts/gylwrap 23 YLWRAP = $(SHELL) $(mu_aux_dir)/gylwrap
24 AM_YFLAGS = -dtv 24 AM_YFLAGS = -dtv
25 AM_CPPFLAGS = -DSIEVE_MODDIR=\"@SIEVE_MODDIR@\" 25 AM_CPPFLAGS = -DMU_SIEVE_MODDIR=\"@MU_SIEVE_MODDIR@\"
26 26
27 SUBDIRS = . extensions 27 SUBDIRS = . extensions
28 28
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
18 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 18 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
19 ## 02110-1301 USA 19 ## 02110-1301 USA
20 20
21 moddir=@SIEVE_MODDIR@ 21 moddir=@MU_SIEVE_MODDIR@
22 mod_LTLIBRARIES = \ 22 mod_LTLIBRARIES = \
23 list.la\ 23 list.la\
24 moderator.la\ 24 moderator.la\
...@@ -29,28 +29,17 @@ mod_LTLIBRARIES = \ ...@@ -29,28 +29,17 @@ mod_LTLIBRARIES = \
29 29
30 INCLUDES = @MU_COMMON_INCLUDES@ 30 INCLUDES = @MU_COMMON_INCLUDES@
31 31
32 AM_LDFLAGS = ../../lib/libmuaux.la ${MU_LIB_MAILUTILS} 32 AM_LDFLAGS = -module -avoid-version -no-undefined -rpath '$(moddir)'
33 33
34 list_la_SOURCES = list.c 34 list_la_SOURCES = list.c
35 list_la_LIBADD = ../libmu_sieve.la 35 LIBS = ../libmu_sieve.la
36 list_la_LDFLAGS = -module -avoid-version -no-undefined
37 36
38 moderator_la_SOURCES = moderator.c 37 moderator_la_SOURCES = moderator.c
39 moderator_la_LIBADD = ../libmu_sieve.la
40 moderator_la_LDFLAGS = -module -avoid-version -no-undefined
41 38
42 spamd_la_SOURCES = spamd.c 39 spamd_la_SOURCES = spamd.c
43 spamd_la_LIBADD = ../libmu_sieve.la
44 spamd_la_LDFLAGS = -module -avoid-version -no-undefined
45 40
46 timestamp_la_SOURCES = timestamp.c 41 timestamp_la_SOURCES = timestamp.c
47 timestamp_la_LIBADD = ../libmu_sieve.la
48 timestamp_la_LDFLAGS = -module -avoid-version -no-undefined
49 42
50 vacation_la_SOURCES = vacation.c 43 vacation_la_SOURCES = vacation.c
51 vacation_la_LIBADD = ../libmu_sieve.la
52 vacation_la_LDFLAGS = -module -avoid-version -no-undefined
53 44
54 pipe_la_SOURCES = pipe.c 45 pipe_la_SOURCES = pipe.c
55 pipe_la_LIBADD = ../libmu_sieve.la
56 pipe_la_LDFLAGS = -module -avoid-version -no-undefined
......
...@@ -53,8 +53,8 @@ sieve_init_load_path () ...@@ -53,8 +53,8 @@ sieve_init_load_path ()
53 { 53 {
54 if (lt_dlinit ()) 54 if (lt_dlinit ())
55 return 1; 55 return 1;
56 #ifdef SIEVE_MODDIR 56 #ifdef MU_SIEVE_MODDIR
57 _add_load_dir (SIEVE_MODDIR, NULL); 57 _add_load_dir (MU_SIEVE_MODDIR, NULL);
58 inited = 1; 58 inited = 1;
59 #endif 59 #endif
60 } 60 }
......
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
20 INCLUDES = @MU_COMMON_INCLUDES@ 20 INCLUDES = @MU_COMMON_INCLUDES@
21 21
22 SUBDIRS = testsuite 22 SUBDIRS = testsuite
23 PROGRAMS_SMTP = mail.remote$(EXEEXT) 23 MU_SMTP_PROGRAMS_LIST = mail.remote$(EXEEXT)
24 EXTRA_PROGRAMS = mail.remote 24 EXTRA_PROGRAMS = mail.remote
25 libexec_PROGRAMS = @BUILD_SMTP_PROGRAMS@ 25 libexec_PROGRAMS = @MU_SMTP_PROGRAMS_BUILD@
26 26
27 mail_remote_SOURCES = mail.remote.c 27 mail_remote_SOURCES = mail.remote.c
28 28
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
19 19
20 AUTOMAKE_OPTIONS = dejagnu 20 AUTOMAKE_OPTIONS = dejagnu
21 SMTP_DEJATOOL = mail.remote 21 SMTP_DEJATOOL = mail.remote
22 DEJATOOL = @RUN_SMTP_DEJATOOL@ 22 DEJATOOL = @MU_SMTP_DEJATOOL@
23 RUNTESTFLAGS = 23 RUNTESTFLAGS =
24 CLEANFILES = *.log 24 CLEANFILES = *.log
25 test_dirs = lib mail.remote 25 test_dirs = lib mail.remote
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
20 20
21 INCLUDES = @MU_COMMON_INCLUDES@ -I${top_srcdir}/libproto/include 21 INCLUDES = @MU_COMMON_INCLUDES@ -I${top_srcdir}/libproto/include
22 22
23 YLWRAP = $(SHELL) $(top_srcdir)/scripts/gylwrap 23 YLWRAP = $(SHELL) $(mu_aux_dir)/gylwrap
24 AM_YFLAGS=-vt 24 AM_YFLAGS=-vt
25 AM_LFLAGS=-dvp 25 AM_LFLAGS=-dvp
26 26
...@@ -146,7 +146,7 @@ cfg_lexer.c: $(srcdir)/cfg_lexer.l cfg_parser.h ...@@ -146,7 +146,7 @@ cfg_lexer.c: $(srcdir)/cfg_lexer.l cfg_parser.h
146 -- -yy mu_cfg_yy 146 -- -yy mu_cfg_yy
147 147
148 muerrno.c: errors muerrno.cin 148 muerrno.c: errors muerrno.cin
149 $(AWK) -f $(top_srcdir)/scripts/generr.awk $^ > $@ 149 $(AWK) -f $(mu_aux_dir)/generr.awk $^ > $@
150 150
151 libmailutils_la_LIBADD = @MU_COMMON_LIBRARIES@ 151 libmailutils_la_LIBADD = @MU_COMMON_LIBRARIES@
152 libmailutils_la_LDFLAGS = -version-info @VI_CURRENT@:@VI_REVISION@:@VI_AGE@ 152 libmailutils_la_LDFLAGS = -version-info @VI_CURRENT@:@VI_REVISION@:@VI_AGE@
......
1 ## Process this file with GNU Automake to create Makefile.in 1 ## Process this file with GNU Automake to create Makefile.in
2 2
3 ## Copyright (C) 2001, 2002, 2003, 2007 Free Software Foundation, Inc. 3 ## Copyright (C) 2001, 2002, 2003, 2007, 2009 Free Software Foundation, Inc.
4 ## 4 ##
5 ## GNU Mailutils is free software; you can redistribute it and/or 5 ## GNU Mailutils is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU General Public License as 6 ## modify it under the terms of the GNU General Public License as
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
19 19
20 # All MH programs. Note that we have to explicitely append EXEEXT, Makefile 20 # All MH programs. Note that we have to explicitely append EXEEXT, Makefile
21 # won't do that. 21 # won't do that.
22 PROGRAMS_MH = \ 22 MU_MH_PROGRAMS_LIST = \
23 ali$(EXEEXT)\ 23 ali$(EXEEXT)\
24 anno$(EXEEXT)\ 24 anno$(EXEEXT)\
25 burst$(EXEEXT)\ 25 burst$(EXEEXT)\
...@@ -71,13 +71,13 @@ EXTRA_PROGRAMS = \ ...@@ -71,13 +71,13 @@ EXTRA_PROGRAMS = \
71 whatnow\ 71 whatnow\
72 whom 72 whom
73 73
74 LIBRARIES_MH = libmh.a 74 MU_MH_LIBRARIES_LIST = libmh.a
75 EXTRA_LIBRARIES = libmh.a 75 EXTRA_LIBRARIES = libmh.a
76 76
77 bindir = @MH_BIN_DIR@ 77 bindir = @MH_BIN_DIR@
78 mhlibdir = $(pkgdatadir)/mh 78 mhlibdir = $(pkgdatadir)/mh
79 bin_PROGRAMS = @BUILD_MH_PROGRAMS@ 79 bin_PROGRAMS = @MU_MH_PROGRAMS_BUILD@
80 noinst_LIBRARIES = @BUILD_MH_LIBRARIES@ 80 noinst_LIBRARIES = @MU_MH_LIBRARIES_BUILD@
81 81
82 libmh_a_SOURCES= \ 82 libmh_a_SOURCES= \
83 compcommon.c\ 83 compcommon.c\
...@@ -143,7 +143,7 @@ LDADD = $(mh_LIBS) ...@@ -143,7 +143,7 @@ LDADD = $(mh_LIBS)
143 scan_LDADD = $(mh_LIBS) @CURSES_LIBS@ 143 scan_LDADD = $(mh_LIBS) @CURSES_LIBS@
144 pick_SOURCES = pick.c pick.h pick-gram.c pick-gram.h 144 pick_SOURCES = pick.c pick.h pick-gram.c pick-gram.h
145 145
146 YLWRAP = $(SHELL) $(top_srcdir)/scripts/gylwrap 146 YLWRAP = $(SHELL) $(mu_aux_dir)/gylwrap
147 AM_YFLAGS=-vt 147 AM_YFLAGS=-vt
148 148
149 pick-gram.c pick-gram.h: $(srcdir)/pick.y 149 pick-gram.c pick-gram.h: $(srcdir)/pick.y
...@@ -168,7 +168,7 @@ mh_alias_lex.c: $(srcdir)/mh_alias.l mh_alias.h ...@@ -168,7 +168,7 @@ mh_alias_lex.c: $(srcdir)/mh_alias.l mh_alias.h
168 $(srcdir)/mh_alias.l lex.yy.c mh_alias_lex.c \ 168 $(srcdir)/mh_alias.l lex.yy.c mh_alias_lex.c \
169 -- -yy ali_yy 169 -- -yy ali_yy
170 170
171 install-exec-hook: @BUILD_MH_EXEC_HOOK@ 171 install-exec-hook: @MU_MH_EXEC_HOOK@
172 172
173 mh_finish_install: 173 mh_finish_install:
174 @here=`pwd`; \ 174 @here=`pwd`; \
......
...@@ -29,7 +29,7 @@ mimeview_SOURCES = \ ...@@ -29,7 +29,7 @@ mimeview_SOURCES = \
29 mimetypes-decl.h \ 29 mimetypes-decl.h \
30 mimeview.h 30 mimeview.h
31 31
32 YLWRAP = $(SHELL) $(top_srcdir)/scripts/gylwrap 32 YLWRAP = $(SHELL) $(mu_aux_dir)/gylwrap
33 AM_YFLAGS=-vt 33 AM_YFLAGS=-vt
34 AM_LEXFLAGS=-d 34 AM_LEXFLAGS=-d
35 AM_CPPFLAGS=-D_GNU_SOURCE=1 35 AM_CPPFLAGS=-D_GNU_SOURCE=1
......
...@@ -17,9 +17,10 @@ ...@@ -17,9 +17,10 @@
17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
18 ## 02110-1301 USA 18 ## 02110-1301 USA
19 19
20 SUBDIRS = guile-1.4 guile-1.6
21 EXTRA_DIST = \ 20 EXTRA_DIST = \
22 debugdef.m4\ 21 debugdef.m4\
22 guile-doc-snarf\
23 guile-doc-snarf.awk\
23 gylwrap\ 24 gylwrap\
24 mailutils.spec\ 25 mailutils.spec\
25 mailutils.spec.in\ 26 mailutils.spec.in\
......
...@@ -21,7 +21,8 @@ INCLUDES = @MU_COMMON_INCLUDES@ $(PYTHON_INCLUDES) ...@@ -21,7 +21,8 @@ INCLUDES = @MU_COMMON_INCLUDES@ $(PYTHON_INCLUDES)
21 21
22 EXTRA_LTLIBRARIES = libmu_py.la c_api.la 22 EXTRA_LTLIBRARIES = libmu_py.la c_api.la
23 23
24 lib_LTLIBRARIES=@MU_PY@ 24 MU_PY_LIB_LTLIBRARIES_LIST=libmu_py.la
25 lib_LTLIBRARIES=@MU_PY_LIB_LTLIBRARIES_BUILD@
25 libmu_py_la_SOURCES = \ 26 libmu_py_la_SOURCES = \
26 error.c \ 27 error.c \
27 address.c \ 28 address.c \
...@@ -61,8 +62,8 @@ libmu_py_la_LIBADD = $(PYTHON_LIBS) @MU_COMMON_LIBRARIES@ \ ...@@ -61,8 +62,8 @@ libmu_py_la_LIBADD = $(PYTHON_LIBS) @MU_COMMON_LIBRARIES@ \
61 @MU_AUTHLIBS@\ 62 @MU_AUTHLIBS@\
62 ${MU_LIB_MAILUTILS} 63 ${MU_LIB_MAILUTILS}
63 64
64 MU_PYTHON_LTLIBS = c_api.la 65 MU_PY_PKGPYEXEC_LTLIBRARIES_LIST = c_api.la
65 pkgpyexec_LTLIBRARIES = @MU_PYTHON_LTLIBS@ 66 pkgpyexec_LTLIBRARIES = @MU_PY_PKGPYEXEC_LTLIBRARIES_BUILD@
66 c_api_la_LDFLAGS = -avoid-version -module -rpath $(pkgpyexecdir) 67 c_api_la_LDFLAGS = -avoid-version -module -rpath $(pkgpyexecdir)
67 c_api_la_LIBADD = $(PYTHON_LIBS) ${MU_LIB_PY} 68 c_api_la_LIBADD = $(PYTHON_LIBS) ${MU_LIB_PY}
68 c_api_la_SOURCES = c_api.c 69 c_api_la_SOURCES = c_api.c
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
18 ## 02110-1301 USA 18 ## 02110-1301 USA
19 19
20 pkgpython_PYTHON = \ 20 MU_PY_PKGPYTHON_LIST=\
21 __init__.py \ 21 __init__.py \
22 error.py \ 22 error.py \
23 address.py \ 23 address.py \
...@@ -39,3 +39,5 @@ pkgpython_PYTHON = \ ...@@ -39,3 +39,5 @@ pkgpython_PYTHON = \
39 url.py \ 39 url.py \
40 util.py 40 util.py
41 41
42 pkgpython_PYTHON=@MU_PY_PKGPYTHON_BUILD@
43 EXTRA_PYTHON=$(MU_PY_PKGPYTHON_LIST)
......
1 .gdbinit
2 Makefile
3 Makefile.in
4 compile
5 config.guess
6 config.rpath
7 config.sub
8 depcomp
9 elisp-comp
10 install-sh
11 link-warning.h
12 ltmain.sh
13 mailutils.spec
14 mdate-sh
15 missing
16 mkinstalldirs
17 texinfo.tex
1 compile
2 config.guess
3 config.rpath
4 config.sub
5 depcomp
6 elisp-comp
7 gitlog-to-changelog
8 install-sh
9 link-warning.h
10 ltmain.sh
11 mailutils.spec
12 mdate-sh
13 missing
14 py-compile
15 texinfo.tex
16 ylwrap
1 ## Process this file with GNU Automake to create Makefile.in
2
3 ## Copyright (C) 2002, 2007 Free Software Foundation, Inc.
4 ##
5 ## GNU Mailutils is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU General Public License as
7 ## published by the Free Software Foundation; either version 3, or (at
8 ## your option) any later version.
9 ##
10 ## This program is distributed in the hope that it will be useful, but
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 ## General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
18 ## 02110-1301 USA
19
20 EXTRA_DIST = \
21 guile-doc-snarf\
22 guile-func-name-check\
23 guile-snarf.awk
1 #! /bin/sh
2 # Extract the initialization actions for builtin things.
3 #
4 # Copyright (C) 1999, 2000, 2007 Free Software Foundation, Inc.
5 #
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3, or (at your option)
9 # any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this software; see the file COPYING. If not, write to
18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301 USA
20 #
21 ## For some obscure reason, the original guile-doc-snarf distributed
22 ## with guile up to version 1.4, passes guile-func-name-check
23 ## to awk without absolute path spec. Consequently the script bails
24 ## out unless guile-func-name-check is in the current directory.
25 ## This version assumes that both scripts live in the same directory
26 ## and deduces the path to guile-func-name-check from the own pathname.
27 ## --gray
28
29 OUTFILE=/dev/tty
30 DOCFILE=0
31
32 # process aruments
33 while [ $# -gt 0 ];
34 do
35 case $1 in
36 -o) OUTFILE=$2; shift 2;;
37 -d) DOCFILE=1; shift;;
38 *) break;;
39 esac
40 done
41
42 fullfilename=$1; shift
43
44 # strip path to source directory
45 filename=`basename $fullfilename`
46
47 if [ $DOCFILE -ne 0 ]; then
48 dot_doc=$OUTFILE
49 OUTFILE=/dev/null
50 else
51 # we need to be sure that the .x file exists
52 # since the .c/.cc file may include it
53 # (the old guile-snarf did not have this problem
54 # because the makefile redirects output to the .x file
55 # which creates the file before the inclusion occurs)
56 # --12/12/99 gjb
57 no_ext=`echo $filename | sed 's/\.[^.]*$//g'`
58 dot_doc=${no_ext}.doc
59 fi
60
61 temp="/tmp/snarf.$$"
62 trap "rm -f $temp" 0 1 2 15
63
64 ## Let the user override the preprocessor & awk autoconf found.
65 test -n "${CPP+set}" || CPP="gcc -E"
66 test -n "${AWK+set}" || AWK="gawk"
67
68 ## Must run guile-func-name-check on the unpreprocessed source
69 ${AWK} -f `dirname $0`/guile-func-name-check "$fullfilename"
70
71 ## We must use a temporary file here, instead of a pipe, because we
72 ## need to know if CPP exits with a non-zero status.
73 echo "/* empty */" > $OUTFILE
74 ${CPP} -DSCM_MAGIC_SNARFER $fullfilename "$@" > ${temp}
75 if [ $? -ne 0 ]; then
76 rm -f $OUTFILE
77 exit 1
78 fi
79
80 cat ${temp} | \
81 sed 's/^\(.\{128\}.\{128\}.\{128\}.\{128\}.\{128\}.\{128\}.\{128\}.\{128\}\).*/\1/g' | \
82 ${AWK} -f `dirname $0`/guile-snarf.awk `basename ${dot_doc}` > $OUTFILE
1 #! /usr/bin/awk -f
2 #
3 # Copyright (C) 2000, 2007 Free Software Foundation, Inc.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3, or (at your option)
8 # any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this software; see the file COPYING. If not, write to
17 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 # Boston, MA 02110-1301 USA
19 #
20 # Written by Greg J. Badros, <gjb@cs.washington.edu>
21 # 11-Jan-2000
22
23 BEGIN {
24 filename = ARGV[1];
25 }
26
27 /^SCM_DEFINE/ {
28 func_name = $0;
29 sub(/^[^\(\n]*\([ \t]*/,"", func_name);
30 sub(/[ \t]*,.*/,"", func_name);
31 # print func_name; # GJB:FIXME:: flag to do this to list primitives?
32 in_a_func = 1;
33 }
34
35 in_a_func && /^\{/ {
36 if (!match(last_line,/^#define[ \t]+FUNC_NAME[ \t]+/)) {
37 printf filename ":" NR ":***" > "/dev/stderr";
38 print "Missing or erroneous `#define FUNC_NAME s_" func_name "'" > "/dev/stderr";
39 } else {
40 sub(/^#define[ \t]+FUNC_NAME[ \t]+s_/, "", last_line);
41 sub(/[ \t]*$/,"",last_line);
42 if (last_line != func_name) {
43 printf filename ":" NR ":***" > "/dev/stderr";
44 print "Mismatching FUNC_NAME. Should be: `#define FUNC_NAME s_" func_name "'" > "/dev/stderr";
45 }
46 }
47 }
48
49 1 == next_line_better_be_undef {
50 if (!match($0,/^#undef FUNC_NAME[ \t]*$/)) {
51 printf filename ":" NR ":***" > "/dev/stderr";
52 print "Missing or erroneous #undef for " func_name ": "
53 "Got `" $0 "' instead." > "/dev/stderr";
54 }
55 in_a_func = "";
56 func_name = "";
57 next_line_better_be_undef = 0;
58 }
59
60 in_a_func && /^\}/ {
61 next_line_better_be_undef = 1;
62 }
63
64 { last_line = $0; }
1 # Copyright (C) 1999, 2000, 2007 Free Software Foundation, Inc.
2 #
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3, or (at your option)
6 # any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this software; see the file COPYING. If not, write to
15 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 # Boston, MA 02110-1301 USA
17 #
18 # Written by Greg J. Badros, <gjb@cs.washington.edu>
19 # 12-Dec-1999
20
21 BEGIN { FS="|";
22 dot_doc_file = ARGV[1]; ARGV[1] = "-";
23 std_err = "/dev/stderr";
24 # be sure to put something in the files to help make out
25 print "";
26 printf "" > dot_doc_file;
27 }
28
29 /^[ \t]*SCM__I/ { copy = $0;
30 gsub(/[ \t]*SCM__I/, "", copy);
31 gsub(/SCM__D.*$/, "", copy);
32 print copy; }
33
34 /SCM__D/,/SCM__S/ { copy = $0;
35 if (match(copy,/SCM__DR/)) { registering = 1; }
36 else {registering = 0; }
37 gsub(/.*SCM__D./,"", copy);
38 gsub(/SCM__S.*/,"",copy);
39 gsub(/[ \t]+/," ", copy);
40 sub(/^[ \t]*/,"(", copy);
41 gsub(/\"/,"",copy);
42 sub(/\([ \t]*void[ \t]*\)/,"()", copy);
43 sub(/ \(/," ",copy);
44 numargs = gsub(/SCM /,"", copy);
45 numcommas = gsub(/,/,"", copy);
46 numactuals = $2 + $3 + $4;
47 location = $5;
48 gsub(/\"/,"",location);
49 sub(/^[ \t]*/,"",location);
50 sub(/[ \t]*$/,"",location);
51 sub(/: /,":",location);
52 # Now whittle copy down to just the $1 field
53 # (but do not use $1, since it hasn't been
54 # altered by the above regexps)
55 gsub(/[ \t]*\|.*$/,"",copy);
56 sub(/ \)/,")",copy);
57 # Now `copy' contains the nice scheme proc "prototype", e.g.
58 # (set-car! pair value)
59 # print copy > "/dev/stderr"; # for debugging
60 proc_and_args = copy;
61 curr_function_proto = copy;
62 sub(/[^ \n]* /,"",proc_and_args);
63 sub(/\)[ \t]*/,"",proc_and_args);
64 split(proc_and_args,args," ");
65 # now args is an array of the arguments
66 # args[1] is the formal name of the first argument, etc.
67 if (numargs != numactuals && !registering)
68 { print location ":*** `" copy "' is improperly registered as having " numactuals " arguments" > std_err; }
69 print " \n" copy (registering?")":"") > dot_doc_file ; }
70
71 /SCM__S/,/SCM__E.*$/ { copy = $0;
72 gsub(/.*SCM__S/,"",copy);
73 sub(/^[ \t]*"?/,"", copy);
74 sub(/\"?[ \t]*SCM__E.*$/,"", copy);
75 gsub(/\\n\\n"?/,"\n",copy);
76 gsub(/\\n"?[ \t]*$/,"",copy);
77 gsub(/\\\"[ \t]*$/,"\"",copy);
78 gsub(/[ \t]*$/,"", copy);
79 if (copy != "") { print copy > dot_doc_file }
80 }
81
82 /SCM__E[ \t]/ { print "[" location "]" >> dot_doc_file; }
83
84 /\*&\*&\*&\*SCM_ARG_BETTER_BE_IN_POSITION/ { copy = $0;
85 sub(/.*\*&\*&\*&\*SCM_ARG_BETTER_BE_IN_POSITION\([ \t]*/,"",copy);
86 if (copy ~ /\"/) { next }
87 gsub(/[ \t]*,[ \t]*/,":",copy);
88 sub(/[ \t]*\).*/,"",copy);
89 split(copy,argpos,":");
90 argname = argpos[1];
91 pos = argpos[2];
92 if (pos ~ /[A-Za-z]/) { next }
93 if (pos ~ /^[ \t]*$/) { next }
94 if (argname ~ / /) { next }
95 line = argpos[3];
96 # print pos " " args[pos] " vs. " argname > "/dev/stderr";
97 if (args[pos] != argname) { print filename ":" line ":*** Argument name/number mismatch in `" curr_function_proto "' -- " argname " is not formal #" pos > "/dev/stderr"; }
98 }
1 ## Process this file with GNU Automake to create Makefile.in
2
3 ## Copyright (C) 2002, 2007 Free Software Foundation, Inc.
4 ##
5 ## GNU Mailutils is free software; you can redistribute it and/or
6 ## modify it under the terms of the GNU General Public License as
7 ## published by the Free Software Foundation; either version 3, or (at
8 ## your option) any later version.
9 ##
10 ## This program is distributed in the hope that it will be useful, but
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 ## General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA
18 ## 02110-1301 USA
19
20 EXTRA_DIST = \
21 guile-doc-snarf\
22 guile-doc-snarf.awk