From: Christos Zoulas Date: Tue, 15 Jul 2008 17:45:13 +0000 (+0000) Subject: deal with gcc'isms X-Git-Tag: FILE4_25 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cf88077239885d122957b916f227fcf600fd99d8;p=file deal with gcc'isms --- diff --git a/configure.ac b/configure.ac index 9fd15bde..bcea5c7b 100644 --- a/configure.ac +++ b/configure.ac @@ -45,8 +45,11 @@ fi], [ AC_MSG_RESULT(no) fsect=4 ]) + AC_SUBST(fsect) AM_CONDITIONAL(FSECT5, test x$fsect = x5) + +AC_SUBST(WARNINGS) AC_GNU_SOURCE dnl Checks for programs. @@ -108,6 +111,30 @@ typedef long int64_t; #endif ]) +AC_MSG_CHECKING(for gcc compiler warnings) +AC_ARG_ENABLE(warnings, +[ --disable-warnings disable compiler warnings], +[if test "${enableval}" = no -o $GCC = no; then + AC_MSG_RESULT(no) + WARNINGS= +else + AC_MSG_RESULT(yes) + WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \ + -Wmissing-declarations -Wredundant-decls -Wnested-externs \ + -Wsign-compare -Wreturn-type -Wswitch -Wshadow \ + -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter" +fi], [ +if test $GCC = no; then + WARNINGS= + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + WARNINGS="-Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \ + -Wmissing-declarations -Wredundant-decls -Wnested-externs \ + -Wsign-compare -Wreturn-type -Wswitch -Wshadow \ + -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter" +fi]) + dnl Checks for functions AC_CHECK_FUNCS(mmap strerror strndup strtoul mbrtowc mkstemp utimes utime wcwidth strtof) diff --git a/src/Makefile.am b/src/Makefile.am index 6e915f7f..308eb7f5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,10 +5,7 @@ include_HEADERS = magic.h bin_PROGRAMS = file AM_CPPFLAGS = -DMAGIC='"$(MAGIC)"' -AM_CFLAGS = -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \ - -Wmissing-declarations -Wredundant-decls -Wnested-externs \ - -Wsign-compare -Wreturn-type -Wswitch -Wshadow \ - -Wcast-qual -Wwrite-strings -Wextra -Wunused-parameter +AM_CFLAGS = @WARNINGS@ libmagic_la_SOURCES = magic.c apprentice.c softmagic.c ascmagic.c \ compress.c is_tar.c readelf.c print.c fsmagic.c \ diff --git a/src/file.h b/src/file.h index 5bd08e2a..bbad83a2 100644 --- a/src/file.h +++ b/src/file.h @@ -27,7 +27,7 @@ */ /* * file.h - definitions for file(1) program - * @(#)$File: file.h,v 1.105 2008/05/28 21:02:29 christos Exp $ + * @(#)$File: file.h,v 1.106 2008/07/02 15:22:47 christos Exp $ */ #ifndef __file_h__ @@ -80,6 +80,12 @@ #endif #endif +#ifndef __GNUC__ +#ifndef __attribute__ +#define __attribute__(a) +#endif +#endif + #ifndef MIN #define MIN(a,b) (((a) < (b)) ? (a) : (b)) #endif