Imported Upstream version 5.38

This commit is contained in:
Guido Guenther 2008-03-11 20:38:35 +01:00
parent 1953ff6d92
commit 34ad0c5ffe
62 changed files with 2112 additions and 2208 deletions

View File

@ -1,6 +1,6 @@
CHANGELOG for smartmontools CHANGELOG for smartmontools
$Id: CHANGELOG,v 1.655 2008/02/24 20:16:31 ballen4705 Exp $ $Id: CHANGELOG,v 1.661 2008/03/10 10:44:30 ballen4705 Exp $
The most recent version of this file is: The most recent version of this file is:
http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/CHANGELOG?view=markup
@ -36,7 +36,31 @@ NOTES FOR FUTURE RELEASES: see TODO file.
SMARTMONTOOLS STABLE RELEASE 5.38 2008/02/24 SMARTMONTOOLS STABLE RELEASE 5.38 2008/03/10
[KS] Solaris/x86: modified configure.in for Sun's compiler.
[BA] smartd.initd.in addition from Erwan Velu <erwan@seanodes.com>
[BA] smartd fixes:
- On Linux, DEVICESCAN now automatically recognizes SATA devices
behind libata, and SATA devices behind the Marvell driver, and
treats them correctly.
- On Linux, a '-d sat' or '-d marvell' is automatically added
if libata or the marvell driver are recognized behind a SCSI
device type
[SS] (Maybe) fix attribute autosave in FreeBSD.
[SS] Major NetBSD-specific bugfixes:
- handle actual SCSI and ATA errors and not only ioctl() errors;
- set up I/O request properly for AUTO_OFFLINE and AUTOSAVE commands (inspired by
similar change in os_freebsd.cpp);
- handle AUTO_OFFLINE and AUTOSAVE like STATUS_CHECK (like os_linux.cpp does).
[GG] add kfreebsd gnu support to configure.in
[BA] Fix auto-offline support in FreeBSD. Thanks to [BA] Fix auto-offline support in FreeBSD. Thanks to
Cyrus Rahman <crahman@gmail.com> for the patch, and Cyrus Rahman <crahman@gmail.com> for the patch, and

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am. # Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -19,15 +19,11 @@
# #
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c
@ -75,17 +71,17 @@ sbin_PROGRAMS = smartd$(EXEEXT) smartctl$(EXEEXT)
@SMARTD_SUFFIX_TRUE@am__append_5 = smartd.conf$(smartd_suffix) @SMARTD_SUFFIX_TRUE@am__append_5 = smartd.conf$(smartd_suffix)
@OS_WIN32_MINGW_TRUE@am__append_6 = $(FILES_WIN32) $(exedir_win32)/syslogevt.exe distdir.mkdir syslogevt.check @OS_WIN32_MINGW_TRUE@am__append_6 = $(FILES_WIN32) $(exedir_win32)/syslogevt.exe distdir.mkdir syslogevt.check
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure AUTHORS COPYING INSTALL NEWS TODO \ $(top_srcdir)/configure AUTHORS COPYING INSTALL NEWS TODO \
config.guess config.sub depcomp install-sh missing config.guess config.sub depcomp install-sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4) $(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -120,14 +116,14 @@ am__smartd_SOURCES_DIST = smartd.cpp smartd.h atacmdnames.cpp \
os_win32/daemon_win32.h os_win32/daemon_win32.cpp \ os_win32/daemon_win32.h os_win32/daemon_win32.cpp \
os_win32/hostname_win32.h os_win32/hostname_win32.cpp \ os_win32/hostname_win32.h os_win32/hostname_win32.cpp \
os_win32/syslog.h os_win32/syslog_win32.cpp os_win32/syslog.h os_win32/syslog_win32.cpp
@OS_WIN32_MINGW_TRUE@am__objects_3 = regex.$(OBJEXT) \ @OS_WIN32_MINGW_TRUE@am__objects_2 = regex.$(OBJEXT) \
@OS_WIN32_MINGW_TRUE@ daemon_win32.$(OBJEXT) \ @OS_WIN32_MINGW_TRUE@ daemon_win32.$(OBJEXT) \
@OS_WIN32_MINGW_TRUE@ hostname_win32.$(OBJEXT) \ @OS_WIN32_MINGW_TRUE@ hostname_win32.$(OBJEXT) \
@OS_WIN32_MINGW_TRUE@ syslog_win32.$(OBJEXT) @OS_WIN32_MINGW_TRUE@ syslog_win32.$(OBJEXT)
am_smartd_OBJECTS = smartd.$(OBJEXT) atacmdnames.$(OBJEXT) \ am_smartd_OBJECTS = smartd.$(OBJEXT) atacmdnames.$(OBJEXT) \
atacmds.$(OBJEXT) ataprint.$(OBJEXT) knowndrives.$(OBJEXT) \ atacmds.$(OBJEXT) ataprint.$(OBJEXT) knowndrives.$(OBJEXT) \
scsicmds.$(OBJEXT) scsiata.$(OBJEXT) scsiprint.$(OBJEXT) \ scsicmds.$(OBJEXT) scsiata.$(OBJEXT) scsiprint.$(OBJEXT) \
utility.$(OBJEXT) $(am__objects_3) utility.$(OBJEXT) $(am__objects_2)
am__EXTRA_smartd_SOURCES_DIST = os_darwin.cpp os_darwin.h os_linux.cpp \ am__EXTRA_smartd_SOURCES_DIST = os_darwin.cpp os_darwin.h os_linux.cpp \
os_linux.h os_freebsd.cpp os_freebsd.h os_netbsd.cpp \ os_linux.h os_freebsd.cpp os_freebsd.h os_netbsd.cpp \
os_netbsd.h os_openbsd.cpp os_openbsd.h os_solaris.cpp \ os_netbsd.h os_openbsd.cpp os_openbsd.h os_solaris.cpp \
@ -135,7 +131,7 @@ am__EXTRA_smartd_SOURCES_DIST = os_darwin.cpp os_darwin.h os_linux.cpp \
os_generic.h cciss.cpp cciss.h posix/regcomp.c posix/regexec.c \ os_generic.h cciss.cpp cciss.h posix/regcomp.c posix/regexec.c \
posix/regex_internal.c posix/regex_internal.h posix/regex_internal.c posix/regex_internal.h
smartd_OBJECTS = $(am_smartd_OBJECTS) smartd_OBJECTS = $(am_smartd_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I. DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/depcomp depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@ -155,10 +151,11 @@ DIST_SOURCES = $(am__smartctl_SOURCES_DIST) \
$(am__EXTRA_smartd_SOURCES_DIST) $(am__EXTRA_smartd_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \ html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \ install-dvi-recursive install-exec-recursive \
install-recursive installcheck-recursive installdirs-recursive \ install-html-recursive install-info-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \
uninstall-recursive installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
man5dir = $(mandir)/man5 man5dir = $(mandir)/man5
man8dir = $(mandir)/man8 man8dir = $(mandir)/man8
NROFF = nroff NROFF = nroff
@ -173,6 +170,8 @@ docsDATA_INSTALL = $(INSTALL_DATA)
initdDATA_INSTALL = $(INSTALL_DATA) initdDATA_INSTALL = $(INSTALL_DATA)
sysconfDATA_INSTALL = $(INSTALL_DATA) sysconfDATA_INSTALL = $(INSTALL_DATA)
DATA = $(docs_DATA) $(initd_DATA) $(sysconf_DATA) DATA = $(docs_DATA) $(initd_DATA) $(sysconf_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
ETAGS = etags ETAGS = etags
CTAGS = ctags CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS) DIST_SUBDIRS = $(SUBDIRS)
@ -188,8 +187,6 @@ GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
ASFLAGS = @ASFLAGS@ ASFLAGS = @ASFLAGS@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
@ -198,6 +195,7 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCAS = @CCAS@ CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@ CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
@ -215,6 +213,7 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -224,16 +223,9 @@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@ MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OS_DARWIN_FALSE = @OS_DARWIN_FALSE@
OS_DARWIN_TRUE = @OS_DARWIN_TRUE@
OS_SOLARIS_FALSE = @OS_SOLARIS_FALSE@
OS_SOLARIS_TRUE = @OS_SOLARIS_TRUE@
OS_WIN32_MINGW_FALSE = @OS_WIN32_MINGW_FALSE@
OS_WIN32_MINGW_TRUE = @OS_WIN32_MINGW_TRUE@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -243,16 +235,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@ PATH_SEPARATOR = @PATH_SEPARATOR@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
SMARTD_SUFFIX_FALSE = @SMARTD_SUFFIX_FALSE@
SMARTD_SUFFIX_TRUE = @SMARTD_SUFFIX_TRUE@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
@ -264,6 +254,7 @@ build_alias = @build_alias@
build_cpu = @build_cpu@ build_cpu = @build_cpu@
build_os = @build_os@ build_os = @build_os@
build_vendor = @build_vendor@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@ datadir = @datadir@
datarootdir = @datarootdir@ datarootdir = @datarootdir@
docdir = @docdir@ docdir = @docdir@
@ -301,8 +292,11 @@ sharedstatedir = @sharedstatedir@
smartd_suffix = @smartd_suffix@ smartd_suffix = @smartd_suffix@
smartmontools_release_date = @smartmontools_release_date@ smartmontools_release_date = @smartmontools_release_date@
smartmontools_release_time = @smartmontools_release_time@ smartmontools_release_time = @smartmontools_release_time@
srcdir = @srcdir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
# Make sure .cpp takes precedence to avoid compiling old .c file # Make sure .cpp takes precedence to avoid compiling old .c file
SUFFIXES = .cpp .c .s .o SUFFIXES = .cpp .c .s .o
@ -470,7 +464,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
config.h: stamp-h1 config.h: stamp-h1
@if test ! -f $@; then \ @if test ! -f $@; then \
rm -f stamp-h1; \ rm -f stamp-h1; \
$(MAKE) stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
else :; fi else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@ -485,7 +479,7 @@ distclean-hdr:
-rm -f config.h stamp-h1 -rm -f config.h stamp-h1
install-sbinPROGRAMS: $(sbin_PROGRAMS) install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
@list='$(sbin_PROGRAMS)'; for p in $$list; do \ @list='$(sbin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \ if test -f $$p \
@ -508,10 +502,10 @@ clean-sbinPROGRAMS:
-test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS) -test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
smartctl$(EXEEXT): $(smartctl_OBJECTS) $(smartctl_DEPENDENCIES) smartctl$(EXEEXT): $(smartctl_OBJECTS) $(smartctl_DEPENDENCIES)
@rm -f smartctl$(EXEEXT) @rm -f smartctl$(EXEEXT)
$(CXXLINK) $(smartctl_LDFLAGS) $(smartctl_OBJECTS) $(smartctl_LDADD) $(LIBS) $(CXXLINK) $(smartctl_OBJECTS) $(smartctl_LDADD) $(LIBS)
smartd$(EXEEXT): $(smartd_OBJECTS) $(smartd_DEPENDENCIES) smartd$(EXEEXT): $(smartd_OBJECTS) $(smartd_DEPENDENCIES)
@rm -f smartd$(EXEEXT) @rm -f smartd$(EXEEXT)
$(CXXLINK) $(smartd_LDFLAGS) $(smartd_OBJECTS) $(smartd_LDADD) $(LIBS) $(CXXLINK) $(smartd_OBJECTS) $(smartd_LDADD) $(LIBS)
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) -rm -f *.$(OBJEXT)
@ -547,140 +541,139 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utility.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utility.Po@am__quote@
.c.o: .c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $< @am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj: .c.obj:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
regex.o: posix/regex.c regex.o: posix/regex.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex.o -MD -MP -MF "$(DEPDIR)/regex.Tpo" -c -o regex.o `test -f 'posix/regex.c' || echo '$(srcdir)/'`posix/regex.c; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex.o -MD -MP -MF $(DEPDIR)/regex.Tpo -c -o regex.o `test -f 'posix/regex.c' || echo '$(srcdir)/'`posix/regex.c
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regex.Tpo" "$(DEPDIR)/regex.Po"; else rm -f "$(DEPDIR)/regex.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regex.Tpo $(DEPDIR)/regex.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex.c' object='regex.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex.c' object='regex.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex.o `test -f 'posix/regex.c' || echo '$(srcdir)/'`posix/regex.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex.o `test -f 'posix/regex.c' || echo '$(srcdir)/'`posix/regex.c
regex.obj: posix/regex.c regex.obj: posix/regex.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex.obj -MD -MP -MF "$(DEPDIR)/regex.Tpo" -c -o regex.obj `if test -f 'posix/regex.c'; then $(CYGPATH_W) 'posix/regex.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex.c'; fi`; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex.obj -MD -MP -MF $(DEPDIR)/regex.Tpo -c -o regex.obj `if test -f 'posix/regex.c'; then $(CYGPATH_W) 'posix/regex.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex.c'; fi`
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regex.Tpo" "$(DEPDIR)/regex.Po"; else rm -f "$(DEPDIR)/regex.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regex.Tpo $(DEPDIR)/regex.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex.c' object='regex.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex.c' object='regex.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex.obj `if test -f 'posix/regex.c'; then $(CYGPATH_W) 'posix/regex.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex.obj `if test -f 'posix/regex.c'; then $(CYGPATH_W) 'posix/regex.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex.c'; fi`
regcomp.o: posix/regcomp.c regcomp.o: posix/regcomp.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regcomp.o -MD -MP -MF "$(DEPDIR)/regcomp.Tpo" -c -o regcomp.o `test -f 'posix/regcomp.c' || echo '$(srcdir)/'`posix/regcomp.c; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regcomp.o -MD -MP -MF $(DEPDIR)/regcomp.Tpo -c -o regcomp.o `test -f 'posix/regcomp.c' || echo '$(srcdir)/'`posix/regcomp.c
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regcomp.Tpo" "$(DEPDIR)/regcomp.Po"; else rm -f "$(DEPDIR)/regcomp.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regcomp.Tpo $(DEPDIR)/regcomp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regcomp.c' object='regcomp.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regcomp.c' object='regcomp.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regcomp.o `test -f 'posix/regcomp.c' || echo '$(srcdir)/'`posix/regcomp.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regcomp.o `test -f 'posix/regcomp.c' || echo '$(srcdir)/'`posix/regcomp.c
regcomp.obj: posix/regcomp.c regcomp.obj: posix/regcomp.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regcomp.obj -MD -MP -MF "$(DEPDIR)/regcomp.Tpo" -c -o regcomp.obj `if test -f 'posix/regcomp.c'; then $(CYGPATH_W) 'posix/regcomp.c'; else $(CYGPATH_W) '$(srcdir)/posix/regcomp.c'; fi`; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regcomp.obj -MD -MP -MF $(DEPDIR)/regcomp.Tpo -c -o regcomp.obj `if test -f 'posix/regcomp.c'; then $(CYGPATH_W) 'posix/regcomp.c'; else $(CYGPATH_W) '$(srcdir)/posix/regcomp.c'; fi`
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regcomp.Tpo" "$(DEPDIR)/regcomp.Po"; else rm -f "$(DEPDIR)/regcomp.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regcomp.Tpo $(DEPDIR)/regcomp.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regcomp.c' object='regcomp.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regcomp.c' object='regcomp.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regcomp.obj `if test -f 'posix/regcomp.c'; then $(CYGPATH_W) 'posix/regcomp.c'; else $(CYGPATH_W) '$(srcdir)/posix/regcomp.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regcomp.obj `if test -f 'posix/regcomp.c'; then $(CYGPATH_W) 'posix/regcomp.c'; else $(CYGPATH_W) '$(srcdir)/posix/regcomp.c'; fi`
regexec.o: posix/regexec.c regexec.o: posix/regexec.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regexec.o -MD -MP -MF "$(DEPDIR)/regexec.Tpo" -c -o regexec.o `test -f 'posix/regexec.c' || echo '$(srcdir)/'`posix/regexec.c; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regexec.o -MD -MP -MF $(DEPDIR)/regexec.Tpo -c -o regexec.o `test -f 'posix/regexec.c' || echo '$(srcdir)/'`posix/regexec.c
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regexec.Tpo" "$(DEPDIR)/regexec.Po"; else rm -f "$(DEPDIR)/regexec.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regexec.Tpo $(DEPDIR)/regexec.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regexec.c' object='regexec.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regexec.c' object='regexec.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regexec.o `test -f 'posix/regexec.c' || echo '$(srcdir)/'`posix/regexec.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regexec.o `test -f 'posix/regexec.c' || echo '$(srcdir)/'`posix/regexec.c
regexec.obj: posix/regexec.c regexec.obj: posix/regexec.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regexec.obj -MD -MP -MF "$(DEPDIR)/regexec.Tpo" -c -o regexec.obj `if test -f 'posix/regexec.c'; then $(CYGPATH_W) 'posix/regexec.c'; else $(CYGPATH_W) '$(srcdir)/posix/regexec.c'; fi`; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regexec.obj -MD -MP -MF $(DEPDIR)/regexec.Tpo -c -o regexec.obj `if test -f 'posix/regexec.c'; then $(CYGPATH_W) 'posix/regexec.c'; else $(CYGPATH_W) '$(srcdir)/posix/regexec.c'; fi`
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regexec.Tpo" "$(DEPDIR)/regexec.Po"; else rm -f "$(DEPDIR)/regexec.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regexec.Tpo $(DEPDIR)/regexec.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regexec.c' object='regexec.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regexec.c' object='regexec.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regexec.obj `if test -f 'posix/regexec.c'; then $(CYGPATH_W) 'posix/regexec.c'; else $(CYGPATH_W) '$(srcdir)/posix/regexec.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regexec.obj `if test -f 'posix/regexec.c'; then $(CYGPATH_W) 'posix/regexec.c'; else $(CYGPATH_W) '$(srcdir)/posix/regexec.c'; fi`
regex_internal.o: posix/regex_internal.c regex_internal.o: posix/regex_internal.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex_internal.o -MD -MP -MF "$(DEPDIR)/regex_internal.Tpo" -c -o regex_internal.o `test -f 'posix/regex_internal.c' || echo '$(srcdir)/'`posix/regex_internal.c; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex_internal.o -MD -MP -MF $(DEPDIR)/regex_internal.Tpo -c -o regex_internal.o `test -f 'posix/regex_internal.c' || echo '$(srcdir)/'`posix/regex_internal.c
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regex_internal.Tpo" "$(DEPDIR)/regex_internal.Po"; else rm -f "$(DEPDIR)/regex_internal.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regex_internal.Tpo $(DEPDIR)/regex_internal.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex_internal.c' object='regex_internal.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex_internal.c' object='regex_internal.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex_internal.o `test -f 'posix/regex_internal.c' || echo '$(srcdir)/'`posix/regex_internal.c @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex_internal.o `test -f 'posix/regex_internal.c' || echo '$(srcdir)/'`posix/regex_internal.c
regex_internal.obj: posix/regex_internal.c regex_internal.obj: posix/regex_internal.c
@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex_internal.obj -MD -MP -MF "$(DEPDIR)/regex_internal.Tpo" -c -o regex_internal.obj `if test -f 'posix/regex_internal.c'; then $(CYGPATH_W) 'posix/regex_internal.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex_internal.c'; fi`; \ @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT regex_internal.obj -MD -MP -MF $(DEPDIR)/regex_internal.Tpo -c -o regex_internal.obj `if test -f 'posix/regex_internal.c'; then $(CYGPATH_W) 'posix/regex_internal.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex_internal.c'; fi`
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/regex_internal.Tpo" "$(DEPDIR)/regex_internal.Po"; else rm -f "$(DEPDIR)/regex_internal.Tpo"; exit 1; fi @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/regex_internal.Tpo $(DEPDIR)/regex_internal.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex_internal.c' object='regex_internal.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='posix/regex_internal.c' object='regex_internal.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex_internal.obj `if test -f 'posix/regex_internal.c'; then $(CYGPATH_W) 'posix/regex_internal.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex_internal.c'; fi` @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regex_internal.obj `if test -f 'posix/regex_internal.c'; then $(CYGPATH_W) 'posix/regex_internal.c'; else $(CYGPATH_W) '$(srcdir)/posix/regex_internal.c'; fi`
.cpp.o: .cpp.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cpp.obj: .cpp.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
daemon_win32.o: os_win32/daemon_win32.cpp daemon_win32.o: os_win32/daemon_win32.cpp
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT daemon_win32.o -MD -MP -MF "$(DEPDIR)/daemon_win32.Tpo" -c -o daemon_win32.o `test -f 'os_win32/daemon_win32.cpp' || echo '$(srcdir)/'`os_win32/daemon_win32.cpp; \ @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT daemon_win32.o -MD -MP -MF $(DEPDIR)/daemon_win32.Tpo -c -o daemon_win32.o `test -f 'os_win32/daemon_win32.cpp' || echo '$(srcdir)/'`os_win32/daemon_win32.cpp
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/daemon_win32.Tpo" "$(DEPDIR)/daemon_win32.Po"; else rm -f "$(DEPDIR)/daemon_win32.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/daemon_win32.Tpo $(DEPDIR)/daemon_win32.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/daemon_win32.cpp' object='daemon_win32.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/daemon_win32.cpp' object='daemon_win32.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o daemon_win32.o `test -f 'os_win32/daemon_win32.cpp' || echo '$(srcdir)/'`os_win32/daemon_win32.cpp @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o daemon_win32.o `test -f 'os_win32/daemon_win32.cpp' || echo '$(srcdir)/'`os_win32/daemon_win32.cpp
daemon_win32.obj: os_win32/daemon_win32.cpp daemon_win32.obj: os_win32/daemon_win32.cpp
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT daemon_win32.obj -MD -MP -MF "$(DEPDIR)/daemon_win32.Tpo" -c -o daemon_win32.obj `if test -f 'os_win32/daemon_win32.cpp'; then $(CYGPATH_W) 'os_win32/daemon_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/daemon_win32.cpp'; fi`; \ @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT daemon_win32.obj -MD -MP -MF $(DEPDIR)/daemon_win32.Tpo -c -o daemon_win32.obj `if test -f 'os_win32/daemon_win32.cpp'; then $(CYGPATH_W) 'os_win32/daemon_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/daemon_win32.cpp'; fi`
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/daemon_win32.Tpo" "$(DEPDIR)/daemon_win32.Po"; else rm -f "$(DEPDIR)/daemon_win32.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/daemon_win32.Tpo $(DEPDIR)/daemon_win32.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/daemon_win32.cpp' object='daemon_win32.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/daemon_win32.cpp' object='daemon_win32.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o daemon_win32.obj `if test -f 'os_win32/daemon_win32.cpp'; then $(CYGPATH_W) 'os_win32/daemon_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/daemon_win32.cpp'; fi` @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o daemon_win32.obj `if test -f 'os_win32/daemon_win32.cpp'; then $(CYGPATH_W) 'os_win32/daemon_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/daemon_win32.cpp'; fi`
hostname_win32.o: os_win32/hostname_win32.cpp hostname_win32.o: os_win32/hostname_win32.cpp
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hostname_win32.o -MD -MP -MF "$(DEPDIR)/hostname_win32.Tpo" -c -o hostname_win32.o `test -f 'os_win32/hostname_win32.cpp' || echo '$(srcdir)/'`os_win32/hostname_win32.cpp; \ @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hostname_win32.o -MD -MP -MF $(DEPDIR)/hostname_win32.Tpo -c -o hostname_win32.o `test -f 'os_win32/hostname_win32.cpp' || echo '$(srcdir)/'`os_win32/hostname_win32.cpp
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/hostname_win32.Tpo" "$(DEPDIR)/hostname_win32.Po"; else rm -f "$(DEPDIR)/hostname_win32.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/hostname_win32.Tpo $(DEPDIR)/hostname_win32.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/hostname_win32.cpp' object='hostname_win32.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/hostname_win32.cpp' object='hostname_win32.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hostname_win32.o `test -f 'os_win32/hostname_win32.cpp' || echo '$(srcdir)/'`os_win32/hostname_win32.cpp @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hostname_win32.o `test -f 'os_win32/hostname_win32.cpp' || echo '$(srcdir)/'`os_win32/hostname_win32.cpp
hostname_win32.obj: os_win32/hostname_win32.cpp hostname_win32.obj: os_win32/hostname_win32.cpp
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hostname_win32.obj -MD -MP -MF "$(DEPDIR)/hostname_win32.Tpo" -c -o hostname_win32.obj `if test -f 'os_win32/hostname_win32.cpp'; then $(CYGPATH_W) 'os_win32/hostname_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/hostname_win32.cpp'; fi`; \ @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hostname_win32.obj -MD -MP -MF $(DEPDIR)/hostname_win32.Tpo -c -o hostname_win32.obj `if test -f 'os_win32/hostname_win32.cpp'; then $(CYGPATH_W) 'os_win32/hostname_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/hostname_win32.cpp'; fi`
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/hostname_win32.Tpo" "$(DEPDIR)/hostname_win32.Po"; else rm -f "$(DEPDIR)/hostname_win32.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/hostname_win32.Tpo $(DEPDIR)/hostname_win32.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/hostname_win32.cpp' object='hostname_win32.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/hostname_win32.cpp' object='hostname_win32.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hostname_win32.obj `if test -f 'os_win32/hostname_win32.cpp'; then $(CYGPATH_W) 'os_win32/hostname_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/hostname_win32.cpp'; fi` @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hostname_win32.obj `if test -f 'os_win32/hostname_win32.cpp'; then $(CYGPATH_W) 'os_win32/hostname_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/hostname_win32.cpp'; fi`
syslog_win32.o: os_win32/syslog_win32.cpp syslog_win32.o: os_win32/syslog_win32.cpp
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT syslog_win32.o -MD -MP -MF "$(DEPDIR)/syslog_win32.Tpo" -c -o syslog_win32.o `test -f 'os_win32/syslog_win32.cpp' || echo '$(srcdir)/'`os_win32/syslog_win32.cpp; \ @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT syslog_win32.o -MD -MP -MF $(DEPDIR)/syslog_win32.Tpo -c -o syslog_win32.o `test -f 'os_win32/syslog_win32.cpp' || echo '$(srcdir)/'`os_win32/syslog_win32.cpp
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/syslog_win32.Tpo" "$(DEPDIR)/syslog_win32.Po"; else rm -f "$(DEPDIR)/syslog_win32.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/syslog_win32.Tpo $(DEPDIR)/syslog_win32.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/syslog_win32.cpp' object='syslog_win32.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/syslog_win32.cpp' object='syslog_win32.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o syslog_win32.o `test -f 'os_win32/syslog_win32.cpp' || echo '$(srcdir)/'`os_win32/syslog_win32.cpp @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o syslog_win32.o `test -f 'os_win32/syslog_win32.cpp' || echo '$(srcdir)/'`os_win32/syslog_win32.cpp
syslog_win32.obj: os_win32/syslog_win32.cpp syslog_win32.obj: os_win32/syslog_win32.cpp
@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT syslog_win32.obj -MD -MP -MF "$(DEPDIR)/syslog_win32.Tpo" -c -o syslog_win32.obj `if test -f 'os_win32/syslog_win32.cpp'; then $(CYGPATH_W) 'os_win32/syslog_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/syslog_win32.cpp'; fi`; \ @am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT syslog_win32.obj -MD -MP -MF $(DEPDIR)/syslog_win32.Tpo -c -o syslog_win32.obj `if test -f 'os_win32/syslog_win32.cpp'; then $(CYGPATH_W) 'os_win32/syslog_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/syslog_win32.cpp'; fi`
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/syslog_win32.Tpo" "$(DEPDIR)/syslog_win32.Po"; else rm -f "$(DEPDIR)/syslog_win32.Tpo"; exit 1; fi @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/syslog_win32.Tpo $(DEPDIR)/syslog_win32.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/syslog_win32.cpp' object='syslog_win32.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='os_win32/syslog_win32.cpp' object='syslog_win32.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o syslog_win32.obj `if test -f 'os_win32/syslog_win32.cpp'; then $(CYGPATH_W) 'os_win32/syslog_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/syslog_win32.cpp'; fi` @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o syslog_win32.obj `if test -f 'os_win32/syslog_win32.cpp'; then $(CYGPATH_W) 'os_win32/syslog_win32.cpp'; else $(CYGPATH_W) '$(srcdir)/os_win32/syslog_win32.cpp'; fi`
.s.o: .s.o:
$(CCASCOMPILE) -c $< $(CCASCOMPILE) -c -o $@ $<
.s.obj: .s.obj:
$(CCASCOMPILE) -c `$(CYGPATH_W) '$<'` $(CCASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
uninstall-info-am:
install-man5: $(man5_MANS) $(man_MANS) install-man5: $(man5_MANS) $(man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(man5dir)" || $(mkdir_p) "$(DESTDIR)$(man5dir)" test -z "$(man5dir)" || $(MKDIR_P) "$(DESTDIR)$(man5dir)"
@list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \ for i in $$l2; do \
@ -725,7 +718,7 @@ uninstall-man5:
done done
install-man8: $(man8_MANS) $(man_MANS) install-man8: $(man8_MANS) $(man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)" test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \ for i in $$l2; do \
@ -770,7 +763,7 @@ uninstall-man8:
done done
install-docsDATA: $(docs_DATA) install-docsDATA: $(docs_DATA)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(docsdir)" || $(mkdir_p) "$(DESTDIR)$(docsdir)" test -z "$(docsdir)" || $(MKDIR_P) "$(DESTDIR)$(docsdir)"
@list='$(docs_DATA)'; for p in $$list; do \ @list='$(docs_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \ f=$(am__strip_dir) \
@ -779,7 +772,7 @@ install-docsDATA: $(docs_DATA)
done done
install-sysconfDATA: $(sysconf_DATA) install-sysconfDATA: $(sysconf_DATA)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(sysconfdir)" || $(mkdir_p) "$(DESTDIR)$(sysconfdir)" test -z "$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)"
@list='$(sysconf_DATA)'; for p in $$list; do \ @list='$(sysconf_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \ f=$(am__strip_dir) \
@ -826,8 +819,7 @@ $(RECURSIVE_TARGETS):
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail" fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \ $(RECURSIVE_CLEAN_TARGETS):
maintainer-clean-recursive:
@failcom='exit 1'; \ @failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \ for f in x $$MAKEFLAGS; do \
case $$f in \ case $$f in \
@ -929,24 +921,22 @@ distclean-tags:
distdir: $(DISTFILES) distdir: $(DISTFILES)
$(am__remove_distdir) $(am__remove_distdir)
mkdir $(distdir) test -d $(distdir) || mkdir $(distdir)
$(mkdir_p) $(distdir)/os_darwin $(distdir)/os_win32 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ list='$(DISTFILES)'; \
list='$(DISTFILES)'; for file in $$list; do \ dist_files=`for file in $$list; do echo $$file; done | \
case $$file in \ sed -e "s|^$$srcdirstrip/||;t" \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ case $$dist_files in \
esac; \ */*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \ fi; \
@ -960,7 +950,7 @@ distdir: $(DISTFILES)
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \ test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \ distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@ -968,6 +958,8 @@ distdir: $(DISTFILES)
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \ top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \ distdir="$$distdir/$$subdir" \
am__remove_distdir=: \
am__skip_length_check=: \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -975,7 +967,7 @@ distdir: $(DISTFILES)
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r $(distdir)
dist-gzip: distdir dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
@ -1050,7 +1042,7 @@ distcheck: dist
$(am__remove_distdir) $(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \ @(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck: distuninstallcheck:
@cd $(distuninstallcheck_dir) \ @cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@ -1075,7 +1067,7 @@ all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) config.h
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(docsdir)" "$(DESTDIR)$(initddir)" "$(DESTDIR)$(sysconfdir)"; do \ for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(docsdir)" "$(DESTDIR)$(initddir)" "$(DESTDIR)$(sysconfdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done done
install: install-recursive install: install-recursive
install-exec: install-exec-recursive install-exec: install-exec-recursive
@ -1125,12 +1117,20 @@ info-am:
install-data-am: install-docsDATA install-initdDATA install-man install-data-am: install-docsDATA install-initdDATA install-man
install-dvi: install-dvi-recursive
install-exec-am: install-sbinPROGRAMS install-sysconfDATA install-exec-am: install-sbinPROGRAMS install-sysconfDATA
install-html: install-html-recursive
install-info: install-info-recursive install-info: install-info-recursive
@OS_SOLARIS_FALSE@install-man: install-man5 install-man8 @OS_SOLARIS_FALSE@install-man: install-man5 install-man8
install-pdf: install-pdf-recursive
install-ps: install-ps-recursive
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-recursive maintainer-clean: maintainer-clean-recursive
@ -1152,32 +1152,33 @@ ps: ps-recursive
ps-am: ps-am:
uninstall-am: uninstall-docsDATA uninstall-info-am uninstall-initdDATA \ uninstall-am: uninstall-docsDATA uninstall-initdDATA uninstall-man \
uninstall-man uninstall-sbinPROGRAMS uninstall-sysconfDATA uninstall-sbinPROGRAMS uninstall-sysconfDATA
uninstall-info: uninstall-info-recursive
@OS_SOLARIS_FALSE@uninstall-man: uninstall-man5 uninstall-man8 @OS_SOLARIS_FALSE@uninstall-man: uninstall-man5 uninstall-man8
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
check-am clean clean-generic clean-recursive \ install-strip
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-sbinPROGRAMS ctags ctags-recursive dist dist-all \ clean-sbinPROGRAMS ctags ctags-recursive dist dist-all \
dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip distcheck \ dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip distcheck \
distclean distclean-compile distclean-generic distclean-hdr \ distclean distclean-compile distclean-generic distclean-hdr \
distclean-recursive distclean-tags distcleancheck distdir \ distclean-tags distcleancheck distdir distuninstallcheck dvi \
distuninstallcheck dvi dvi-am html html-am info info-am \ dvi-am html html-am info info-am install install-am \
install install-am install-data install-data-am \ install-data install-data-am install-docsDATA install-dvi \
install-docsDATA install-exec install-exec-am install-info \ install-dvi-am install-exec install-exec-am install-html \
install-info-am install-initdDATA install-man install-man5 \ install-html-am install-info install-info-am install-initdDATA \
install-man8 install-sbinPROGRAMS install-strip \ install-man install-man5 install-man8 install-pdf \
install-sysconfDATA installcheck installcheck-am installdirs \ install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \
installdirs-am maintainer-clean maintainer-clean-generic \ install-strip install-sysconfDATA installcheck installcheck-am \
maintainer-clean-recursive mostlyclean mostlyclean-compile \ installdirs installdirs-am maintainer-clean \
mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ maintainer-clean-generic mostlyclean mostlyclean-compile \
tags tags-recursive uninstall uninstall-am uninstall-docsDATA \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \
uninstall-info-am uninstall-initdDATA uninstall-man \ uninstall uninstall-am uninstall-docsDATA uninstall-initdDATA \
uninstall-man5 uninstall-man8 uninstall-sbinPROGRAMS \ uninstall-man uninstall-man5 uninstall-man8 \
uninstall-sysconfDATA uninstall-sbinPROGRAMS uninstall-sysconfDATA
@SET_MAKE@ @SET_MAKE@

10
NEWS
View File

@ -1,17 +1,19 @@
smartmontools NEWS smartmontools NEWS
------------------ ------------------
CVS ID: $Id: NEWS,v 1.33 2008/02/24 20:16:31 ballen4705 Exp $ CVS ID: $Id: NEWS,v 1.35 2008/03/10 10:44:30 ballen4705 Exp $
The most up-to-date version of this file is: The most up-to-date version of this file is:
http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/NEWS?view=markup http://smartmontools.cvs.sourceforge.net/smartmontools/sm5/NEWS?view=markup
Date 2008-02-24 Date 2008-03-10
Summary: smartmontools release 5.38 (STABLE) Summary: smartmontools release 5.38 (STABLE)
-------------------------------------------- --------------------------------------------
This is a stable release of smartmontools. In addition to changes This is a stable release of smartmontools. In addition to changes
below, it includes: below, it includes:
- Fixed auto-offline support in FreeBSD - Libata/Marvell driver devices no longer need explicit '-d' switch
- DEVICESCAN automatically detects libata/marvell driver SATA devices
- Fixed auto-offline/autosave support in FreeBSD
- SAT device type + SCSI generic devices work properly with smartd under Linux - SAT device type + SCSI generic devices work properly with smartd under Linux
- Many additions to drive database - Many additions to drive database
- More portable autogen/autoconf/automake script set - More portable autogen/autoconf/automake script set
@ -30,7 +32,7 @@ below, it includes:
- Fix to scheduled tests on Highpoint RAID controllers - Fix to scheduled tests on Highpoint RAID controllers
- New samsung firmware bug workaround option - New samsung firmware bug workaround option
- Auto-offline and Auto-save fixed in Linux + libata - Auto-offline and Auto-save fixed in Linux + libata
- Solaris: better SCSI support - Solaris: better SCSI support and support for Sun compilers AND gcc
- Fixed and improvements to CCISS support - Fixed and improvements to CCISS support
- More options for SCSI temperature monitoring and history - More options for SCSI temperature monitoring and history
- Additional command line options for selective self-tests - Additional command line options for selective self-tests

4
README
View File

@ -3,7 +3,7 @@ smartmontools - S.M.A.R.T. utility toolset for Darwin/Mac
OSX, FreeBSD, Linux, NetBSD, OpenBSD, Solaris, and Windows. OSX, FreeBSD, Linux, NetBSD, OpenBSD, Solaris, and Windows.
========================================================== ==========================================================
$Id: README,v 1.56 2006/05/19 16:33:33 chrfranke Exp $ $Id: README,v 1.57 2008/03/04 22:09:47 ballen4705 Exp $
== HOME == == HOME ==
The home for smartmontools is located at: The home for smartmontools is located at:
@ -19,7 +19,7 @@ You will find a mailing list for support and other questions at:
== COPYING == == COPYING ==
Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free under the terms of the GNU General Public License as published by the Free

179
aclocal.m4 vendored
View File

@ -1,7 +1,7 @@
# generated automatically by aclocal 1.9.6 -*- Autoconf -*- # generated automatically by aclocal 1.10 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005 Free Software Foundation, Inc. # 2005, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -11,7 +11,12 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. m4_if(m4_PACKAGE_VERSION, [2.61],,
[m4_fatal([this file was generated for autoconf 2.61.
You have another version of autoconf. If you want to use that,
you should regenerate the build system entirely.], [63])])
# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -21,24 +26,39 @@
# ---------------------------- # ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been # Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y. # generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) # (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.10], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# _AM_AUTOCONF_VERSION(VERSION)
# -----------------------------
# aclocal traces this macro to find the Autoconf version.
# This is a private macro too. Using m4_define simplifies
# the logic in aclocal, which can simply ignore this definition.
m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION # AM_SET_CURRENT_AUTOMAKE_VERSION
# ------------------------------- # -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.9.6])]) [AM_AUTOMAKE_VERSION([1.10])dnl
_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
# Figure out how to run the assembler. -*- Autoconf -*- # Figure out how to run the assembler. -*- Autoconf -*-
# Copyright (C) 2001, 2003, 2004, 2005 Free Software Foundation, Inc. # Copyright (C) 2001, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 4 # serial 5
# AM_PROG_AS # AM_PROG_AS
# ---------- # ----------
@ -49,6 +69,7 @@ test "${CCAS+set}" = set || CCAS=$CC
test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)])
AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
]) ])
# AM_AUX_DIR_EXPAND -*- Autoconf -*- # AM_AUX_DIR_EXPAND -*- Autoconf -*-
@ -106,14 +127,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
# AM_CONDITIONAL -*- Autoconf -*- # AM_CONDITIONAL -*- Autoconf -*-
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 7 # serial 8
# AM_CONDITIONAL(NAME, SHELL-CONDITION) # AM_CONDITIONAL(NAME, SHELL-CONDITION)
# ------------------------------------- # -------------------------------------
@ -122,8 +143,10 @@ AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ(2.52)dnl [AC_PREREQ(2.52)dnl
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE]) AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE]) AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
if $2; then if $2; then
$1_TRUE= $1_TRUE=
$1_FALSE='#' $1_FALSE='#'
@ -137,15 +160,14 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]]) Usually this means the macro was only invoked conditionally.]])
fi])]) fi])])
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 8 # serial 9
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4, # written in clear, in which case automake, when reading aclocal.m4,
@ -173,6 +195,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=], ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], UPC, [depcc="$UPC" am_compiler_list=],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=]) [depcc="$$1" am_compiler_list=])
@ -238,6 +261,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err && >/dev/null 2>conftest.err &&
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@ -290,7 +314,8 @@ if test "x$enable_dependency_tracking" != xno; then
AMDEPBACKSLASH='\' AMDEPBACKSLASH='\'
fi fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH]) AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
]) ])
# Generate code to set up dependency tracking. -*- Autoconf -*- # Generate code to set up dependency tracking. -*- Autoconf -*-
@ -315,8 +340,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# some people rename them; so instead we look at the file content. # some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process # Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so. # each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file. # Grep'ing the whole file is not good either: AIX grep has a line
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then # limit of 2048, but all sed's we know have understand at least 4000.
if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")` dirpart=`AS_DIRNAME("$mf")`
else else
continue continue
@ -375,8 +401,8 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# Do all the work for Automake. -*- Autoconf -*- # Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# Free Software Foundation, Inc. # 2005, 2006 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -399,16 +425,20 @@ AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
# arguments mandatory, and then we can depend on a new Autoconf # arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support. # release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE], AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.58])dnl [AC_PREREQ([2.60])dnl
dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl Autoconf wants to disallow AM_ names. We explicitly allow
dnl the ones we care about. dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`"; then
if test "`cd $srcdir && pwd`" != "`pwd`" && # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
test -f $srcdir/config.status; then # is not polluted with repeated "-I."
AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
# test to see if srcdir already configured
if test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
fi fi
# test whether we have cygpath # test whether we have cygpath
@ -428,6 +458,9 @@ m4_ifval([$2],
AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])], AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl [_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
[m4_fatal([AC_INIT should be called with package and version arguments])])dnl
AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
@ -463,6 +496,10 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX],
[_AM_DEPENDENCIES(CXX)], [_AM_DEPENDENCIES(CXX)],
[define([AC_PROG_CXX], [define([AC_PROG_CXX],
defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
[_AM_DEPENDENCIES(OBJC)],
[define([AC_PROG_OBJC],
defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
]) ])
]) ])
@ -498,7 +535,7 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# Define $install_sh. # Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH], AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
AC_SUBST(install_sh)]) AC_SUBST(install_sh)])
# Copyright (C) 2003, 2005 Free Software Foundation, Inc. # Copyright (C) 2003, 2005 Free Software Foundation, Inc.
@ -605,14 +642,14 @@ rm -f confinc confmf
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 4 # serial 5
# AM_MISSING_PROG(NAME, PROGRAM) # AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------ # ------------------------------
@ -628,6 +665,7 @@ AC_SUBST($1)])
# If it does, set am_missing_run to use it, otherwise, to nothing. # If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN], AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
# Use eval to expand $SHELL # Use eval to expand $SHELL
if eval "$MISSING --run true"; then if eval "$MISSING --run true"; then
@ -638,7 +676,7 @@ else
fi fi
]) ])
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@ -646,60 +684,23 @@ fi
# AM_PROG_MKDIR_P # AM_PROG_MKDIR_P
# --------------- # ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. # Check for `mkdir -p'.
#
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077).
# This was a mistake. There are at least two reasons why we must not
# use `-m 0755':
# - it causes special bits like SGID to be ignored,
# - it may be too restrictive (some setups expect 775 directories).
#
# Do not use -m 0755 and let people choose whatever they expect by
# setting umask.
#
# We cannot accept any implementation of `mkdir' that recognizes `-p'.
# Some implementations (such as Solaris 8's) are not thread-safe: if a
# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
# concurrently, both version can detect that a/ is missing, but only
# one can create it and the other will error out. Consequently we
# restrict ourselves to GNU make (using the --version option ensures
# this.)
AC_DEFUN([AM_PROG_MKDIR_P], AC_DEFUN([AM_PROG_MKDIR_P],
[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then [AC_PREREQ([2.60])dnl
# We used to keeping the `.' as first argument, in order to AC_REQUIRE([AC_PROG_MKDIR_P])dnl
# allow $(mkdir_p) to be used without argument. As in dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
# $(mkdir_p) $(somedir) dnl while keeping a definition of mkdir_p for backward compatibility.
# where $(somedir) is conditionally defined. However this is wrong dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
# for two reasons: dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
# 1. if the package is installed by a user who cannot write `.' dnl Makefile.ins that do not define MKDIR_P, so we do our own
# make install will fail, dnl adjustment using top_builddir (which is defined more often than
# 2. the above comment should most certainly read dnl MKDIR_P).
# $(mkdir_p) $(DESTDIR)$(somedir) AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
# so it does not work when $(somedir) is undefined and case $mkdir_p in
# $(DESTDIR) is not. [[\\/$]]* | ?:[[\\/]]*) ;;
# To support the latter case, we have to write */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
# test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), esac
# so the `.' trick is pointless. ])
mkdir_p='mkdir -p --'
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
for d in ./-p ./--version;
do
test -d $d && rmdir $d
done
# $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
if test -f "$ac_aux_dir/mkinstalldirs"; then
mkdir_p='$(mkinstalldirs)'
else
mkdir_p='$(install_sh) -d'
fi
fi
AC_SUBST([mkdir_p])])
# Helper functions for option handling. -*- Autoconf -*- # Helper functions for option handling. -*- Autoconf -*-
@ -811,9 +812,21 @@ dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :) AC_CHECK_TOOL([STRIP], [strip], :)
fi fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])]) AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Copyright (C) 2006 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
# Check how to create a tarball. -*- Autoconf -*- # Check how to create a tarball. -*- Autoconf -*-
# Copyright (C) 2004, 2005 Free Software Foundation, Inc. # Copyright (C) 2004, 2005 Free Software Foundation, Inc.

