<<< Date Index >>>     <<< Thread Index >>>

Re: feature freeze?



Hello Vincent, Moritz,

* Vincent Lefevre wrote on Wed, Aug 16, 2006 at 10:32:27PM CEST:
> On 2006-08-16 21:54:49 +0200, Moritz Barsnick wrote:
> > * The 'll' issue is not important, and I have seen some build
> >   environments hack around this.
> 
> One should probably detect if the compiler is gcc, and in this case,
> use the -std=gnu99 option (the default is -std=gnu89, according to
> the gcc man page).

One could add AC_PROG_CC_STDC to configure.in (and with Autoconf-2.60,
it would set -std=gnu99 or gnu89).

> > * The 'ISO C forbids an empty source file' issue is very peculiar.
> >   config.h is _not_ empty, AFAICT.
> 
> Anyway, I don't think that ISO C forbids empty sources. The C9X draft
> I've here says: "A source file that is not empty shall end in [...]".
> It wouldn't say that if they were forbidden.

Which doesn't contradict as a source file is not a translation unit.

Anyway, AFAIR an actual portability issue is that you should not (and
of course need not) compile any translation unit that ends up without
externally visible definitions.

Although I should really promote using Automake conditionals, rather
than setting a list of objects, here's a quick patch to fix the issue
for utf8.c and wcwidth.c; it looks like those two were the only
contending files(?).

Cheers,
Ralf

        * configure.in, Makefile.am: Do not build utf8.o and wcwith.o
        unnecessarily.

Index: Makefile.am
===================================================================
RCS file: /home/roessler/cvs/mutt/Makefile.am,v
retrieving revision 3.48
diff -u -r3.48 Makefile.am
--- Makefile.am 11 Aug 2006 16:25:59 -0000      3.48
+++ Makefile.am 21 Aug 2006 18:09:27 -0000
@@ -28,7 +28,7 @@
        rfc822.c rfc1524.c rfc2047.c rfc2231.c \
        score.c send.c sendlib.c signal.c sort.c \
        status.c system.c thread.c charset.c history.c lib.c \
-       muttlib.c editmsg.c utf8.c mbyte.c wcwidth.c \
+       muttlib.c editmsg.c mbyte.c \
        url.c ascii.c mutt_idna.c crypt-mod.c crypt-mod.h
 
 mutt_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAP) $(MUTTLIBS) \
@@ -60,10 +60,11 @@
 EXTRA_mutt_SOURCES = account.c md5c.c mutt_sasl.c mutt_socket.c mutt_ssl.c \
        mutt_tunnel.c pop.c pop_auth.c pop_lib.c smime.c pgp.c pgpinvoke.c 
pgpkey.c \
        pgplib.c sha1.c pgpmicalg.c gnupgparse.c resize.c dotlock.c remailer.c \
-       browser.h mbyte.h remailer.h url.h \
+       smtp.c browser.h mbyte.h remailer.h url.h \
        crypt-mod-pgp-classic.c crypt-mod-smime-classic.c \
        pgppacket.c mutt_idna.h hcache.h hcache.c bcache.c bcache.h 
mutt_ssl_gnutls.c \
-       crypt-gpgme.c crypt-mod-pgp-gpgme.c crypt-mod-smime-gpgme.c
+       crypt-gpgme.c crypt-mod-pgp-gpgme.c crypt-mod-smime-gpgme.c \
+       utf8.c wcwidth.c 
 
 EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
        configure account.h \
Index: configure.in
===================================================================
RCS file: /home/roessler/cvs/mutt/configure.in,v
retrieving revision 3.54
diff -u -r3.54 configure.in
--- configure.in        10 Aug 2006 21:25:18 -0000      3.54
+++ configure.in        21 Aug 2006 18:09:27 -0000
@@ -1107,7 +1108,9 @@
 fi
 
 if test $wc_funcs = yes; then
         AC_DEFINE(HAVE_WC_FUNCS,1,[ Define if you are using the system's 
wchar_t functions. ])
+else
+       MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS utf8.o wcwidth.o"
 fi
 
 AC_CACHE_CHECK([for nl_langinfo and CODESET], mutt_cv_langinfo_codeset,