--- /dev/null
+OpenAFS Warning detection
+-------------------------
+
+There's been a concerted effort over the last few years, by many developers,
+to reduce the number of warnings in the OpenAFS tree. In an attempt to
+prevent warnings from creeping back in, we now have the ability to break the
+build when new warnings appear.
+
+This is only available for systems with gcc 4.2 or later, and is disabled
+unless the --enable-checking option is supplied to configure. Because we
+can't remove all of the warnings, we permit file by file (and warning by
+warning) disabling of specific warnings. The --enable-checking=all prevents
+this, and errors for any file containing a warning.
+
+Disabling warnings
+------------------
+
+If warnings are unavoidable in a particular part of the build, they may be
+disabled in an number of ways.
+
+You can disable a single warning type in a particular file by using GCC
+pragmas. If a warning can be disabled with a pragma, then the switch to use
+will be listed in the error message you receive from the compiler. Pragmas
+should be wrapped in IGNORE_SOME_GCC_WARNINGS, so that they aren't used
+with non-gcc compilers, and can be disabled if desired. For example:
+ #ifdef IGNORE_SOME_GCC_WARNINGS
+ # pragma GCC diagnostic warning "-Wold-style-definition"
+ #endif
+
+If a pragma isn't available for your particular warning, you will need to
+disable all warnings for the file in question. You can do this by supplying
+the autoconf macro @CFLAGS_NOERROR@ in the build options for the file. For
+example:
+ lex.yy.o : lex.yy.c y.tab.c
+ ${CC} -c ${CFLAGS} @CFLAGS_NOERROR@ lex.yy.c
+
+If you add a new warning inhibition, please also add it to the list below.
+
+Inhibited warnings
+------------------
+
+afs/afs_syscall.c : old-style
+ : strict-proto
+ : all (ukernel) : syscall pointer issues
+afsd/afsd.c : deprecated : daemon() marked as deprecated on Darwin
+ : all : call_syscall missing prototype
+auth/ktc.c : all (ukernel) : call_syscall doesn't have a prototype
+bozo/bosserver.c : deprecated : daemon() marked as deprecated on Darwin
+bozo/bosoprocs.c : all : ExtendedCellInfo and des key types
+bozo/bos.c : all : DES key types & string consts
+bozo/bos_util.c : all : DES key types
+bubasics/bumon.ss.c : all : BC_Print collision betwen client & server
+bucoord/ubik_db_if.c : strict-proto : Ubik_Call
+ : all : Public version of volser_prototypes req
+bucoord/volstub.c : all : Public version of volser_prototypes req
+bucoord/commands.c : all : Ubik_Call
+ : signed vs unsigned for dates
+budb/server.c : all : ExtendedCellInfo
+butc/lwps.c : all : Public version of volser_prototypes req
+butc/tcmain.c : all : prototypes / signed warnings (XXX)
+butc/recoverDb.c : all : pointer target issues (XXX)
+butc/tcudbprocs.c : all : ubik_Call
+butc/dump.c : all : pointer types (XXX)
+comerr/error_table.c : all : Autogenerated file with unused labels
+fsint/afsint.xdr.c : all : rxgen opaque vectors problem
+fsprobe/fsprobe.c : all : Public version of volser_prototypes req
+kauth/kaprocs.c : all : XXX
+kauth/kaserver.c : all : ExtendedCellInfo
+kauth/krb_udp.c : all : XXX
+kauth/admin_tools.c : all : ubik_Call nonsense
+kauth/authclient.c : all : ubik_Call nonsense
+kauth/kas.c : all : XXX
+kauth/klog.c : all : XXX
+kauth/ka-forwarder.c : all : XXX
+libadmin/bos/afs_bosAdmin.c: all : DES keys, time types, and const
+libadmin/kas/afs_kasAdmin.c: all : Ubik_Call nonsense, DES keys
+libadmin/samples/rxstat_query_peer.c : all : util_RPCStatsStateGet types
+libadmin/samples/rxstat_query_process.c : all : util_RPCStatsStateGet types
+libadmin/samples/rxdebug_peers.c : format : struct clock vs unsigned int
+libadmin/test/client.c : all : util_RPCStatsStateGet types
+ptserver/ptserver.c : all : ExtendedCellInfo
+rxkad/rxkad_server.c : all : Des key nonsense
+rxkad/ticket.c : all : Des key nonsense
+rxkad/ticket5.c : all : Des key nonsense
+rxkad/v5der.c : all (pthread) : Des key nonsense
+rx/rx.c : all (pthread) : rxkad_global_stats_init not proto'd
+rx/xdr_rx.c : all (ukernel) : Prototypes don't match due to AFS_XDR_T
+ not being used in the xdr header
+ubik/utst_int_ss.c : all : Client / Server symbol collisions
+ubik/beacon.c : all : Ubik uses signed/unsigned
+ interchangably for IP addresses, a
+ fix will require API changes.
+ubik/ubikclient.c : strict-protos : ubik_Call
+uss/uss_vol.c : all : Public version of volser_prototypes req
+ Format issues
+uss/uss_kauth.c : all : Des keys, ubik_Call
+uss/lex.yy.c : all : Unused symbols
+viced/fsprobe.c : all : ubik_Call
+vlserver/vlserver.c : all : GetExtendedCellInfo
+vol/salvager.c : all : consts & undefined variable from header
+volser/vos.c : all : ubik_Call_New, signedness and const
+volser/vol-dump.c : format : afs_sfsize_t
+volser/vsprocs.c : format-extra : The ONERROR macro needs to be rethought
+
disabled)])],
,
[enable_warnings="no"])
+AC_ARG_ENABLE([checking],
+ [AS_HELP_STRING([--enable-checking],
+ [turn compilation warnings into errors when building with gcc (defaults
+ to disabled)])],
+ [enable_checking="$enableval"],
+ [enable_checking="no"])
AC_ARG_ENABLE([debug-kernel],
[AS_HELP_STRING([--enable-debug-kernel],
[enable compilation of the kernel module with debugging information
#include <afsconfig.h>
#include "afs/param.h"
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wold-style-definition"
+# pragma GCC diagnostic warning "-Wstrict-prototypes"
+#endif
#include "afs/sysincludes.h" /* Standard vendor system headers */
#include "afsincludes.h" /* Afs-based standard headers */
AFSLIBS=${TOP_LIBDIR}/libauth.a ${TOP_LIBDIR}/libcmd.a ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/util.a ${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a ${TOP_LIBDIR}/util.a
afsd: afsd.o $(AFSLIBS) $(AFSD_LIBS)
- ${CC} ${CFLAGS} -o afsd afsd.o $(NON_SHARED) $(LDFLAGS) $(AFSD_LDFLAGS) $(AFSLIBS) ${XLIBS} ${AFSD_LIBS}
+ ${CC} ${CFLAGS} -o afsd afsd.o @CFLAGS_NOERROR@ $(NON_SHARED) $(LDFLAGS) $(AFSD_LDFLAGS) $(AFSLIBS) ${XLIBS} ${AFSD_LIBS}
vsys: vsys.o
${CC} ${CFLAGS} -o vsys vsys.o ${TOP_LIBDIR}/libsys.a $(LDFLAGS) ${XLIBS}
# Objects
#
afsd.o: afsd.c AFS_component_version_number.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
vsys.o: vsys.c AFS_component_version_number.c
#include <afsconfig.h>
#include <afs/param.h>
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wdeprecated-declarations"
+#endif
#define VFS 1
srcdir=@srcdir@
include @TOP_OBJDIR@/src/config/Makefile.config
+
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
bnode.o: bnode.c ${INCLS}
bosoprocs.o: bosoprocs.c ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
bos.o: bos.c ${INCLS} AFS_component_version_number.o
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
bos: bos.o $(LIBS) libbos.a
${CC} ${CFLAGS} -o bos bos.o libbos.a $(LIBS) ${XLIBS}
bos_util.o: bos_util.c ${INCLS} AFS_component_version_number.o ${TOP_INCDIR}/afs/bnode.h
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
bos_util: bos_util.o $(LIBS)
${CC} ${CFLAGS} -o bos_util bos_util.o $(LIBS) ${XLIBS}
#include <afsconfig.h>
#include <afs/param.h>
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wdeprecated-declarations"
+#endif
#include <afs/stds.h>
#include <sys/types.h>
$(RM) -f butx.h butx_errs.c
${COMPILE_ET} -p ${srcdir} butx_errs -h butx
+bumon.ss.o: bumon.ss.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
#
# Installation targets
#
${COMPILE_ET} -p ${srcdir} bucoord_errs -h bc
#
+# Errors
+#
+ubik_db_if.o: ubik_db_if.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
+volstub.o: volstub.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
+commands.o: commands.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
+regex.o: regex.c
+ $(CC) $(CFLAGS) -c $<
+
+#
# Install targets
#
#include <afsconfig.h>
#include <afs/stds.h>
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wstrict-prototypes"
+#endif
#include <sys/types.h>
#include <fcntl.h>
$(AR) crv $@ budb_errs.o budb.cs.o budb.xdr.o struct_ops.o AFS_component_version_number.o
$(RANLIB) $@
+# Errors
+server.o: server.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
#
# Install targets
#
esac
tcmain.o: tcmain.c ${INCLS} AFS_component_version_number.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
dbentries.o: dbentries.c ${INCLS}
tcprocs.o: tcprocs.c ${INCLS}
test.o: test.c ${INCLS} AFS_component_version_number.c
lwps.o: lwps.c ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
list.o: list.c ${INCLS}
recoverDb.o: recoverDb.c ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
tcudbprocs.o: tcudbprocs.c ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
dump.o: dump.c ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
tcstatus.o: tcstatus.c ${INCLS}
read_tape: read_tape.c
NO_STRIP_BIN=
fi
-if test "x$enable_warnings" = "xyes"; then
- if test "x$GCC" = "xyes"; then
+CFLAGS_NOERROR=
+
+if test "x$GCC" = "xyes"; then
+ if test "x$enable_warnings" = "xyes"; then
XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition"
fi
+ if test "x$enable_checking" != "xno"; then
+ XCFLAGS="${XCFLAGS} -Wall -Wstrict-prototypes -Wold-style-definition -Werror -fdiagnostics-show-option"
+ if test "x$enable_checking" != "xall"; then
+ CFLAGS_NOERROR="-Wno-error"
+ AC_DEFINE(IGNORE_SOME_GCC_WARNINGS, 1, [define to disable some gcc warnings in warnings-as-errors mode])
+ fi
+ fi
fi
dnl horribly cheating, assuming double / is ok.
AC_SUBST(TXLIBS)
AC_SUBST(VFSCK_CFLAGS)
AC_SUBST(XCFLAGS)
+AC_SUBST(CFLAGS_NOERROR)
AC_SUBST(XCFLAGS64)
AC_SUBST(XLDFLAGS)
AC_SUBST(XLDFLAGS64)
$(RANLIB) $@
#
+# Files with errors
+#
+# The autogenerated file from bison has an unused label
+
+error_table.o: error_table.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
+#
# Installation targets
#
install: compile_et com_err.h error_table.h mit-sipb-cr.h libcom_err.a
COMMON_INCL=-I${TOP_OBJDIR}/src/config -I. -I${srcdir} -I${TOP_INCDIR} -I${TOP_INCDIR}/afs -I${TOP_INCDIR}/rx -I${TOP_OBJDIR} -I${TOP_SRCDIR} -I${TOP_OBJDIR}/src
COMMON_CFLAGS=${DBG} ${OPTMZ} ${COMMON_INCL}
-CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} ${ARCHFLAGS}
+CFLAGS=${COMMON_CFLAGS} ${XCFLAGS} ${ARCHFLAGS} $(CFLAGS_NOERROR)
LDFLAGS=${XLDFLAGS} ${ARCHFLAGS}
.c.o:
afscbint.h: common.xg afscbint.xg
${RXGEN} -A -x -h -o afscbint.h ${srcdir}/afscbint.xg
+# Files with warnings
+# rpcgen currently handles opaque vectors badly
+# - it relies on char a[1]; &a == a; which leads to type errors
+
+afsint.xdr.o: afsint.xdr.c
+ $(CC) $(CFLAGS) -c @CFLAGS_NOERROR@ $<
+
#
# Installation targets
#
$(RANLIB) $@
fsprobe.o: fsprobe.c ${INCLS} AFS_component_version_number.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
fsprobe_callback.o: fsprobe_callback.c ${INCLS}
${CC} ${LDFLAGS} -o kaserver kaserver.o kautils.o kalocalcell.o kadatabase.o krb_udp.o kaprocs.o kalog.o kauth.ss.o kauth.xdr.o kaaux.o kaauxdb.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
kaserver.o: kaserver.c ${INCLS} AFS_component_version_number.o
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
kautils.o: kautils.c ${INCLS}
${CC} ${CFLAGS} -c ${srcdir}/kadatabase.c
kaprocs.o: kaprocs.c ${INCLS} kaport.h
- ${CC} ${CFLAGS} -c ${srcdir}/kaprocs.c
+ ${CC} ${CFLAGS} @CFLAGS_NOERROR@ -c $<
authclient.o: authclient.c ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
+kaauxdb.o: kaauxdb.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
kaerrors.o: kaerrors.c
client.o: client.c ${INCLS} AFS_component_version_number.o
kas.o: kas.c ${INCLS} AFS_component_version_number.o
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
admin_tools.o: admin_tools.c ${INCLS} kaport.h
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
kkids.o: kkids.c ${INCLS}
${CC} ${LDFLAGS} -o klog klog.o libkauth.a ${LIBS} ${XLIBS}
klog.o: klog.c kauth.h kautils.h AFS_component_version_number.o
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
klog.krb: kauth.h kautils.h libkauth.krb.a $(KLIBS) klog.o
${CC} ${LDFLAGS} -o klog.krb klog.o libkauth.krb.a ${KLIBS} ${XLIBS}
kdb.o: kdb.c AFS_component_version_number.o
krb_udp.o: krb_udp.c kaserver.h kautils.h kauth.h prot.h ${TOP_INCDIR}/lwp.h AFS_component_version_number.o
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
krb_udp: krb_udp.o libkauth.a $(KLIBS)
${CC} ${LDFLAGS} -o krb_udp krb_udp.o libkauth.a $(KLIBS)
+ka-forwarder.o: ka-forwarder.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
ka-forwarder: ka-forwarder.o
${CC} -o $@ ${CFLAGS} ka-forwarder.o ${LIBS} ${XLIBS}
INSTALL_SCRIPT = @INSTALL_SCRIPT@
CC = ${MT_CC}
-CFLAGS=${COMMON_CFLAGS} ${MT_CFLAGS}
+CFLAGS=${COMMON_CFLAGS} ${MT_CFLAGS} ${CFLAGS_NOERROR}
CCRULE = ${CC} ${CFLAGS} -c $?
BOZO = ../../bozo
$(AR) crv $@ ${LIBOBJS}
${RANLIB} $@
-afs_bosAdmin.o: afs_bosAdmin.h
+afs_bosAdmin.o: afs_bosAdmin.c afs_bosAdmin.h
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
bosint.xdr.o: ${BOZO}/bosint.xdr.c
${CCRULE}
$(AR) crv $@ ${LIBOBJS}
${RANLIB} $@
-afs_kasAdmin.o: afs_kasAdmin.h
+afs_kasAdmin.o: afs_kasAdmin.c afs_kasAdmin.h
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
kauth.cs.o: ../../kauth/kauth.cs.c
${CCRULE}
rxstat_query_process: rxstat_query_process.o $(SAMPLELIBS)
$(CC) $(LDFLAGS) -o $@ $@.o $(SAMPLELIBS) $(MT_LIBS) $(XLIBS)
+#
+# Errors
+#
+rxstat_query_peer.o: rxstat_query_peer.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
+rxstat_query_process.o: rxstat_query_process.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
#######################################################################
all test tests: $(SAMPLEPROGS)
#include <afsconfig.h>
#include <afs/param.h>
+#ifdef IGNORE_SOME_GCC_WARNINGS
+ # pragma GCC diagnostic warning "-Wformat"
+#endif
+
#ifdef AFS_NT40_ENV
#include <winsock2.h>
util.o \
vos.o
+client.o: client.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
afscp: afscp.o $(AFSCPOBJS) $(AFSCPLIBS)
$(CC) $(CFLAGS) -o afscp afscp.o $(AFSCPOBJS) \
-L${TOP_LIBDIR} $(AFSCPLIBS) ${MT_LIBS} $(XLIBS)
${CCRULE}
afsint.xdr.o: ${FSINT}/afsint.xdr.c
- ${CCRULE}
+ ${CCRULE} @CFLAGS_NOERROR@
clean:
$(RM) -f *.o libvosadmin*
${CCRULE}
authclient.o: ${KAUTH}/authclient.c
- ${CCRULE}
+ ${CCRULE} @CFLAGS_NOERROR@
token.o: ${KAUTH}/token.c
${CCRULE}
${CCRULE} ${RX}/rx_pthread.c
rx.o: ${RX}/rx.c
- ${CCRULE} ${RX}/rx.c
+ ${CCRULE} @CFLAGS_NOERROR@ ${RX}/rx.c
rx_conncache.o: ${RX}/rx_conncache.c
${CCRULE} ${RX}/rx_conncache.c
${CCRULE} ${RXKAD}/rxkad_client.c
rxkad_server.o: ${RXKAD}/rxkad_server.c
- ${CCRULE} ${RXKAD}/rxkad_server.c
+ ${CCRULE} @CFLAGS_NOERROR@ ${RXKAD}/rxkad_server.c
rxkad_common.o: ${RXKAD}/rxkad_common.c
${CCRULE} ${RXKAD}/rxkad_common.c
ticket.o: ${RXKAD}/ticket.c
- ${CCRULE} ${RXKAD}/ticket.c
+ ${CCRULE} @CFLAGS_NOERROR@ ${RXKAD}/ticket.c
ticket5.o: ${RXKAD}/ticket5.c
- ${CCRULE} ${RXKAD}/ticket5.c
+ ${CCRULE} @CFLAGS_NOERROR@ ${RXKAD}/ticket5.c
crc.o: ${RXKAD}/crc.c
${CCRULE} ${RXKAD}/crc.c
${CCRULE} ${TOP_OBJDIR}/src/fsint/afsint.cs.c
afsint.xdr.o: ${TOP_OBJDIR}/src/fsint/afsint.xdr.c
- ${CCRULE} ${TOP_OBJDIR}/src/fsint/afsint.xdr.c
+ ${CCRULE} @CFLAGS_NOERROR@ ${TOP_OBJDIR}/src/fsint/afsint.xdr.c
afscbint.cs.o: ${TOP_OBJDIR}/src/fsint/afscbint.cs.c
${CCRULE} ${TOP_OBJDIR}/src/fsint/afscbint.cs.c
$(UOBJ)/rx_conncache.o: $(TOP_SRCDIR)/rx/rx_conncache.c
$(CRULE1)
$(UOBJ)/xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(UOBJ)/xdr_int32.o: $(TOP_SRC_RX)/xdr_int32.c
$(CRULE1)
$(UOBJ)/xdr_int64.o: $(TOP_SRC_RX)/xdr_int64.c
$(UOBJ)/Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
$(CRULE1)
$(UOBJ)/Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(UOBJ)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
$(CRULE1)
$(UOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
$(UOBJ)/afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
$(CRULE1) -DAFS_NONFSTRANS
$(UOBJ)/afs_syscall.o: $(TOP_SRC_AFS)/afs_syscall.c
- $(CRULE1) -DAFS_NONFSTRANS
+ $(CRULE1) @CFLAGS_NOERROR@ -DAFS_NONFSTRANS
$(UOBJ)/osi_vfsops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
$(CRULE1) -DAFS_NONFSTRANS
$(UOBJ)/ktc.o: $(TOP_SRCDIR)/auth/ktc.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(UOBJ)/ticket.o: $(TOP_SRCDIR)/rxkad/ticket.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(UOBJ)/rxkad_server.o: $(TOP_SRCDIR)/rxkad/rxkad_server.c
$(CRULE1)
$(UOBJ)/ptint.cs.o: $(TOP_OBJDIR)/src/ptserver/ptint.cs.c
$(UOBJ)/ubik_int.xdr.o: $(TOP_OBJDIR)/src/ubik/ubik_int.xdr.c
$(CRULE1)
$(UOBJ)/authclient.o: $(TOP_SRCDIR)/kauth/authclient.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(UOBJ)/kalocalcell.o: $(TOP_SRCDIR)/kauth/kalocalcell.c
$(CRULE1)
$(UOBJ)/client.o: $(TOP_SRCDIR)/kauth/client.c
$(WEBOBJ)/rx_conncache.o: $(TOP_SRCDIR)/rx/rx_conncache.c
$(CRULE2)
$(WEBOBJ)/xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
- $(CRULE2)
+ $(CRULE2) @CFLAGS_NOERROR@
$(WEBOBJ)/afs_usrops.o: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
$(CRULE2)
$(WEBOBJ)/afs_uuid.o: $(TOP_SRCDIR)/util/uuid.c
$(WEBOBJ)/Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
$(CRULE2)
$(WEBOBJ)/Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
- $(CRULE2)
+ $(CRULE2) @CFLAGS_NOERROR@
$(WEBOBJ)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
$(CRULE2)
$(WEBOBJ)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
$(WEBOBJ)/afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
$(CRULE2) -DAFS_NONFSTRANS
$(WEBOBJ)/afs_syscall.o: $(TOP_SRC_AFS)/afs_syscall.c
- $(CRULE2) -DAFS_NONFSTRANS
+ $(CRULE2) @CFLAGS_NOERROR@ -DAFS_NONFSTRANS
$(WEBOBJ)/osi_vfsops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
$(CRULE2) -DAFS_NONFSTRANS
$(WEBOBJ)/ktc.o: $(TOP_SRCDIR)/auth/ktc.c
- $(CRULE2)
+ $(CRULE2) @CFLAGS_NOERROR@
$(WEBOBJ)/ktc.krb.o: $(TOP_SRCDIR)/auth/ktc.c
- $(CRULE2) -DAFS_KERBEROS_ENV -DMAYBE_NO_KTC
+ $(CRULE2) -DAFS_KERBEROS_ENV -DMAYBE_NO_KTC @CFLAGS_NOERROR@
mv ktc.o ktc.krb.o
$(WEBOBJ)/securehash.o: $(TOP_SRCDIR)/afsweb/securehash.c
$(CRULE2)
$(WEBOBJ)/nsafs.o: $(TOP_SRCDIR)/afsweb/nsafs.c
$(CRULE2)
$(WEBOBJ)/ticket.o: $(TOP_SRCDIR)/rxkad/ticket.c
- $(CRULE2)
+ $(CRULE2) @CFLAGS_NOERROR@
$(WEBOBJ)/rxkad_server.o: $(TOP_SRCDIR)/rxkad/rxkad_server.c
$(CRULE2)
$(WEBOBJ)/ptint.cs.o: $(TOP_OBJDIR)/src/ptserver/ptint.cs.c
$(WEBOBJ)/ubik_int.xdr.o: $(TOP_OBJDIR)/src/ubik/ubik_int.xdr.c
$(CRULE2)
$(WEBOBJ)/authclient.o: $(TOP_SRCDIR)/kauth/authclient.c
- $(CRULE2)
+ $(CRULE2) @CFLAGS_NOERROR@
$(WEBOBJ)/kalocalcell.o: $(TOP_SRCDIR)/kauth/kalocalcell.c
$(CRULE2)
$(WEBOBJ)/client.o: $(TOP_SRCDIR)/kauth/client.c
$(JUAFS)/rx_conncache.o: $(TOP_SRCDIR)/rx/rx_conncache.c
$(CRULE1)
$(JUAFS)/xdr_rx.o: $(TOP_SRC_RX)/xdr_rx.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(JUAFS)/xdr_int64.o: $(TOP_SRC_RX)/xdr_int64.c
$(CRULE1)
$(JUAFS)/afs_usrops.o: $(TOP_SRC_AFS)/UKERNEL/afs_usrops.c
$(JUAFS)/Kcallback.ss.o: $(TOP_OBJ_FSINT)/Kcallback.ss.c
$(CRULE1)
$(JUAFS)/Kvice.xdr.o: $(TOP_OBJ_FSINT)/Kvice.xdr.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(JUAFS)/Kvice.cs.o: $(TOP_OBJ_FSINT)/Kvice.cs.c
$(CRULE1)
$(JUAFS)/afsaux.o: $(TOP_SRC_FSINT)/afsaux.c
$(JUAFS)/afs_pioctl.o: $(TOP_SRC_AFS)/afs_pioctl.c
$(CRULE1) -DAFS_NONFSTRANS
$(JUAFS)/afs_syscall.o: $(TOP_SRC_AFS)/afs_syscall.c
- $(CRULE1) -DAFS_NONFSTRANS
+ $(CRULE1) @CFLAGS_NOERROR@ -DAFS_NONFSTRANS
$(JUAFS)/osi_vfsops.o: $(TOP_SRC_AFS)/UKERNEL/osi_vfsops.c
$(CRULE1) -DAFS_NONFSTRANS
$(JUAFS)/ktc.o: $(TOP_SRCDIR)/auth/ktc.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(JUAFS)/ticket.o: $(TOP_SRCDIR)/rxkad/ticket.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(JUAFS)/rxkad_server.o: $(TOP_SRCDIR)/rxkad/rxkad_server.c
$(CRULE1)
$(JUAFS)/ptint.cs.o: $(TOP_OBJDIR)/src/ptserver/ptint.cs.c
$(JUAFS)/ubik_int.xdr.o: $(TOP_OBJDIR)/src/ubik/ubik_int.xdr.c
$(CRULE1)
$(JUAFS)/authclient.o: $(TOP_SRCDIR)/kauth/authclient.c
- $(CRULE1)
+ $(CRULE1) @CFLAGS_NOERROR@
$(JUAFS)/kalocalcell.o: $(TOP_SRCDIR)/kauth/kalocalcell.c
$(CRULE1)
$(JUAFS)/client.o: $(TOP_SRCDIR)/kauth/client.c
$(CC) ${CFLAGS} -o ptserver ptserver.o ptutils.o ptprocs.o ptint.ss.o ptint.xdr.o utils.o map.o $(LIBS) ${XLIBS} ${TOP_LIBDIR}/libaudit.a
ptserver.o: ptserver.c ${INCLS} AFS_component_version_number.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
ptutils.o: ptutils.c ${INCLS}
rxkad_client.o: fcrypt.h private_data.h rxkad_client.c ${INCLS}
-rxkad_server.o: fcrypt.h private_data.h rxkad_server.c ${INCLS}
+rxkad_server.o: rxkad_server.c fcrypt.h private_data.h ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
rxkad_common.o: fcrypt.h private_data.h rxkad_common.c ${INCLS}
${COMPILE_ET} -p ${srcdir} rxkad_errs -h rxkad
ticket.o: ticket.c lifetimes.h ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
ticket5.o: ticket5.c v5gen.c v5der.c v5gen-rewrite.h ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
crc.o: crc.c ${INCLS}
all: fileserver state_analyzer
rx_pthread.o: ${RX}/rx_pthread.c
- ${CCRULE} -DDPF_FSLOG
+ ${CCRULE} @CFLAGS_NOERROR@ -DDPF_FSLOG
viced.o: ${VICED}/viced.c
${CCRULE}
afsfileprocs.o: ${VICED}/afsfileprocs.c
- ${CCRULE}
+ ${CCRULE} @CFLAGS_NOERROR@
host.o: ${VICED}/host.c
- ${CCRULE}
+ ${CCRULE} @CFLAGS_NOERROR@
physio.o: ${VICED}/physio.c
${CCRULE}
${CCRULE}
afsint.xdr.o: ${FSINT}/afsint.xdr.c
- ${CCRULE}
+ ${CCRULE} @CFLAGS_NOERROR@
state_analyzer.o: state_analyzer.c
${CCRULE}
${RXGEN} -A -x -k -h -o Kubik_int.h ${srcdir}/ubik_int.xg
utst_int.ss.o: utst_int.ss.c utst_int.xdr.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
utst_int.cs.o: utst_int.cs.c utst_int.xdr.c
utst_int.xdr.o: utst_int.xdr.c utst_int.h
disk.o: disk.c ${INCLS}
uinit.o: uinit.c ${INCLS}
remote.o: remote.c ${INCLS}
+
+# beacon.c uses signed and unsigned interchangably for IP addresses. Fixing
+# will require changing the Ubik API
beacon.o: beacon.c ${INCLS}
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
lock.o: lock.c ${INCLS}
recovery.o: recovery.c ${INCLS}
ubik.o: ubik.c ${INCLS}
#include <afs/param.h>
#endif
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wstrict-prototypes"
+#endif
#if defined(UKERNEL)
#include "afs/sysincludes.h"
${CC} -c ${CFLAGS} ${srcdir}/uss_common.c
uss_vol.o : uss_vol.c
- ${CC} -c ${CFLAGS} ${srcdir}/uss_vol.c
+ ${CC} -c ${CFLAGS} @CFLAGS_NOERROR@ ${srcdir}/uss_vol.c
uss_acl.o : uss_acl.c
${CC} -c ${CFLAGS} ${srcdir}/uss_acl.c
${CC} -c ${CFLAGS} ${srcdir}/uss_ptserver.c
uss_kauth.o : uss_kauth.c
- ${CC} -c ${CFLAGS} ${srcdir}/uss_kauth.c
+ ${CC} -c ${CFLAGS} @CFLAGS_NOERROR@ ${srcdir}/uss_kauth.c
uss_fs.o : uss_fs.c
${CC} -c ${CFLAGS} ${srcdir}/uss_fs.c
lex.yy.o : lex.yy.c y.tab.c
- ${CC} -c ${CFLAGS} lex.yy.c
+ ${CC} -c ${CFLAGS} @CFLAGS_NOERROR@ lex.yy.c
lex.yy.c : lex.l
${LEX} ${srcdir}/lex.l
esac
fsprobe.o: fsprobe.c AFS_component_version_number.c
- ${CC} ${CFLAGS} -DINTERPRET_DUMP -c ${srcdir}/fsprobe.c
+ ${CC} ${CFLAGS} @CFLAGS_NOERROR@ -DINTERPRET_DUMP -c ${srcdir}/fsprobe.c
fsprobe: fsprobe.o
${CC} ${CFLAGS} -o fsprobe fsprobe.o ${LIBS} ${XLIBS}
vlserver.h vl_errors.c: vl_errors.et vlserver.p.h
$(RM) -f vlserver.h vl_errors.c; ${COMPILE_ET} -p ${srcdir} vl_errors -h vlserver
+vlserver.o: vlserver.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
system: install
install: vlserver cnvldb vldb_check libvldb.a vl_opcodes.h vlserver.h \
vol-salvage.o salvager.o: vol-salvage.h
vol-salvage.o: salvsync.h daemon_com.h
+salvager.o: salvager.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
vlib.a: ${VLIBOBJS} AFS_component_version_number.o
$(RM) -f $@
$(AR) crv $@ ${VLIBOBJS} AFS_component_version_number.o
vol_split.o: vol_split.c ${VINCLS} ${INTINCLS} ${RINCLS}
#
+# Errors
+#
+vos.o: vos.c
+ $(CC) $(CFLAGS) @CFLAGS_NOERROR@ -c $<
+
+#
# Installation targets
#
install: restorevol voldump volser.h volint.h vos volserver libvolser.a
#include <afsconfig.h>
#include <afs/param.h>
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wformat"
+#endif
#include <ctype.h>
#include <errno.h>
#include <afsconfig.h>
#include <afs/param.h>
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wformat-extra-args"
+#endif
#include <stdio.h>
#include <sys/types.h>