View File

@ -7,7 +7,7 @@
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* Address of support mailing list: smartmontools-support@lists.sourceforge.net * Address of support mailing list: smartmontools-support@lists.sourceforge.net
* *
* Copyright (C) 2003-6 Philip Williams * Copyright (C) 2003-8 Philip Williams
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -26,7 +26,7 @@
#define COMMAND_TABLE_SIZE 256 #define COMMAND_TABLE_SIZE 256
const char *atacmdnames_c_cvsid="$Id: atacmdnames.cpp,v 1.15 2006/10/22 18:39:39 ballen4705 Exp $" ATACMDNAMES_H_CVSID; const char *atacmdnames_c_cvsid="$Id: atacmdnames.cpp,v 1.16 2008/03/04 22:09:47 ballen4705 Exp $" ATACMDNAMES_H_CVSID;
const char cmd_reserved[] = "[RESERVED]"; const char cmd_reserved[] = "[RESERVED]";
const char cmd_vendor_specific[] = "[VENDOR SPECIFIC]"; const char cmd_vendor_specific[] = "[VENDOR SPECIFIC]";

View File

@ -7,7 +7,7 @@
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* Address of support mailing list: smartmontools-support@lists.sourceforge.net * Address of support mailing list: smartmontools-support@lists.sourceforge.net
* *
* Copyright (C) 2003-6 Philip Williams * Copyright (C) 2003-8 Philip Williams
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -23,7 +23,7 @@
#ifndef ATACMDNAMES_H_ #ifndef ATACMDNAMES_H_
#define ATACMDNAMES_H_ #define ATACMDNAMES_H_
#define ATACMDNAMES_H_CVSID "$Id: atacmdnames.h,v 1.5 2006/04/12 14:54:28 ballen4705 Exp $\n" #define ATACMDNAMES_H_CVSID "$Id: atacmdnames.h,v 1.6 2008/03/04 22:09:47 ballen4705 Exp $\n"
/* Returns the name of the command (and possibly sub-command) with the given /* Returns the name of the command (and possibly sub-command) with the given
command code and feature register values. */ command code and feature register values. */

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
* Copyright (C) 2000 Andre Hedrick <andre@linux-ide.org> * Copyright (C) 2000 Andre Hedrick <andre@linux-ide.org>
* *
@ -36,7 +36,7 @@
#include "extern.h" #include "extern.h"
#include "utility.h" #include "utility.h"
const char *atacmds_c_cvsid="$Id: atacmds.cpp,v 1.189 2008/01/07 20:07:55 chrfranke Exp $" const char *atacmds_c_cvsid="$Id: atacmds.cpp,v 1.190 2008/03/04 22:09:47 ballen4705 Exp $"
ATACMDS_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSIATA_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSIATA_H_CVSID UTILITY_H_CVSID;
// to hold onto exit code for atexit routine // to hold onto exit code for atexit routine

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
#ifndef ATACMDS_H_ #ifndef ATACMDS_H_
#define ATACMDS_H_ #define ATACMDS_H_
#define ATACMDS_H_CVSID "$Id: atacmds.h,v 1.89 2007/07/26 20:58:50 chrfranke Exp $\n" #define ATACMDS_H_CVSID "$Id: atacmds.h,v 1.90 2008/03/04 22:09:47 ballen4705 Exp $\n"
// Macro to check expected size of struct at compile time using a // Macro to check expected size of struct at compile time using a
// dummy typedef. On size mismatch, compiler reports a negative array // dummy typedef. On size mismatch, compiler reports a negative array

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -41,7 +41,7 @@
#include "utility.h" #include "utility.h"
#include "knowndrives.h" #include "knowndrives.h"
const char *ataprint_c_cvsid="$Id: ataprint.cpp,v 1.184 2007/12/08 13:04:05 chrfranke Exp $" const char *ataprint_c_cvsid="$Id: ataprint.cpp,v 1.185 2008/03/04 22:09:47 ballen4705 Exp $"
ATACMDNAMES_H_CVSID ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID; ATACMDNAMES_H_CVSID ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID;
// for passing global control variables // for passing global control variables

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
#ifndef ATAPRINT_H_ #ifndef ATAPRINT_H_
#define ATAPRINT_H_ #define ATAPRINT_H_
#define ATAPRINT_H_CVSID "$Id: ataprint.h,v 1.30 2007/04/05 18:23:29 shattered Exp $\n" #define ATAPRINT_H_CVSID "$Id: ataprint.h,v 1.31 2008/03/04 22:09:47 ballen4705 Exp $\n"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>

633
config.guess vendored

File diff suppressed because it is too large Load Diff

175
config.sub vendored
View File

@ -1,9 +1,10 @@
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
# Inc.
timestamp='2004-03-12' timestamp='2006-09-20'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@ -21,14 +22,15 @@ timestamp='2004-03-12'
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# Boston, MA 02111-1307, USA. # 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under # configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program. # the same distribution terms that you use for the rest of that program.
# Please send patches to <config-patches@gnu.org>. Submit a context # Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted ChangeLog entry. # diff and a properly formatted ChangeLog entry.
# #
@ -70,7 +72,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc. Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
@ -83,11 +85,11 @@ Try \`$me --help' for more information."
while test $# -gt 0 ; do while test $# -gt 0 ; do
case $1 in case $1 in
--time-stamp | --time* | -t ) --time-stamp | --time* | -t )
echo "$timestamp" ; exit 0 ;; echo "$timestamp" ; exit ;;
--version | -v ) --version | -v )
echo "$version" ; exit 0 ;; echo "$version" ; exit ;;
--help | --h* | -h ) --help | --h* | -h )
echo "$usage"; exit 0 ;; echo "$usage"; exit ;;
-- ) # Stop option processing -- ) # Stop option processing
shift; break ;; shift; break ;;
- ) # Use stdin as input. - ) # Use stdin as input.
@ -99,7 +101,7 @@ while test $# -gt 0 ; do
*local*) *local*)
# First pass through any local machine types. # First pass through any local machine types.
echo $1 echo $1
exit 0;; exit ;;
* ) * )
break ;; break ;;
@ -118,8 +120,9 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations. # Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
@ -145,7 +148,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis) -apple | -axis | -knuth | -cray)
os= os=
basic_machine=$1 basic_machine=$1
;; ;;
@ -170,6 +173,10 @@ case $os in
-hiux*) -hiux*)
os=-hiuxwe2 os=-hiuxwe2
;; ;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5) -sco5)
os=-sco3.2v5 os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -186,6 +193,10 @@ case $os in
# Don't forget version if it is 3.2v4 or newer. # Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*) -sco*)
os=-sco3.2v2 os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -230,14 +241,16 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \ | am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
| bfin \
| c4x | clipper \ | c4x | clipper \
| d10v | d30v | dlx | dsp16xx \ | d10v | d30v | dlx | dsp16xx \
| fr30 | frv \ | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \ | i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \ | ip2k | iq2000 \
| m32r | m32rle | m68000 | m68k | m88k | mcore \ | m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \ | mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \ | mips16 \
| mips64 | mips64el \ | mips64 | mips64el \
@ -246,6 +259,7 @@ case $basic_machine in
| mips64vr4100 | mips64vr4100el \ | mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \ | mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \ | mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \ | mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \ | mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \ | mipsisa64 | mipsisa64el \
@ -254,20 +268,24 @@ case $basic_machine in
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \ | mipstx39 | mipstx39el \
| mn10200 | mn10300 \ | mn10200 | mn10300 \
| mt \
| msp430 \ | msp430 \
| nios | nios2 \
| ns16k | ns32k \ | ns16k | ns32k \
| openrisc | or32 \ | or32 \
| pdp10 | pdp11 | pj | pjl \ | pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \ | pyramid \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | score \
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \ | sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| strongarm \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \ | tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \ | v850 | v850e \
| we32k \ | we32k \
| x86 | xscale | xstormy16 | xtensa \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
| z8k) | z8k)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
@ -278,6 +296,9 @@ case $basic_machine in
;; ;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;; ;;
ms1)
basic_machine=mt-unknown
;;
# We use `pc' rather than `unknown' # We use `pc' rather than `unknown'
# because (1) that's what they normally are, and # because (1) that's what they normally are, and
@ -297,10 +318,10 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* \ | avr-* | avr32-* \
| bs2000-* \ | bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | cydra-* \ | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \ | d10v-* | d30v-* | dlx-* \
| elxsi-* \ | elxsi-* \
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
@ -308,9 +329,9 @@ case $basic_machine in
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \ | i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \ | ip2k-* | iq2000-* \
| m32r-* | m32rle-* \ | m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \ | m88110-* | m88k-* | maxq-* | mcore-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \ | mips16-* \
| mips64-* | mips64el-* \ | mips64-* | mips64el-* \
@ -319,6 +340,7 @@ case $basic_machine in
| mips64vr4100-* | mips64vr4100el-* \ | mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \ | mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \ | mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \ | mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \ | mipsisa64-* | mipsisa64el-* \
@ -326,24 +348,28 @@ case $basic_machine in
| mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \ | mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \ | msp430-* \
| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| orion-* \ | orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \ | pyramid-* \
| romp-* | rs6000-* \ | romp-* | rs6000-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \ | tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \ | tron-* \
| v850-* | v850e-* | vax-* \ | v850-* | v850e-* | vax-* \
| we32k-* \ | we32k-* \
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xtensa-* \ | xstormy16-* | xtensa-* \
| ymp-* \ | ymp-* \
| z8k-*) | z8k-*)
;; ;;
@ -445,6 +471,10 @@ case $basic_machine in
basic_machine=j90-cray basic_machine=j90-cray
os=-unicos os=-unicos
;; ;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16c) cr16c)
basic_machine=cr16c-unknown basic_machine=cr16c-unknown
os=-elf os=-elf
@ -452,6 +482,9 @@ case $basic_machine in
crds | unos) crds | unos)
basic_machine=m68k-crds basic_machine=m68k-crds
;; ;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*) cris | cris-* | etrax*)
basic_machine=cris-axis basic_machine=cris-axis
;; ;;
@ -481,6 +514,10 @@ case $basic_machine in
basic_machine=m88k-motorola basic_machine=m88k-motorola
os=-sysv3 os=-sysv3
;; ;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*) dpx20 | dpx20-*)
basic_machine=rs6000-bull basic_machine=rs6000-bull
os=-bosx os=-bosx
@ -659,10 +696,6 @@ case $basic_machine in
mips3*) mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;; ;;
mmix*)
basic_machine=mmix-knuth
os=-mmixware
;;
monitor) monitor)
basic_machine=m68k-rom68k basic_machine=m68k-rom68k
os=-coff os=-coff
@ -675,6 +708,9 @@ case $basic_machine in
basic_machine=i386-pc basic_machine=i386-pc
os=-msdos os=-msdos
;; ;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
mvs) mvs)
basic_machine=i370-ibm basic_machine=i370-ibm
os=-mvs os=-mvs
@ -743,10 +779,6 @@ case $basic_machine in
np1) np1)
basic_machine=np1-gould basic_machine=np1-gould
;; ;;
nv1)
basic_machine=nv1-cray
os=-unicosmp
;;
nsr-tandem) nsr-tandem)
basic_machine=nsr-tandem basic_machine=nsr-tandem
;; ;;
@ -754,9 +786,8 @@ case $basic_machine in
basic_machine=hppa1.1-oki basic_machine=hppa1.1-oki
os=-proelf os=-proelf
;; ;;
or32 | or32-*) openrisc | openrisc-*)
basic_machine=or32-unknown basic_machine=or32-unknown
os=-coff
;; ;;
os400) os400)
basic_machine=powerpc-ibm basic_machine=powerpc-ibm
@ -787,6 +818,12 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3) pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc basic_machine=i586-pc
;; ;;
@ -843,6 +880,10 @@ case $basic_machine in
basic_machine=i586-unknown basic_machine=i586-unknown
os=-pw32 os=-pw32
;; ;;
rdos)
basic_machine=i386-pc
os=-rdos
;;
rom68k) rom68k)
basic_machine=m68k-rom68k basic_machine=m68k-rom68k
os=-coff os=-coff
@ -869,6 +910,10 @@ case $basic_machine in
sb1el) sb1el)
basic_machine=mipsisa64sb1el-unknown basic_machine=mipsisa64sb1el-unknown
;; ;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei) sei)
basic_machine=mips-sei basic_machine=mips-sei
os=-seiux os=-seiux
@ -1029,6 +1074,10 @@ case $basic_machine in
basic_machine=hppa1.1-winbond basic_machine=hppa1.1-winbond
os=-proelf os=-proelf
;; ;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100) xps | xps100)
basic_machine=xps100-honeywell basic_machine=xps100-honeywell
;; ;;
@ -1059,6 +1108,9 @@ case $basic_machine in
romp) romp)
basic_machine=romp-ibm basic_machine=romp-ibm
;; ;;
mmix)
basic_machine=mmix-knuth
;;
rs6000) rs6000)
basic_machine=rs6000-ibm basic_machine=rs6000-ibm
;; ;;
@ -1075,13 +1127,10 @@ case $basic_machine in
we32k) we32k)
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown basic_machine=sh-unknown
;; ;;
sh64) sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sh64-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun basic_machine=sparc-sun
;; ;;
cydra) cydra)
@ -1154,20 +1203,23 @@ case $os in
| -aos* \ | -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* \ | -chorusos* | -chorusrdb* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
-qnx*) -qnx*)
@ -1185,7 +1237,7 @@ case $os in
os=`echo $os | sed -e 's|nto|nto-qnx|'` os=`echo $os | sed -e 's|nto|nto-qnx|'`
;; ;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;; ;;
-mac*) -mac*)
@ -1294,6 +1346,9 @@ case $os in
-kaos*) -kaos*)
os=-kaos os=-kaos
;; ;;
-zvmoe)
os=-zvmoe
;;
-none) -none)
;; ;;
*) *)
@ -1316,6 +1371,12 @@ else
# system, and we'll never get to this point. # system, and we'll never get to this point.
case $basic_machine in case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn) *-acorn)
os=-riscix1.2 os=-riscix1.2
;; ;;
@ -1325,9 +1386,9 @@ case $basic_machine in
arm*-semi) arm*-semi)
os=-aout os=-aout
;; ;;
c4x-* | tic4x-*) c4x-* | tic4x-*)
os=-coff os=-coff
;; ;;
# This must come before the *-dec entry. # This must come before the *-dec entry.
pdp10-*) pdp10-*)
os=-tops20 os=-tops20
@ -1371,9 +1432,15 @@ case $basic_machine in
*-be) *-be)
os=-beos os=-beos
;; ;;
*-haiku)
os=-haiku
;;
*-ibm) *-ibm)
os=-aix os=-aix
;; ;;
*-knuth)
os=-mmixware
;;
*-wec) *-wec)
os=-proelf os=-proelf
;; ;;
@ -1539,7 +1606,7 @@ case $basic_machine in
esac esac
echo $basic_machine$os echo $basic_machine$os
exit 0 exit
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)

1757
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
# #
# $Id: configure.in,v 1.130 2008/02/24 20:16:31 ballen4705 Exp $ # $Id: configure.in,v 1.135 2008/03/10 10:44:30 ballen4705 Exp $
# #
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50) AC_PREREQ(2.50)
@ -7,9 +7,9 @@ AC_INIT(smartmontools, 5.38, smartmontools-support@lists.sourceforge.net)
AC_CONFIG_SRCDIR(smartctl.cpp) AC_CONFIG_SRCDIR(smartctl.cpp)
smartmontools_configure_date=`date -u +"%Y/%m/%d %T %Z"` smartmontools_configure_date=`date -u +"%Y/%m/%d %T %Z"`
smartmontools_cvs_tag=`echo '$Id: configure.in,v 1.130 2008/02/24 20:16:31 ballen4705 Exp $'` smartmontools_cvs_tag=`echo '$Id: configure.in,v 1.135 2008/03/10 10:44:30 ballen4705 Exp $'`
smartmontools_release_date=2008/02/24 smartmontools_release_date=2008/03/10
smartmontools_release_time="20:16:09 GMT" smartmontools_release_time="10:44:07 GMT"
AC_DEFINE_UNQUOTED(SMARTMONTOOLS_CONFIGURE_ARGS, "$ac_configure_args", [smartmontools Configure Arguments]) AC_DEFINE_UNQUOTED(SMARTMONTOOLS_CONFIGURE_ARGS, "$ac_configure_args", [smartmontools Configure Arguments])
AC_DEFINE_UNQUOTED(SMARTMONTOOLS_CONFIGURE_DATE, "$smartmontools_configure_date", [smartmontools Configure Date]) AC_DEFINE_UNQUOTED(SMARTMONTOOLS_CONFIGURE_DATE, "$smartmontools_configure_date", [smartmontools Configure Date])
@ -106,6 +106,10 @@ AH_TEMPLATE(HAVE_ATTR_PACKED, [Define to 1 if C++ compiler supports __attribute_
AC_MSG_CHECKING([whether C++ compiler supports __attribute__((packed))]) AC_MSG_CHECKING([whether C++ compiler supports __attribute__((packed))])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [[struct a { int b; } __attribute__((packed));]])], AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [[struct a { int b; } __attribute__((packed));]])],
[gcc_have_attr_packed=yes], [gcc_have_attr_packed=no]) [gcc_have_attr_packed=yes], [gcc_have_attr_packed=no])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [[#if defined(__SUNPRO_C) || defined(__SUNPRO_CC)
#error "Sun's compiler cannot handle __attribute__((packed))!"
#endif]])],
[true], [gcc_have_attr_packed=no])
AC_SUBST(gcc_have_attr_packed) AC_SUBST(gcc_have_attr_packed)
if test "$gcc_have_attr_packed" = "yes"; then if test "$gcc_have_attr_packed" = "yes"; then
AC_DEFINE(HAVE_ATTR_PACKED) AC_DEFINE(HAVE_ATTR_PACKED)
@ -144,7 +148,7 @@ case "${host}" in
*-*-linux*) *-*-linux*)
AC_SUBST([os_deps], ['os_linux.o cciss.o']) AC_SUBST([os_deps], ['os_linux.o cciss.o'])
AC_SUBST([os_libs], ['']) ;; AC_SUBST([os_libs], ['']) ;;
*-*-freebsd*|*-*-dragonfly*) *-*-freebsd*|*-*-dragonfly*|*-*-kfreebsd*-gnu*)
AC_SUBST([os_deps], ['os_freebsd.o cciss.o']) AC_SUBST([os_deps], ['os_freebsd.o cciss.o'])
AC_SUBST([os_libs], ['-lcam']);; AC_SUBST([os_libs], ['-lcam']);;
sparc-*-solaris*) sparc-*-solaris*)
@ -212,12 +216,15 @@ if test "x$GCC" = "xyes"; then
else else
dnl We are NOT using gcc, so enable host-specific compiler flags dnl We are NOT using gcc, so enable host-specific compiler flags
case "${host}" in case "${host}" in
*-*-solaris*) sparc*-*-solaris*)
dnl set CXXFLAGS for Solaris C++ compiler dnl set CXXFLAGS for Solaris/SPARC C++ compiler
if test -z "`echo "$CXXFLAGS" | grep "\-xmemalign" 2> /dev/null`" ; then if test -z "`echo "$CXXFLAGS" | grep "\-xmemalign" 2> /dev/null`" ; then
dnl we have to tell the compilers about packed ATA structures dnl we have to tell the compilers about packed ATA structures
CXXFLAGS="-xmemalign=1i $CXXFLAGS" CXXFLAGS="-xmemalign=1i $CXXFLAGS"
fi fi
esac
case "${host}" in
*-*-solaris*)
if test -z "`echo "$CXXFLAGS" | grep "\-xO" 2> /dev/null`" ; then if test -z "`echo "$CXXFLAGS" | grep "\-xO" 2> /dev/null`" ; then
dnl turn on optimization if user has not explicitly set its value dnl turn on optimization if user has not explicitly set its value
CXXFLAGS="-xO2 $CXXFLAGS" CXXFLAGS="-xO2 $CXXFLAGS"

128
depcomp
View File

@ -1,9 +1,10 @@
#! /bin/sh #! /bin/sh
# depcomp - compile a program generating dependencies as side-effects # depcomp - compile a program generating dependencies as side-effects
scriptversion=2004-04-25.13 scriptversion=2006-10-15.18
# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -17,8 +18,8 @@ scriptversion=2004-04-25.13
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02111-1307, USA. # 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -43,17 +44,18 @@ Environment variables:
depmode Dependency tracking mode. depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'. source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output. depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies. tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no). libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>. Report bugs to <bug-automake@gnu.org>.
EOF EOF
exit 0 exit $?
;; ;;
-v | --v*) -v | --v*)
echo "depcomp $scriptversion" echo "depcomp $scriptversion"
exit 0 exit $?
;; ;;
esac esac
@ -61,18 +63,10 @@ if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2 echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1 exit 1
fi fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
@ -98,7 +92,20 @@ gcc3)
## gcc 3 implements dependency tracking that does exactly what ## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm. ## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile" ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$? stat=$?
if test $stat -eq 0; then : if test $stat -eq 0; then :
else else
@ -283,6 +290,46 @@ icc)
rm -f "$tmpdepfile" rm -f "$tmpdepfile"
;; ;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
# Add `dependent.h:' lines.
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64) tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side # The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
@ -294,33 +341,43 @@ tru64)
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then if test "$libtool" = yes; then
# Dependencies are output in .lo.d with libtool 1.4. # With Tru64 cc, shared objects can also be used to make a
# They are output in .o.d with libtool 1.5. # static library. This mechanism is used in libtool 1.4 series to
tmpdepfile1="$dir.libs/$base.lo.d" # handle both shared and static libraries in a single compilation.
tmpdepfile2="$dir.libs/$base.o.d" # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
tmpdepfile3="$dir.libs/$base.d" #
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD "$@" -Wc,-MD
else else
tmpdepfile1="$dir$base.o.d" tmpdepfile1=$dir$base.o.d
tmpdepfile2="$dir$base.d" tmpdepfile2=$dir$base.d
tmpdepfile3="$dir$base.d" tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD "$@" -MD
fi fi
stat=$? stat=$?
if test $stat -eq 0; then : if test $stat -eq 0; then :
else else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat exit $stat
fi fi
if test -f "$tmpdepfile1"; then for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
tmpdepfile="$tmpdepfile1" do
elif test -f "$tmpdepfile2"; then test -f "$tmpdepfile" && break
tmpdepfile="$tmpdepfile2" done
else
tmpdepfile="$tmpdepfile3"
fi
if test -f "$tmpdepfile"; then if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the []. # That's a tab and a space in the [].
@ -464,7 +521,8 @@ cpp)
done done
"$@" -E | "$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile" sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile" rm -f "$depfile"
echo "$object : \\" > "$depfile" echo "$object : \\" > "$depfile"

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am. # Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -15,15 +15,11 @@
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c
@ -62,8 +58,6 @@ examplesDATA_INSTALL = $(INSTALL_DATA)
DATA = $(examples_DATA) DATA = $(examples_DATA)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
ASFLAGS = @ASFLAGS@ ASFLAGS = @ASFLAGS@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
@ -72,6 +66,7 @@ AUTOMAKE = @AUTOMAKE@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCAS = @CCAS@ CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@ CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@ CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
@ -89,6 +84,7 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
GREP = @GREP@ GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -98,16 +94,9 @@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@ LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@ LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@ MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
OS_DARWIN_FALSE = @OS_DARWIN_FALSE@
OS_DARWIN_TRUE = @OS_DARWIN_TRUE@
OS_SOLARIS_FALSE = @OS_SOLARIS_FALSE@
OS_SOLARIS_TRUE = @OS_SOLARIS_TRUE@
OS_WIN32_MINGW_FALSE = @OS_WIN32_MINGW_FALSE@
OS_WIN32_MINGW_TRUE = @OS_WIN32_MINGW_TRUE@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_NAME = @PACKAGE_NAME@
@ -117,16 +106,14 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@ PATH_SEPARATOR = @PATH_SEPARATOR@
SET_MAKE = @SET_MAKE@ SET_MAKE = @SET_MAKE@
SHELL = @SHELL@ SHELL = @SHELL@
SMARTD_SUFFIX_FALSE = @SMARTD_SUFFIX_FALSE@
SMARTD_SUFFIX_TRUE = @SMARTD_SUFFIX_TRUE@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
@ -138,6 +125,7 @@ build_alias = @build_alias@
build_cpu = @build_cpu@ build_cpu = @build_cpu@
build_os = @build_os@ build_os = @build_os@
build_vendor = @build_vendor@ build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@ datadir = @datadir@
datarootdir = @datarootdir@ datarootdir = @datarootdir@
docdir = @docdir@ docdir = @docdir@
@ -175,8 +163,11 @@ sharedstatedir = @sharedstatedir@
smartd_suffix = @smartd_suffix@ smartd_suffix = @smartd_suffix@
smartmontools_release_date = @smartmontools_release_date@ smartmontools_release_date = @smartmontools_release_date@
smartmontools_release_time = @smartmontools_release_time@ smartmontools_release_time = @smartmontools_release_time@
srcdir = @srcdir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
examplesdir = $(exampledir) examplesdir = $(exampledir)
examples_DATA = README examples_DATA = README
examples_SCRIPTS = Example1 \ examples_SCRIPTS = Example1 \
@ -219,7 +210,7 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-examplesSCRIPTS: $(examples_SCRIPTS) install-examplesSCRIPTS: $(examples_SCRIPTS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(examplesdir)" || $(mkdir_p) "$(DESTDIR)$(examplesdir)" test -z "$(examplesdir)" || $(MKDIR_P) "$(DESTDIR)$(examplesdir)"
@list='$(examples_SCRIPTS)'; for p in $$list; do \ @list='$(examples_SCRIPTS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
if test -f $$d$$p; then \ if test -f $$d$$p; then \
@ -236,10 +227,9 @@ uninstall-examplesSCRIPTS:
echo " rm -f '$(DESTDIR)$(examplesdir)/$$f'"; \ echo " rm -f '$(DESTDIR)$(examplesdir)/$$f'"; \
rm -f "$(DESTDIR)$(examplesdir)/$$f"; \ rm -f "$(DESTDIR)$(examplesdir)/$$f"; \
done done
uninstall-info-am:
install-examplesDATA: $(examples_DATA) install-examplesDATA: $(examples_DATA)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
test -z "$(examplesdir)" || $(mkdir_p) "$(DESTDIR)$(examplesdir)" test -z "$(examplesdir)" || $(MKDIR_P) "$(DESTDIR)$(examplesdir)"
@list='$(examples_DATA)'; for p in $$list; do \ @list='$(examples_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \ f=$(am__strip_dir) \
@ -262,22 +252,21 @@ CTAGS:
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; for file in $$list; do \ list='$(DISTFILES)'; \
case $$file in \ dist_files=`for file in $$list; do echo $$file; done | \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ sed -e "s|^$$srcdirstrip/||;t" \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
esac; \ case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \ fi; \
@ -293,7 +282,7 @@ check: check-am
all-am: Makefile $(SCRIPTS) $(DATA) all-am: Makefile $(SCRIPTS) $(DATA)
installdirs: installdirs:
for dir in "$(DESTDIR)$(examplesdir)" "$(DESTDIR)$(examplesdir)"; do \ for dir in "$(DESTDIR)$(examplesdir)" "$(DESTDIR)$(examplesdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done done
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -339,12 +328,20 @@ info-am:
install-data-am: install-examplesDATA install-examplesSCRIPTS install-data-am: install-examplesDATA install-examplesSCRIPTS
install-dvi: install-dvi-am
install-exec-am: install-exec-am:
install-html: install-html-am
install-info: install-info-am install-info: install-info-am
install-man: install-man:
install-pdf: install-pdf-am
install-ps: install-ps-am
installcheck-am: installcheck-am:
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
@ -363,19 +360,21 @@ ps: ps-am
ps-am: ps-am:
uninstall-am: uninstall-examplesDATA uninstall-examplesSCRIPTS \ uninstall-am: uninstall-examplesDATA uninstall-examplesSCRIPTS
uninstall-info-am
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic distclean \ .PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \ distclean-generic distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \ install install-am install-data install-data-am install-dvi \
install-examplesDATA install-examplesSCRIPTS install-exec \ install-dvi-am install-examplesDATA install-examplesSCRIPTS \
install-exec-am install-info install-info-am install-man \ install-exec install-exec-am install-html install-html-am \
install-strip installcheck installcheck-am installdirs \ install-info install-info-am install-man install-pdf \
maintainer-clean maintainer-clean-generic mostlyclean \ install-pdf-am install-ps install-ps-am install-strip \
mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ installcheck installcheck-am installdirs maintainer-clean \
uninstall-examplesDATA uninstall-examplesSCRIPTS \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
uninstall-info-am pdf-am ps ps-am uninstall uninstall-am uninstall-examplesDATA \
uninstall-examplesSCRIPTS
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,8 +1,8 @@
# Home page: http://smartmontools.sourceforge.net # Home page: http://smartmontools.sourceforge.net
# #
# $Id: README,v 1.6 2006/10/09 15:25:41 sbrabec Exp $ # $Id: README,v 1.7 2008/03/04 22:09:47 ballen4705 Exp $
# #
# Copyright (C) 2003-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> # Copyright (C) 2003-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
# #
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free # under the terms of the GNU General Public License as published by the Free

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
#ifndef EXTERN_H_ #ifndef EXTERN_H_
#define EXTERN_H_ #define EXTERN_H_
#define EXTERN_H_CVSID "$Id: extern.h,v 1.53 2007/07/21 20:59:41 chrfranke Exp $\n" #define EXTERN_H_CVSID "$Id: extern.h,v 1.54 2008/03/04 22:09:47 ballen4705 Exp $\n"
// Possible values for fixfirmwarebug. If user has NOT specified -F at // Possible values for fixfirmwarebug. If user has NOT specified -F at
// all, then value is 0. // all, then value is 0.

View File

@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# install - install a program, script, or datafile # install - install a program, script, or datafile
scriptversion=2004-04-01.17 scriptversion=2006-10-14.15
# This originates from X11R5 (mit/util/scripts/install.sh), which was # This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the # later released in X11R6 (xc/config/util/install.sh) with the
@ -39,15 +39,24 @@ scriptversion=2004-04-01.17
# when there is no Makefile. # when there is no Makefile.
# #
# This script is compatible with the BSD install script, but was written # This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction # from scratch.
# shared with many OS's install programs.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script # set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it. # Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}" doit="${DOITPROG-}"
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# put in absolute paths if you don't have them in your path; or use env. vars. # Put in absolute file names if you don't have them in your path;
# or use environment vars.
mvprog="${MVPROG-mv}" mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}" cpprog="${CPPROG-cp}"
@ -58,10 +67,13 @@ stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}" rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}" mkdirprog="${MKDIRPROG-mkdir}"
transformbasename= posix_glob=
transform_arg= posix_mkdir=
instcmd="$mvprog"
chmodcmd="$chmodprog 0755" # Desired mode of installed file.
mode=0755
chmodcmd=$chmodprog
chowncmd= chowncmd=
chgrpcmd= chgrpcmd=
stripcmd= stripcmd=
@ -70,23 +82,27 @@ mvcmd="$mvprog"
src= src=
dst= dst=
dir_arg= dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... SRCFILE DSTFILE usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 -d DIRECTORIES... or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the first form, install SRCFILE to DSTFILE, removing SRCFILE by default. In the 1st form, copy SRCFILE to DSTFILE.
In the second, create the directory path DIR. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options: Options:
-b=TRANSFORMBASENAME -c (ignored)
-c copy source (using $cpprog) instead of moving (using $mvprog).
-d create directories instead of installing files. -d create directories instead of installing files.
-g GROUP $chgrp installed files to GROUP. -g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmod installed files to MODE. -m MODE $chmodprog installed files to MODE.
-o USER $chown installed files to USER. -o USER $chownprog installed files to USER.
-s strip installed files (using $stripprog). -s $stripprog installed files.
-t=TRANSFORM -t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit. --help display this help and exit.
--version display version info and exit. --version display version info and exit.
@ -94,14 +110,9 @@ Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
" "
while test -n "$1"; do while test $# -ne 0; do
case $1 in case $1 in
-b=*) transformbasename=`echo $1 | sed 's/-b=//'` -c) shift
shift
continue;;
-c) instcmd=$cpprog
shift
continue;; continue;;
-d) dir_arg=true -d) dir_arg=true
@ -113,11 +124,17 @@ while test -n "$1"; do
shift shift
continue;; continue;;
--help) echo "$usage"; exit 0;; --help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2" -m) mode=$2
shift shift
shift shift
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
continue;; continue;;
-o) chowncmd="$chownprog $2" -o) chowncmd="$chownprog $2"
@ -129,30 +146,44 @@ while test -n "$1"; do
shift shift
continue;; continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'` -t) dstarg=$2
shift shift
continue;; shift
continue;;
--version) echo "$0 $scriptversion"; exit 0;; -T) no_target_directory=true
shift
continue;;
*) # When -d is used, all remaining arguments are directories to create. --version) echo "$0 $scriptversion"; exit $?;;
test -n "$dir_arg" && break
# Otherwise, the last argument is the destination. Remove it from $@. --) shift
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;; break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac esac
done done
if test -z "$1"; then if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2 echo "$0: no input file specified." >&2
exit 1 exit 1
@ -162,6 +193,33 @@ if test -z "$1"; then
exit 0 exit 0
fi fi
if test -z "$dir_arg"; then
trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src for src
do do
# Protect names starting with `-'. # Protect names starting with `-'.
@ -171,16 +229,12 @@ do
if test -n "$dir_arg"; then if test -n "$dir_arg"; then
dst=$src dst=$src
src= dstdir=$dst
test -d "$dstdir"
if test -d "$dst"; then dstdir_status=$?
instcmd=:
chmodcmd=
else
instcmd=$mkdirprog
fi
else else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad # might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'. # if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then if test ! -f "$src" && test ! -d "$src"; then
@ -202,86 +256,216 @@ do
# If destination is a directory, append the input filename; won't work # If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored. # if double slashes aren't ignored.
if test -d "$dst"; then if test -d "$dst"; then
dst=$dst/`basename "$src"` if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi fi
fi fi
# This sed command emulates the dirname command. obsolete_mkdir_used=false
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists. if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
# Skip lots of stat calls in the usual case. *[0-7])
if test ! -d "$dstdir"; then mkdir_umask=`expr $umask + 22 \
defaultIFS=' - $umask % 100 % 40 + $umask % 20 \
' - $umask % 10 % 4 + $umask % 2
IFS="${IFS-$defaultIFS}" `;;
*) mkdir_umask=$umask,go-w;;
esac
oIFS=$IFS # With -d, create the new directory with the user-specified mode.
# Some sh's can't handle IFS=/ for some reason. # Otherwise, rely on $mkdir_umask.
IFS='%' if test -n "$dir_arg"; then
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` mkdir_mode=-m$mode
IFS=$oIFS else
mkdir_mode=
fi
pathcomp= posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
while test $# -ne 0 ; do if (umask $mkdir_umask &&
pathcomp=$pathcomp$1 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writeable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix=/ ;;
-*) prefix=./ ;;
*) prefix= ;;
esac
case $posix_glob in
'')
if (set -f) 2>/dev/null; then
posix_glob=true
else
posix_glob=false
fi ;;
esac
oIFS=$IFS
IFS=/
$posix_glob && set -f
set fnord $dstdir
shift shift
if test ! -d "$pathcomp"; then $posix_glob && set +f
$mkdirprog "$pathcomp" || lasterr=$? IFS=$oIFS
# mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This prefixes=
# is OK.
test ! -d "$pathcomp" && { (exit ${lasterr-1}); exit; } for d
do
test -z "$d" && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi fi
pathcomp=$pathcomp/ fi
done
fi fi
if test -n "$dir_arg"; then if test -n "$dir_arg"; then
$doit $instcmd "$dst" \ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else else
# If we're going to rename the final executable, determine the name now.
if test -z "$transformarg"; then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename \
| sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename.
test -z "$dstfile" && dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory. # Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_ dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_ rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit. # Trap to clean up those temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name # Copy the file name to the temp name.
$doit $instcmd "$src" "$dsttmp" && (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits. # and set any options; do chmod last to preserve setuid bits.
# #
# If any of these fail, we abort the whole thing. If we want to # If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore # ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command. # errors from the above "$doit $cpprog $src $dsttmp" command.
# #
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# Now rename the file to the real destination. # Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|| { || {
# The rename failed, perhaps because mv can't rename something else # The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not # to itself, or perhaps because mv is so ancient that it does not
@ -293,12 +477,13 @@ do
# reasons. In this case, the final cleanup might fail but the new # reasons. In this case, the final cleanup might fail but the new
# file should still install successfully. # file should still install successfully.
{ {
if test -f "$dstdir/$dstfile"; then if test -f "$dst"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ $doit $rmcmd -f "$dst" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
&& { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|| { || {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit (exit 1); exit 1
} }
else else
: :
@ -306,16 +491,13 @@ do
} && } &&
# Now rename the file to the real destination. # Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile" $doit $mvcmd "$dsttmp" "$dst"
} }
} } || exit 1
fi || { (exit 1); exit; }
done
# The final little trick to "correctly" pass the exit status to the exit trap. trap '' 0
{ fi
(exit 0); exit done
}
# Local variables: # Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'write-file-hooks 'time-stamp)

View File

@ -3,8 +3,8 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2004-6 Christian Franke * Copyright (C) 2004-8 Christian Franke
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -20,7 +20,7 @@
#ifndef INT64_H_ #ifndef INT64_H_
#define INT64_H_ #define INT64_H_
#define INT64_H_CVSID "$Id: int64.h,v 1.16 2006/10/29 20:35:35 chrfranke Exp $\n" #define INT64_H_CVSID "$Id: int64.h,v 1.17 2008/03/04 22:09:47 ballen4705 Exp $\n"
// 64 bit integer typedefs and format strings // 64 bit integer typedefs and format strings

View File

@ -4,7 +4,7 @@
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* Address of support mailing list: smartmontools-support@lists.sourceforge.net * Address of support mailing list: smartmontools-support@lists.sourceforge.net
* *
* Copyright (C) 2003-6 Philip Williams, Bruce Allen * Copyright (C) 2003-8 Philip Williams, Bruce Allen
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -20,7 +20,7 @@
#ifndef KNOWNDRIVES_H_ #ifndef KNOWNDRIVES_H_
#define KNOWNDRIVES_H_ #define KNOWNDRIVES_H_
#define KNOWNDRIVES_H_CVSID "$Id: knowndrives.h,v 1.17 2006/08/09 20:40:19 chrfranke Exp $\n" #define KNOWNDRIVES_H_CVSID "$Id: knowndrives.h,v 1.18 2008/03/04 22:09:47 ballen4705 Exp $\n"
/* Structure used to store settings for specific drives in knowndrives[]. The /* Structure used to store settings for specific drives in knowndrives[]. The
* elements are used in the following ways: * elements are used in the following ways:

143
missing
View File

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Common stub for a few missing GNU programs while installing. # Common stub for a few missing GNU programs while installing.
scriptversion=2003-09-02.23 scriptversion=2006-05-10.23
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
# Free Software Foundation, Inc. # Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
@ -19,8 +19,8 @@ scriptversion=2003-09-02.23
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02111-1307, USA. # 02110-1301, USA.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -33,6 +33,8 @@ if test $# -eq 0; then
fi fi
run=: run=:
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
# In the cases where this matters, `missing' is being run in the # In the cases where this matters, `missing' is being run in the
# srcdir already. # srcdir already.
@ -44,7 +46,7 @@ fi
msg="missing on your system" msg="missing on your system"
case "$1" in case $1 in
--run) --run)
# Try to run requested program, and just exit if it succeeds. # Try to run requested program, and just exit if it succeeds.
run= run=
@ -60,11 +62,6 @@ case "$1" in
msg="probably too old" msg="probably too old"
fi fi
;; ;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
-h|--h|--he|--hel|--help) -h|--h|--he|--hel|--help)
echo "\ echo "\
@ -82,6 +79,7 @@ Supported PROGRAM values:
aclocal touch file \`aclocal.m4' aclocal touch file \`aclocal.m4'
autoconf touch file \`configure' autoconf touch file \`configure'
autoheader touch file \`config.h.in' autoheader touch file \`config.h.in'
autom4te touch the output file, or create a stub one
automake touch all \`Makefile.in' files automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch] bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c flex create \`lex.yy.c', if possible, from existing .c
@ -92,10 +90,12 @@ Supported PROGRAM values:
yacc create \`y.tab.[ch]', if possible, from existing .[ch] yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>." Send bug reports to <bug-automake@gnu.org>."
exit $?
;; ;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version) -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)" echo "missing $scriptversion (GNU Automake)"
exit $?
;; ;;
-*) -*)
@ -104,12 +104,42 @@ Send bug reports to <bug-automake@gnu.org>."
exit 1 exit 1
;; ;;
aclocal*) esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case $1 in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed. # We have it, but it failed.
exit 1 exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case $1 in
aclocal*)
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want you modified \`acinclude.m4' or \`${configure_ac}'. You might want
@ -119,11 +149,6 @@ WARNING: \`$1' is $msg. You should only need it if
;; ;;
autoconf) autoconf)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the you modified \`${configure_ac}'. You might want to install the
@ -133,11 +158,6 @@ WARNING: \`$1' is $msg. You should only need it if
;; ;;
autoheader) autoheader)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want you modified \`acconfig.h' or \`${configure_ac}'. You might want
@ -147,7 +167,7 @@ WARNING: \`$1' is $msg. You should only need it if
test -z "$files" && files="config.h" test -z "$files" && files="config.h"
touch_files= touch_files=
for f in $files; do for f in $files; do
case "$f" in case $f in
*:*) touch_files="$touch_files "`echo "$f" | *:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;; sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";; *) touch_files="$touch_files $f.in";;
@ -157,11 +177,6 @@ WARNING: \`$1' is $msg. You should only need it if
;; ;;
automake*) automake*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
@ -173,11 +188,6 @@ WARNING: \`$1' is $msg. You should only need it if
;; ;;
autom4te) autom4te)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg. WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the You might have modified some files without having the
@ -185,8 +195,8 @@ WARNING: \`$1' is needed, but is $msg.
You can get \`$1' as part of \`Autoconf' from any GNU You can get \`$1' as part of \`Autoconf' from any GNU
archive site." archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -f "$file"; then if test -f "$file"; then
touch $file touch $file
else else
@ -207,25 +217,25 @@ WARNING: \`$1' $msg. You should only need it if
in order for those modifications to take effect. You can get in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site." \`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then if test $# -ne 1; then
eval LASTARG="\${$#}" eval LASTARG="\${$#}"
case "$LASTARG" in case $LASTARG in
*.y) *.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.c cp "$SRCFILE" y.tab.c
fi fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then if test -f "$SRCFILE"; then
cp "$SRCFILE" y.tab.h cp "$SRCFILE" y.tab.h
fi fi
;; ;;
esac esac
fi fi
if [ ! -f y.tab.h ]; then if test ! -f y.tab.h; then
echo >y.tab.h echo >y.tab.h
fi fi
if [ ! -f y.tab.c ]; then if test ! -f y.tab.c; then
echo 'main() { return 0; }' >y.tab.c echo 'main() { return 0; }' >y.tab.c
fi fi
;; ;;
@ -237,39 +247,32 @@ WARNING: \`$1' is $msg. You should only need it if
in order for those modifications to take effect. You can get in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site." \`Flex' from any GNU archive site."
rm -f lex.yy.c rm -f lex.yy.c
if [ $# -ne 1 ]; then if test $# -ne 1; then
eval LASTARG="\${$#}" eval LASTARG="\${$#}"
case "$LASTARG" in case $LASTARG in
*.l) *.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then if test -f "$SRCFILE"; then
cp "$SRCFILE" lex.yy.c cp "$SRCFILE" lex.yy.c
fi fi
;; ;;
esac esac
fi fi
if [ ! -f lex.yy.c ]; then if test ! -f lex.yy.c; then
echo 'main() { return 0; }' >lex.yy.c echo 'main() { return 0; }' >lex.yy.c
fi fi
;; ;;
help2man) help2man)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take \`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site." effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` file=`echo "$*" | sed -n "$sed_output"`
if test -z "$file"; then test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` if test -f "$file"; then
fi
if [ -f "$file" ]; then
touch $file touch $file
else else
test -z "$file" || exec >$file test -z "$file" || exec >$file
@ -279,11 +282,6 @@ WARNING: \`$1' is $msg. You should only need it if
;; ;;
makeinfo) makeinfo)
if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
# We have makeinfo, but it failed.
exit 1
fi
echo 1>&2 "\ echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file you modified a \`.texi' or \`.texinfo' file, or any other file
@ -291,20 +289,29 @@ WARNING: \`$1' is $msg. You should only need it if
call might also be the consequence of using a buggy \`make' (AIX, call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site." the \`GNU make' package. Grab either from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` # The file to touch is that specified with -o ...
file=`echo "$*" | sed -n "$sed_output"`
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
if test -z "$file"; then if test -z "$file"; then
file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` # ... or it is the one specified with @setfilename ...
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '
/^@setfilename/{
s/.* \([^ ]*\) *$/\1/
p
q
}' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file touch $file
;; ;;
tar) tar)
shift shift
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
fi
# We have already tried tar in the generic part. # We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error # Look for gnutar/gtar before invocation to avoid ugly error
@ -317,13 +324,13 @@ WARNING: \`$1' is $msg. You should only need it if
fi fi
firstarg="$1" firstarg="$1"
if shift; then if shift; then
case "$firstarg" in case $firstarg in
*o*) *o*)
firstarg=`echo "$firstarg" | sed s/o//` firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0 tar "$firstarg" "$@" && exit 0
;; ;;
esac esac
case "$firstarg" in case $firstarg in
*h*) *h*)
firstarg=`echo "$firstarg" | sed s/h//` firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0 tar "$firstarg" "$@" && exit 0

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-7 Geoffrey Keating <geoffk@geoffk.org> * Copyright (C) 2004-8 Geoffrey Keating <geoffk@geoffk.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -44,7 +44,7 @@
#include "os_darwin.h" #include "os_darwin.h"
// Needed by '-V' option (CVS versioning) of smartd/smartctl // Needed by '-V' option (CVS versioning) of smartd/smartctl
const char *os_XXXX_c_cvsid="$Id: os_darwin.cpp,v 1.19 2007/04/27 08:52:44 geoffk1 Exp $" \ const char *os_XXXX_c_cvsid="$Id: os_darwin.cpp,v 1.20 2008/03/04 22:09:47 ballen4705 Exp $" \
ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_DARWIN_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_DARWIN_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
// Print examples for smartctl. // Print examples for smartctl.

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 Geoff Keating <geoffk@geoffk.org> * Copyright (C) 2004-8 Geoff Keating <geoffk@geoffk.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -24,7 +24,7 @@
#ifndef OS_DARWIN_H_ #ifndef OS_DARWIN_H_
#define OS_DARWIN_H_ #define OS_DARWIN_H_
#define OS_DARWIN_H_CVSID "$Id: os_darwin.h,v 1.6 2007/04/16 17:49:02 shattered Exp $\n" #define OS_DARWIN_H_CVSID "$Id: os_darwin.h,v 1.7 2008/03/04 22:09:47 ballen4705 Exp $\n"
// Isn't in 10.3.9? // Isn't in 10.3.9?

View File

@ -4,7 +4,7 @@
# #
# Home page of code is: http://smartmontools.sourceforge.net # Home page of code is: http://smartmontools.sourceforge.net
# #
# Copyright (C) 2004-6 Geoffrey Keating <geoffk@geoffk.org> # Copyright (C) 2004-8 Geoffrey Keating <geoffk@geoffk.org>
# #
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free # under the terms of the GNU General Public License as published by the Free
@ -15,7 +15,7 @@
# example COPYING); if not, write to the Free Software Foundation, Inc., 675 # example COPYING); if not, write to the Free Software Foundation, Inc., 675
# Mass Ave, Cambridge, MA 02139, USA. # Mass Ave, Cambridge, MA 02139, USA.
# $Id: SMART.in,v 1.4 2006/04/12 14:54:28 ballen4705 Exp $ # $Id: SMART.in,v 1.5 2008/03/04 22:09:47 ballen4705 Exp $
## ##
# SMART monitoring # SMART monitoring

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-6 Eduard Martinescu <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Eduard Martinescu <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -44,9 +44,9 @@
#include "extern.h" #include "extern.h"
#include "os_freebsd.h" #include "os_freebsd.h"
static const char *filenameandversion="$Id: os_freebsd.cpp,v 1.56 2008/02/23 06:41:59 ballen4705 Exp $"; static const char *filenameandversion="$Id: os_freebsd.cpp,v 1.58 2008/03/04 22:09:47 ballen4705 Exp $";
const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.56 2008/02/23 06:41:59 ballen4705 Exp $" \ const char *os_XXXX_c_cvsid="$Id: os_freebsd.cpp,v 1.58 2008/03/04 22:09:47 ballen4705 Exp $" \
ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_FREEBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_FREEBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
// to hold onto exit code for atexit routine // to hold onto exit code for atexit routine
@ -374,8 +374,8 @@ int ata_command_interface(int fd, smart_command_set command, int select, char *d
break; break;
case AUTOSAVE: case AUTOSAVE:
request.u.ata.feature=ATA_SMART_AUTOSAVE; request.u.ata.feature=ATA_SMART_AUTOSAVE;
request.u.ata.count=0xf1; // to enable autosave
request.u.ata.lba=0xc24f<<8; request.u.ata.lba=0xc24f<<8;
request.u.ata.count=select;
request.flags=ATA_CMD_CONTROL; request.flags=ATA_CMD_CONTROL;
break; break;
case IMMEDIATE_OFFLINE: case IMMEDIATE_OFFLINE:

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-6 Eduard Martinescu <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Eduard Martinescu <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -82,7 +82,7 @@
#ifndef OS_FREEBSD_H_ #ifndef OS_FREEBSD_H_
#define OS_FREEBSD_H_ #define OS_FREEBSD_H_
#define OS_FREEBSD_H_CVSID "$Id: os_freebsd.h,v 1.21 2007/09/06 08:48:55 ballen4705 Exp $\n" #define OS_FREEBSD_H_CVSID "$Id: os_freebsd.h,v 1.22 2008/03/04 22:09:47 ballen4705 Exp $\n"
struct freebsd_dev_channel { struct freebsd_dev_channel {
int channel; // the ATA channel to work with int channel; // the ATA channel to work with

View File

@ -4,7 +4,7 @@
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) YEAR YOUR_NAME <smartmontools-support@lists.sourceforge.net> * Copyright (C) YEAR YOUR_NAME <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2003-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -83,7 +83,7 @@
// should have one *_H_CVSID macro appearing below for each file // should have one *_H_CVSID macro appearing below for each file
// appearing with #include "*.h" above. Please list these (below) in // appearing with #include "*.h" above. Please list these (below) in
// alphabetic/dictionary order. // alphabetic/dictionary order.
const char *os_XXXX_c_cvsid="$Id: os_generic.cpp,v 1.25 2006/10/30 18:34:30 ballen4705 Exp $" \ const char *os_XXXX_c_cvsid="$Id: os_generic.cpp,v 1.26 2008/03/04 22:09:47 ballen4705 Exp $" \
ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_GENERIC_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_GENERIC_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;

View File

@ -4,7 +4,7 @@
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) YEAR YOUR_NAME <smartmontools-support@lists.sourceforge.net> * Copyright (C) YEAR YOUR_NAME <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2003-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -25,7 +25,7 @@
// In the three following lines, change 'GENERIC' to your OS name // In the three following lines, change 'GENERIC' to your OS name
#ifndef OS_GENERIC_H_ #ifndef OS_GENERIC_H_
#define OS_GENERIC_H_ #define OS_GENERIC_H_
#define OS_GENERIC_H_CVSID "$Id: os_generic.h,v 1.6 2006/04/12 14:54:28 ballen4705 Exp $\n" #define OS_GENERIC_H_CVSID "$Id: os_generic.h,v 1.7 2008/03/04 22:09:47 ballen4705 Exp $\n"
// Additional material should start here. Note: to keep the '-V' CVS // Additional material should start here. Note: to keep the '-V' CVS
// reporting option working as intended, you should only #include // reporting option working as intended, you should only #include

View File

@ -3,8 +3,8 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2003-7 Doug Gilbert <dougg@torque.net> * Copyright (C) 2003-8 Doug Gilbert <dougg@torque.net>
* *
* Parts of this file are derived from code that was * Parts of this file are derived from code that was
* *
@ -79,9 +79,9 @@ typedef unsigned long long u8;
#define ARGUSED(x) ((void)(x)) #define ARGUSED(x) ((void)(x))
static const char *filenameandversion="$Id: os_linux.cpp,v 1.98 2008/02/17 00:30:47 dpgilbert Exp $"; static const char *filenameandversion="$Id: os_linux.cpp,v 1.100 2008/03/04 22:09:47 ballen4705 Exp $";
const char *os_XXXX_c_cvsid="$Id: os_linux.cpp,v 1.98 2008/02/17 00:30:47 dpgilbert Exp $" \ const char *os_XXXX_c_cvsid="$Id: os_linux.cpp,v 1.100 2008/03/04 22:09:47 ballen4705 Exp $" \
ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_LINUX_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_LINUX_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
// to hold onto exit code for atexit routine // to hold onto exit code for atexit routine
@ -484,12 +484,13 @@ int ata_command_interface(int device, smart_command_set command, int select, cha
buff[2]=ATA_SMART_STATUS; buff[2]=ATA_SMART_STATUS;
break; break;
case AUTO_OFFLINE: case AUTO_OFFLINE:
// NSECT is 241 for enable but no data transfer. Use TASK ioctl. // NOTE: According to ATAPI 4 and UP, this command is obsolete
// select == 241 for enable but no data transfer. Use TASK ioctl.
buff[1]=ATA_SMART_AUTO_OFFLINE; buff[1]=ATA_SMART_AUTO_OFFLINE;
buff[2]=select; buff[2]=select;
break; break;
case AUTOSAVE: case AUTOSAVE:
// NSECT is 248 for enable but no data transfer. Use TASK ioctl. // select == 248 for enable but no data transfer. Use TASK ioctl.
buff[1]=ATA_SMART_AUTOSAVE; buff[1]=ATA_SMART_AUTOSAVE;
buff[2]=select; buff[2]=select;
break; break;

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* *
* Derived from code that was * Derived from code that was
* *
@ -38,7 +38,7 @@
#ifndef OS_LINUX_H_ #ifndef OS_LINUX_H_
#define OS_LINUX_H_ #define OS_LINUX_H_
#define OS_LINUX_H_CVSID "$Id: os_linux.h,v 1.26 2007/09/06 08:48:55 ballen4705 Exp $\n" #define OS_LINUX_H_CVSID "$Id: os_linux.h,v 1.27 2008/03/04 22:09:47 ballen4705 Exp $\n"
/* /*
The following definitions/macros/prototypes are used for three The following definitions/macros/prototypes are used for three

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-6 Sergey Svishchev <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Sergey Svishchev <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -24,7 +24,7 @@
#include "os_netbsd.h" #include "os_netbsd.h"
#include <unistd.h> #include <unistd.h>
const char *os_XXXX_c_cvsid = "$Id: os_netbsd.cpp,v 1.19 2006/09/20 16:17:31 shattered Exp $" \ const char *os_XXXX_c_cvsid = "$Id: os_netbsd.cpp,v 1.24 2008/03/04 22:09:47 ballen4705 Exp $" \
ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_NETBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_NETBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
/* global variable holding byte count of allocated memory */ /* global variable holding byte count of allocated memory */
@ -41,7 +41,7 @@ printwarning(int msgNo, const char *extra)
static int printed[] = {0, 0}; static int printed[] = {0, 0};
static const char *message[] = { static const char *message[] = {
"Error: SMART Status command failed.\nPlease get assistance from \n" PACKAGE_HOMEPAGE "\nRegister values returned from SMART Status command are:\n", "Error: SMART Status command failed.\nPlease get assistance from \n" PACKAGE_HOMEPAGE "\nRegister values returned from SMART Status command are:\n",
PACKAGE_STRING " does not currentlly support twe(4) devices (3ware Escalade)\n", PACKAGE_STRING " does not currently support twe(4) and twa(4) devices (3ware Escalade, Apache)\n",
}; };
if (msgNo >= 0 && msgNo <= MAX_MSG) { if (msgNo >= 0 && msgNo <= MAX_MSG) {
@ -60,7 +60,7 @@ static const char *net_dev_ata_disk = "wd";
static const char *net_dev_scsi_disk = "sd"; static const char *net_dev_scsi_disk = "sd";
static const char *net_dev_scsi_tape = "enrst"; static const char *net_dev_scsi_tape = "enrst";
/* Guess device type(ata or scsi) based on device name */ /* Guess device type (ATA or SCSI) based on device name */
int int
guess_device_type(const char *dev_name) guess_device_type(const char *dev_name)
{ {
@ -171,10 +171,9 @@ int
marvell_command_interface(int fd, smart_command_set command, int select, char *data) marvell_command_interface(int fd, smart_command_set command, int select, char *data)
{ return -1; } { return -1; }
int highpoint_command_interface(int fd, smart_command_set command, int select, char *data) int
{ highpoint_command_interface(int fd, smart_command_set command, int select, char *data)
return -1; { return -1; }
}
int int
ata_command_interface(int fd, smart_command_set command, int select, char *data) ata_command_interface(int fd, smart_command_set command, int select, char *data)
@ -184,6 +183,8 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
int retval, copydata = 0; int retval, copydata = 0;
memset(&req, 0, sizeof(req)); memset(&req, 0, sizeof(req));
req.timeout = 1000;
memset(&inbuf, 0, sizeof(inbuf)); memset(&inbuf, 0, sizeof(inbuf));
switch (command) { switch (command) {
@ -194,7 +195,6 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
req.databuf = (char *)inbuf; req.databuf = (char *)inbuf;
req.datalen = sizeof(inbuf); req.datalen = sizeof(inbuf);
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.timeout = 1000;
copydata = 1; copydata = 1;
break; break;
case READ_THRESHOLDS: case READ_THRESHOLDS:
@ -204,7 +204,6 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
req.databuf = (char *)inbuf; req.databuf = (char *)inbuf;
req.datalen = sizeof(inbuf); req.datalen = sizeof(inbuf);
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.timeout = 1000;
copydata = 1; copydata = 1;
break; break;
case READ_LOG: case READ_LOG:
@ -216,7 +215,6 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.sec_num = select; req.sec_num = select;
req.sec_count = 1; req.sec_count = 1;
req.timeout = 1000;
copydata = 1; copydata = 1;
break; break;
case WRITE_LOG: case WRITE_LOG:
@ -229,14 +227,12 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.sec_num = select; req.sec_num = select;
req.sec_count = 1; req.sec_count = 1;
req.timeout = 1000;
break; break;
case IDENTIFY: case IDENTIFY:
req.flags = ATACMD_READ; req.flags = ATACMD_READ;
req.command = WDCC_IDENTIFY; req.command = WDCC_IDENTIFY;
req.databuf = (char *)inbuf; req.databuf = (char *)inbuf;
req.datalen = sizeof(inbuf); req.datalen = sizeof(inbuf);
req.timeout = 1000;
copydata = 1; copydata = 1;
break; break;
case PIDENTIFY: case PIDENTIFY:
@ -244,69 +240,54 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
req.command = ATAPI_IDENTIFY_DEVICE; req.command = ATAPI_IDENTIFY_DEVICE;
req.databuf = (char *)inbuf; req.databuf = (char *)inbuf;
req.datalen = sizeof(inbuf); req.datalen = sizeof(inbuf);
req.timeout = 1000;
copydata = 1; copydata = 1;
break; break;
case ENABLE: case ENABLE:
req.flags = ATACMD_READ; req.flags = ATACMD_READREG;
req.features = WDSM_ENABLE_OPS; req.features = WDSM_ENABLE_OPS;
req.command = WDCC_SMART; req.command = WDCC_SMART;
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.timeout = 1000;
break; break;
case DISABLE: case DISABLE:
req.flags = ATACMD_READ; req.flags = ATACMD_READREG;
req.features = WDSM_DISABLE_OPS; req.features = WDSM_DISABLE_OPS;
req.command = WDCC_SMART; req.command = WDCC_SMART;
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.timeout = 1000;
break; break;
case AUTO_OFFLINE: case AUTO_OFFLINE:
/* NOTE: According to ATAPI 4 and UP, this command is obsolete */ /* NOTE: According to ATAPI 4 and UP, this command is obsolete */
req.flags = ATACMD_READ; req.flags = ATACMD_READREG;
req.features = ATA_SMART_AUTO_OFFLINE; /* XXX missing from wdcreg.h */ req.features = ATA_SMART_AUTO_OFFLINE; /* XXX missing from wdcreg.h */
req.command = WDCC_SMART; req.command = WDCC_SMART;
req.databuf = (char *)inbuf;
req.datalen = sizeof(inbuf);
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.sec_num = select; req.sec_count = select;
req.sec_count = 1;
req.timeout = 1000;
break; break;
case AUTOSAVE: case AUTOSAVE:
req.flags = ATACMD_READ; req.flags = ATACMD_READREG;
req.features = ATA_SMART_AUTOSAVE; /* XXX missing from wdcreg.h */ req.features = ATA_SMART_AUTOSAVE; /* XXX missing from wdcreg.h */
req.command = WDCC_SMART; req.command = WDCC_SMART;
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.sec_count = 0xf1; req.sec_count = select;
/* to enable autosave */
req.timeout = 1000;
break; break;
case IMMEDIATE_OFFLINE: case IMMEDIATE_OFFLINE:
/* NOTE: According to ATAPI 4 and UP, this command is obsolete */ /* NOTE: According to ATAPI 4 and UP, this command is obsolete */
req.flags = ATACMD_READ; req.flags = ATACMD_READREG;
req.features = ATA_SMART_IMMEDIATE_OFFLINE; /* XXX missing from wdcreg.h */ req.features = ATA_SMART_IMMEDIATE_OFFLINE; /* XXX missing from wdcreg.h */
req.command = WDCC_SMART; req.command = WDCC_SMART;
req.databuf = (char *)inbuf;
req.datalen = sizeof(inbuf);
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.sec_num = select; req.sec_num = select;
req.sec_count = 1; req.sec_count = 1;
req.timeout = 1000;
break; break;
case STATUS_CHECK: case STATUS: /* should return 0 if SMART is enabled at all */
/* same command, no HDIO in NetBSD */ case STATUS_CHECK: /* should return 0 if disk's health is ok */
case STATUS: req.flags = ATACMD_READREG;
req.flags = ATACMD_READ;
req.features = WDSM_STATUS; req.features = WDSM_STATUS;
req.command = WDCC_SMART; req.command = WDCC_SMART;
req.cylinder = WDSMART_CYL; req.cylinder = WDSMART_CYL;
req.timeout = 1000;
break; break;
case CHECK_POWER_MODE: case CHECK_POWER_MODE:
req.flags = ATACMD_READREG; req.flags = ATACMD_READREG;
req.command = WDCC_CHECK_PWR; req.command = WDCC_CHECK_PWR;
req.timeout = 1000;
break; break;
default: default:
pout("Unrecognized command %d in ata_command_interface()\n", command); pout("Unrecognized command %d in ata_command_interface()\n", command);
@ -314,7 +295,7 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
return -1; return -1;
} }
if (command == STATUS_CHECK) { if (command == STATUS_CHECK || command == AUTOSAVE || command == AUTO_OFFLINE) {
char buf[512]; char buf[512];
unsigned const short normal = WDSMART_CYL, failed = 0x2cf4; unsigned const short normal = WDSMART_CYL, failed = 0x2cf4;
@ -323,6 +304,9 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
perror("Failed command"); perror("Failed command");
return -1; return -1;
} }
if (req.retsts != ATACMD_OK) {
return -1;
}
/* Cyl low and Cyl high unchanged means "Good SMART status" */ /* Cyl low and Cyl high unchanged means "Good SMART status" */
if (req.cylinder == normal) if (req.cylinder == normal)
return 0; return 0;
@ -341,10 +325,15 @@ ata_command_interface(int fd, smart_command_set command, int select, char *data)
printwarning(BAD_SMART, buf); printwarning(BAD_SMART, buf);
return 0; return 0;
} }
if ((retval = ioctl(fd, ATAIOCCOMMAND, &req))) { if ((retval = ioctl(fd, ATAIOCCOMMAND, &req))) {
perror("Failed command"); perror("Failed command");
return -1; return -1;
} }
if (req.retsts != ATACMD_OK) {
return -1;
}
if (command == CHECK_POWER_MODE) if (command == CHECK_POWER_MODE)
data[0] = req.sec_count; data[0] = req.sec_count;
@ -417,7 +406,16 @@ do_scsi_cmnd_io(int fd, struct scsi_cmnd_io * iop, int report)
(trunc ? " [only first 256 bytes shown]" : "")); (trunc ? " [only first 256 bytes shown]" : ""));
dStrHex(iop->dxferp, (trunc ? 256 : iop->dxfer_len), 1); dStrHex(iop->dxferp, (trunc ? 256 : iop->dxfer_len), 1);
} }
return 0; switch (sc.retsts) {
case SCCMD_OK:
return 0;
case SCCMD_TIMEOUT:
return -ETIMEDOUT;
case SCCMD_BUSY:
return -EBUSY;
default:
return -EIO;
}
} }
/* print examples for smartctl */ /* print examples for smartctl */

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-6 Sergey Svishchev <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Sergey Svishchev <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -24,7 +24,7 @@
#ifndef OS_NETBSD_H_ #ifndef OS_NETBSD_H_
#define OS_NETBSD_H_ #define OS_NETBSD_H_
#define OS_NETBSD_H_CVSID "$Id: os_netbsd.h,v 1.9 2006/04/12 14:54:28 ballen4705 Exp $\n" #define OS_NETBSD_H_CVSID "$Id: os_netbsd.h,v 1.10 2008/03/04 22:09:47 ballen4705 Exp $\n"
#include <sys/device.h> #include <sys/device.h>
#include <sys/param.h> #include <sys/param.h>

View File

@ -3,9 +3,9 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 David Snyder <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 David Snyder <smartmontools-support@lists.sourceforge.net>
* *
* Derived from os_netbsd.cpp by Sergey Svishchev <smartmontools-support@lists.sourceforge.net>, Copyright (C) 2003-6 * Derived from os_netbsd.cpp by Sergey Svishchev <smartmontools-support@lists.sourceforge.net>, Copyright (C) 2003-8
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -25,7 +25,7 @@
#include "utility.h" #include "utility.h"
#include "os_openbsd.h" #include "os_openbsd.h"
const char *os_XXXX_c_cvsid = "$Id: os_openbsd.cpp,v 1.14 2007/04/05 16:39:21 shattered Exp $" \ const char *os_XXXX_c_cvsid = "$Id: os_openbsd.cpp,v 1.16 2008/03/04 22:09:47 ballen4705 Exp $" \
ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_OPENBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_OPENBSD_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
/* global variable holding byte count of allocated memory */ /* global variable holding byte count of allocated memory */
@ -172,10 +172,9 @@ int
marvell_command_interface(int fd, smart_command_set command, int select, char *data) marvell_command_interface(int fd, smart_command_set command, int select, char *data)
{ return -1; } { return -1; }
int highpoint_command_interface(int fd, smart_command_set command, int select, char *data) int
{ highpoint_command_interface(int fd, smart_command_set command, int select, char *data)
return -1; { return -1; }
}
int int
ata_command_interface(int fd, smart_command_set command, int select, char *data) ata_command_interface(int fd, smart_command_set command, int select, char *data)

View File

@ -3,9 +3,9 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 David Snyder <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 David Snyder <smartmontools-support@lists.sourceforge.net>
* *
* Derived from os_netbsd.c by Sergey Svishchev <smartmontools-support@lists.sourceforge.net>, Copyright (C) 2003-6 * Derived from os_netbsd.c by Sergey Svishchev <smartmontools-support@lists.sourceforge.net>, Copyright (C) 2003-8
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -26,7 +26,7 @@
#ifndef OS_OPENBSD_H_ #ifndef OS_OPENBSD_H_
#define OS_OPENBSD_H_ #define OS_OPENBSD_H_
#define OS_OPENBSD_H_CVSID "$Id: os_openbsd.h,v 1.5 2006/09/19 07:22:09 snyderx Exp $\n" #define OS_OPENBSD_H_CVSID "$Id: os_openbsd.h,v 1.6 2008/03/04 22:09:47 ballen4705 Exp $\n"
/* from NetBSD: atareg.h,v 1.17, by Manuel Bouyer */ /* from NetBSD: atareg.h,v 1.17, by Manuel Bouyer */
/* Actually fits _perfectly_ into OBSDs wdcreg.h, but... */ /* Actually fits _perfectly_ into OBSDs wdcreg.h, but... */

View File

@ -3,8 +3,8 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-6 SAWADA Keiji <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 SAWADA Keiji <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2003-6 Casper Dik <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Casper Dik <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -39,9 +39,9 @@
extern long long bytes; extern long long bytes;
static const char *filenameandversion="$Id: os_solaris.cpp,v 1.29 2007/05/09 19:01:32 dpgilbert Exp $"; static const char *filenameandversion="$Id: os_solaris.cpp,v 1.30 2008/03/04 22:09:47 ballen4705 Exp $";
const char *os_XXXX_c_cvsid="$Id: os_solaris.cpp,v 1.29 2007/05/09 19:01:32 dpgilbert Exp $" \ const char *os_XXXX_c_cvsid="$Id: os_solaris.cpp,v 1.30 2008/03/04 22:09:47 ballen4705 Exp $" \
ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_SOLARIS_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID INT64_H_CVSID OS_SOLARIS_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
// The printwarning() function warns about unimplemented functions // The printwarning() function warns about unimplemented functions

View File

@ -3,8 +3,8 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2003-6 SAWADA Keiji <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 SAWADA Keiji <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2003-6 Casper Dik <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2003-8 Casper Dik <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -25,7 +25,7 @@
#ifndef OS_SOLARIS_H_ #ifndef OS_SOLARIS_H_
#define OS_SOLARIS_H_ #define OS_SOLARIS_H_
#define OS_SOLARIS_H_CVSID "$Id: os_solaris.h,v 1.13 2006/08/12 05:41:13 card_captor Exp $\n" #define OS_SOLARIS_H_CVSID "$Id: os_solaris.h,v 1.14 2008/03/04 22:09:47 ballen4705 Exp $\n"
// Additional material should start here. Note: to keep the '-V' CVS // Additional material should start here. Note: to keep the '-V' CVS
// reporting option working as intended, you should only #include // reporting option working as intended, you should only #include

View File

@ -3,7 +3,7 @@
! !
! Home page of code is: http://smartmontools.sourceforge.net ! Home page of code is: http://smartmontools.sourceforge.net
! !
! Copyright (C) 2003-6 SAWADA Keiji <smartmontools-support@lists.sourceforge.net> ! Copyright (C) 2003-8 SAWADA Keiji <smartmontools-support@lists.sourceforge.net>
! !
! This program is free software; you can redistribute it and/or modify ! This program is free software; you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by ! it under the terms of the GNU General Public License as published by
@ -97,7 +97,7 @@
.section ".rodata" .section ".rodata"
.align 8 .align 8
.LLC0: .LLC0:
.asciz "$Id: os_solaris_ata.s,v 1.5 2006/04/12 14:54:28 ballen4705 Exp $" .asciz "$Id: os_solaris_ata.s,v 1.6 2008/03/04 22:09:47 ballen4705 Exp $"
.global os_solaris_ata_s_cvsid .global os_solaris_ata_s_cvsid
.section ".data" .section ".data"
.align 4 .align 4

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-7 Christian Franke <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -44,7 +44,7 @@ extern int64_t bytes; // malloc() byte count
// Needed by '-V' option (CVS versioning) of smartd/smartctl // Needed by '-V' option (CVS versioning) of smartd/smartctl
const char *os_XXXX_c_cvsid="$Id: os_win32.cpp,v 1.60 2008/01/07 21:37:57 chrfranke Exp $" const char *os_XXXX_c_cvsid="$Id: os_win32.cpp,v 1.61 2008/03/04 22:09:47 ballen4705 Exp $"
ATACMDS_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 Christian Franke <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -31,7 +31,7 @@
#include "daemon_win32.h" #include "daemon_win32.h"
const char *daemon_win32_c_cvsid = "$Id: daemon_win32.cpp,v 1.11 2006/08/09 20:40:20 chrfranke Exp $" const char *daemon_win32_c_cvsid = "$Id: daemon_win32.cpp,v 1.12 2008/03/04 22:09:48 ballen4705 Exp $"
DAEMON_WIN32_H_CVSID; DAEMON_WIN32_H_CVSID;

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 Christian Franke <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -19,7 +19,7 @@
#ifndef DAEMON_WIN32_H #ifndef DAEMON_WIN32_H
#define DAEMON_WIN32_H #define DAEMON_WIN32_H
#define DAEMON_WIN32_H_CVSID "$Id: daemon_win32.h,v 1.6 2006/04/12 14:54:28 ballen4705 Exp $\n" #define DAEMON_WIN32_H_CVSID "$Id: daemon_win32.h,v 1.7 2008/03/04 22:09:48 ballen4705 Exp $\n"
#include <signal.h> #include <signal.h>

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 Christian Franke <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -18,7 +18,7 @@
#include "hostname_win32.h" #include "hostname_win32.h"
const char * hostname_win32_c_cvsid = "$Id: hostname_win32.cpp,v 1.5 2006/08/09 20:40:20 chrfranke Exp $" HOSTNAME_WIN32_H_CVSID; const char * hostname_win32_c_cvsid = "$Id: hostname_win32.cpp,v 1.6 2008/03/04 22:09:48 ballen4705 Exp $" HOSTNAME_WIN32_H_CVSID;
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#include <windows.h> #include <windows.h>

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 Christian Franke <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -19,7 +19,7 @@
#ifndef HOSTNAME_WIN32_H #ifndef HOSTNAME_WIN32_H
#define HOSTNAME_WIN32_H #define HOSTNAME_WIN32_H
#define HOSTNAME_WIN32_H_CVSID "$Id: hostname_win32.h,v 1.4 2006/08/09 20:40:20 chrfranke Exp $\n" #define HOSTNAME_WIN32_H_CVSID "$Id: hostname_win32.h,v 1.5 2008/03/04 22:09:48 ballen4705 Exp $\n"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {

View File

@ -1,14 +1,14 @@
; ;
; installer.nsi - NSIS install script for smartmontools ; installer.nsi - NSIS install script for smartmontools
; ;
; Copyright (C) 2006-7 Christian Franke <smartmontools-support@lists.sourceforge.net> ; Copyright (C) 2006-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
; ;
; Project home page is: http://smartmontools.sourceforge.net ; Project home page is: http://smartmontools.sourceforge.net
; ;
; Download and install NSIS from: http://nsis.sourceforge.net/Download ; Download and install NSIS from: http://nsis.sourceforge.net/Download
; Process with makensis to create installer (tested with NSIS 2.29) ; Process with makensis to create installer (tested with NSIS 2.29)
; ;
; $Id: installer.nsi,v 1.3 2007/08/19 14:57:05 chrfranke Exp $ ; $Id: installer.nsi,v 1.4 2008/03/04 22:09:48 ballen4705 Exp $
; ;

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 Christian Franke <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -19,7 +19,7 @@
#ifndef SYSLOG_H #ifndef SYSLOG_H
#define SYSLOG_H #define SYSLOG_H
#define SYSLOG_H_CVSID "$Id: syslog.h,v 1.5 2006/08/09 20:40:20 chrfranke Exp $\n" #define SYSLOG_H_CVSID "$Id: syslog.h,v 1.6 2008/03/04 22:09:48 ballen4705 Exp $\n"
#include <stdarg.h> #include <stdarg.h>

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2004-6 Christian Franke <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2004-8 Christian Franke <smartmontools-support@lists.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -35,7 +35,7 @@
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#include <windows.h> // RegisterEventSourceA(), ReportEventA(), ... #include <windows.h> // RegisterEventSourceA(), ReportEventA(), ...
const char *syslog_win32_c_cvsid = "$Id: syslog_win32.cpp,v 1.7 2006/08/09 20:40:20 chrfranke Exp $" const char *syslog_win32_c_cvsid = "$Id: syslog_win32.cpp,v 1.8 2008/03/04 22:09:48 ballen4705 Exp $"
SYSLOG_H_CVSID; SYSLOG_H_CVSID;
#ifdef _MSC_VER #ifdef _MSC_VER

View File

@ -3,11 +3,11 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 1999-2000 Michael Cornwell <cornwell@acm.org>
* *
* Additional SCSI work: * Additional SCSI work:
* Copyright (C) 2003-6 Douglas Gilbert <dougg@torque.net> * Copyright (C) 2003-8 Douglas Gilbert <dougg@torque.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -47,7 +47,7 @@
#include "scsicmds.h" #include "scsicmds.h"
#include "utility.h" #include "utility.h"
const char *scsicmds_c_cvsid="$Id: scsicmds.cpp,v 1.95 2007/12/03 02:14:20 dpgilbert Exp $" const char *scsicmds_c_cvsid="$Id: scsicmds.cpp,v 1.96 2008/03/04 22:09:47 ballen4705 Exp $"
CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID; CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID UTILITY_H_CVSID;
/* for passing global control variables */ /* for passing global control variables */

View File

@ -3,11 +3,11 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* Additional SCSI work: * Additional SCSI work:
* Copyright (C) 2003-6 Douglas Gilbert <dougg@torque.net> * Copyright (C) 2003-8 Douglas Gilbert <dougg@torque.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -32,7 +32,7 @@
#ifndef SCSICMDS_H_ #ifndef SCSICMDS_H_
#define SCSICMDS_H_ #define SCSICMDS_H_
#define SCSICMDS_H_CVSID "$Id: scsicmds.h,v 1.65 2007/03/23 03:45:34 dpgilbert Exp $\n" #define SCSICMDS_H_CVSID "$Id: scsicmds.h,v 1.66 2008/03/04 22:09:47 ballen4705 Exp $\n"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>

View File

@ -3,11 +3,11 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* Additional SCSI work: * Additional SCSI work:
* Copyright (C) 2003-7 Douglas Gilbert <dougg@torque.net> * Copyright (C) 2003-8 Douglas Gilbert <dougg@torque.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -42,7 +42,7 @@
#define GBUF_SIZE 65535 #define GBUF_SIZE 65535
const char* scsiprint_c_cvsid="$Id: scsiprint.cpp,v 1.120 2007/07/21 20:59:41 chrfranke Exp $" const char* scsiprint_c_cvsid="$Id: scsiprint.cpp,v 1.121 2008/03/04 22:09:47 ballen4705 Exp $"
CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID SCSIPRINT_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID; CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID SCSICMDS_H_CVSID SCSIPRINT_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID;
// control block which points to external global control variables // control block which points to external global control variables

View File

@ -3,11 +3,11 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* Additional SCSI work: * Additional SCSI work:
* Copyright (C) 2003-6 Douglas Gilbert <dougg@torque.net> * Copyright (C) 2003-8 Douglas Gilbert <dougg@torque.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -30,7 +30,7 @@
#ifndef SCSI_PRINT_H_ #ifndef SCSI_PRINT_H_
#define SCSI_PRINT_H_ #define SCSI_PRINT_H_
#define SCSIPRINT_H_CVSID "$Id: scsiprint.h,v 1.20 2006/04/12 14:54:28 ballen4705 Exp $\n" #define SCSIPRINT_H_CVSID "$Id: scsiprint.h,v 1.21 2008/03/04 22:09:47 ballen4705 Exp $\n"
int scsiPrintMain(int fd); int scsiPrintMain(int fd);

View File

@ -1,7 +1,7 @@
.ig .ig
Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
$Id: smartctl.8.in,v 1.104 2007/12/15 17:47:10 ballen4705 Exp $ $Id: smartctl.8.in,v 1.105 2008/03/04 22:09:47 ballen4705 Exp $
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free under the terms of the GNU General Public License as published by the Free
@ -1500,7 +1500,7 @@ these documents may be found in the References section of the
.SH .SH
CVS ID OF THIS PAGE: CVS ID OF THIS PAGE:
$Id: smartctl.8.in,v 1.104 2007/12/15 17:47:10 ballen4705 Exp $ $Id: smartctl.8.in,v 1.105 2008/03/04 22:09:47 ballen4705 Exp $
.\" Local Variables: .\" Local Variables:
.\" mode: nroff .\" mode: nroff
.\" End: .\" End:

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -55,7 +55,7 @@
extern const char *os_solaris_ata_s_cvsid; extern const char *os_solaris_ata_s_cvsid;
#endif #endif
extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *scsiprint_c_cvsid, *utility_c_cvsid; extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *scsiprint_c_cvsid, *utility_c_cvsid;
const char* smartctl_c_cvsid="$Id: smartctl.cpp,v 1.168 2007/11/13 14:53:27 jhering Exp $" const char* smartctl_c_cvsid="$Id: smartctl.cpp,v 1.169 2008/03/04 22:09:47 ballen4705 Exp $"
ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID SCSICMDS_H_CVSID SCSIPRINT_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID; ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID EXTERN_H_CVSID INT64_H_CVSID KNOWNDRIVES_H_CVSID SCSICMDS_H_CVSID SCSIPRINT_H_CVSID SMARTCTL_H_CVSID UTILITY_H_CVSID;
// This is a block containing all the "control variables". We declare // This is a block containing all the "control variables". We declare
@ -74,7 +74,7 @@ void printslogan(){
#else #else
const char * ver = SMARTMONTOOLS_BUILD_HOST; const char * ver = SMARTMONTOOLS_BUILD_HOST;
#endif #endif
pout("smartctl version %s [%s] Copyright (C) 2002-7 Bruce Allen\n", PACKAGE_VERSION, ver); pout("smartctl version %s [%s] Copyright (C) 2002-8 Bruce Allen\n", PACKAGE_VERSION, ver);
pout("Home page is " PACKAGE_HOMEPAGE "\n\n"); pout("Home page is " PACKAGE_HOMEPAGE "\n\n");
return; return;
} }

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
#ifndef SMARTCTL_H_ #ifndef SMARTCTL_H_
#define SMARTCTL_H_ #define SMARTCTL_H_
#define SMARTCTL_H_CVSID "$Id: smartctl.h,v 1.24 2006/07/20 20:59:45 chrfranke Exp $\n" #define SMARTCTL_H_CVSID "$Id: smartctl.h,v 1.25 2008/03/04 22:09:47 ballen4705 Exp $\n"
/* Boolean Values */ /* Boolean Values */
#define TRUE 0x01 #define TRUE 0x01

View File

@ -1,7 +1,7 @@
.ig .ig
Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
$Id: smartd.8.in,v 1.120 2007/11/01 20:53:29 chrfranke Exp $ $Id: smartd.8.in,v 1.121 2008/03/04 22:09:47 ballen4705 Exp $
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -1965,4 +1965,4 @@ smartmontools home page at \fBhttp://smartmontools.sourceforge.net/#references\f
.SH .SH
CVS ID OF THIS PAGE: CVS ID OF THIS PAGE:
$Id: smartd.8.in,v 1.120 2007/11/01 20:53:29 chrfranke Exp $ $Id: smartd.8.in,v 1.121 2008/03/04 22:09:47 ballen4705 Exp $

View File

@ -1,7 +1,7 @@
.ig .ig
Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
$Id: smartd.conf.5.in,v 1.86 2007/10/20 13:02:50 chrfranke Exp $ $Id: smartd.conf.5.in,v 1.87 2008/03/04 22:09:47 ballen4705 Exp $
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free under the terms of the GNU General Public License as published by the Free
@ -1357,4 +1357,4 @@ SEE ALSO:
.SH .SH
CVS ID OF THIS PAGE: CVS ID OF THIS PAGE:
$Id: smartd.conf.5.in,v 1.86 2007/10/20 13:02:50 chrfranke Exp $ $Id: smartd.conf.5.in,v 1.87 2008/03/04 22:09:47 ballen4705 Exp $

View File

@ -1,7 +1,7 @@
/* /*
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -119,14 +119,14 @@ extern "C" int getdomainname(char *, int); // no declaration in header files!
extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *escalade_c_cvsid, extern const char *atacmdnames_c_cvsid, *atacmds_c_cvsid, *ataprint_c_cvsid, *escalade_c_cvsid,
*knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *utility_c_cvsid; *knowndrives_c_cvsid, *os_XXXX_c_cvsid, *scsicmds_c_cvsid, *utility_c_cvsid;
static const char *filenameandversion="$Id: smartd.cpp,v 1.395 2007/11/26 18:11:32 guidog Exp $"; static const char *filenameandversion="$Id: smartd.cpp,v 1.397 2008/03/04 22:09:47 ballen4705 Exp $";
#ifdef NEED_SOLARIS_ATA_CODE #ifdef NEED_SOLARIS_ATA_CODE
extern const char *os_solaris_ata_s_cvsid; extern const char *os_solaris_ata_s_cvsid;
#endif #endif
#ifdef _WIN32 #ifdef _WIN32
extern const char *daemon_win32_c_cvsid, *hostname_win32_c_cvsid, *syslog_win32_c_cvsid; extern const char *daemon_win32_c_cvsid, *hostname_win32_c_cvsid, *syslog_win32_c_cvsid;
#endif #endif
const char *smartd_c_cvsid="$Id: smartd.cpp,v 1.395 2007/11/26 18:11:32 guidog Exp $" const char *smartd_c_cvsid="$Id: smartd.cpp,v 1.397 2008/03/04 22:09:47 ballen4705 Exp $"
ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID ATACMDS_H_CVSID ATAPRINT_H_CVSID CONFIG_H_CVSID
#ifdef DAEMON_WIN32_H_CVSID #ifdef DAEMON_WIN32_H_CVSID
DAEMON_WIN32_H_CVSID DAEMON_WIN32_H_CVSID
@ -189,8 +189,8 @@ int cfgentries_max=0;
// pointers to ATA and SCSI devices being monitored, maximum and // pointers to ATA and SCSI devices being monitored, maximum and
// actual numbers // actual numbers
cfgfile **atadevlist=NULL, **scsidevlist=NULL; cfgfile **ATAandSCSIdevlist=NULL;
int atadevlist_max=0, scsidevlist_max=0; int ATAandSCSIdevlist_max=0;
int numdevata=0, numdevscsi=0; int numdevata=0, numdevscsi=0;
// track memory usage // track memory usage
@ -392,17 +392,11 @@ void RmAllConfigEntries(){
void RmAllDevEntries(){ void RmAllDevEntries(){
int i; int i;
for (i=0; i<atadevlist_max; i++) for (i=0; i<ATAandSCSIdevlist_max; i++)
RmConfigEntry(atadevlist+i, __LINE__); RmConfigEntry(ATAandSCSIdevlist+i, __LINE__);
atadevlist=FreeNonZero(atadevlist, sizeof(cfgfile *)*atadevlist_max, __LINE__, filenameandversion);
atadevlist_max=0;
for (i=0; i<scsidevlist_max; i++)
RmConfigEntry(scsidevlist+i, __LINE__);
scsidevlist=FreeNonZero(scsidevlist, sizeof(cfgfile *)*scsidevlist_max, __LINE__, filenameandversion); ATAandSCSIdevlist=FreeNonZero(ATAandSCSIdevlist, sizeof(cfgfile *)*ATAandSCSIdevlist_max, __LINE__, filenameandversion);
scsidevlist_max=0; ATAandSCSIdevlist_max=0;
return; return;
} }
@ -1128,7 +1122,7 @@ void PrintHead(){
#else #else
const char * ver = SMARTMONTOOLS_BUILD_HOST; const char * ver = SMARTMONTOOLS_BUILD_HOST;
#endif #endif
PrintOut(LOG_INFO,"smartd version %s [%s] Copyright (C) 2002-7 Bruce Allen\n", PACKAGE_VERSION, ver); PrintOut(LOG_INFO,"smartd version %s [%s] Copyright (C) 2002-8 Bruce Allen\n", PACKAGE_VERSION, ver);
PrintOut(LOG_INFO,"Home page is " PACKAGE_HOMEPAGE "\n\n"); PrintOut(LOG_INFO,"Home page is " PACKAGE_HOMEPAGE "\n\n");
return; return;
} }
@ -1609,8 +1603,8 @@ int ATADeviceScan(cfgfile *cfg, int scanning){
} }
// Do we still have entries available? // Do we still have entries available?
while (numdevata>=atadevlist_max) while (numdevata+numdevscsi>=ATAandSCSIdevlist_max)
atadevlist=AllocateMoreSpace(atadevlist, &atadevlist_max, "ATA device"); ATAandSCSIdevlist=AllocateMoreSpace(ATAandSCSIdevlist, &ATAandSCSIdevlist_max, "ATA and SCSI devices");
// register device // register device
PrintOut(LOG_INFO,"Device: %s, is SMART capable. Adding to \"monitor\" list.\n",name); PrintOut(LOG_INFO,"Device: %s, is SMART capable. Adding to \"monitor\" list.\n",name);
@ -1624,10 +1618,12 @@ int ATADeviceScan(cfgfile *cfg, int scanning){
return 0; return 0;
} }
// Returns 0 if normal SCSI device. Returns -1 if INQUIRY fails. // Returns 0 if normal SCSI device.
// Returns -1 if INQUIRY fails.
// Returns 2 if ATA device detected behind SAT layer. // Returns 2 if ATA device detected behind SAT layer.
// Returns 3 if ATA device detected behind Marvell controller.
// Returns 1 if other device detected that we don't want to treat // Returns 1 if other device detected that we don't want to treat
// as a normal SCSI device. // as a normal SCSI device.
static int SCSIFilterKnown(int fd, char * device) static int SCSIFilterKnown(int fd, char * device)
{ {
char req_buff[256]; char req_buff[256];
@ -1642,7 +1638,7 @@ static int SCSIFilterKnown(int fd, char * device)
if (scsiStdInquiry(fd, (unsigned char *)req_buff, req_len)) { if (scsiStdInquiry(fd, (unsigned char *)req_buff, req_len)) {
PrintOut(LOG_INFO, "Device: %s, failed on INQUIRY; skip device\n", device); PrintOut(LOG_INFO, "Device: %s, failed on INQUIRY; skip device\n", device);
// device doesn't like INQUIRY commands // device doesn't like INQUIRY commands
return -1; return SCSIFK_FAILED;
} }
} }
avail_len = req_buff[4] + 5; avail_len = req_buff[4] + 5;
@ -1651,29 +1647,25 @@ static int SCSIFilterKnown(int fd, char * device)
if (0 == strncmp(req_buff + 8, "3ware", 5) || 0 == strncmp(req_buff + 8, "AMCC", 4) ) { if (0 == strncmp(req_buff + 8, "3ware", 5) || 0 == strncmp(req_buff + 8, "AMCC", 4) ) {
PrintOut(LOG_INFO, "Device %s, please try adding '-d 3ware,N'\n", device); PrintOut(LOG_INFO, "Device %s, please try adding '-d 3ware,N'\n", device);
PrintOut(LOG_INFO, "Device %s, you may need to replace %s with /dev/twaN or /dev/tweN\n", device, device); PrintOut(LOG_INFO, "Device %s, you may need to replace %s with /dev/twaN or /dev/tweN\n", device, device);
return 1; return SCSIFK_3WARE;
} else if ((len >= 42) && (0 == strncmp(req_buff + 36, "MVSATA", 6))) { } else if ((len >= 42) && (0 == strncmp(req_buff + 36, "MVSATA", 6))) {
PrintOut(LOG_INFO, "Device %s, please try '-d marvell'\n", device); PrintOut(LOG_INFO, "Device %s: using '-d marvell' for ATA disk with Marvell driver\n", device);
return 1; return SCSIFK_MARVELL;
} else if ((avail_len >= 36) && } else if ((avail_len >= 36) &&
(0 == strncmp(req_buff + 8, "ATA ", 8)) && (0 == strncmp(req_buff + 8, "ATA ", 8)) &&
has_sat_pass_through(fd, 0 /* non-packet dev */)) { has_sat_pass_through(fd, 0 /* non-packet dev */)) {
PrintOut(LOG_INFO, "Device %s: using '-d sat' for ATA disk behind SAT layer.\n",
PrintOut(LOG_INFO, "Device %s: ATA disk detected behind SAT layer\n",
device); device);
PrintOut(LOG_INFO, " Try adding '-d sat' to the device line in the " return SCSIFK_SAT;
"smartd.conf file.\n");
PrintOut(LOG_INFO, " For example: '%s -a -d sat'\n", device);
return 2;
} }
} }
return 0; return SCSIFK_NORMAL;
} }
// on success, return 0. On failure, return >0. Never return <0, // on success, return 0. On failure, return >0. Never return <0,
// please. // please.
static int SCSIDeviceScan(cfgfile *cfg, int scanning) { static int SCSIDeviceScan(cfgfile *cfg, int scanning) {
int k, fd, err; int k, fd, err, retval;
char *device = cfg->name; char *device = cfg->name;
struct scsi_iec_mode_page iec; struct scsi_iec_mode_page iec;
UINT8 tBuf[64]; UINT8 tBuf[64];
@ -1702,9 +1694,18 @@ static int SCSIDeviceScan(cfgfile *cfg, int scanning) {
// early skip if device known and needs to be handled by some other // early skip if device known and needs to be handled by some other
// device type (e.g. '-d 3ware,<n>') // device type (e.g. '-d 3ware,<n>')
if (SCSIFilterKnown(fd, device)) { if ((retval = SCSIFilterKnown(fd, device))) {
CloseDevice(fd, device); CloseDevice(fd, device);
return 2;
if (retval==SCSIFK_SAT)
// SATA Device behind SAT layer
return SCSIFK_SAT;
if (retval==SCSIFK_MARVELL)
// ATA/SATA device behind Marvell driver
return SCSIFK_MARVELL;
return 2;
} }
// check that device is ready for commands. IE stores its stuff on // check that device is ready for commands. IE stores its stuff on
@ -1751,8 +1752,8 @@ static int SCSIDeviceScan(cfgfile *cfg, int scanning) {
} }
// Device exists, and does SMART. Add to list (allocating more space if needed) // Device exists, and does SMART. Add to list (allocating more space if needed)
while (numdevscsi >= scsidevlist_max) while (numdevscsi+numdevata >= ATAandSCSIdevlist_max)
scsidevlist=AllocateMoreSpace(scsidevlist, &scsidevlist_max, "SCSI device"); ATAandSCSIdevlist=AllocateMoreSpace(ATAandSCSIdevlist, &ATAandSCSIdevlist_max, "ATA and SCSI devices");
// Flag that certain log pages are supported (information may be // Flag that certain log pages are supported (information may be
// available from other sources). // available from other sources).
@ -1842,6 +1843,29 @@ static int SCSIDeviceScan(cfgfile *cfg, int scanning) {
return 0; return 0;
} }
// modified treatment of SCSI device behind SAT layer
static int SCSIandSATDeviceScan(cfgfile *cfg, int scanning) {
int retval = SCSIDeviceScan(cfg, scanning);
cfg->WhichCheckDevice=1; // default SCSI device
if (retval==SCSIFK_SAT) {
// found SATA device behind SAT translation layer
cfg->controller_type=CONTROLLER_SAT;
cfg->WhichCheckDevice=0; // actually SATA device!
return ATADeviceScan(cfg, scanning);
}
if (retval==SCSIFK_MARVELL) {
// found SATA device behind Marvell controller
cfg->controller_type=CONTROLLER_MARVELL_SATA;
cfg->WhichCheckDevice=0; // actually SATA device!
return ATADeviceScan(cfg, scanning);
}
return retval;
}
// We compare old and new values of the n'th attribute. Note that n // We compare old and new values of the n'th attribute. Note that n
// is NOT the attribute ID number.. If (Normalized & Raw) equal, // is NOT the attribute ID number.. If (Normalized & Raw) equal,
// then return 0, else nonzero. // then return 0, else nonzero.
@ -2050,7 +2074,7 @@ int DoTestNow(cfgfile *cfg, char testtype, time_t testtime) {
} }
// Print a list of future tests. // Print a list of future tests.
void PrintTestSchedule(cfgfile **atadevices, cfgfile **scsidevices){ void PrintTestSchedule(cfgfile **ATAandSCSIdevices){
int i, t; int i, t;
cfgfile * cfg; cfgfile * cfg;
char datenow[DATEANDEPOCHLEN], date[DATEANDEPOCHLEN]; char datenow[DATEANDEPOCHLEN], date[DATEANDEPOCHLEN];
@ -2073,8 +2097,8 @@ void PrintTestSchedule(cfgfile **atadevices, cfgfile **scsidevices){
// Check for each device whether a test will be run // Check for each device whether a test will be run
time_t testtime = now + seconds; time_t testtime = now + seconds;
for (i=0; i<numdev; i++) { for (i=0; i<numdev; i++) {
cfg = (i<numdevata? atadevices[i] : scsidevices[i-numdevata]); cfg = ATAandSCSIdevices[i];
for (t=0; t<(i<numdevata?4:2); t++) { for (t=0; t<(cfg->WhichCheckDevice==0?4:2); t++) {
char testtype = "LSCO"[t]; char testtype = "LSCO"[t];
if (DoTestNow(cfg, testtype, testtime)) { if (DoTestNow(cfg, testtype, testtime)) {
// Report at most 5 tests of each type // Report at most 5 tests of each type
@ -2092,8 +2116,8 @@ void PrintTestSchedule(cfgfile **atadevices, cfgfile **scsidevices){
dateandtimezoneepoch(date, now+seconds); dateandtimezoneepoch(date, now+seconds);
PrintOut(LOG_INFO, "\nTotals [%s - %s]:\n", datenow, date); PrintOut(LOG_INFO, "\nTotals [%s - %s]:\n", datenow, date);
for (i=0; i<numdev; i++) { for (i=0; i<numdev; i++) {
cfg = (i<numdevata? atadevices[i] : scsidevices[i-numdevata]); cfg = ATAandSCSIdevices[i];
for (t=0; t<(i<numdevata?4:2); t++) { for (t=0; t<(cfg->WhichCheckDevice==0?4:2); t++) {
PrintOut(LOG_INFO, "Device: %s, will do %3d test%s of type %c\n", cfg->name, testcnts[i][t], PrintOut(LOG_INFO, "Device: %s, will do %3d test%s of type %c\n", cfg->name, testcnts[i][t],
(testcnts[i][t]==1?"":"s"), "LSCO"[t]); (testcnts[i][t]==1?"":"s"), "LSCO"[t]);
} }
@ -2657,14 +2681,15 @@ int SCSICheckDevice(cfgfile *cfg, bool allow_selftests)
} }
// Checks the SMART status of all ATA and SCSI devices // Checks the SMART status of all ATA and SCSI devices
void CheckDevicesOnce(cfgfile **atadevices, cfgfile **scsidevices, bool allow_selftests){ void CheckDevicesOnce(cfgfile **ATAandSCSIdevices, bool allow_selftests){
int i; int i;
for (i=0; i<numdevata; i++) for (i=0; i<numdevata+numdevscsi; i++) {
ATACheckDevice(atadevices[i], allow_selftests); if (ATAandSCSIdevices[i]->WhichCheckDevice==1)
SCSICheckDevice(ATAandSCSIdevices[i], allow_selftests);
for (i=0; i<numdevscsi; i++) else
SCSICheckDevice(scsidevices[i], allow_selftests); ATACheckDevice(ATAandSCSIdevices[i], allow_selftests);
}
return; return;
} }
@ -4253,9 +4278,11 @@ void RegisterDevices(int scanning){
else { else {
// move onto the list of ata devices // move onto the list of ata devices
cfgentries[i]=NULL; cfgentries[i]=NULL;
while (numdevata>=atadevlist_max) while (numdevata+numdevscsi>=ATAandSCSIdevlist_max)
atadevlist=AllocateMoreSpace(atadevlist, &atadevlist_max, "ATA device"); ATAandSCSIdevlist=AllocateMoreSpace(ATAandSCSIdevlist, &ATAandSCSIdevlist_max, "ATA and SCSI devices");
atadevlist[numdevata++]=ent; ent->WhichCheckDevice=0;
ATAandSCSIdevlist[numdevscsi+numdevata]=ent;
numdevata++;
} }
} }
@ -4274,7 +4301,7 @@ void RegisterDevices(int scanning){
if (sigaction(SIGALRM, &alarmAction, &defaultaction)) { if (sigaction(SIGALRM, &alarmAction, &defaultaction)) {
// if we can't set timeout, just scan device // if we can't set timeout, just scan device
PrintOut(LOG_CRIT, "Unable to initialize SCSI timeout mechanism.\n"); PrintOut(LOG_CRIT, "Unable to initialize SCSI timeout mechanism.\n");
retscsi=SCSIDeviceScan(ent, scanning); retscsi=SCSIandSATDeviceScan(ent, scanning);
} }
else { else {
// prepare return point in case of bad SCSI device // prepare return point in case of bad SCSI device
@ -4284,7 +4311,7 @@ void RegisterDevices(int scanning){
else { else {
// Set alarm, make SCSI call, reset alarm // Set alarm, make SCSI call, reset alarm
alarm(SCSITIMEOUT); alarm(SCSITIMEOUT);
retscsi=SCSIDeviceScan(ent, scanning); retscsi=SCSIandSATDeviceScan(ent, scanning);
alarm(0); alarm(0);
} }
if (sigaction(SIGALRM, &defaultaction, NULL)){ if (sigaction(SIGALRM, &defaultaction, NULL)){
@ -4292,7 +4319,7 @@ void RegisterDevices(int scanning){
} }
} }
#else #else
retscsi=SCSIDeviceScan(ent, scanning); retscsi=SCSIandSATDeviceScan(ent, scanning);
#endif #endif
// Now scan SCSI device... // Now scan SCSI device...
@ -4304,9 +4331,10 @@ void RegisterDevices(int scanning){
else { else {
// move onto the list of scsi devices // move onto the list of scsi devices
cfgentries[i]=NULL; cfgentries[i]=NULL;
while (numdevscsi>=scsidevlist_max) while (numdevscsi+numdevata>=ATAandSCSIdevlist_max)
scsidevlist=AllocateMoreSpace(scsidevlist, &scsidevlist_max, "SCSI device"); ATAandSCSIdevlist=AllocateMoreSpace(ATAandSCSIdevlist, &ATAandSCSIdevlist_max, "ATA and SCSI devices");
scsidevlist[numdevscsi++]=ent; ATAandSCSIdevlist[numdevata+numdevscsi]=ent;
numdevscsi++;
} }
} }
@ -4430,7 +4458,7 @@ static int smartd_main(int argc, char **argv)
if (quit==4) { if (quit==4) {
// user has asked to print test schedule // user has asked to print test schedule
PrintTestSchedule(atadevlist, scsidevlist); PrintTestSchedule(ATAandSCSIdevlist);
EXIT(0); EXIT(0);
} }
@ -4440,7 +4468,7 @@ static int smartd_main(int argc, char **argv)
// check all devices once, // check all devices once,
// self tests are not started in first pass unless '-q onecheck' is specified // self tests are not started in first pass unless '-q onecheck' is specified
CheckDevicesOnce(atadevlist, scsidevlist, (!firstpass || quit==3)); CheckDevicesOnce(ATAandSCSIdevlist, (!firstpass || quit==3));
// user has asked us to exit after first check // user has asked us to exit after first check
if (quit==3) { if (quit==3) {

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -32,7 +32,7 @@
#ifndef SMARTD_H_CVSID #ifndef SMARTD_H_CVSID
#define SMARTD_H_CVSID "$Id: smartd.h,v 1.84 2006/11/11 17:50:50 ballen4705 Exp $\n" #define SMARTD_H_CVSID "$Id: smartd.h,v 1.86 2008/03/04 22:09:47 ballen4705 Exp $\n"
#endif #endif
// Configuration file // Configuration file
@ -233,6 +233,9 @@ typedef struct configfile_s {
struct ata_smart_values *smartval; // Pointer to SMART data struct ata_smart_values *smartval; // Pointer to SMART data
struct ata_smart_thresholds_pvt *smartthres; // Pointer to SMART thresholds struct ata_smart_thresholds_pvt *smartthres; // Pointer to SMART thresholds
// Added to distinguish ATA and SCSI entries on list
int WhichCheckDevice;
} cfgfile; } cfgfile;
@ -278,7 +281,6 @@ export NJAMD_TRACE_LIBS=1
#define SIGNALFN signal #define SIGNALFN signal
#endif #endif
#endif
#define SELFTEST_ERRORCOUNT(x) (x & 0xff) #define SELFTEST_ERRORCOUNT(x) (x & 0xff)
#define SELFTEST_ERRORHOURS(x) ((x >> 8) & 0xffff) #define SELFTEST_ERRORHOURS(x) ((x >> 8) & 0xffff)
@ -297,3 +299,16 @@ export NJAMD_TRACE_LIBS=1
// if cfg->pending has this value, dont' monitor // if cfg->pending has this value, dont' monitor
#define DONT_MONITOR_UNC (256*OFF_UNC_DEFAULT+CUR_UNC_DEFAULT) #define DONT_MONITOR_UNC (256*OFF_UNC_DEFAULT+CUR_UNC_DEFAULT)
// Some return values from SCSIFilterKnown(), used to detect known
// device types hidden behind SCSI devices.
#define SCSIFK_FAILED -1
#define SCSIFK_NORMAL 0
#define SCSIFK_3WARE 11
#define SCSIFK_SAT 12
#define SCSIFK_MARVELL 13
// Make additions BEFORE this line. The line is the end of
// double-inclusion protection and should remain the final line.
#endif // #ifndef SMARTD_H_

View File

@ -1,8 +1,8 @@
#! /bin/sh #! /bin/sh
# smartmontools init file for smartd # smartmontools init file for smartd
# Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> # Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
# $Id: smartd.initd.in,v 1.36 2007/11/01 20:53:30 chrfranke Exp $ # $Id: smartd.initd.in,v 1.38 2008/03/04 22:09:47 ballen4705 Exp $
# For RedHat and cousins: # For RedHat and cousins:
# chkconfig: 2345 40 40 # chkconfig: 2345 40 40
@ -11,15 +11,16 @@
# For SuSE and cousins # For SuSE and cousins
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: smartd # Provides: smartd
# Required-Start: $syslog # Required-Start: $syslog
# X-UnitedLinux-Should-Start: $sendmail # X-UnitedLinux-Should-Start: $sendmail
# Required-Stop: $syslog # Should-Start: $sendmail
# Required-Stop: $syslog
# X-UnitedLinux-Should-Stop: # X-UnitedLinux-Should-Stop:
# Default-Start: 2 3 5 # Default-Start: 2 3 5
# Default-Stop: # Default-Stop:
# Short-Description: Monitors disk and tape health via S.M.A.R.T. # Short-Description: Monitors disk and tape health via S.M.A.R.T.
# Description: Start S.M.A.R.T. disk and tape monitor. # Description: Start S.M.A.R.T. disk and tape monitor.
### END INIT INFO ### END INIT INFO
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it

View File

@ -38,9 +38,9 @@ Packager: Bruce Allen <smartmontools-support@lists.sourceforge.net>
# http://ftp1.sourceforge.net/smartmontools/smartmontools-%{version}-%{release}.tar.gz # http://ftp1.sourceforge.net/smartmontools/smartmontools-%{version}-%{release}.tar.gz
# CVS ID of this file is: # CVS ID of this file is:
# $Id: smartmontools.spec,v 1.171 2006/12/20 21:59:04 chrfranke Exp $ # $Id: smartmontools.spec,v 1.172 2008/03/04 22:09:47 ballen4705 Exp $
# Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> # Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
# Home page: http://smartmontools.sourceforge.net/ # Home page: http://smartmontools.sourceforge.net/
# #
# This program is free software; you can redistribute it and/or modify it # This program is free software; you can redistribute it and/or modify it

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -44,7 +44,7 @@
#include "utility.h" #include "utility.h"
// Any local header files should be represented by a CVSIDX just below. // Any local header files should be represented by a CVSIDX just below.
const char* utility_c_cvsid="$Id: utility.cpp,v 1.64 2007/02/03 15:14:14 chrfranke Exp $" const char* utility_c_cvsid="$Id: utility.cpp,v 1.65 2008/03/04 22:09:47 ballen4705 Exp $"
CONFIG_H_CVSID INT64_H_CVSID UTILITY_H_CVSID; CONFIG_H_CVSID INT64_H_CVSID UTILITY_H_CVSID;
const char * packet_types[] = { const char * packet_types[] = {

View File

@ -3,7 +3,7 @@
* *
* Home page of code is: http://smartmontools.sourceforge.net * Home page of code is: http://smartmontools.sourceforge.net
* *
* Copyright (C) 2002-7 Bruce Allen <smartmontools-support@lists.sourceforge.net> * Copyright (C) 2002-8 Bruce Allen <smartmontools-support@lists.sourceforge.net>
* Copyright (C) 2000 Michael Cornwell <cornwell@acm.org> * Copyright (C) 2000 Michael Cornwell <cornwell@acm.org>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -25,7 +25,7 @@
#ifndef UTILITY_H_ #ifndef UTILITY_H_
#define UTILITY_H_ #define UTILITY_H_
#define UTILITY_H_CVSID "$Id: utility.h,v 1.50 2007/07/26 20:58:50 chrfranke Exp $\n" #define UTILITY_H_CVSID "$Id: utility.h,v 1.51 2008/03/04 22:09:47 ballen4705 Exp $\n"
#include <time.h> #include <time.h>
#include <sys/types.h> // for regex.h (according to POSIX) #include <sys/types.h> // for regex.h (according to POSIX)