diff --git a/Makefile.in b/Makefile.in index 257f5764..5babccf0 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -11,7 +11,7 @@ # PARTICULAR PURPOSE. -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +32,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -46,7 +46,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -59,11 +59,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -87,6 +89,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -100,26 +103,25 @@ l = @l@ AUTOMAKE_OPTIONS = 1.0 foreign ansi2knr -SUBDIRS = intl po man lib libmisc src \ - contrib debian doc etc old redhat +SUBDIRS = intl po man lib libmisc src contrib debian doc etc old redhat + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = -DIST_COMMON = ABOUT-NLS Makefile.am Makefile.in acconfig.h aclocal.m4 \ -ansi2knr.1 ansi2knr.c config.guess config.h.in config.sub configure \ -configure.in install-sh ltconfig ltmain.sh missing mkinstalldirs \ -stamp-h.in +DIST_COMMON = ./stamp-h.in ABOUT-NLS Makefile.am Makefile.in acconfig.h \ +aclocal.m4 ansi2knr.1 ansi2knr.c config.guess config.h.in config.sub \ +configure configure.in install-sh ltconfig ltmain.sh missing \ +mkinstalldirs DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: all-recursive-am all-am - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -129,22 +131,29 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(ACLOCAL_M4): configure.in cd $(srcdir) && $(ACLOCAL) -config.status: $(srcdir)/configure +config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) config.h: stamp-h - @: + @if test ! -f $@; then \ + rm -f stamp-h; \ + $(MAKE) stamp-h; \ + else :; fi stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES= CONFIG_HEADERS=config.h \ $(SHELL) ./config.status - @echo timestamp > stamp-h + @echo timestamp > stamp-h 2> /dev/null $(srcdir)/config.h.in: $(srcdir)/stamp-h.in + @if test ! -f $@; then \ + rm -f $(srcdir)/stamp-h.in; \ + $(MAKE) $(srcdir)/stamp-h.in; \ + else :; fi $(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h cd $(top_srcdir) && $(AUTOHEADER) - @echo timestamp > $(srcdir)/stamp-h.in + @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null mostlyclean-hdr: @@ -168,41 +177,65 @@ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive info-recursive dvi-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - target=`echo $@ | sed s/-recursive//`; \ echo "Making $$target in $$subdir"; \ - (cd $$subdir && $(MAKE) $$target) \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ + test "$$subdir" = "." && dot_seen=yes; \ done; \ + test "$$dot_seen" = "no" && rev=". $$rev"; \ + target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ - target=`echo $@ | sed s/-recursive//`; \ echo "Making $$target in $$subdir"; \ - (cd $$subdir && $(MAKE) $$target) \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - (cd $$subdir && $(MAKE) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ done; \ list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ @@ -228,29 +261,31 @@ top_distdir = $(distdir) # tarfile. distcheck: dist -rm -rf $(distdir) - GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz + GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz mkdir $(distdir)/=build mkdir $(distdir)/=inst dc_install_base=`cd $(distdir)/=inst && pwd`; \ cd $(distdir)/=build \ && ../configure --with-included-gettext --srcdir=.. --prefix=$$dc_install_base \ - && $(MAKE) \ - && $(MAKE) dvi \ - && $(MAKE) check \ - && $(MAKE) install \ - && $(MAKE) installcheck \ - && $(MAKE) dist + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) dist -rm -rf $(distdir) - @echo "========================"; \ - echo "$(distdir).tar.gz is ready for distribution"; \ - echo "========================" + @banner="$(distdir).tar.gz is ready for distribution"; \ + dashes=`echo "$$banner" | sed s/./=/g`; \ + echo "$$dashes"; \ + echo "$$banner"; \ + echo "$$dashes" dist: distdir -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) -rm -rf $(distdir) dist-all: distdir -chmod -R a+r $(distdir) - GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) + GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir) -rm -rf $(distdir) distdir: $(DISTFILES) -rm -rf $(distdir) @@ -258,78 +293,83 @@ distdir: $(DISTFILES) -chmod 777 $(distdir) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done for subdir in $(SUBDIRS); do \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ done +info-am: info: info-recursive +dvi-am: dvi: dvi-recursive -check: all-am - $(MAKE) check-recursive +check-am: all-am +check: check-recursive +installcheck-am: installcheck: installcheck-recursive all-recursive-am: config.h - $(MAKE) all-recursive - -all-am: Makefile config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive +install-exec-am: install-exec: install-exec-recursive - @$(NORMAL_INSTALL) +install-data-am: install-data: install-data-recursive - @$(NORMAL_INSTALL) +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-recursive - @: - +uninstall-am: uninstall: uninstall-recursive - +all-am: Makefile config.h +all-redirect: all-recursive-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: installdirs-recursive +installdirs-am: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic +mostlyclean: mostlyclean-recursive + clean-am: clean-hdr clean-tags clean-generic mostlyclean-am +clean: clean-recursive + distclean-am: distclean-hdr distclean-tags distclean-generic clean-am + -rm -f libtool + +distclean: distclean-recursive + -rm -f config.status maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \ maintainer-clean-generic distclean-am - -mostlyclean: mostlyclean-recursive mostlyclean-am - -clean: clean-recursive clean-am - -distclean: distclean-recursive distclean-am - -rm -f config.status - -rm -f libtool - -maintainer-clean: maintainer-clean-recursive maintainer-clean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." + +maintainer-clean: maintainer-clean-recursive -rm -f config.status .PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ @@ -338,11 +378,12 @@ uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ all-recursive check-recursive installcheck-recursive info-recursive \ dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ -installcheck all-recursive-am all-am install-exec install-data install \ -uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \ +install-exec-am install-exec install-data-am install-data install-am \ +install uninstall-am uninstall all-redirect all-am all installdirs-am \ +installdirs mostlyclean-generic distclean-generic clean-generic \ +maintainer-clean-generic clean mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/acconfig.h b/acconfig.h index 8e18ad9d..7fce8825 100644 --- a/acconfig.h +++ b/acconfig.h @@ -1,4 +1,4 @@ -/* $Id: acconfig.h,v 1.12 1999/06/07 16:40:43 marekm Exp $ */ +/* $Id: acconfig.h,v 1.13 1999/08/27 19:02:50 marekm Exp $ */ @@ -89,16 +89,13 @@ /* Define to use ndbm. */ #undef NDBM -/* Define to enable the new readpass() that echoes asterisks. */ -#undef NEW_READPASS - /* Define to support OPIE one-time password logins. */ #undef OPIE /* Package name. */ #undef PACKAGE -/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59). */ +/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59+). */ #undef PAM_STRERROR_NEEDS_TWO_ARGS /* Path to passwd program. */ diff --git a/aclocal.m4 b/aclocal.m4 index aea062ce..7f119fd2 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,7 @@ -dnl aclocal.m4 generated automatically by aclocal 1.3 +dnl aclocal.m4 generated automatically by aclocal 1.4 -dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. -dnl This Makefile.in is free software; the Free Software Foundation +dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -20,7 +20,7 @@ dnl Usage: dnl AM_INIT_AUTOMAKE(package,version, [no-define]) AC_DEFUN(AM_INIT_AUTOMAKE, -[AC_REQUIRE([AM_PROG_INSTALL]) +[AC_REQUIRE([AC_PROG_INSTALL]) PACKAGE=[$1] AC_SUBST(PACKAGE) VERSION=[$2] @@ -30,8 +30,8 @@ if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi ifelse([$3],, -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") -AC_DEFINE_UNQUOTED(VERSION, "$VERSION")) +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])) AC_REQUIRE([AM_SANITY_CHECK]) AC_REQUIRE([AC_ARG_PROGRAM]) dnl FIXME This is truly gross. @@ -43,15 +43,6 @@ AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) AC_REQUIRE([AC_PROG_MAKE_SET])]) - -# serial 1 - -AC_DEFUN(AM_PROG_INSTALL, -[AC_REQUIRE([AC_PROG_INSTALL]) -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' -AC_SUBST(INSTALL_SCRIPT)dnl -]) - # # Check to make sure that the build environment is sane. # @@ -143,7 +134,7 @@ AC_REQUIRE([AC_PROG_CPP]) AC_MSG_CHECKING([for function prototypes]) if test "$am_cv_prog_cc_stdc" != no; then AC_MSG_RESULT(yes) - AC_DEFINE(PROTOTYPES) + AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes]) U= ANSI2KNR= else AC_MSG_RESULT(no) @@ -245,28 +236,66 @@ esac ]) -# serial 24 AM_PROG_LIBTOOL -AC_DEFUN(AM_PROG_LIBTOOL, -[AC_REQUIRE([AM_ENABLE_SHARED])dnl -AC_REQUIRE([AM_ENABLE_STATIC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_RANLIB])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AM_PROG_LD])dnl -AC_REQUIRE([AM_PROG_NM])dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -dnl +# serial 40 AC_PROG_LIBTOOL +AC_DEFUN(AC_PROG_LIBTOOL, +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + +# Save cache, so that ltconfig can load it +AC_CACHE_SAVE + +# Actually configure libtool. ac_aux_dir is where install-sh is found. +CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ +LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ +DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ +$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ +|| AC_MSG_ERROR([libtool configure failed]) + +# Reload cache, that may have been modified by ltconfig +AC_CACHE_LOAD + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log +]) + +AC_DEFUN(AC_LIBTOOL_SETUP, +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_RANLIB])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_NM])dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +dnl + # Check for any special flags to pass to ltconfig. -libtool_flags= +libtool_flags="--cache-file=$cache_file" test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$silent" = yes && libtool_flags="$libtool_flags --silent" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], +[libtool_flags="$libtool_flags --enable-dlopen"]) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[libtool_flags="$libtool_flags --enable-win32-dll"]) +AC_ARG_ENABLE(libtool-lock, + [ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" # Some flags need to be propagated to the compiler or linker for good # libtool support. @@ -292,30 +321,42 @@ case "$host" in *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi ;; -esac -# Actually configure libtool. ac_aux_dir is where install-sh is found. -CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \ -$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ -|| AC_MSG_ERROR([libtool configure failed]) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +]) +esac ]) -# AM_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AM_ENABLE_SHARED[(DEFAULT)] +# AC_LIBTOOL_DLOPEN - enable checks for dlopen support +AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + +# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to # `yes'. -AC_DEFUN(AM_ENABLE_SHARED, -[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_DEFUN(AC_ENABLE_SHARED, [dnl +define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE(shared, changequote(<<, >>)dnl -<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT] +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], changequote([, ])dnl -[ --enable-shared=PKGS only build shared libraries if the current package - appears as an element in the PKGS list], [p=${PACKAGE-default} case "$enableval" in yes) enable_shared=yes ;; @@ -332,29 +373,23 @@ no) enable_shared=no ;; IFS="$ac_save_ifs" ;; esac], -enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl ]) -# AM_DISABLE_SHARED - set the default shared flag to --disable-shared -AC_DEFUN(AM_DISABLE_SHARED, -[AM_ENABLE_SHARED(no)]) +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no)]) -# AM_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN(AM_DISABLE_STATIC, -[AM_ENABLE_STATIC(no)]) - -# AM_ENABLE_STATIC - implement the --enable-static flag -# Usage: AM_ENABLE_STATIC[(DEFAULT)] +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to # `yes'. -AC_DEFUN(AM_ENABLE_STATIC, -[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_DEFUN(AC_ENABLE_STATIC, [dnl +define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE(static, changequote(<<, >>)dnl -<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT] +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], changequote([, ])dnl -[ --enable-static=PKGS only build shared libraries if the current package - appears as an element in the PKGS list], [p=${PACKAGE-default} case "$enableval" in yes) enable_static=yes ;; @@ -371,26 +406,73 @@ no) enable_static=no ;; IFS="$ac_save_ifs" ;; esac], -enable_static=AM_ENABLE_STATIC_DEFAULT)dnl +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl ]) +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no)]) -# AM_PROG_LD - find the path to the GNU or non-GNU linker -AC_DEFUN(AM_PROG_LD, + +# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag +# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl +define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(fast-install, +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl +]) + +# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install +AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no)]) + +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN(AC_PROG_LD, [AC_ARG_WITH(gnu-ld, [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl ac_prog=ld if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in - # Accept absolute paths. - /* | [A-Za-z]:\\*) - test -z "$LD" && LD="$ac_prog" - ;; + # Accept absolute paths. +changequote(,)dnl + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' +changequote([,])dnl + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld @@ -407,10 +489,10 @@ else fi AC_CACHE_VAL(ac_cv_path_LD, [if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ac_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. @@ -418,7 +500,7 @@ AC_CACHE_VAL(ac_cv_path_LD, if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else - test "$with_gnu_ld" != yes && break + test "$with_gnu_ld" != yes && break fi fi done @@ -434,10 +516,10 @@ else fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_SUBST(LD) -AM_PROG_LD_GNU +AC_PROG_LD_GNU ]) -AC_DEFUN(AM_PROG_LD_GNU, +AC_DEFUN(AC_PROG_LD_GNU, [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then @@ -447,41 +529,118 @@ else fi]) ]) -# AM_PROG_NM - find the path to a BSD-compatible name lister -AC_DEFUN(AM_PROG_NM, +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN(AC_PROG_NM, [AC_MSG_CHECKING([for BSD-compatible nm]) AC_CACHE_VAL(ac_cv_path_NM, -[case "$NM" in -/* | [A-Za-z]:\\*) - ac_cv_path_NM="$NM" # Let the user override the test with a path. - ;; -*) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do +[if test -n "$NM"; then + # Let the user override the test. + ac_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm; then + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" + ac_cv_path_NM="$ac_dir/nm -B" + break elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" + ac_cv_path_NM="$ac_dir/nm -p" + break else - ac_cv_path_NM="$ac_dir/nm" + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags fi - break fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm - ;; -esac]) +fi]) NM="$ac_cv_path_NM" AC_MSG_RESULT([$NM]) AC_SUBST(NM) ]) +# AC_CHECK_LIBM - check for math library +AC_DEFUN(AC_CHECK_LIBM, +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case "$host" in +*-*-beos* | *-*-cygwin*) + # These system don't have libm + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, main, LIBM="-lm") + ;; +esac +]) + +# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl convenience library, adds --enable-ltdl-convenience to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case "$enable_ltdl_convenience" in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) +]) + +# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl installable library, and adds --enable-ltdl-install to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la + INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + INCLTDL= + fi +]) + +dnl old names +AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl +AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl +AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl +AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl +AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl +AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl +AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl + +dnl This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL])dnl + # Macro to add for using GNU gettext. # Ulrich Drepper , 1995. # diff --git a/ansi2knr.c b/ansi2knr.c index 80086856..49624346 100644 --- a/ansi2knr.c +++ b/ansi2knr.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1989, 1997 Aladdin Enterprises. All rights reserved. */ +/* Copyright (C) 1989, 1997, 1998 Aladdin Enterprises. All rights reserved. */ -/*$Id: ansi2knr.c,v 1.9 1998/04/03 21:56:52 tromey Exp $*/ +/*$Id: ansi2knr.c,v 1.10 1998/12/02 12:42:23 tromey Exp $*/ /* Convert ANSI C function definitions to K&R ("traditional C") syntax */ /* @@ -40,9 +40,12 @@ program under the GPL. * identifier at the left margin, followed by a left parenthesis, * with a right parenthesis as the last character on the line, * and with a left brace as the first token on the following line - * (ignoring possible intervening comments). - * It will recognize a multi-line header provided that no intervening - * line ends with a left or right brace or a semicolon. + * (ignoring possible intervening comments), except that a line + * consisting of only + * identifier1(identifier2) + * will not be considered a function definition unless identifier2 is + * the word "void". ansi2knr will recognize a multi-line header provided + * that no intervening line ends with a left or right brace or a semicolon. * These algorithms ignore whitespace and comments, except that * the function name must be the first thing on the line. * The following constructs will confuse it: @@ -55,35 +58,39 @@ program under the GPL. * The original and principal author of ansi2knr is L. Peter Deutsch * . Other authors are noted in the change history * that follows (in reverse chronological order): - lpd 97-12-08 made input_file optional; only closes input and/or + lpd 1998-11-09 added further hack to recognize identifier(void) + as being a procedure + lpd 1998-10-23 added hack to recognize lines consisting of + identifier1(identifier2) as *not* being procedures + lpd 1997-12-08 made input_file optional; only closes input and/or output file if not stdin or stdout respectively; prints usage message on stderr rather than stdout; adds --filename switch (changes suggested by ) - lpd 96-01-21 added code to cope with not HAVE_CONFIG_H and with + lpd 1996-01-21 added code to cope with not HAVE_CONFIG_H and with compilers that don't understand void, as suggested by Tom Lane - lpd 96-01-15 changed to require that the first non-comment token + lpd 1996-01-15 changed to require that the first non-comment token on the line following a function header be a left brace, to reduce sensitivity to macros, as suggested by Tom Lane - lpd 95-06-22 removed #ifndefs whose sole purpose was to define + lpd 1995-06-22 removed #ifndefs whose sole purpose was to define undefined preprocessor symbols as 0; changed all #ifdefs for configuration symbols to #ifs - lpd 95-04-05 changed copyright notice to make it clear that + lpd 1995-04-05 changed copyright notice to make it clear that including ansi2knr in a program does not bring the entire program under the GPL - lpd 94-12-18 added conditionals for systems where ctype macros + lpd 1994-12-18 added conditionals for systems where ctype macros don't handle 8-bit characters properly, suggested by Francois Pinard ; removed --varargs switch (this is now the default) - lpd 94-10-10 removed CONFIG_BROKETS conditional - lpd 94-07-16 added some conditionals to help GNU `configure', + lpd 1994-10-10 removed CONFIG_BROKETS conditional + lpd 1994-07-16 added some conditionals to help GNU `configure', suggested by Francois Pinard ; properly erase prototype args in function parameters, contributed by Jim Avera ; correct error in writeblanks (it shouldn't erase EOLs) - lpd 89-xx-xx original version + lpd 1989-xx-xx original version */ /* Most of the conditionals here are to make ansi2knr work with */ @@ -397,6 +404,34 @@ test1(buf) key++; } } + { + char *id = p; + int len; + /* + * Check for identifier1(identifier2) and not + * identifier1(void). + */ + + while ( isidchar(*p) ) + p++; + len = p - id; + p = skipspace(p, 1); + if ( *p == ')' && (len != 4 || strncmp(id, "void", 4)) ) + return 0; /* not a function */ + } + /* + * If the last significant character was a ), we need to count + * parentheses, because it might be part of a formal parameter + * that is a procedure. + */ + if (contin > 0) { + int level = 0; + + for (p = skipspace(buf, 1); *p; p = skipspace(p + 1, 1)) + level += (*p == '(' ? 1 : *p == ')' ? -1 : 0); + if (level > 0) + contin = -1; + } return contin; } diff --git a/config.guess b/config.guess index 6010014b..6cb567b8 100755 --- a/config.guess +++ b/config.guess @@ -1,6 +1,7 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 +# Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -36,6 +37,20 @@ # (but try to keep the structure clean). # +# Use $HOST_CC if defined. $CC may point to a cross-compiler +if test x"$CC_FOR_BUILD" = x; then + if test x"$HOST_CC" != x; then + CC_FOR_BUILD="$HOST_CC" + else + if test x"$CC" != x; then + CC_FOR_BUILD="$CC" + else + CC_FOR_BUILD=cc + fi + fi +fi + + # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 8/24/94.) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then @@ -78,7 +93,7 @@ main: ret \$31,(\$26),1 .end main EOF - ${CC-cc} $dummy.s -o $dummy 2>/dev/null + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then ./$dummy case "$?" in @@ -100,7 +115,13 @@ EOF esac fi rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 @@ -144,7 +165,7 @@ EOF SR2?01:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; - Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*) + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 @@ -203,6 +224,32 @@ EOF atari*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; sun3*:NetBSD:*:*) echo m68k-sun-netbsd${UNAME_RELEASE} exit 0 ;; @@ -236,12 +283,16 @@ EOF VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; - 2020:CLIX:*:*) + 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) sed 's/^ //' << EOF >$dummy.c - int main (argc, argv) int argc; char **argv; { +#ifdef __cplusplus + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); @@ -256,7 +307,7 @@ EOF exit (-1); } EOF - ${CC-cc} $dummy.c -o $dummy \ + $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy @@ -322,7 +373,7 @@ EOF exit(0); } EOF - ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then @@ -370,7 +421,7 @@ EOF case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 ) + 9000/[678][0-9][0-9]) sed 's/^ //' << EOF >$dummy.c #include #include @@ -402,7 +453,7 @@ EOF exit (0); } EOF - (${CC-cc} $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` + ($CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` rm -f $dummy.c $dummy esac HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` @@ -434,7 +485,7 @@ EOF exit (0); } EOF - ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; @@ -444,6 +495,9 @@ EOF 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; + *9??*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; @@ -460,6 +514,9 @@ EOF parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; + hppa*:OpenBSD:*:*) + echo hppa-unknown-openbsd + exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; @@ -499,7 +556,7 @@ EOF echo cray2-cray-unicos exit 0 ;; F300:UNIX_System_V:*:*) - FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; @@ -512,16 +569,22 @@ EOF hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; i?86:BSD/386:*:* | i?86:BSD/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) + if test -x /usr/bin/objformat; then + if test "elf" = "`/usr/bin/objformat`"; then + echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` + exit 0 + fi + fi echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; *:NetBSD:*:*) @@ -536,6 +599,15 @@ EOF i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i386-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; @@ -549,13 +621,14 @@ EOF # uname on the ARM produces all sorts of strangeness, and we need to # filter it out. case "$UNAME_MACHINE" in - armv*) ;; + armv*) UNAME_MACHINE=$UNAME_MACHINE ;; arm* | sa110*) UNAME_MACHINE="arm" ;; esac # The BFD linker knows what the default object file format is, so - # first see if it will tell us. - ld_help_string=`ld --help 2>&1` + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + ld_help_string=`cd /; ld --help 2>&1` ld_supported_emulations=`echo $ld_help_string \ | sed -ne '/supported emulations:/!d s/[ ][ ]*/ /g @@ -568,7 +641,36 @@ EOF sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;; + elf32ppc) + # Determine Lib Version + cat >$dummy.c < +#if defined(__GLIBC__) +extern char __libc_version[]; +extern char __libc_release[]; +#endif +main(argc, argv) + int argc; + char *argv[]; +{ +#if defined(__GLIBC__) + printf("%s %s\n", __libc_version, __libc_release); +#else + printf("unkown\n"); +#endif + return 0; +} +EOF + LIBC="" + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null + if test "$?" = 0 ; then + ./$dummy | grep 1\.99 > /dev/null + if test "$?" = 0 ; then + LIBC="libc1" + fi + fi + rm -f $dummy.c $dummy + echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;; esac if test "${UNAME_MACHINE}" = "alpha" ; then @@ -590,7 +692,7 @@ EOF .end main EOF LIBC="" - ${CC-cc} $dummy.s -o $dummy 2>/dev/null + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then ./$dummy case "$?" in @@ -621,10 +723,11 @@ EOF echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 elif test "${UNAME_MACHINE}" = "mips" ; then cat >$dummy.c </dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy else # Either a pre-BFD a.out linker (linux-gnuoldld) @@ -656,10 +759,11 @@ EOF # Determine whether the default compiler is a.out or elf cat >$dummy.c < -main(argc, argv) - int argc; - char *argv[]; -{ +#ifdef __cplusplus + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 @@ -676,7 +780,7 @@ main(argc, argv) return 0; } EOF - ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy fi ;; # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions @@ -699,6 +803,14 @@ EOF echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} fi exit 0 ;; + i?86:*:5:7*) + UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` + (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) && UNAME_MACHINE=i586 + (/bin/uname -X|egrep '^Machine.*Pent.*II' >/dev/null) && UNAME_MACHINE=i686 + (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) && UNAME_MACHINE=i585 + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}${UNAME_VERSION}-sysv${UNAME_RELEASE} + exit 0 ;; i?86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 + (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; - i?86:UnixWare:*:*) - if /bin/uname -X 2>/dev/null >/dev/null ; then - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - fi - echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION} - exit 0 ;; pc:*:*:*) # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. @@ -761,7 +870,7 @@ EOF mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; - i?86:LynxOS:2.*:*) + i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) @@ -773,6 +882,9 @@ EOF SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; @@ -803,7 +915,7 @@ EOF news*:NEWS-OS:*:6*) echo mips-sony-newsos6 exit 0 ;; - R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*) + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else @@ -937,7 +1049,7 @@ main () } EOF -${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0 +$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. diff --git a/config.h.in b/config.h.in index 24cc620d..61868105 100644 --- a/config.h.in +++ b/config.h.in @@ -161,24 +161,15 @@ /* Define to support the MD5-based password hashing algorithm. */ #undef MD5_CRYPT -/* Define to enable the new readpass() that echoes asterisks. */ -#undef NEW_READPASS - /* Define to support OPIE one-time password logins. */ #undef OPIE -/* Package name. */ -#undef PACKAGE - -/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59). */ +/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59+). */ #undef PAM_STRERROR_NEEDS_TWO_ARGS /* Path to passwd program. */ #undef PASSWD_PROGRAM -/* Define if the compiler understands function prototypes. */ -#undef PROTOTYPES - /* Define if login should support the -r flag for rlogind. */ #undef RLOGIN @@ -215,9 +206,6 @@ /* Define to ut_name if struct utmp has ut_name (not ut_user). */ #undef ut_user -/* Version. */ -#undef VERSION - /* Path for wtmp file. */ #undef _WTMP_FILE @@ -454,3 +442,13 @@ /* Define if you have the socket library (-lsocket). */ #undef HAVE_LIBSOCKET + +/* Name of package */ +#undef PACKAGE + +/* Version number of package */ +#undef VERSION + +/* Define if compiler has function prototypes */ +#undef PROTOTYPES + diff --git a/config.sub b/config.sub index 8e0adacb..2436b453 100755 --- a/config.sub +++ b/config.sub @@ -1,6 +1,6 @@ #! /bin/sh # Configuration validation subroutine script, version 1.1. -# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc. +# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc. # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. @@ -98,11 +98,21 @@ case $os in os= basic_machine=$1 ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=vxworks + basic_machine=$1 + ;; -hiux*) os=-hiuxwe2 ;; -sco5) - os=sco3.2v5 + os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) @@ -121,6 +131,9 @@ case $os in os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -151,15 +164,21 @@ case $basic_machine in # Some are omitted here because they have special meanings below. tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ - | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \ - | alpha | alphaev5 | alphaev56 | alphapca56 | alphaev6 \ - | alphapca57 | alphaev7 | we32k | ns16k | clipper \ - | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ - | mips64 | mipsel | mips64el | mips64orion | mips64orionel \ - | mipstx39 | mipstx39el | armv[34][lb] \ - | sparc | sparclet | sparclite | sparc64 | v850) + | 580 | i960 | h8300 \ + | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ + | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \ + | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \ + | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \ + | mips64orion | mips64orionel | mipstx39 | mipstx39el \ + | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ + | mips64vr5000 | miprs64vr5000el \ + | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ + | thumb | d10v) basic_machine=$basic_machine-unknown ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65) + ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -175,25 +194,41 @@ case $basic_machine in vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ - | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ - | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \ - | alpha-* | alphaev5-* | alphaev56-* | alphapca56-* \ - | alphaev6-* | alphapca57-* | alphaev7-* | we32k-* | cydra-* \ - | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ + | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ + | xmp-* | ymp-* \ + | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \ + | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \ + | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ + | clipper-* | orion-* \ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ - | sparc64-* | mips64-* | mipsel-* | armv[34][lb]-* \ - | mips64el-* | mips64orion-* | mips64orionel-* \ + | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ + | mips64el-* | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ | mipstx39-* | mipstx39el-* \ - | f301-* | armv*-*) + | f301-* | armv*-* | t3e-* \ + | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ + | thumb-* | v850-* | d30v-* | tic30-* | c30-* ) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; alliant | fx80) basic_machine=fx80-alliant ;; @@ -223,6 +258,10 @@ case $basic_machine in basic_machine=m68k-apollo os=-sysv ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; aux) basic_machine=m68k-apple os=-aux @@ -299,6 +338,10 @@ case $basic_machine in encore | umax | mmax) basic_machine=ns32k-encore ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; fx2800) basic_machine=i860-alliant ;; @@ -317,6 +360,14 @@ case $basic_machine in basic_machine=h8300-hitachi os=-hms ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; harris) basic_machine=m88k-harris os=-sysv3 @@ -332,13 +383,30 @@ case $basic_machine in basic_machine=m68k-hp os=-hpux ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; - hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) @@ -347,6 +415,14 @@ case $basic_machine in hppa-next) os=-nextstep3 ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; i370-ibm* | ibm*) basic_machine=i370-ibm os=-mvs @@ -368,6 +444,22 @@ case $basic_machine in basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + i386-go32 | go32) + basic_machine=i386-unknown + os=-go32 + ;; + i386-mingw32 | mingw32) + basic_machine=i386-unknown + os=-mingw32 + ;; iris | iris4d) basic_machine=mips-sgi case $os in @@ -396,6 +488,10 @@ case $basic_machine in miniframe) basic_machine=m68000-convergent ;; + *mint | *MiNT) + basic_machine=m68k-atari + os=-mint + ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu @@ -410,10 +506,22 @@ case $basic_machine in mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + msdos) + basic_machine=i386-unknown + os=-msdos + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; netwinder) basic_machine=armv4l-corel os=-linux @@ -430,6 +538,10 @@ case $basic_machine in basic_machine=mips-sony os=-newsos ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; next | m*-next ) basic_machine=m68k-next case $os in @@ -455,9 +567,25 @@ case $basic_machine in basic_machine=i960-intel os=-nindy ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; np1) basic_machine=np1-gould ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 @@ -475,19 +603,19 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pentium | p5 | k5 | nexen) + pentium | p5 | k5 | k6 | nexen) basic_machine=i586-pc ;; - pentiumpro | p6 | k6 | 6x86) + pentiumpro | p6 | 6x86) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i786-pc ;; - pentium-* | p5-* | k5-* | nexen-*) + pentium-* | p5-* | k5-* | k6-* | nexen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumpro-* | p6-* | k6-* | 6x86-*) + pentiumpro-* | p6-* | 6x86-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) @@ -511,12 +639,20 @@ case $basic_machine in ps2) basic_machine=i386-ibm ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; sequent) basic_machine=i386-sequent ;; @@ -524,6 +660,10 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sparclite-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; sps7) basic_machine=m68k-bull os=-sysv2 @@ -531,6 +671,13 @@ case $basic_machine in spur) basic_machine=spur-unknown ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; sun2) basic_machine=m68000-sun ;; @@ -575,6 +722,10 @@ case $basic_machine in basic_machine=i386-sequent os=-dynix ;; + t3e) + basic_machine=t3e-cray + os=-unicos + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -592,6 +743,10 @@ case $basic_machine in basic_machine=a29k-nyu os=-sym1 ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; vaxv) basic_machine=vax-dec os=-sysv @@ -615,6 +770,14 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; xmp) basic_machine=xmp-cray os=-unicos @@ -622,6 +785,10 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -629,6 +796,15 @@ case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown @@ -651,7 +827,7 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sparc) + sparc | sparcv9) basic_machine=sparc-sun ;; cydra) @@ -663,6 +839,16 @@ case $basic_machine in orion105) basic_machine=clipper-highlevel ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + c4x*) + basic_machine=c4x-none + os=-coff + ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 @@ -716,14 +902,21 @@ case $os in | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \ - | -openstep*) + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*) # Remember, each alternative MUST END IN *, to match a version number. ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -748,6 +941,9 @@ case $os in -acis*) os=-aos ;; + -386bsd) + os=-bsd + ;; -ctix* | -uts*) os=-sysv ;; @@ -779,9 +975,18 @@ case $os in # This must come after -sysvr4. -sysv*) ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; -xenix) os=-xenix ;; + -*mint | -*MiNT) + os=-mint + ;; -none) ;; *) @@ -831,6 +1036,15 @@ case $basic_machine in # default. # os=-sunos4 ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; @@ -843,6 +1057,15 @@ case $basic_machine in *-ibm) os=-aix ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; *-hp) os=-hpux ;; @@ -906,6 +1129,18 @@ case $basic_machine in f301-fujitsu) os=-uxpv ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; *) os=-none ;; @@ -927,9 +1162,15 @@ case $basic_machine in -aix*) vendor=ibm ;; + -beos*) + vendor=be + ;; -hpux*) vendor=hp ;; + -mpeix*) + vendor=hp + ;; -hiux*) vendor=hitachi ;; @@ -957,6 +1198,15 @@ case $basic_machine in -aux*) vendor=apple ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -*MiNT) + vendor=atari + ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; diff --git a/configure b/configure index 7ec4164a..4a6617af 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12 +# Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation @@ -12,19 +12,17 @@ ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help - --enable-shared build shared libraries [default=yes] - --enable-shared=PKGS only build shared libraries if the current package - appears as an element in the PKGS list" + --enable-shared[=PKGS] build shared libraries [default=yes]" ac_help="$ac_help - --enable-static build static libraries [default=yes] - --enable-static=PKGS only build shared libraries if the current package - appears as an element in the PKGS list" + --enable-static[=PKGS] build static libraries [default=yes]" +ac_help="$ac_help + --enable-fast-install[=PKGS] optimize for fast installation [default=yes]" ac_help="$ac_help --with-gnu-ld assume the C compiler uses GNU ld [default=no]" ac_help="$ac_help - --enable-desrpc try to use secure RPC in login (default if found)" + --disable-libtool-lock avoid locking (might break parallel builds)" ac_help="$ac_help - --enable-readpass include code to enter passwords that echoes asterisks" + --enable-desrpc try to use secure RPC in login (default if found)" ac_help="$ac_help --enable-shadowgrp enable shadow group support [default=yes]" ac_help="$ac_help @@ -83,6 +81,7 @@ mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 @@ -366,7 +365,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12" + echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) @@ -536,9 +535,11 @@ ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross +ac_exeext= +ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then @@ -578,28 +579,30 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:586: checking for a BSD compatible install" >&5 +echo "configure:588: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" for ac_dir in $PATH; do # Account for people who put trailing slashes in PATH elements. case "$ac_dir/" in /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. - for ac_prog in ginstall installbsd scoinst install; do + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. - # OSF/1 installbsd also uses dspmsg, but is usable. : else ac_cv_path_install="$ac_dir/$ac_prog -c" @@ -629,13 +632,12 @@ echo "$ac_t""$INSTALL" 1>&6 # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:639: checking whether build environment is sane" >&5 +echo "configure:641: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -692,7 +694,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:696: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:698: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -721,7 +723,7 @@ fi PACKAGE=shadow -VERSION=19990709 +VERSION=19990827 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } @@ -738,7 +740,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:742: checking for working aclocal" >&5 +echo "configure:744: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -751,7 +753,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:755: checking for working autoconf" >&5 +echo "configure:757: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -764,7 +766,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:768: checking for working automake" >&5 +echo "configure:770: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -777,7 +779,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:781: checking for working autoheader" >&5 +echo "configure:783: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -790,7 +792,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:794: checking for working makeinfo" >&5 +echo "configure:796: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -812,20 +814,21 @@ test "$prefix" = "/usr" && exec_prefix="" test "$CFLAGS" = "" && CFLAGS="-O2 -Wall" test "$LDFLAGS" = "" && LDFLAGS="-s" -ALL_LINGUAS="el pl" +ALL_LINGUAS="el fr pl sv" # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:821: checking for $ac_word" >&5 +echo "configure:823: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" @@ -846,16 +849,17 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:850: checking for $ac_word" >&5 +echo "configure:853: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - for ac_dir in $PATH; do + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then @@ -890,25 +894,61 @@ else echo "$ac_t""no" 1>&6 fi + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # Extract the first word of "cl", so it can be a program name with args. +set dummy cl; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:904: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:898: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:936: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross -cat > conftest.$ac_ext < conftest.$ac_ext << EOF + +#line 947 "configure" #include "confdefs.h" + main(){return(0);} EOF -if { (eval echo configure:912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -922,18 +962,24 @@ else ac_cv_prog_cc_works=no fi rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:932: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:978: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:937: checking whether we are using GNU C" >&5 +echo "configure:983: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -942,7 +988,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:946: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:992: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -953,11 +999,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6 if test $ac_cv_prog_gcc = yes; then GCC=yes - ac_test_CFLAGS="${CFLAGS+set}" - ac_save_CFLAGS="$CFLAGS" - CFLAGS= - echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:961: checking whether ${CC-cc} accepts -g" >&5 +else + GCC= +fi + +ac_test_CFLAGS="${CFLAGS+set}" +ac_save_CFLAGS="$CFLAGS" +CFLAGS= +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 +echo "configure:1011: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -972,20 +1022,24 @@ rm -f conftest* fi echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - elif test $ac_cv_prog_cc_g = yes; then +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then CFLAGS="-g -O2" else - CFLAGS="-O2" + CFLAGS="-g" fi else - GCC= - test "${CFLAGS+set}" = set || CFLAGS="-g" + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi fi echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:989: checking for POSIXized ISC" >&5 +echo "configure:1043: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then @@ -1006,7 +1060,7 @@ else fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1010: checking whether ln -s works" >&5 +echo "configure:1064: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1031,15 +1085,16 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1035: checking for $ac_word" >&5 +echo "configure:1089: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YACC="$ac_prog" @@ -1064,7 +1119,7 @@ test -n "$YACC" || YACC="yacc" echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6 -echo "configure:1068: checking for ${CC-cc} option to accept ANSI C" >&5 +echo "configure:1123: checking for ${CC-cc} option to accept ANSI C" >&5 if eval "test \"`echo '$''{'am_cv_prog_cc_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1080,7 +1135,7 @@ for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__ do CC="$ac_save_CC $ac_arg" cat > conftest.$ac_ext < #include @@ -1117,7 +1172,7 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } EOF -if { (eval echo configure:1121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_prog_cc_stdc="$ac_arg"; break else @@ -1141,7 +1196,7 @@ case "x$am_cv_prog_cc_stdc" in esac echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1145: checking how to run the C preprocessor" >&5 +echo "configure:1200: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1156,14 +1211,14 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else @@ -1173,14 +1228,31 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1183: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1238: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + : +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext < +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1255: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else @@ -1192,6 +1264,8 @@ else fi rm -f conftest* fi +rm -f conftest* +fi rm -f conftest* ac_cv_prog_CPP="$CPP" fi @@ -1204,7 +1278,7 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for function prototypes""... $ac_c" 1>&6 -echo "configure:1208: checking for function prototypes" >&5 +echo "configure:1282: checking for function prototypes" >&5 if test "$am_cv_prog_cc_stdc" != no; then echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF @@ -1217,12 +1291,12 @@ else U=_ ANSI2KNR=./ansi2knr # Ensure some checks needed by ansi2knr itself. echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1221: checking for ANSI C header files" >&5 +echo "configure:1295: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1230,8 +1304,8 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1234: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1308: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* ac_cv_header_stdc=yes @@ -1247,7 +1321,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1265,7 +1339,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1286,7 +1360,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1297,7 +1371,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1324,18 +1398,18 @@ fi do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1328: checking for $ac_hdr" >&5 +echo "configure:1402: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1338: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -1408,45 +1482,87 @@ else enable_static=yes fi +# Check whether --enable-fast-install or --disable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval="$enable_fast_install" + p=${PACKAGE-default} +case "$enableval" in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_fast_install=yes +fi + # Make sure we can run config.sub. -if $ac_config_sub sun4 >/dev/null 2>&1; then : +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1419: checking host system type" >&5 +echo "configure:1516: checking host system type" >&5 host_alias=$host case "$host_alias" in NONE) case $nonopt in NONE) - if host_alias=`$ac_config_guess`; then : + if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } fi ;; *) host_alias=$nonopt ;; esac ;; esac -host=`$ac_config_sub $host_alias` +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$ac_t""$host" 1>&6 +echo $ac_n "checking build system type""... $ac_c" 1>&6 +echo "configure:1537: checking build system type" >&5 + +build_alias=$build +case "$build_alias" in +NONE) + case $nonopt in + NONE) build_alias=$host_alias ;; + *) build_alias=$nonopt ;; + esac ;; +esac + +build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&6 + # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1442: checking for $ac_word" >&5 +echo "configure:1557: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_RANLIB="ranlib" @@ -1472,18 +1588,23 @@ else with_gnu_ld=no fi - ac_prog=ld if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1481: checking for ld used by GCC" >&5 +echo "configure:1596: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in - # Accept absolute paths. - /* | A-Za-z:\\*) - test -z "$LD" && LD="$ac_prog" - ;; + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld @@ -1495,19 +1616,19 @@ echo "configure:1481: checking for ld used by GCC" >&5 esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1499: checking for GNU ld" >&5 +echo "configure:1620: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1502: checking for non-GNU ld" >&5 +echo "configure:1623: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ac_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. @@ -1515,7 +1636,7 @@ else if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else - test "$with_gnu_ld" != yes && break + test "$with_gnu_ld" != yes && break fi fi done @@ -1534,7 +1655,7 @@ fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1538: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1659: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1550,60 +1671,68 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1554: checking for BSD-compatible nm" >&5 +echo "configure:1675: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$NM" in -/* | A-Za-z:\\*) - ac_cv_path_NM="$NM" # Let the user override the test with a path. - ;; -*) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do + if test -n "$NM"; then + # Let the user override the test. + ac_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm; then + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" + ac_cv_path_NM="$ac_dir/nm -B" + break elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" + ac_cv_path_NM="$ac_dir/nm -p" + break else - ac_cv_path_NM="$ac_dir/nm" + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags fi - break fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm - ;; -esac +fi fi NM="$ac_cv_path_NM" echo "$ac_t""$NM" 1>&6 -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' # Check for any special flags to pass to ltconfig. -libtool_flags= +libtool_flags="--cache-file=$cache_file" test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$silent" = yes && libtool_flags="$libtool_flags --silent" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" + : +fi + +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" + # Some flags need to be propagated to the compiler or linker for good # libtool support. case "$host" in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1606 "configure"' > conftest.$ac_ext - if { (eval echo configure:1607: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1735 "configure"' > conftest.$ac_ext + if { (eval echo configure:1736: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *32-bit*) LD="${LD-ld} -32" @@ -1621,17 +1750,122 @@ case "$host" in *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" + echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 +echo "configure:1757: checking whether the C compiler needs -belf" >&5 +if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + lt_cv_cc_needs_belf=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + lt_cv_cc_needs_belf=no +fi +rm -f conftest* +fi + +echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi ;; + + esac + +# Save cache, so that ltconfig can load it +cat > confcache <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote substitution + # turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + + # Actually configure libtool. ac_aux_dir is where install-sh is found. CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \ +LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ +DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ || { echo "configure: error: libtool configure failed" 1>&2; exit 1; } +# Reload cache, that may have been modified by ltconfig +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log + ac_header_dirent=no @@ -1639,12 +1873,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:1643: checking for $ac_hdr that defines DIR" >&5 +echo "configure:1877: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include <$ac_hdr> @@ -1652,7 +1886,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:1656: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1890: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -1677,7 +1911,7 @@ done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:1681: checking for opendir in -ldir" >&5 +echo "configure:1915: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1685,7 +1919,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1718,7 +1952,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:1722: checking for opendir in -lx" >&5 +echo "configure:1956: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1726,7 +1960,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1975: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1760,12 +1994,12 @@ fi fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1764: checking for ANSI C header files" >&5 +echo "configure:1998: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1773,8 +2007,8 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2011: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* ac_cv_header_stdc=yes @@ -1790,7 +2024,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1808,7 +2042,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -1829,7 +2063,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1840,7 +2074,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2078: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1864,12 +2098,12 @@ EOF fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:1868: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:2102: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1885,7 +2119,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:1889: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -1909,18 +2143,18 @@ for ac_hdr in fcntl.h limits.h unistd.h sys/time.h utmp.h utmpx.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1913: checking for $ac_hdr" >&5 +echo "configure:2147: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1923: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -1949,18 +2183,18 @@ for ac_hdr in termios.h termio.h sgtty.h sys/ioctl.h syslog.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1953: checking for $ac_hdr" >&5 +echo "configure:2187: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1963: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2197: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -1989,18 +2223,18 @@ for ac_hdr in paths.h usersec.h utime.h ulimit.h sys/resource.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1993: checking for $ac_hdr" >&5 +echo "configure:2227: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2003: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -2029,18 +2263,18 @@ for ac_hdr in gshadow.h shadow.h lastlog.h rpc/key_prot.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2033: checking for $ac_hdr" >&5 +echo "configure:2267: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2043: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:2277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -2067,12 +2301,12 @@ done echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2071: checking for working const" >&5 +echo "configure:2305: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2142,12 +2376,12 @@ EOF fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:2146: checking for uid_t in sys/types.h" >&5 +echo "configure:2380: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF @@ -2176,12 +2410,12 @@ EOF fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2180: checking for off_t" >&5 +echo "configure:2414: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2190,7 +2424,7 @@ else #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_off_t=yes else @@ -2209,12 +2443,12 @@ EOF fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:2213: checking for pid_t" >&5 +echo "configure:2447: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2223,7 +2457,7 @@ else #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_pid_t=yes else @@ -2242,12 +2476,12 @@ EOF fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:2246: checking for mode_t" >&5 +echo "configure:2480: checking for mode_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2256,7 +2490,7 @@ else #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_mode_t=yes else @@ -2275,12 +2509,12 @@ EOF fi echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6 -echo "configure:2279: checking for st_rdev in struct stat" >&5 +echo "configure:2513: checking for st_rdev in struct stat" >&5 if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2288,7 +2522,7 @@ int main() { struct stat s; s.st_rdev; ; return 0; } EOF -if { (eval echo configure:2292: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2526: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_st_rdev=yes else @@ -2309,12 +2543,12 @@ EOF fi echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6 -echo "configure:2313: checking whether stat file-mode macros are broken" >&5 +echo "configure:2547: checking whether stat file-mode macros are broken" >&5 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2365,12 +2599,12 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:2369: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:2603: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2379,7 +2613,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:2383: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -2400,12 +2634,12 @@ EOF fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:2404: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:2638: checking whether struct tm is in sys/time.h or time.h" >&5 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2413,7 +2647,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:2417: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -2435,19 +2669,19 @@ fi echo $ac_n "checking for pw_age in struct passwd""... $ac_c" 1>&6 -echo "configure:2439: checking for pw_age in struct passwd" >&5 +echo "configure:2673: checking for pw_age in struct passwd" >&5 if eval "test \"`echo '$''{'ac_cv_struct_passwd_pw_age'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct passwd pw; pw.pw_age = ""; ; return 0; } EOF -if { (eval echo configure:2451: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2685: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_passwd_pw_age=yes else @@ -2469,19 +2703,19 @@ EOF fi echo $ac_n "checking for pw_comment in struct passwd""... $ac_c" 1>&6 -echo "configure:2473: checking for pw_comment in struct passwd" >&5 +echo "configure:2707: checking for pw_comment in struct passwd" >&5 if eval "test \"`echo '$''{'ac_cv_struct_passwd_pw_comment'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct passwd pw; pw.pw_comment = ""; ; return 0; } EOF -if { (eval echo configure:2485: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2719: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_passwd_pw_comment=yes else @@ -2503,19 +2737,19 @@ EOF fi echo $ac_n "checking for pw_quota in struct passwd""... $ac_c" 1>&6 -echo "configure:2507: checking for pw_quota in struct passwd" >&5 +echo "configure:2741: checking for pw_quota in struct passwd" >&5 if eval "test \"`echo '$''{'ac_cv_struct_passwd_pw_quota'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct passwd pw; pw.pw_quota = ""; ; return 0; } EOF -if { (eval echo configure:2519: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_passwd_pw_quota=yes else @@ -2538,19 +2772,19 @@ fi if test "$ac_cv_header_utmp_h" = "yes"; then echo $ac_n "checking for ut_host in struct utmp""... $ac_c" 1>&6 -echo "configure:2542: checking for ut_host in struct utmp" >&5 +echo "configure:2776: checking for ut_host in struct utmp" >&5 if eval "test \"`echo '$''{'ac_cv_struct_utmp_ut_host'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct utmp ut; char *cp = ut.ut_host; ; return 0; } EOF -if { (eval echo configure:2554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2788: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_utmp_ut_host=yes else @@ -2572,19 +2806,19 @@ EOF fi echo $ac_n "checking for ut_user in struct utmp""... $ac_c" 1>&6 -echo "configure:2576: checking for ut_user in struct utmp" >&5 +echo "configure:2810: checking for ut_user in struct utmp" >&5 if eval "test \"`echo '$''{'ac_cv_struct_utmp_ut_user'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct utmp ut; char *cp = ut.ut_user; ; return 0; } EOF -if { (eval echo configure:2588: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2822: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_utmp_ut_user=yes else @@ -2608,19 +2842,19 @@ fi if test "$ac_cv_header_lastlog_h" = "yes"; then echo $ac_n "checking for ll_host in struct lastlog""... $ac_c" 1>&6 -echo "configure:2612: checking for ll_host in struct lastlog" >&5 +echo "configure:2846: checking for ll_host in struct lastlog" >&5 if eval "test \"`echo '$''{'ac_cv_struct_lastlog_ll_host'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct lastlog ll; char *cp = ll.ll_host; ; return 0; } EOF -if { (eval echo configure:2624: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2858: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_lastlog_ll_host=yes else @@ -2643,7 +2877,7 @@ EOF fi echo $ac_n "checking type of array argument to getgroups""... $ac_c" 1>&6 -echo "configure:2647: checking type of array argument to getgroups" >&5 +echo "configure:2881: checking type of array argument to getgroups" >&5 if eval "test \"`echo '$''{'ac_cv_type_getgroups'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2651,7 +2885,7 @@ else ac_cv_type_getgroups=cross else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_type_getgroups=gid_t else @@ -2690,7 +2924,7 @@ fi if test $ac_cv_type_getgroups = cross; then cat > conftest.$ac_ext < EOF @@ -2715,13 +2949,13 @@ EOF if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:2719: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:2953: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP @@ -2739,7 +2973,7 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA @@ -2761,12 +2995,12 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6 fi echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:2765: checking return type of signal handlers" >&5 +echo "configure:2999: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2783,7 +3017,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:2787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3021: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -2802,7 +3036,7 @@ EOF echo $ac_n "checking whether utime accepts a null argument""... $ac_c" 1>&6 -echo "configure:2806: checking whether utime accepts a null argument" >&5 +echo "configure:3040: checking whether utime accepts a null argument" >&5 if eval "test \"`echo '$''{'ac_cv_func_utime_null'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2812,7 +3046,7 @@ if test "$cross_compiling" = yes; then ac_cv_func_utime_null=no else cat > conftest.$ac_ext < #include @@ -2823,7 +3057,7 @@ exit(!(stat ("conftestdata", &s) == 0 && utime("conftestdata", (long *)0) == 0 && t.st_mtime - s.st_mtime < 120)); } EOF -if { (eval echo configure:2827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_utime_null=yes else @@ -2847,12 +3081,12 @@ EOF fi echo $ac_n "checking for strftime""... $ac_c" 1>&6 -echo "configure:2851: checking for strftime" >&5 +echo "configure:3085: checking for strftime" >&5 if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_strftime=yes" else @@ -2897,7 +3131,7 @@ else echo "$ac_t""no" 1>&6 # strftime is in -lintl on SCO UNIX. echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6 -echo "configure:2901: checking for strftime in -lintl" >&5 +echo "configure:3135: checking for strftime in -lintl" >&5 ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2905,7 +3139,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2945,12 +3179,12 @@ fi for ac_func in a64l fchmod fchown fsync getgroups gethostname getspnam do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2949: checking for $ac_func" >&5 +echo "configure:3183: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3000,12 +3234,12 @@ done for ac_func in gettimeofday getusershell getutent initgroups lckpwdf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3004: checking for $ac_func" >&5 +echo "configure:3238: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3055,12 +3289,12 @@ done for ac_func in memcpy memset setgroups sigaction strchr updwtmp updwtmpx do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3059: checking for $ac_func" >&5 +echo "configure:3293: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3321: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3111,12 +3345,12 @@ done for ac_func in mkdir putgrent putpwent putspent rename rmdir do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3115: checking for $ac_func" >&5 +echo "configure:3349: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3160,7 +3394,7 @@ EOF else echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.o" +LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done @@ -3168,12 +3402,12 @@ done for ac_func in sgetgrent sgetpwent sgetspent do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3172: checking for $ac_func" >&5 +echo "configure:3406: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3217,7 +3451,7 @@ EOF else echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.o" +LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done @@ -3225,12 +3459,12 @@ done for ac_func in snprintf strcasecmp strdup strerror strstr do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3229: checking for $ac_func" >&5 +echo "configure:3463: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3274,19 +3508,19 @@ EOF else echo "$ac_t""no" 1>&6 -LIBOBJS="$LIBOBJS ${ac_func}.o" +LIBOBJS="$LIBOBJS ${ac_func}.${ac_objext}" fi done echo $ac_n "checking for setpgrp""... $ac_c" 1>&6 -echo "configure:3285: checking for setpgrp" >&5 +echo "configure:3519: checking for setpgrp" >&5 if eval "test \"`echo '$''{'ac_cv_func_setpgrp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_setpgrp=yes" else @@ -3329,7 +3563,7 @@ else fi echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:3333: checking whether setpgrp takes no argument" >&5 +echo "configure:3567: checking whether setpgrp takes no argument" >&5 if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3337,9 +3571,13 @@ else { echo "configure: error: cannot check setpgrp if cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < +#endif + /* * If this system has a BSD-style setpgrp, which takes arguments, exit * successfully. @@ -3353,7 +3591,7 @@ main() } EOF -if { (eval echo configure:3357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_setpgrp_void=no else @@ -3379,7 +3617,7 @@ fi if test "$ac_cv_header_shadow_h" = "yes"; then echo $ac_n "checking for working shadow group support""... $ac_c" 1>&6 -echo "configure:3383: checking for working shadow group support" >&5 +echo "configure:3621: checking for working shadow group support" >&5 if eval "test \"`echo '$''{'ac_cv_libc_shadowgrp'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3387,7 +3625,7 @@ else ac_cv_libc_shadowgrp=no else cat > conftest.$ac_ext < @@ -3399,7 +3637,7 @@ main() } EOF -if { (eval echo configure:3403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_libc_shadowgrp=yes else @@ -3424,7 +3662,7 @@ fi fi echo $ac_n "checking location of shared mail directory""... $ac_c" 1>&6 -echo "configure:3428: checking location of shared mail directory" >&5 +echo "configure:3666: checking location of shared mail directory" >&5 for maildir in /var/spool/mail /var/mail /usr/spool/mail /usr/mail NONE; do if test "$maildir" = "NONE"; then echo "$ac_t""None" 1>&6 @@ -3439,7 +3677,7 @@ EOF done echo $ac_n "checking location of user mail file""... $ac_c" 1>&6 -echo "configure:3443: checking location of user mail file" >&5 +echo "configure:3681: checking location of user mail file" >&5 for mailfile in Mailbox mailbox Mail mail .mail NONE; do if test "$mailfile" = "NONE"; then echo "$ac_t""None" 1>&6 @@ -3454,7 +3692,7 @@ EOF done echo $ac_n "checking location of utmp""... $ac_c" 1>&6 -echo "configure:3458: checking location of utmp" >&5 +echo "configure:3696: checking location of utmp" >&5 for utmpdir in /var/run /var/adm /usr/adm /etc NONE; do if test "$utmpdir" = "NONE"; then echo "configure: warning: utmp file not found" 1>&2 @@ -3469,7 +3707,7 @@ EOF done echo $ac_n "checking location of faillog/lastlog/wtmp""... $ac_c" 1>&6 -echo "configure:3473: checking location of faillog/lastlog/wtmp" >&5 +echo "configure:3711: checking location of faillog/lastlog/wtmp" >&5 for logdir in /var/log /var/adm /usr/adm /etc; do if test -d $logdir; then cat >> confdefs.h <&6 -echo "configure:3494: checking location of the passwd program" >&5 +echo "configure:3732: checking location of the passwd program" >&5 if test -f /usr/bin/passwd; then passwd_dir=/usr/bin else @@ -3546,12 +3784,6 @@ if test "${enable_desrpc+set}" = set; then : fi -# Check whether --enable-readpass or --disable-readpass was given. -if test "${enable_readpass+set}" = set; then - enableval="$enable_readpass" - : -fi - # Check whether --enable-shadowgrp or --disable-shadowgrp was given. if test "${enable_shadowgrp+set}" = set; then enableval="$enable_shadowgrp" @@ -3598,12 +3830,12 @@ fi echo $ac_n "checking for inet_ntoa""... $ac_c" 1>&6 -echo "configure:3602: checking for inet_ntoa" >&5 +echo "configure:3834: checking for inet_ntoa" >&5 if eval "test \"`echo '$''{'ac_cv_func_inet_ntoa'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_inet_ntoa=yes" else @@ -3644,7 +3876,7 @@ if eval "test \"`echo '$ac_cv_func_'inet_ntoa`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for inet_ntoa in -linet""... $ac_c" 1>&6 -echo "configure:3648: checking for inet_ntoa in -linet" >&5 +echo "configure:3880: checking for inet_ntoa in -linet" >&5 ac_lib_var=`echo inet'_'inet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3652,7 +3884,7 @@ else ac_save_LIBS="$LIBS" LIBS="-linet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3899: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3693,12 +3925,12 @@ fi fi echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:3697: checking for socket" >&5 +echo "configure:3929: checking for socket" >&5 if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -3739,7 +3971,7 @@ if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:3743: checking for socket in -lsocket" >&5 +echo "configure:3975: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3747,7 +3979,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:3994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3788,12 +4020,12 @@ fi fi echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:3792: checking for gethostbyname" >&5 +echo "configure:4024: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -3834,7 +4066,7 @@ if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3838: checking for gethostbyname in -lnsl" >&5 +echo "configure:4070: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3842,7 +4074,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3886,12 +4118,12 @@ fi if test "$enable_desrpc" != "no" -a "$ac_cv_header_rpc_key_prot_h" = "yes" ; then echo $ac_n "checking for getsecretkey""... $ac_c" 1>&6 -echo "configure:3890: checking for getsecretkey" >&5 +echo "configure:4122: checking for getsecretkey" >&5 if eval "test \"`echo '$''{'ac_cv_func_getsecretkey'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4150: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_getsecretkey=yes" else @@ -3935,7 +4167,7 @@ EOF else echo "$ac_t""no" 1>&6 echo $ac_n "checking for getsecretkey in -lrpcsvc""... $ac_c" 1>&6 -echo "configure:3939: checking for getsecretkey in -lrpcsvc" >&5 +echo "configure:4171: checking for getsecretkey in -lrpcsvc" >&5 ac_lib_var=`echo rpcsvc'_'getsecretkey | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3943,7 +4175,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lrpcsvc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3981,13 +4213,6 @@ fi fi -if test "$enable_readpass" = "yes" ; then - cat >> confdefs.h <<\EOF -#define NEW_READPASS 1 -EOF - -fi - if test "$enable_shadowgrp" != "no"; then cat >> confdefs.h <<\EOF #define SHADOWGRP 1 @@ -3998,7 +4223,7 @@ fi if test "$with_libcrypt" != "no"; then echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:4002: checking for crypt in -lcrypt" >&5 +echo "configure:4227: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4006,7 +4231,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4054,7 +4279,7 @@ fi if test "$with_libcrack" != "no"; then echo "checking cracklib flavour, don't be surprised by the results" echo $ac_n "checking for FascistCheck in -lcrack""... $ac_c" 1>&6 -echo "configure:4058: checking for FascistCheck in -lcrack" >&5 +echo "configure:4283: checking for FascistCheck in -lcrack" >&5 ac_lib_var=`echo crack'_'FascistCheck | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4062,7 +4287,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrack $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4097,7 +4322,7 @@ else fi echo $ac_n "checking for FascistHistory in -lcrack""... $ac_c" 1>&6 -echo "configure:4101: checking for FascistHistory in -lcrack" >&5 +echo "configure:4326: checking for FascistHistory in -lcrack" >&5 ac_lib_var=`echo crack'_'FascistHistory | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4105,7 +4330,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrack $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4140,7 +4365,7 @@ else fi echo $ac_n "checking for FascistHistoryPw in -lcrack""... $ac_c" 1>&6 -echo "configure:4144: checking for FascistHistoryPw in -lcrack" >&5 +echo "configure:4369: checking for FascistHistoryPw in -lcrack" >&5 ac_lib_var=`echo crack'_'FascistHistoryPw | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4148,7 +4373,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcrack $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4187,7 +4412,7 @@ fi if test "$with_libskey" = "yes"; then echo $ac_n "checking for skeychallenge in -lskey""... $ac_c" 1>&6 -echo "configure:4191: checking for skeychallenge in -lskey" >&5 +echo "configure:4416: checking for skeychallenge in -lskey" >&5 ac_lib_var=`echo skey'_'skeychallenge | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4195,7 +4420,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lskey $LIBCRYPT $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4231,7 +4456,7 @@ fi elif test "$with_libopie" = "yes"; then echo $ac_n "checking for opiechallenge in -lopie""... $ac_c" 1>&6 -echo "configure:4235: checking for opiechallenge in -lopie" >&5 +echo "configure:4460: checking for opiechallenge in -lopie" >&5 ac_lib_var=`echo opie'_'opiechallenge | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4239,7 +4464,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lopie $LIBCRYPT $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4278,7 +4503,7 @@ fi if test "$with_libtcfs" = "yes"; then echo $ac_n "checking for tcfs_encrypt_key in -ltcfs""... $ac_c" 1>&6 -echo "configure:4282: checking for tcfs_encrypt_key in -ltcfs" >&5 +echo "configure:4507: checking for tcfs_encrypt_key in -ltcfs" >&5 ac_lib_var=`echo tcfs'_'tcfs_encrypt_key | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4286,7 +4511,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltcfs -lgdbm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4333,19 +4558,19 @@ if test "$with_libpam" = "yes"; then EOF echo $ac_n "checking whether pam_strerror needs two arguments""... $ac_c" 1>&6 -echo "configure:4337: checking whether pam_strerror needs two arguments" >&5 +echo "configure:4562: checking whether pam_strerror needs two arguments" >&5 if eval "test \"`echo '$''{'ac_cv_pam_strerror_needs_two_args'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { pam_handle_t *pamh; pam_strerror(pamh, PAM_SUCCESS); ; return 0; } EOF -if { (eval echo configure:4349: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_pam_strerror_needs_two_args=yes else @@ -4372,21 +4597,21 @@ LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/.lo/g'` echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:4376: checking for inline" >&5 +echo "configure:4601: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4615: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -4412,12 +4637,12 @@ EOF esac echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:4416: checking for size_t" >&5 +echo "configure:4641: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4426,7 +4651,7 @@ else #endif EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then rm -rf conftest* ac_cv_type_size_t=yes else @@ -4447,19 +4672,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:4451: checking for working alloca.h" >&5 +echo "configure:4676: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:4463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -4480,25 +4705,30 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:4484: checking for alloca" >&5 +echo "configure:4709: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < +# ifdef _MSC_VER +# include +# define alloca _alloca # else -# ifdef _AIX - #pragma alloca +# if HAVE_ALLOCA_H +# include # else -# ifndef alloca /* predefined by HP cc +Olibcalls */ +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ char *alloca (); +# endif # endif # endif # endif @@ -4508,7 +4738,7 @@ int main() { char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:4512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -4533,19 +4763,19 @@ if test $ac_cv_func_alloca_works = no; then # that cause trouble. Some versions do not even contain alloca or # contain a buggy version. If you still want to use their alloca, # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.o + ALLOCA=alloca.${ac_objext} cat >> confdefs.h <<\EOF #define C_ALLOCA 1 EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:4544: checking whether alloca needs Cray hooks" >&5 +echo "configure:4774: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4574: checking for $ac_func" >&5 +echo "configure:4804: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4625,7 +4855,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:4629: checking stack direction for C alloca" >&5 +echo "configure:4859: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4633,7 +4863,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -4677,18 +4907,18 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4681: checking for $ac_hdr" >&5 +echo "configure:4911: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4691: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:4921: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -4716,12 +4946,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4720: checking for $ac_func" >&5 +echo "configure:4950: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:4978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4769,7 +4999,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:4773: checking for working mmap" >&5 +echo "configure:5003: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4777,7 +5007,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -4945,18 +5175,18 @@ unistd.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4949: checking for $ac_hdr" >&5 +echo "configure:5179: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:5189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -4985,12 +5215,12 @@ done strdup __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4989: checking for $ac_func" >&5 +echo "configure:5219: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5247: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5042,12 +5272,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5046: checking for $ac_func" >&5 +echo "configure:5276: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5104,19 +5334,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:5108: checking for LC_MESSAGES" >&5 +echo "configure:5338: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:5120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -5137,7 +5367,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:5141: checking whether NLS is requested" >&5 +echo "configure:5371: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -5157,7 +5387,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:5161: checking whether included gettext is requested" >&5 +echo "configure:5391: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -5176,18 +5406,18 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:5180: checking for libintl.h" >&5 +echo "configure:5410: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5190: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:5420: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -5203,19 +5433,19 @@ fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:5207: checking for gettext in libc" >&5 +echo "configure:5437: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:5219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -5231,7 +5461,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:5235: checking for bindtextdomain in -lintl" >&5 +echo "configure:5465: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5239,7 +5469,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5266,12 +5496,12 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:5270: checking for gettext in libintl" >&5 +echo "configure:5500: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6 -echo "configure:5275: checking for gettext in -lintl" >&5 +echo "configure:5505: checking for gettext in -lintl" >&5 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5279,7 +5509,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5329,7 +5559,7 @@ EOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5333: checking for $ac_word" >&5 +echo "configure:5563: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5363,12 +5593,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5367: checking for $ac_func" >&5 +echo "configure:5597: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5418,7 +5648,7 @@ done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5422: checking for $ac_word" >&5 +echo "configure:5652: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5426,9 +5656,13 @@ else /*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_GMSGFMT="$ac_dir/$ac_word" @@ -5450,7 +5684,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5454: checking for $ac_word" >&5 +echo "configure:5688: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5482,7 +5716,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -5513,7 +5747,7 @@ fi if test "$CATOBJEXT" = "NONE"; then echo $ac_n "checking whether catgets can be used""... $ac_c" 1>&6 -echo "configure:5517: checking whether catgets can be used" >&5 +echo "configure:5751: checking whether catgets can be used" >&5 # Check whether --with-catgets or --without-catgets was given. if test "${with_catgets+set}" = set; then withval="$with_catgets" @@ -5526,7 +5760,7 @@ fi if test "$nls_cv_use_catgets" = "yes"; then echo $ac_n "checking for main in -li""... $ac_c" 1>&6 -echo "configure:5530: checking for main in -li" >&5 +echo "configure:5764: checking for main in -li" >&5 ac_lib_var=`echo i'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5534,14 +5768,14 @@ else ac_save_LIBS="$LIBS" LIBS="-li $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5569,12 +5803,12 @@ else fi echo $ac_n "checking for catgets""... $ac_c" 1>&6 -echo "configure:5573: checking for catgets" >&5 +echo "configure:5807: checking for catgets" >&5 if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:5835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_catgets=yes" else @@ -5619,7 +5853,7 @@ EOF # Extract the first word of "gencat", so it can be a program name with args. set dummy gencat; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5623: checking for $ac_word" >&5 +echo "configure:5857: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5627,9 +5861,13 @@ else /*) ac_cv_path_GENCAT="$GENCAT" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_GENCAT="$GENCAT" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_GENCAT="$ac_dir/$ac_word" @@ -5651,7 +5889,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5655: checking for $ac_word" >&5 +echo "configure:5893: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5659,9 +5897,13 @@ else /*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_GMSGFMT="$ac_dir/$ac_word" @@ -5684,7 +5926,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5688: checking for $ac_word" >&5 +echo "configure:5930: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5719,7 +5961,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5723: checking for $ac_word" >&5 +echo "configure:5965: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5777,7 +6019,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5781: checking for $ac_word" >&5 +echo "configure:6023: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5811,7 +6053,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5815: checking for $ac_word" >&5 +echo "configure:6057: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5819,9 +6061,13 @@ else /*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_GMSGFMT="$ac_dir/$ac_word" @@ -5843,7 +6089,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5847: checking for $ac_word" >&5 +echo "configure:6093: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5936,7 +6182,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:5940: checking for catalogs to be installed" >&5 +echo "configure:6186: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -5964,18 +6210,18 @@ echo "configure:5940: checking for catalogs to be installed" >&5 if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:5968: checking for linux/version.h" >&5 +echo "configure:6214: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5978: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:6224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" @@ -6062,7 +6308,7 @@ EOF # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | - case `(ac_space=' '; set) 2>&1` in + case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). @@ -6129,7 +6375,7 @@ do echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12" + echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -6153,9 +6399,11 @@ sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF $ac_vpsub $extrasub +s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g @@ -6175,8 +6423,8 @@ s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_DATA@%$INSTALL_DATA%g s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g +s%@INSTALL_DATA@%$INSTALL_DATA%g s%@PACKAGE@%$PACKAGE%g s%@VERSION@%$VERSION%g s%@ACLOCAL@%$ACLOCAL%g @@ -6196,6 +6444,11 @@ s%@host_alias@%$host_alias%g s%@host_cpu@%$host_cpu%g s%@host_vendor@%$host_vendor%g s%@host_os@%$host_os%g +s%@build@%$build%g +s%@build_alias@%$build_alias%g +s%@build_cpu@%$build_cpu%g +s%@build_vendor@%$build_vendor%g +s%@build_os@%$build_os%g s%@RANLIB@%$RANLIB%g s%@LD@%$LD%g s%@NM@%$NM%g diff --git a/configure.in b/configure.in index 7fec19d3..13d2bc47 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(lib/dialchk.c) -AM_INIT_AUTOMAKE(shadow, 19990709) +AM_INIT_AUTOMAKE(shadow, 19990827) AM_CONFIG_HEADER(config.h) dnl Some hacks... @@ -9,7 +9,7 @@ test "$prefix" = "/usr" && exec_prefix="" test "$CFLAGS" = "" && CFLAGS="-O2 -Wall" test "$LDFLAGS" = "" && LDFLAGS="-s" -ALL_LINGUAS="el pl" +ALL_LINGUAS="el fr pl sv" dnl Checks for programs. AC_PROG_CC @@ -210,7 +210,6 @@ AC_DEFINE(getpass, libshadow_getpass) AC_ARG_ENABLE(desrpc, [ --enable-desrpc try to use secure RPC in login (default if found)]) dnl AC_ARG_ENABLE(md5crypt, [ --enable-md5crypt include MD5-compatible crypt function]) -AC_ARG_ENABLE(readpass, [ --enable-readpass include code to enter passwords that echoes asterisks]) AC_ARG_ENABLE(shadowgrp, [ --enable-shadowgrp enable shadow group support [default=yes]]) AC_ARG_WITH(libcrack, [ --with-libcrack try to use libcrack (default if found)]) @@ -237,10 +236,6 @@ if test "$enable_desrpc" != "no" -a "$ac_cv_header_rpc_key_prot_h" = "yes" ; the AC_CHECK_LIB(rpcsvc, getsecretkey, AC_DEFINE(DES_RPC))) fi -if test "$enable_readpass" = "yes" ; then - AC_DEFINE(NEW_READPASS) -fi - if test "$enable_shadowgrp" != "no"; then AC_DEFINE(SHADOWGRP) fi diff --git a/contrib/Makefile.in b/contrib/Makefile.in index d043b882..3c4a344f 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,7 +14,7 @@ # and also cooperate to make a distribution for `make dist' -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -35,7 +35,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -62,11 +62,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -101,8 +104,8 @@ VERSION = @VERSION@ YACC = @YACC@ l = @l@ -EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh \ - atudel pwdauth.c rpasswd.c shadow-anonftp.patch udbachk.v012.tgz +EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh atudel pwdauth.c rpasswd.c shadow-anonftp.patch udbachk.v012.tgz + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -112,11 +115,10 @@ DIST_COMMON = README Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: Makefile - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps contrib/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -134,61 +136,74 @@ subdir = contrib distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-generic distclean +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: tags distdir info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/debian/Makefile.am b/debian/Makefile.am index 840a585a..b79efc65 100644 --- a/debian/Makefile.am +++ b/debian/Makefile.am @@ -1,9 +1,9 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -EXTRA_DIST = FILES changelog checksums control login.conffiles \ - login.copyright login.postinst login.postrm login.preinst \ - login.prerm logoutd passwd.conffiles passwd.copyright \ - passwd.postinst porttime rules secure-su.README \ - secure-su.conffiles secure-su.copyright secure-su.postrm \ +EXTRA_DIST = FILES changelog checksums control control.gnu control.linux \ + login.conffiles login.copyright login.postinst login.postrm login.preinst \ + login.prerm logoutd.init passwd.conffiles passwd.copyright \ + passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules \ + secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm \ secure-su.preinst securetty tar.c diff --git a/debian/Makefile.in b/debian/Makefile.in index 526be5ff..f1ad4f6b 100644 --- a/debian/Makefile.in +++ b/debian/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,7 +14,7 @@ # and also cooperate to make a distribution for `make dist' -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -35,7 +35,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -62,11 +62,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -101,12 +104,8 @@ VERSION = @VERSION@ YACC = @YACC@ l = @l@ -EXTRA_DIST = FILES changelog checksums control login.conffiles \ - login.copyright login.postinst login.postrm login.preinst \ - login.prerm logoutd passwd.conffiles passwd.copyright \ - passwd.postinst porttime rules secure-su.README \ - secure-su.conffiles secure-su.copyright secure-su.postrm \ - secure-su.preinst securetty tar.c +EXTRA_DIST = FILES changelog checksums control control.gnu control.linux login.conffiles login.copyright login.postinst login.postrm login.preinst login.prerm logoutd.init passwd.conffiles passwd.copyright passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm secure-su.preinst securetty tar.c + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -116,11 +115,10 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: Makefile - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps debian/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -138,61 +136,74 @@ subdir = debian distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-generic distclean +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: tags distdir info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/debian/changelog b/debian/changelog index 7e264784..b1548b5e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -shadow (19990709) unstable; urgency=low +shadow (19990827) unstable; urgency=low * upstream upgrade, see CHANGES for more details. Note: this is not the official Debian changelog entry - it is here only for @@ -8,7 +8,7 @@ shadow (19990709) unstable; urgency=low mine) in the debian/control Maintainer field. Thanks, and keep up the good work! - -- Marek Michalkiewicz Fri, 9 Jul 1999 19:40:00 +0200 + -- Marek Michalkiewicz Fri, 27 Aug 1999 21:00:00 +0200 shadow (980403-0.3.2) unstable; urgency=low diff --git a/debian/control.gnu b/debian/control.gnu new file mode 100644 index 00000000..5b052739 --- /dev/null +++ b/debian/control.gnu @@ -0,0 +1,16 @@ +Source: shadow +Section: base +Priority: required +Maintainer: Guy Maor +Standards-Version: 2.3.0.0 + +Package: passwd +Architecture: any +Depends: ${shlibs:Depends} +Section: base +Priority: required +Description: Change and administer password and group data. + This package includes passwd, chsh, chfn, and many other programs to + maintain password and group data. + . + Shadow passwords are supported. See /usr/doc/passwd/README.Debian diff --git a/debian/control.linux b/debian/control.linux new file mode 100644 index 00000000..430c4b3a --- /dev/null +++ b/debian/control.linux @@ -0,0 +1,41 @@ +Source: shadow +Section: base +Priority: required +Maintainer: Marek Michalkiewicz +Standards-Version: 2.3.0.0 + +Package: login +Architecture: any +Pre-Depends: ${shlibs:Depends} +Conflicts: shadow-login +Replaces: shadow-login, shadow-passwd +Essential: yes +Section: base +Priority: required +Description: Sign on to the system. + login and newgrp change the user and group. + +Package: passwd +Architecture: any +Depends: ${shlibs:Depends}, login (>= 970502-1) +Conflicts: shadow-passwd +Replaces: shadow-passwd +Replaces: manpages (<=1.15-2) +Section: base +Priority: required +Description: Change and administer password and group data. + This package includes passwd, chsh, chfn, and many other programs to + maintain password and group data. + . + Shadow passwords are supported. See /usr/doc/passwd/README.Debian + +Package: secure-su +Architecture: any +Depends: ${shlibs:Depends}, login (>= 970502-1) +Conflicts: shadow-su +Replaces: shadow-su +Section: admin +Priority: optional +Description: su with more security options + secure-su offers more security options than the normal su, such as a + wheel group, and from-user and to-user specific restrictions. diff --git a/debian/login.postrm b/debian/login.postrm index 48d537ef..ccfa914f 100644 --- a/debian/login.postrm +++ b/debian/login.postrm @@ -1,6 +1,6 @@ #!/bin/sh set -e -if [ $1 = purge ]; then +if [ "$1" = "purge" ] ; then update-rc.d logoutd remove >/dev/null fi diff --git a/debian/logoutd b/debian/logoutd.init similarity index 74% rename from debian/logoutd rename to debian/logoutd.init index aec70877..60594465 100644 --- a/debian/logoutd +++ b/debian/logoutd.init @@ -21,20 +21,14 @@ case "$1" in start-stop-daemon --stop --quiet --exec $DAEMON echo "." ;; - restart) + force-reload|restart) $0 stop $0 start ;; reload) - echo -n "Reloading logoutd configuration..." - start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON - echo "done." - ;; - force-reload) - $0 reload ;; *) - echo "Usage: /etc/init.d/logoutd start|stop" + echo "Usage: /etc/init.d/logoutd start|stop|restart" exit 1 ;; esac diff --git a/debian/passwd.conffiles b/debian/passwd.conffiles index b6740ea5..48979eaf 100644 --- a/debian/passwd.conffiles +++ b/debian/passwd.conffiles @@ -1 +1,3 @@ +/etc/cron.daily/passwd +/etc/init.d/passwd /etc/shells diff --git a/debian/passwd.cron b/debian/passwd.cron new file mode 100644 index 00000000..4bc868ef --- /dev/null +++ b/debian/passwd.cron @@ -0,0 +1,8 @@ +#!/bin/sh +# +# cron.daily script to check integrity of the password and group files + +test -f /usr/sbin/pwck || exit 0 + +pwck -q -r +grpck -r diff --git a/debian/passwd.init b/debian/passwd.init new file mode 100755 index 00000000..83ef2071 --- /dev/null +++ b/debian/passwd.init @@ -0,0 +1,25 @@ +#!/bin/sh +# +# /etc/init.d/passwd +# script to check integrity of the password and group files at system startup +# + +set -e +test -f /usr/sbin/pwck || exit 0 + +case "$1" in + start) + echo -n 'Checking password and group files... ' + pwck -q -r + grpck -r + echo "done." + ;; + stop|restart|reload|force-reload) + ;; + *) + echo "Usage: /etc/init.d/passwd start" + exit 1 + ;; +esac + +exit 0 diff --git a/debian/passwd.postinst b/debian/passwd.postinst index ba2d5e26..bb8ed870 100644 --- a/debian/passwd.postinst +++ b/debian/passwd.postinst @@ -15,6 +15,9 @@ permfix () { permfix /sbin/sulogin permfix /usr/X11R6/bin/xdm-shadow +# check password and group files at boot time +update-rc.d passwd start 60 S . >/dev/null + grep -q '^shadow:[^:]*:42' /etc/group && exit 0 groupadd -g 42 shadow || ( cat </dev/null +fi diff --git a/debian/rules b/debian/rules index 87aa972d..91b81107 100755 --- a/debian/rules +++ b/debian/rules @@ -2,8 +2,29 @@ package = shadow +# see dpkg-architecture(8) +DEB_BUILD_ARCH := $(shell dpkg --print-installation-architecture) +DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH)) +ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),) + DEB_BUILD_GNU_SYSTEM := gnu +else + DEB_BUILD_GNU_SYSTEM := linux +endif +DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM) + +DEB_HOST_GNU_SYSTEM=$(DEB_BUILD_GNU_SYSTEM) +DEB_HOST_GNU_TYPE=$(DEB_BUILD_GNU_TYPE) + +ifeq ($(DEB_HOST_GNU_SYSTEM),linux) +package-list = binary-login binary-passwd binary-su +else +package-list = binary-passwd +endif + # set up environment so that dpkg --build runs our tar wrapper -TAR_WRAPPER_SETUP = REAL_TAR=`command -p -v tar` PATH=`cd debian && pwd`:$$PATH +# (XXX this is no longer needed, and will be removed soon - install +# libtricks and use "dpkg-buildpackage -rfakeroot" instead) +#TAR_WRAPPER_SETUP = REAL_TAR=`command -p -v tar` PATH=`cd debian && pwd`:$$PATH # for "exec login" to work for ordinary users, /bin/login needs to be setuid # but very few people use this feature, so we make it non-setuid by default @@ -11,10 +32,14 @@ LOGIN_PERM = 0755 build: $(checkdir) + cp -a debian/control.$(DEB_HOST_GNU_SYSTEM) debian/control # shared lib support is untested, so... - ./configure --disable-shared --disable-desrpc # --without-libcrack + ./configure --disable-shared --disable-desrpc \ + --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) $(MAKE) - gcc -O2 -Wall -o debian/tar debian/tar.c + if [ -n "$(TAR_WRAPPER_SETUP)" ] ; then \ + gcc -O2 -Wall -o debian/tar debian/tar.c ; \ + fi touch build clean: @@ -23,12 +48,13 @@ clean: -$(MAKE) -i distclean rm -rf {libmisc,lib,src}/.deps rm -rf debian/tmp{-l,-p,-s} debian/{files*,substvars} + cp -a debian/control.linux debian/control find . -name '*~' -print0 | xargs -0 rm -f binary-indep: checkroot build $(checkdir) -binary-arch: binary-login binary-passwd binary-su +binary-arch: $(package-list) binary-login: checkroot build $(checkdir) @@ -45,7 +71,7 @@ binary-login: checkroot build ln -s newgrp.1.gz debian/tmp-l/usr/man/man1/sg.1.gz install -m600 etc/login.defs.linux debian/tmp-l/etc/login.defs install -m600 etc/{login.access,limits} debian/{securetty,porttime} debian/tmp-l/etc/ - install debian/logoutd debian/tmp-l/etc/init.d/ + install debian/logoutd.init debian/tmp-l/etc/init.d/logoutd install -m644 debian/changelog debian/tmp-l/usr/doc/login/changelog.Debian install -m644 doc/CHANGES debian/tmp-l/usr/doc/login/changelog find debian/tmp-l/usr/{doc,man} -type f | xargs gzip -9 @@ -63,8 +89,10 @@ binary-login: checkroot build binary-passwd: checkroot build $(checkdir) -rm -rf debian/tmp-p - install -d debian/tmp-p/{DEBIAN,etc,usr/{sbin,bin,man/{man1,man5,man8},doc/passwd}} + install -d debian/tmp-p/{DEBIAN,etc/{cron.daily,init.d},usr/{sbin,bin,man/{man1,man5,man8},doc/passwd}} install -m644 etc/shells debian/tmp-p/etc/ + install debian/passwd.cron debian/tmp-p/etc/cron.daily/passwd + install debian/passwd.init debian/tmp-p/etc/init.d/passwd install -s -m4755 src/{chage,chfn,chsh,expiry,gpasswd,passwd} debian/tmp-p/usr/bin/ install -s src/{chpasswd,groupadd,groupdel,groupmod,grpck,grpconv,grpunconv} \ src/{newusers,pwck,pwconv,pwunconv,useradd,userdel} \ @@ -87,10 +115,15 @@ binary-passwd: checkroot build install -m644 debian/passwd.copyright debian/tmp-p/usr/doc/passwd/copyright install debian/login.preinst debian/tmp-p/DEBIAN/preinst install debian/passwd.postinst debian/tmp-p/DEBIAN/postinst + install debian/passwd.postrm debian/tmp-p/DEBIAN/postrm install -m644 debian/passwd.conffiles debian/tmp-p/DEBIAN/conffiles dpkg-shlibdeps debian/tmp-p/usr/{bin/*,sbin/*} # dpkg-shlibdeps fails on scripts, so install them now... install src/shadowconfig.sh debian/tmp-p/usr/sbin/shadowconfig +ifeq ($(DEB_HOST_GNU_SYSTEM),gnu) + install etc/login.defs.hurd debian/tmp-p/etc/login.defs + echo "/etc/login.defs" >> debian/tmp-p/DEBIAN/conffiles +endif dpkg-gencontrol -isp -ppasswd -Pdebian/tmp-p ./debian/checksums debian/tmp-p $(TAR_WRAPPER_SETUP) dpkg --build debian/tmp-p .. diff --git a/doc/CHANGES b/doc/CHANGES index e9a36efc..2e1c54be 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -1,4 +1,33 @@ -$Id: CHANGES,v 1.27 1999/07/09 18:02:43 marekm Exp $ +$Id: CHANGES,v 1.28 1999/08/27 19:02:50 marekm Exp $ + +shadow-19990709 => shadow-19990827 + +- upgrade to autoconf-2.13, automake-1.4, libtool-1.3.3 +- i18n: added French translation by Vincent Renardias +- i18n: added Swedish translation by Kristoffer Brånemyr +- logoutd no longer reads /etc/logoutd.mesg at startup - instead, read + it when sending to luser's tty (no need to reload with SIGHUP) +- added support for "usergroups" feature often found in Linux distributions + (if USERGROUPS_ENAB in login.defs set to "yes", uid != 0, uid == gid, and + username == groupname, then set umask to 002 instead of 022) +- Debian: pwck and grpck are now run from a daily cron job (root will + receive an e-mail if something is wrong), and at system startup +- added support for setting umask in /etc/limits +- when using OPIE, re-prompt with echo on after empty password was entered +- GETPASS_ASTERISKS now run time configurable (login.defs) +- getpass() now uses stdin and stderr (not stdout) if it can't open /dev/tty +- getpass() allows all input to be erased using Control-U, and beeps when + too many characters are entered +- removed obsolete sgtty support, in 1999 everyone should have termios :) +- Debian: tar wrapper no longer needed to build packages as non-root user + (install libtricks, and use "dpkg-buildpackage -rfakeroot" instead) +- Debian: changes for GNU Hurd by Marcus Brinkmann : + dpkg-architecture, cross compilation, only build passwd, add + etc/login.defs.hurd conffile, conditionalize CBAUD +- newgrp sets $HOME before running the new shell +- both "sg group command" (usage message) and "sg group -c command" + (man page) work, updated both the usage message and the man page :) +- i18n: added missing _() for some translatable strings shadow-19990607 => shadow-19990709 diff --git a/doc/LSM b/doc/LSM index 2e2d843f..def653a3 100644 --- a/doc/LSM +++ b/doc/LSM @@ -1,7 +1,7 @@ Begin3 Title: Shadow Password Suite -Version: 19990709 -Entered-date: 09JUL99 +Version: 19990827 +Entered-date: 27AUG99 Description: Shadow password file utilities. This package includes the programs necessary to convert traditional V7 UNIX password files to the SVR4 shadow password format, and @@ -11,7 +11,7 @@ Keywords: login passwd security shadow Author: jfh@bga.com (Julianne F. Haugh) Maintained-by: marekm@linux.org.pl (Marek Michalkiewicz) Primary-site: piast.t19.ds.pwr.wroc.pl /pub/linux/shadow/ - 624K shadow-19990709.tar.gz + 707K shadow-19990827.tar.gz Alternate-site: ftp.ists.pwr.wroc.pl /pub/linux/shadow/ Original-site: ftp.uu.net ? Platforms: Linux, SunOS, ... diff --git a/doc/Makefile.in b/doc/Makefile.in index b756b137..49102d75 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,7 +14,7 @@ # and also cooperate to make a distribution for `make dist' -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -35,7 +35,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -62,11 +62,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -101,10 +104,8 @@ VERSION = @VERSION@ YACC = @YACC@ l = @l@ -EXTRA_DIST = ANNOUNCE CHANGES HOWTO LICENSE LSM README README.debian \ - README.limits README.linux README.mirrors README.nls README.pam \ - README.platforms README.shadow-paper README.sun4 \ - WISHLIST console.c.spec.txt cracklib26.diff +EXTRA_DIST = ANNOUNCE CHANGES HOWTO LICENSE LSM README README.debian README.limits README.linux README.mirrors README.nls README.pam README.platforms README.shadow-paper README.sun4 WISHLIST console.c.spec.txt cracklib26.diff + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -114,11 +115,10 @@ DIST_COMMON = README INSTALL Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: Makefile - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -136,61 +136,74 @@ subdir = doc distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-generic distclean +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: tags distdir info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/doc/README.mirrors b/doc/README.mirrors index 6d668021..fbb3a57e 100644 --- a/doc/README.mirrors +++ b/doc/README.mirrors @@ -50,7 +50,8 @@ Romania: United States: - none? + ftp://ftp.cqc.com/pub/mirrors/linux-shadow/ + pacman@cqc.com Thanks, Marek Michalkiewicz diff --git a/doc/WISHLIST b/doc/WISHLIST index 6fc9f308..abdb1919 100644 --- a/doc/WISHLIST +++ b/doc/WISHLIST @@ -1,4 +1,4 @@ -$Id: WISHLIST,v 1.22 1999/07/09 18:02:43 marekm Exp $ +$Id: WISHLIST,v 1.23 1999/08/27 19:02:50 marekm Exp $ This is my wishlist for the shadow suite, in no particular order. Feel free to do anything from this list and mail me the diffs :-). @@ -32,30 +32,26 @@ New ideas to add to this list are welcome, too. --marekm - vipw: check password files for errors after editing - clean up login utmp(x) handling code - add "maximum time users allowed to stay logged in" limit option to logoutd -- "make" infinite loop on some systems? (Slackware 3.1, possibly others) - handle quotes in /etc/environment like the shell does (but sshd doesn't...) - write man pages: dialups.5, d_passwd.5 - better utmpx support (logoutd, ...) -- better OPIE support (check access file, prompt for one-time password - with echo on, report number of logins left, etc.) -- init sometimes fails to remove the utmp entry on logout, why? - (init 2.74 - can't reproduce with 2.71 on Debian 1.3, works fine) +- better OPIE support (report number of logins left, etc.) - new option for /etc/suauth: don't load user's environment (force "su -") suggested by Ulisses Alonso Camaro - clean up error messages - "program_name: text of error message\n" (maybe some common code for common messages about failing to lock/open something) -- don't use putgrent() even if available (glibc-2.0.100 bug) - find out why recent releases won't compile on Solaris -- change logoutd to simply cat the contents of /etc/logoutd.mesg to the - luser's tty (no need to reload with SIGHUP) -- make the new getpass() replacement optional configurable at run time - (some people don't like the asterisks) - newusers UID/GID selection algorithm should be the same as useradd (and use UID_MIN, UID_MAX from login.defs) - newusers should be able to copy /etc/skel to the new home directory (like useradd) -- change makefiles to work with the latest automake - include i18n files in Debian packages - integrate the latest upstream version into the Debian distribution - (they still have shadow-980403, many bugs have been fixed since then) + (as of this writing, they still have shadow-980403 with huge diff, + and many bugs have been fixed since then) +- add directories where other packages can add hooks for package-specific + per-user configuration, to be executed with run-parts. Some hooks should + be executed at package install time for existing users, likewise for + package removal and possibly modification. (Debian Bug#36019) + diff --git a/etc/Makefile.am b/etc/Makefile.am index d0f6ce79..f2ce1621 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am @@ -1,7 +1,7 @@ # This is a dummy Makefile.am to get automake work flawlessly, # and also cooperate to make a distribution for `make dist' -EXTRA_DIST = limits login.access login.defs login.defs.linux \ +EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux \ shells suauth SUBDIRS = pam.d diff --git a/etc/Makefile.in b/etc/Makefile.in index 76d8af86..935cbba1 100644 --- a/etc/Makefile.in +++ b/etc/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,7 +14,7 @@ # and also cooperate to make a distribution for `make dist' -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -35,7 +35,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -62,11 +62,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -101,8 +104,8 @@ VERSION = @VERSION@ YACC = @YACC@ l = @l@ -EXTRA_DIST = limits login.access login.defs login.defs.linux \ - shells suauth +EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux shells suauth + SUBDIRS = pam.d mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs @@ -114,11 +117,10 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: all-recursive all-am - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -139,41 +141,65 @@ all-recursive install-data-recursive install-exec-recursive \ installdirs-recursive install-recursive uninstall-recursive \ check-recursive installcheck-recursive info-recursive dvi-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - target=`echo $@ | sed s/-recursive//`; \ echo "Making $$target in $$subdir"; \ - (cd $$subdir && $(MAKE) $$target) \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $(MAKEFLAGS); amf=$$2; \ + dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ + test "$$subdir" = "." && dot_seen=yes; \ done; \ + test "$$dot_seen" = "no" && rev=". $$rev"; \ + target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ - target=`echo $@ | sed s/-recursive//`; \ echo "Making $$target in $$subdir"; \ - (cd $$subdir && $(MAKE) $$target) \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - (cd $$subdir && $(MAKE) tags); \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ - test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + if test "$$subdir" = .; then :; else \ + test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \ + fi; \ done; \ list='$(SOURCES) $(HEADERS)'; \ unique=`for i in $$list; do echo $$i; done | \ @@ -198,84 +224,90 @@ subdir = etc distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done for subdir in $(SUBDIRS); do \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - chmod 777 $(distdir)/$$subdir; \ - (cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ + if test "$$subdir" = .; then :; else \ + test -d $(distdir)/$$subdir \ + || mkdir $(distdir)/$$subdir \ || exit 1; \ + chmod 777 $(distdir)/$$subdir; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \ + || exit 1; \ + fi; \ done +info-am: info: info-recursive +dvi-am: dvi: dvi-recursive -check: all-am - $(MAKE) check-recursive +check-am: all-am +check: check-recursive +installcheck-am: installcheck: installcheck-recursive -all-am: Makefile - +install-exec-am: install-exec: install-exec-recursive - @$(NORMAL_INSTALL) +install-data-am: install-data: install-data-recursive - @$(NORMAL_INSTALL) +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am install: install-recursive - @: - +uninstall-am: uninstall: uninstall-recursive - +all-am: Makefile +all-redirect: all-recursive install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: installdirs-recursive +installdirs-am: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) mostlyclean-am: mostlyclean-tags mostlyclean-generic +mostlyclean: mostlyclean-recursive + clean-am: clean-tags clean-generic mostlyclean-am +clean: clean-recursive + distclean-am: distclean-tags distclean-generic clean-am + -rm -f libtool + +distclean: distclean-recursive maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ distclean-am - -mostlyclean: mostlyclean-recursive mostlyclean-am - -clean: clean-recursive clean-am - -distclean: distclean-recursive distclean-am - -rm -f config.status - -rm -f libtool - -maintainer-clean: maintainer-clean-recursive maintainer-clean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-recursive + .PHONY: install-data-recursive uninstall-data-recursive \ install-exec-recursive uninstall-exec-recursive installdirs-recursive \ uninstalldirs-recursive all-recursive check-recursive \ installcheck-recursive info-recursive dvi-recursive \ mostlyclean-recursive distclean-recursive clean-recursive \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ -installcheck all-am install-exec install-data install uninstall all \ +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs-am \ installdirs mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean diff --git a/etc/login.defs.hurd b/etc/login.defs.hurd new file mode 100644 index 00000000..0f4e8852 --- /dev/null +++ b/etc/login.defs.hurd @@ -0,0 +1,141 @@ +# +# /etc/login.defs - Configuration control definitions for the login package. +# +# $Id: login.defs.hurd,v 1.1 1999/08/27 19:02:50 marekm Exp $ +# +# One item must be defined: MAIL_DIR. +# If unspecified, some arbitrary (and possibly incorrect) value will +# be assumed. All other items are optional - if not specified then +# the described action or option will be inhibited. +# +# Comment lines (lines beginning with "#") and blank lines are ignored. +# +# Modified for the Hurd. --brinkmd + +# +# Enable additional checks upon password changes. +# +OBSCURE_CHECKS_ENAB yes + +# +# *REQUIRED* +# Directory where mailboxes reside, _or_ name of file, relative to the +# home directory. If you _do_ define both, MAIL_DIR takes precedence. +# QMAIL_DIR is for Qmail +# +#QMAIL_DIR Maildir +MAIL_DIR /var/spool/mail +#MAIL_FILE .mail + +# +# Password aging controls: +# +# PASS_MAX_DAYS Maximum number of days a password may be used. +# PASS_MIN_DAYS Minimum number of days allowed between password changes. +# PASS_MIN_LEN Minimum acceptable password length. +# PASS_WARN_AGE Number of days warning given before a password expires. +# +PASS_MAX_DAYS 99999 +PASS_MIN_DAYS 0 +PASS_MIN_LEN 5 +PASS_WARN_AGE 7 + +# +# If compiled with cracklib support, where are the dictionaries +# +#CRACKLIB_DICTPATH /usr/lib/passwd/pw_dict + +# +# Min/max values for automatic uid selection in useradd +# +UID_MIN 1000 +UID_MAX 60000 + +# +# Min/max values for automatic gid selection in groupadd +# +GID_MIN 100 +GID_MAX 60000 + +# +# Maximum number of attempts to change password if rejected (too easy) +# +PASS_CHANGE_TRIES 5 + +# +# Warn about weak passwords (but still allow them) if you are root. +# +PASS_ALWAYS_WARN yes + +# +# Number of significant characters in the password for crypt(). +# Default is 8, don't change unless your crypt() is better. +# Ignored if MD5_CRYPT_ENAB set to "yes". +# +#PASS_MAX_LEN 8 + +# +# Require password before chfn/chsh can make any changes. +# +CHFN_AUTH yes + +# +# Which fields may be changed by regular users using chfn - use +# any combination of letters "frwh" (full name, room number, work +# phone, home phone). If not defined, no changes are allowed. +# For backward compatibility, "yes" = "rwh" and "no" = "frwh". +# +CHFN_RESTRICT rwh + +# +# Password prompt (%s will be replaced by user name). +# +# XXX - it doesn't work correctly yet, for now leave it commented out +# to use the default which is just "Password: ". +#LOGIN_STRING "%s's Password: " + +# +# Only works if compiled with MD5_CRYPT defined: +# If set to "yes", new passwords will be encrypted using the MD5-based +# algorithm compatible with the one used by recent releases of FreeBSD. +# It supports passwords of unlimited length and longer salt strings. +# Set to "no" if you need to copy encrypted passwords to other systems +# which don't understand the new algorithm. Default is "no". +# +#MD5_CRYPT_ENAB no + +# +# If defined, this command is run when removing a user. +# It should remove any at/cron/print jobs etc. owned by +# the user to be removed (passed as the first argument). +# +#USERDEL_CMD /usr/sbin/userdel_local + +# +# When prompting for password without echo, getpass() can optionally +# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*' +# characters for each character typed. This feature is designed to +# confuse people looking over your shoulder when you enter a password :-). +# Also, the new getpass() accepts both Backspace (8) and Delete (127) +# keys to delete previous character (to cope with different terminal +# types), Control-U to delete all characters, and beeps when there are +# no more characters to delete, or too many characters entered. +# +# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour - +# exactly one '*' displayed for each character typed. +# +# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace, +# Delete, Control-U and beep continue to work as described above). +# +# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass() +# without any new features. This is the default. +# +#GETPASS_ASTERISKS 1 + +# +# Enable setting of the umask group bits to be the same as owner bits +# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is +# the same as gid, and username is the same as the primary group name. +# +USERGROUPS_ENAB yes + diff --git a/etc/login.defs.linux b/etc/login.defs.linux index a5e5eb6a..71eac826 100644 --- a/etc/login.defs.linux +++ b/etc/login.defs.linux @@ -1,7 +1,7 @@ # # /etc/login.defs - Configuration control definitions for the login package. # -# $Id: login.defs.linux,v 1.10 1999/03/07 19:14:33 marekm Exp $ +# $Id: login.defs.linux,v 1.11 1999/08/27 19:02:50 marekm Exp $ # # Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH. # If unspecified, some arbitrary (and possibly incorrect) value will @@ -334,7 +334,35 @@ ENVIRON_FILE /etc/environment # # If defined, either full pathname of a file containing device names or # a ":" delimited list of device names. No password is required to log in -# on these devices. +# as a non-root user on these devices. # #NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6 +# +# When prompting for password without echo, getpass() can optionally +# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*' +# characters for each character typed. This feature is designed to +# confuse people looking over your shoulder when you enter a password :-). +# Also, the new getpass() accepts both Backspace (8) and Delete (127) +# keys to delete previous character (to cope with different terminal +# types), Control-U to delete all characters, and beeps when there are +# no more characters to delete, or too many characters entered. +# +# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour - +# exactly one '*' displayed for each character typed. +# +# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace, +# Delete, Control-U and beep continue to work as described above). +# +# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass() +# without any new features. This is the default. +# +#GETPASS_ASTERISKS 1 + +# +# Enable setting of the umask group bits to be the same as owner bits +# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is +# the same as gid, and username is the same as the primary group name. +# +USERGROUPS_ENAB yes + diff --git a/etc/pam.d/Makefile.in b/etc/pam.d/Makefile.in index 465254c6..53198294 100644 --- a/etc/pam.d/Makefile.in +++ b/etc/pam.d/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,7 +14,7 @@ # and also cooperate to make a distribution for `make dist' -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -35,7 +35,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -62,11 +62,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -111,11 +114,10 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: Makefile - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/pam.d/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -133,61 +135,74 @@ subdir = etc/pam.d distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-generic distclean +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: tags distdir info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/install-sh b/install-sh index e8436696..e9de2384 100755 --- a/install-sh +++ b/install-sh @@ -118,6 +118,7 @@ if [ x"$dir_arg" != x ]; then if [ -d $dst ]; then instcmd=: + chmodcmd="" else instcmd=mkdir fi diff --git a/lib/Makefile.in b/lib/Makefile.in index 90a9b05d..9def3a2b 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -11,7 +11,7 @@ # PARTICULAR PURPOSE. -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -31,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -45,7 +45,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -58,11 +58,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -86,6 +88,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -99,10 +102,8 @@ l = @l@ AUTOMAKE_OPTIONS = 1.0 foreign -noinst_HEADERS = commonio.h defines.h dialchk.h dialup.h \ - faillog.h getdef.h groupio.h md5.h pam_defs.h port.h prototypes.h \ - pwauth.h pwio.h rcsid.h sgroupio.h shadowio.h snprintf.h \ - tcfsio.h +noinst_HEADERS = commonio.h defines.h dialchk.h dialup.h faillog.h getdef.h groupio.h md5.h pam_defs.h port.h prototypes.h pwauth.h pwio.h rcsid.h sgroupio.h shadowio.h snprintf.h tcfsio.h + localedir = $(datadir)/locale DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@ @@ -115,24 +116,18 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@ # sources for LIBOBJS (which are normally in libc) # misc header sources -EXTRA_DIST = grdbm.c gsdbm.c pwdbm.c spdbm.c \ - grpack.c gspack.c pwpack.c sppack.c \ - gshadow_.h shadow_.h lastlog_.h snprintf.h +EXTRA_DIST = grdbm.c gsdbm.c pwdbm.c spdbm.c grpack.c gspack.c pwpack.c sppack.c gshadow_.h shadow_.h lastlog_.h snprintf.h + + +EXTRA_libshadow_a_SOURCESS = grent.c pwent.c mkdir.c rename.c rmdir.c strdup.c strcasecmp.c strerror.c strstr.c putgrent.c putpwent.c putspent.c sgetgrent.c sgetpwent.c sgetspent.c snprintf.c md5.c md5crypt.c -EXTRA_libshadow_a_SOURCESS = grent.c pwent.c \ - mkdir.c rename.c rmdir.c strdup.c strcasecmp.c strerror.c strstr.c \ - putgrent.c putpwent.c putspent.c \ - sgetgrent.c sgetpwent.c sgetspent.c snprintf.c \ - md5.c md5crypt.c # We build libshadow for our tools. noinst_LIBRARIES = libshadow.a -libshadow_a_SOURCES = commonio.c dialchk.c dialup.c encrypt.c \ - fputsx.c getdef.c getpass.c groupio.c gshadow.c lockpw.c port.c \ - pwauth.c pwio.c rad64.c sgroupio.c shadow.c shadowio.c utent.c \ - tcfsio.c +libshadow_a_SOURCES = commonio.c dialchk.c dialup.c encrypt.c fputsx.c getdef.c getpass.c groupio.c gshadow.c lockpw.c port.c pwauth.c pwio.c rad64.c sgroupio.c shadow.c shadowio.c utent.c tcfsio.c + libshadow_a_LIBADD = @LIBOBJS@ @@ -167,9 +162,10 @@ fputsx.lo getdef.lo getpass.lo groupio.lo gshadow.lo lockpw.lo port.lo \ pwauth.lo pwio.lo rad64.lo sgroupio.lo shadow.lo shadowio.lo utent.lo \ tcfsio.lo CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ HEADERS = $(noinst_HEADERS) DIST_COMMON = Makefile.am Makefile.in md5.c md5crypt.c mkdir.c \ @@ -181,15 +177,14 @@ strstr.c DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best +GZIP_ENV = --best SOURCES = $(libshadow_a_SOURCES) $(libshadow_la_SOURCES) OBJECTS = $(libshadow_a_OBJECTS) $(libshadow_la_OBJECTS) -all: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) - +all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps lib/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -263,8 +258,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) $(mkinstalldirs) $(DESTDIR)$(libdir) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ - echo "$(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \ - $(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \ + echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \ + $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \ else :; fi; \ done @@ -280,8 +275,12 @@ libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES) tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ @@ -309,102 +308,115 @@ subdir = lib distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -commonio.o: commonio.c ../config.h rcsid.h defines.h gshadow_.h \ - commonio.h -dialchk.o: dialchk.c ../config.h rcsid.h defines.h gshadow_.h \ - prototypes.h dialup.h dialchk.h -dialup.o: dialup.c ../config.h rcsid.h prototypes.h defines.h gshadow_.h \ - dialup.h -encrypt.o: encrypt.c ../config.h rcsid.h prototypes.h defines.h \ - gshadow_.h -fputsx.lo fputsx.o: fputsx.c ../config.h defines.h gshadow_.h rcsid.h -getdef.lo getdef.o: getdef.c ../config.h rcsid.h prototypes.h defines.h \ - gshadow_.h getdef.h -getpass.lo getpass.o: getpass.c ../config.h rcsid.h defines.h gshadow_.h -groupio.lo groupio.o: groupio.c ../config.h rcsid.h prototypes.h \ - defines.h gshadow_.h commonio.h groupio.h -gshadow.lo gshadow.o: gshadow.c ../config.h rcsid.h prototypes.h \ +commonio.lo commonio.o : commonio.c ../config.h rcsid.h defines.h \ + gshadow_.h commonio.h +dialchk.lo dialchk.o : dialchk.c ../config.h rcsid.h defines.h \ + gshadow_.h prototypes.h dialup.h dialchk.h +dialup.lo dialup.o : dialup.c ../config.h rcsid.h prototypes.h defines.h \ + gshadow_.h dialup.h +encrypt.lo encrypt.o : encrypt.c ../config.h rcsid.h prototypes.h \ defines.h gshadow_.h -lockpw.lo lockpw.o: lockpw.c ../config.h -port.lo port.o: port.c ../config.h rcsid.h defines.h gshadow_.h port.h +fputsx.lo fputsx.o : fputsx.c ../config.h defines.h gshadow_.h rcsid.h +getdef.lo getdef.o : getdef.c ../config.h rcsid.h prototypes.h defines.h \ + gshadow_.h getdef.h +getpass.lo getpass.o : getpass.c ../config.h rcsid.h defines.h \ + gshadow_.h getdef.h +groupio.lo groupio.o : groupio.c ../config.h rcsid.h prototypes.h \ + defines.h gshadow_.h commonio.h groupio.h +gshadow.lo gshadow.o : gshadow.c ../config.h rcsid.h prototypes.h \ + defines.h gshadow_.h +lockpw.lo lockpw.o : lockpw.c ../config.h +port.lo port.o : port.c ../config.h rcsid.h defines.h gshadow_.h port.h putgrent.o: putgrent.c ../config.h prototypes.h defines.h gshadow_.h -pwauth.lo pwauth.o: pwauth.c ../config.h rcsid.h prototypes.h defines.h \ +pwauth.lo pwauth.o : pwauth.c ../config.h rcsid.h prototypes.h defines.h \ gshadow_.h pwauth.h getdef.h -pwio.lo pwio.o: pwio.c ../config.h rcsid.h prototypes.h defines.h \ +pwio.lo pwio.o : pwio.c ../config.h rcsid.h prototypes.h defines.h \ gshadow_.h commonio.h pwio.h -rad64.lo rad64.o: rad64.c ../config.h rcsid.h +rad64.lo rad64.o : rad64.c ../config.h rcsid.h sgetgrent.o: sgetgrent.c ../config.h rcsid.h defines.h gshadow_.h sgetpwent.o: sgetpwent.c ../config.h rcsid.h defines.h gshadow_.h -sgroupio.lo sgroupio.o: sgroupio.c ../config.h rcsid.h prototypes.h \ +sgroupio.lo sgroupio.o : sgroupio.c ../config.h rcsid.h prototypes.h \ defines.h gshadow_.h commonio.h sgroupio.h -shadowio.lo shadowio.o: shadowio.c ../config.h rcsid.h prototypes.h \ +shadowio.lo shadowio.o : shadowio.c ../config.h rcsid.h prototypes.h \ defines.h gshadow_.h commonio.h shadowio.h -shadow.lo shadow.o: shadow.c ../config.h -tcfsio.lo tcfsio.o: tcfsio.c ../config.h -utent.lo utent.o: utent.c ../config.h +shadow.lo shadow.o : shadow.c ../config.h +tcfsio.lo tcfsio.o : tcfsio.c ../config.h +utent.lo utent.o : utent.c ../config.h -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: install-libLTLIBRARIES +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: install-libLTLIBRARIES @$(NORMAL_INSTALL) - $(MAKE) install-exec-hook + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: uninstall-libLTLIBRARIES +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-libLTLIBRARIES +uninstall: uninstall-am +all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: - $(mkinstalldirs) $(DATADIR)$(libdir) + $(mkinstalldirs) $(DESTDIR)$(libdir) mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \ +mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ mostlyclean-libtool mostlyclean-libLTLIBRARIES \ mostlyclean-tags mostlyclean-generic -clean: clean-noinstLIBRARIES clean-compile clean-libtool \ - clean-libLTLIBRARIES clean-tags clean-generic \ - mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-noinstLIBRARIES distclean-compile \ +clean-am: clean-noinstLIBRARIES clean-compile clean-libtool \ + clean-libLTLIBRARIES clean-tags clean-generic \ + mostlyclean-am + +clean: clean-am + +distclean-am: distclean-noinstLIBRARIES distclean-compile \ distclean-libtool distclean-libLTLIBRARIES \ - distclean-tags distclean-generic clean - -rm -f config.status + distclean-tags distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-noinstLIBRARIES \ +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ maintainer-clean-compile maintainer-clean-libtool \ maintainer-clean-libLTLIBRARIES maintainer-clean-tags \ - maintainer-clean-generic distclean + maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ @@ -413,8 +425,10 @@ clean-libtool maintainer-clean-libtool mostlyclean-libLTLIBRARIES \ distclean-libLTLIBRARIES clean-libLTLIBRARIES \ maintainer-clean-libLTLIBRARIES uninstall-libLTLIBRARIES \ install-libLTLIBRARIES tags mostlyclean-tags distclean-tags clean-tags \ -maintainer-clean-tags distdir info dvi installcheck install-exec \ -install-data install uninstall all installdirs mostlyclean-generic \ +maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ distclean-generic clean-generic maintainer-clean-generic clean \ mostlyclean distclean maintainer-clean diff --git a/lib/defines.h b/lib/defines.h index 99b65126..9ee90f29 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -1,4 +1,4 @@ -/* $Id: defines.h,v 1.14 1999/03/07 19:14:34 marekm Exp $ */ +/* $Id: defines.h,v 1.15 1999/08/27 19:02:50 marekm Exp $ */ /* some useful defines */ #ifndef _DEFINES_H_ @@ -203,19 +203,13 @@ char *strchr(), *strrchr(), *strtok(); # define GTTY(fd, termio) tcgetattr(fd, termio) # define TERMIO struct termios # define USE_TERMIOS -#elif HAVE_TERMIO_H +#else /* assumed HAVE_TERMIO_H */ # include # include # define STTY(fd, termio) ioctl(fd, TCSETA, termio) # define GTTY(fd, termio) ioctl(fd, TCGETA, termio) # define TEMRIO struct termio # define USE_TERMIO -#elif HAVE_SGTTY_H -# include -# define STTY(fd, termio) stty(fd, termio) -# define GTTY(fd, termio) gtty(fd, termio) -# define TERMIO struct sgttyb -# define USE_SGTTY #endif /* diff --git a/lib/dialchk.c b/lib/dialchk.c index 5216a324..92b4ce7e 100644 --- a/lib/dialchk.c +++ b/lib/dialchk.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: dialchk.c,v 1.5 1998/12/28 20:34:34 marekm Exp $") +RCSID("$Id: dialchk.c,v 1.6 1999/08/27 19:02:51 marekm Exp $") #include #include "defines.h" @@ -68,7 +68,7 @@ dialcheck(const char *tty, const char *sh) if (dialup->du_passwd[0] == '\0') return (1); - if (! (pass = getpass(_("Dialup Password:")))) + if (! (pass = getpass(_("Dialup Password: ")))) return (0); cp = pw_encrypt (pass, dialup->du_passwd); diff --git a/lib/getdef.c b/lib/getdef.c index ba979387..f3cae104 100644 --- a/lib/getdef.c +++ b/lib/getdef.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: getdef.c,v 1.12 1999/03/07 19:14:36 marekm Exp $") +RCSID("$Id: getdef.c,v 1.13 1999/08/27 19:02:51 marekm Exp $") #include "prototypes.h" #include "defines.h" @@ -71,6 +71,7 @@ static struct itemdef def_table[] = { { "FAIL_DELAY", NULL }, { "FAKE_SHELL", NULL }, { "FTMP_FILE", NULL }, + { "GETPASS_ASTERISKS", NULL }, { "GID_MAX", NULL }, { "GID_MIN", NULL }, { "HUSHLOGIN_FILE", NULL }, @@ -116,6 +117,7 @@ static struct itemdef def_table[] = { { "ULIMIT", NULL }, { "UMASK", NULL }, { "USERDEL_CMD", NULL }, + { "USERGROUPS_ENAB", NULL } }; #ifndef LOGINDEFS diff --git a/lib/getpass.c b/lib/getpass.c index 615462ff..cc4b4585 100644 --- a/lib/getpass.c +++ b/lib/getpass.c @@ -31,13 +31,15 @@ #include #include "rcsid.h" -RCSID("$Id: getpass.c,v 1.9 1999/06/07 16:40:44 marekm Exp $") +RCSID("$Id: getpass.c,v 1.10 1999/08/27 19:02:51 marekm Exp $") #include "defines.h" #include #include +#include "getdef.h" + /* new code, #undef if there are any problems... */ #define USE_SETJMP 1 @@ -64,26 +66,33 @@ sig_catch(int sig) #define MAXLEN 127 -#ifndef NEW_READPASS /* ./configure --enable-readpass */ -#define OLD_READPASS 1 -#endif -#ifndef OLD_READPASS static char * -readpass(FILE *fp) +readpass(FILE *ifp, FILE *ofp, int with_echo, int max_asterisks) { static char input[MAXLEN + 1], asterix[MAXLEN + 1]; static char once; char *cp, *ap, c; int i; + if (max_asterisks < 0) { + /* traditional code using fgets() */ + if (fgets(input, sizeof input, ifp) != input) + return NULL; + cp = strrchr(input, '\n'); + if (cp) + *cp = '\0'; + else + input[sizeof input - 1] = '\0'; + return input; + } if (!once) { srandom(time(0)*getpid()); once = 1; } cp = input; ap = asterix; - while (read(fileno(fp), &c, 1)) { + while (read(fileno(ifp), &c, 1)) { switch (c) { case '\n': case '\r': @@ -91,67 +100,70 @@ readpass(FILE *fp) case '\b': case 127: if (cp > input) { - cp--; ap--; - for (i = 0; i < (*ap); i++) { - putc('\b', stdout); - putc(' ', stdout); - putc('\b', stdout); - } - } else - putc('\a', stdout); /* BEL */ + cp--; + ap--; + for (i = *ap; i > 0; i--) + fputs("\b \b", ofp); + *cp = '\0'; + *ap = 0; + } else { + putc('\a', ofp); /* BEL */ + } + break; + case '\025': /* Ctrl-U = erase everything typed so far */ + if (cp == input) { + putc('\a', ofp); /* BEL */ + } else while (cp > input) { + cp--; + ap--; + for (i = *ap; i > 0; i--) + fputs("\b \b", ofp); + *cp = '\0'; + *ap = 0; + } break; default: *cp++ = c; - *ap++ = (random() % 4)+1; - for (i = 0; i < (*(ap-1)); i++) - putc('*', stdout); + if (with_echo) { + *ap = 1; + putc(c, ofp); + } else if (max_asterisks > 0) { + *ap = (random() % max_asterisks) + 1; + for (i = *ap; i > 0; i--) + putc('*', ofp); + } else { + *ap = 0; + } + ap++; break; } - fflush(stdout); - if (cp == input + MAXLEN) + fflush(ofp); + if (cp >= input + MAXLEN) { + putc('\a', ofp); /* BEL */ break; + } } endwhile: - *cp = 0; - putc('\n', stdout); + *cp = '\0'; + putc('\n', ofp); return input; } -#else + static char * -readpass(FILE *fp) -{ - static char input[MAXLEN + 1]; - char *cp; - - if (fgets(input, sizeof input, fp) == input) { - if ((cp = strrchr(input, '\n'))) - *cp = '\0'; - else - input[sizeof input - 1] = '\0'; -#ifdef USE_SGTTY - putc('\n', stdout); -#endif - return input; - } - return NULL; -} -#endif - -char * -libshadow_getpass(const char *prompt) +prompt_password(const char *prompt, int with_echo) { static char nostring[1] = ""; static char *return_value; volatile int tty_opened; - static FILE *fp; + static FILE *ifp, *ofp; volatile int is_tty; #ifdef HAVE_SIGACTION struct sigaction old_sigact; #else RETSIGTYPE (*old_signal)(); #endif - TERMIO new_modes; TERMIO old_modes; + int max_asterisks = getdef_num("GETPASS_ASTERISKS", -1); /* * set a flag so the SIGINT signal can be re-sent if it @@ -164,24 +176,26 @@ libshadow_getpass(const char *prompt) /* * if /dev/tty can't be opened, getpass() needs to read - * from stdin instead. + * from stdin and write to stderr instead. */ - if ((fp = fopen ("/dev/tty", "r")) == 0) { - fp = stdin; - setbuf (fp, (char *) 0); + if (!(ifp = fopen("/dev/tty", "r+"))) { + ifp = stdin; + ofp = stderr; } else { + ofp = ifp; tty_opened = 1; } + setbuf(ifp, (char *) 0); /* * the current tty modes must be saved so they can be * restored later on. echo will be turned off, except - * for the newline character (BSD has to punt on this) + * for the newline character */ is_tty = 1; - if (GTTY(fileno(fp), &old_modes)) { + if (GTTY(fileno(ifp), &old_modes)) { is_tty = 0; #if 0 /* to make getpass work with redirected stdin */ return_value = NULL; @@ -204,24 +218,25 @@ libshadow_getpass(const char *prompt) sigact.sa_flags = 0; sigaction(SIGINT, &sigact, &old_sigact); #else - old_signal = signal (SIGINT, sig_catch); -#endif - - new_modes = old_modes; - -#ifdef USE_SGTTY - new_modes.sg_flags &= ~ECHO ; -#else -#ifdef OLD_READPASS - new_modes.c_lflag &= ~(ECHO|ECHOE|ECHOK); -#else - new_modes.c_lflag &= ~(ECHO|ECHOE|ECHOK|ICANON); -#endif - new_modes.c_lflag |= ECHONL; + old_signal = signal(SIGINT, sig_catch); #endif if (is_tty) { - if (STTY(fileno(fp), &new_modes)) + TERMIO new_modes = old_modes; + + if (max_asterisks < 0) + new_modes.c_lflag |= ICANON; + else + new_modes.c_lflag &= ~(ICANON); + + if (with_echo) + new_modes.c_lflag |= (ECHO | ECHOE | ECHOK); + else + new_modes.c_lflag &= ~(ECHO | ECHOE | ECHOK); + + new_modes.c_lflag |= ECHONL; + + if (STTY(fileno(ifp), &new_modes)) goto out; } @@ -232,8 +247,8 @@ libshadow_getpass(const char *prompt) * returned. */ - if ((fputs(prompt, stdout) != EOF) && (fflush(stdout) != EOF)) - return_value = readpass(fp); + if ((fputs(prompt, ofp) != EOF) && (fflush(ofp) != EOF)) + return_value = readpass(ifp, ofp, with_echo, max_asterisks); out: /* * the old SIGINT handler is restored after the tty @@ -243,7 +258,7 @@ out: */ if (is_tty) { - if (STTY(fileno(fp), &old_modes)) + if (STTY(fileno(ifp), &old_modes)) return_value = NULL; } @@ -254,7 +269,7 @@ out: #endif out2: if (tty_opened) - (void) fclose (fp); + (void) fclose(ifp); if (sig_caught) { kill(getpid(), SIGINT); @@ -266,3 +281,16 @@ out2: } return return_value; } + +char * +libshadow_getpass(const char *prompt) +{ + return prompt_password(prompt, 0); +} + +char * +getpass_with_echo(const char *prompt) +{ + return prompt_password(prompt, 1); +} + diff --git a/lib/pwauth.c b/lib/pwauth.c index 2e8fea54..67867ff6 100644 --- a/lib/pwauth.c +++ b/lib/pwauth.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID("$Id: pwauth.c,v 1.9 1998/12/28 20:34:38 marekm Exp $") +RCSID("$Id: pwauth.c,v 1.10 1999/08/27 19:02:51 marekm Exp $") #include #include @@ -53,10 +53,11 @@ RCSID("$Id: pwauth.c,v 1.9 1998/12/28 20:34:38 marekm Exp $") #ifdef __linux__ /* standard password prompt by default */ static const char *PROMPT = gettext_noop("Password: "); #else -static const char *PROMPT = gettext_noop("%s's Password:"); +static const char *PROMPT = gettext_noop("%s's Password: "); #endif -extern char *getpass(); +extern char *getpass(); +extern char *getpass_with_echo(); #ifdef AUTH_METHODS /* @@ -207,7 +208,7 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input) if (reason != PW_FTP && reason != PW_REXEC && !input) { if (! (cp = getdef_str ("LOGIN_STRING"))) - cp = PROMPT; + cp = _(PROMPT); #ifdef SKEY if (use_skey) printf ("[%s]\n", challenge_info); @@ -219,7 +220,7 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input) #endif snprintf(prompt, sizeof prompt, cp, user); - clear = getpass(_(prompt)); + clear = getpass(prompt); if (!clear) { static char c[1]; c[0] = '\0'; @@ -249,6 +250,35 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input) opieverify(&opie, (char *)NULL); #endif +#if (defined(SKEY) || defined(OPIE)) + /* + * If (1) The password fails to match, and + * (2) The password is empty and + * (3) We are using OPIE or S/Key, then + * ...Re-prompt, with echo on. + * -- AR 8/22/1999 + */ + if (retval && !input[0] && + (0 +#ifdef SKEY + || use_skey +#endif +#ifdef OPIE + || use_opie +#endif + )) { + strncat(prompt, _("(Echo on) "), + (sizeof(prompt) - strlen(prompt))); + clear = getpass_with_echo(prompt); + if (!clear) { + static char c[1]; + c[0] = '\0'; + clear = c; + } + input = clear; + } +#endif + #ifdef SKEY if (retval && use_skey) { int passcheck = -1; @@ -520,7 +550,7 @@ pw_auth(const char *command, const char *user, int reason, const char *input) if (strlen (command) >= sizeof buf) return -1; - strcpy (buf, command); /* safe (because of the above check) --marekm */ + strcpy(buf, command); /* safe (because of the above check) --marekm */ /* * Find each command and make sure it is NUL-terminated. Then diff --git a/libmisc/Makefile.in b/libmisc/Makefile.in index edac7d4c..9b85780a 100644 --- a/libmisc/Makefile.in +++ b/libmisc/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -11,7 +11,7 @@ # PARTICULAR PURPOSE. -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -31,7 +31,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -45,7 +45,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -58,11 +58,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -86,6 +88,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -108,13 +111,8 @@ localedir = $(datadir)/locale INCLUDES = -I$(top_srcdir)/libmisc -I$(top_srcdir)/lib DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@ -libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.c \ - chowndir.c chowntty.c console.c copydir.c entry.c env.c failure.c \ - fields.c getdate.y hushed.c isexpired.c limits.c list.c log.c \ - login_access.c login_desrpc.c login_krb.c loginprompt.c mail.c motd.c \ - myname.c obscure.c pam_pass.c pwd2spwd.c pwdcheck.c pwd_init.c rlogin.c \ - salt.c setugid.c setup.c setupenv.c shell.c strtoday.c suauth.c sub.c \ - sulog.c ttytype.c tz.c ulimit.c utmp.c valid.c xmalloc.c +libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.c chowndir.c chowntty.c console.c copydir.c entry.c env.c failure.c fields.c getdate.y hushed.c isexpired.c limits.c list.c log.c login_access.c login_desrpc.c login_krb.c loginprompt.c mail.c motd.c myname.c obscure.c pam_pass.c pwd2spwd.c pwdcheck.c pwd_init.c rlogin.c salt.c setugid.c setup.c setupenv.c shell.c strtoday.c suauth.c sub.c sulog.c ttytype.c tz.c ulimit.c utmp.c valid.c xmalloc.c + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -133,9 +131,10 @@ salt.o setugid.o setup.o setupenv.o shell.o strtoday.o suauth.o sub.o \ sulog.o ttytype.o tz.o ulimit.o utmp.o valid.o xmalloc.o AR = ar CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ HEADERS = $(noinst_HEADERS) DIST_COMMON = Makefile.am Makefile.in getdate.c @@ -144,15 +143,14 @@ DIST_COMMON = Makefile.am Makefile.in getdate.c DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best +GZIP_ENV = --best SOURCES = $(libmisc_a_SOURCES) OBJECTS = $(libmisc_a_OBJECTS) -all: Makefile $(LIBRARIES) $(HEADERS) - +all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .lo .o .s .y -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps libmisc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -212,7 +210,7 @@ libmisc.a: $(libmisc_a_OBJECTS) $(libmisc_a_DEPENDENCIES) $(AR) cru libmisc.a $(libmisc_a_OBJECTS) $(libmisc_a_LIBADD) $(RANLIB) libmisc.a .y.c: - $(YACC) $(YFLAGS) $< && mv y.tab.c $*.c + $(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c if test -f y.tab.h; then \ if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ else :; fi @@ -222,8 +220,12 @@ getdate.h: getdate.c tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ @@ -251,9 +253,13 @@ subdir = libmisc distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done addgrps.o: addgrps.c ../config.h ../lib/prototypes.h ../lib/defines.h \ ../lib/gshadow_.h ../lib/rcsid.h @@ -347,69 +353,79 @@ valid.o: valid.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \ xmalloc.o: xmalloc.c ../config.h ../lib/rcsid.h ../lib/defines.h \ ../lib/gshadow_.h -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile $(LIBRARIES) $(HEADERS) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \ + -test -z "getdatehgetdatec" || rm -f getdateh getdatec +mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \ mostlyclean-libtool mostlyclean-tags \ mostlyclean-generic -clean: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \ - clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-noinstLIBRARIES distclean-compile \ +clean-am: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \ + clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-noinstLIBRARIES distclean-compile \ distclean-libtool distclean-tags distclean-generic \ - clean - -rm -f config.status + clean-am -rm -f libtool -maintainer-clean: maintainer-clean-noinstLIBRARIES \ +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-noinstLIBRARIES \ maintainer-clean-compile maintainer-clean-libtool \ maintainer-clean-tags maintainer-clean-generic \ - distclean + distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ mostlyclean-compile distclean-compile clean-compile \ maintainer-clean-compile mostlyclean-libtool distclean-libtool \ clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ -distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ -installcheck install-exec install-data install uninstall all \ -installdirs mostlyclean-generic distclean-generic clean-generic \ +distclean-tags clean-tags maintainer-clean-tags distdir info-am info \ +dvi-am dvi check check-am installcheck-am installcheck install-exec-am \ +install-exec install-data-am install-data install-am install \ +uninstall-am uninstall all-redirect all-am all installdirs \ +mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean diff --git a/libmisc/limits.c b/libmisc/limits.c index 0769b1d9..e17817ea 100644 --- a/libmisc/limits.c +++ b/libmisc/limits.c @@ -35,7 +35,7 @@ #include #include "rcsid.h" -RCSID("$Id: limits.c,v 1.9 1999/03/07 19:14:39 marekm Exp $") +RCSID("$Id: limits.c,v 1.10 1999/08/27 19:02:51 marekm Exp $") #include #include @@ -102,6 +102,20 @@ set_prio(const char *value) } +static int +set_umask(const char *value) +{ + mode_t mask; + char **endptr = (char **) &value; + + mask = strtol(value, endptr, 8) & 0777; + if ((mask == 0) && (value == *endptr)) + return 0; + umask(mask); + return 0; +} + + /* Counts the number of user logins and check against the limit */ static int check_logins(const char *name, const char *maxlogins) @@ -158,15 +172,16 @@ check_logins(const char *name, const char *maxlogins) * [Aa]: a = RLIMIT_AS max address space (KB) * [Cc]: c = RLIMIT_CORE max core file size (KB) * [Dd]: d = RLIMIT_DATA max data size (KB) - * [Ff]: f = RLIMIT_FSIZE Maximum filesize (KB) + * [Ff]: f = RLIMIT_FSIZE max file size (KB) * [Mm]: m = RLIMIT_MEMLOCK max locked-in-memory address space (KB) * [Nn]: n = RLIMIT_NOFILE max number of open files * [Rr]: r = RLIMIT_RSS max resident set size (KB) * [Ss]: s = RLIMIT_STACK max stack size (KB) * [Tt]: t = RLIMIT_CPU max CPU time (MIN) * [Uu]: u = RLIMIT_NPROC max number of processes + * [Kk]: k = file creation masK (umask) * [Ll]: l = max number of logins for this user - * [Pp]: p = process priority -20..20 (negative = high priority) + * [Pp]: p = process priority -20..20 (negative = high, positive = low) * * Return value: * 0 = okay, of course @@ -254,6 +269,10 @@ do_user_limits(const char *buf, const char *name) retval |= setrlimit_value(RLIMIT_STACK, pp, 1024); break; #endif + case 'k': + case 'K': + retval |= set_umask(pp); + break; case 'l': case 'L': /* LIMIT the number of concurent logins */ @@ -330,6 +349,27 @@ setup_user_limits(const char *uname) } #endif /* LIMITS */ + +static void +setup_usergroups(const struct passwd *info) +{ + const struct group *grp; + mode_t oldmask; + +/* + * if not root, and uid == gid, and username is the same as primary + * group name, set umask group bits to be the same as owner bits + * (examples: 022 -> 002, 077 -> 007). + */ + if (info->pw_uid != 0 && info->pw_uid == info->pw_gid) { + grp = getgrgid(info->pw_gid); + if (grp && (strcmp(info->pw_name, grp->gr_name) == 0)) { + oldmask = umask(0777); + umask((oldmask & ~070) | ((oldmask >> 3) & 070)); + } + } +} + /* * set the process nice, ulimit, and umask from the password file entry */ @@ -341,16 +381,8 @@ setup_limits(const struct passwd *info) int i; long l; -#ifdef USERGROUPS - if (info->pw_uid != 0 && info->pw_uid == info->pw_gid) { - const struct group *grp; - - grp = getgrgid(info->pw_gid); - if (grp && !strcmp(info->pw_name, grp->gr_name)) { - umask(umask(0) & ~070); - } - } -#endif + if (getdef_bool("USERGROUPS_ENAB")) + setup_usergroups(info); /* * See if the GECOS field contains values for NICE, UMASK or ULIMIT. @@ -358,9 +390,9 @@ setup_limits(const struct passwd *info) * values the defaults for this login session. */ - if ( getdef_bool("QUOTAS_ENAB") ) { + if (getdef_bool("QUOTAS_ENAB")) { #ifdef LIMITS - if (info->pw_uid) + if (info->pw_uid != 0) if (setup_user_limits(info->pw_name) & LOGIN_ERROR_LOGIN) { fprintf(stderr, _("Too many logins.\n")); sleep(2); diff --git a/libmisc/rlogin.c b/libmisc/rlogin.c index b44a86aa..d79cc1d9 100644 --- a/libmisc/rlogin.c +++ b/libmisc/rlogin.c @@ -32,7 +32,7 @@ #ifdef RLOGIN #include "rcsid.h" -RCSID("$Id: rlogin.c,v 1.4 1997/12/14 20:07:20 marekm Exp $") +RCSID("$Id: rlogin.c,v 1.5 1999/08/27 19:02:51 marekm Exp $") #include "prototypes.h" #include "defines.h" @@ -140,15 +140,16 @@ do_rlogin(const char *remote_host, char *name, int namelen, char *term, int term * Put the terminal in cooked mode with echo turned on. */ - GTTY (0, &termio); -#ifndef USE_SGTTY + GTTY(0, &termio); termio.c_iflag |= ICRNL|IXON; termio.c_oflag |= OPOST|ONLCR; termio.c_lflag |= ICANON|ECHO|ECHOE; +#ifdef CBAUD termio.c_cflag = (termio.c_cflag & ~CBAUD) | speed_name; #else + termio.c_cflag = (termio.c_cflag) | speed_name; #endif - STTY (0, &termio); + STTY(0, &termio); if (! (pwd = getpwnam (name))) return 0; diff --git a/ltconfig b/ltconfig index 60637ccd..65ec6f65 100755 --- a/ltconfig +++ b/ltconfig @@ -1,8 +1,8 @@ #! /bin/sh # ltconfig - Create a system-specific libtool. -# Copyright (C) 1996-1998 Free Software Foundation, Inc. -# Gordon Matzigkeit , 1996 +# Copyright (C) 1996-1999 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,30 +25,129 @@ # A lot of this script is taken from autoconf-2.10. +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} +echo=echo +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec "$SHELL" "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat </dev/null`} + case X$UNAME in + *-DOS) PATH_SEPARATOR=';' ;; + *) PATH_SEPARATOR=':' ;; + esac +fi + # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test "${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi -echo=echo -if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : -else - # The Solaris and AIX default echo program unquotes backslashes. - # This makes it impossible to quote backslashes using +if test "X${echo_test_string+set}" != "Xset"; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string="`eval $cmd`") 2>/dev/null && + echo_test_string="`eval $cmd`" && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null; then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" != 'X\t' || + test "X`($echo "$echo_test_string") 2>/dev/null`" != X"$echo_test_string"; then + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' - # So, we emulate echo with printf '%s\n' - echo="printf %s\\n" - if test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then : - else - # Oops. We have no working printf. Try to find a not-so-buggy echo. - echo=echo - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" - for dir in $PATH /usr/ucb; do - if test -f $dir/echo && test "X`$dir/echo '\t'`" = 'X\t'; then - echo="$dir/echo" - break + # + # So, first we look for a working echo in the user's PATH. + + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" + for dir in $PATH /usr/ucb; do + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + test "X`($dir/echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + test "X`(print -r "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running ltconfig again with it. + ORIGINAL_CONFIG_SHELL="${CONFIG_SHELL-/bin/sh}" + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" --no-reexec ${1+"$@"} + else + # Try using printf. + echo='printf "%s\n"' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + test "X`($echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then + # Cool, printf works + : + elif test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && + test "X`("$ORIGINAL_CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then + CONFIG_SHELL="$ORIGINAL_CONFIG_SHELL" + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL $0 --fallback-echo" + elif test "X`("$CONFIG_SHELL" "$0" --fallback-echo '\t') 2>/dev/null`" = 'X\t' && + test "X`("$CONFIG_SHELL" "$0" --fallback-echo "$echo_test_string") 2>/dev/null`" = X"$echo_test_string"; then + echo="$CONFIG_SHELL $0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null; then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "$0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec "${ORIGINAL_CONFIG_SHELL}" "$0" ${1+"$@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi fi - done - IFS="$save_ifs" + fi fi fi @@ -60,13 +159,18 @@ sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + # The name of this program. progname=`$echo "X$0" | $Xsed -e 's%^.*/%%'` # Constants: PROGRAM=ltconfig PACKAGE=libtool -VERSION=1.2 +VERSION=1.3.3 +TIMESTAMP=" (1.385.2.181 1999/07/02 15:49:11)" ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.c 1>&5' ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.c $LIBS 1>&5' rm="rm -f" @@ -74,10 +178,15 @@ rm="rm -f" help="Try \`$progname --help' for more information." # Global variables: +default_ofile=libtool can_build_shared=yes enable_shared=yes -# All known linkers require a `.a' archive for static linking. +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). enable_static=yes +enable_fast_install=yes +enable_dlopen=unknown +enable_win32_dll=no ltmain= silent= srcdir= @@ -85,18 +194,30 @@ ac_config_guess= ac_config_sub= host= nonopt= +ofile="$default_ofile" verify_host=yes with_gcc=no with_gnu_ld=no +need_locks=yes +ac_ext=c +objext=o +libext=a +exeext= +cache_file= old_AR="$AR" old_CC="$CC" old_CFLAGS="$CFLAGS" old_CPPFLAGS="$CPPFLAGS" +old_LDFLAGS="$LDFLAGS" old_LD="$LD" old_LN_S="$LN_S" +old_LIBS="$LIBS" old_NM="$NM" old_RANLIB="$RANLIB" +old_DLLTOOL="$DLLTOOL" +old_OBJDUMP="$OBJDUMP" +old_AS="$AS" # Parse the command line options. args= @@ -117,33 +238,51 @@ do case "$option" in --help) cat <&2 echo "$help" 1>&2 @@ -185,8 +331,7 @@ if test -z "$ltmain"; then exit 1 fi -if test -f "$ltmain"; then : -else +if test ! -f "$ltmain"; then echo "$progname: \`$ltmain' does not exist" 1>&2 echo "$help" 1>&2 exit 1 @@ -227,6 +372,11 @@ exec 5>>./config.log if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LANG+set}" = set; then LANG=C; export LANG; fi +if test -n "$cache_file" && test -r "$cache_file"; then + echo "loading cache $cache_file within ltconfig" + . $cache_file +fi + if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then @@ -240,8 +390,8 @@ else fi if test -z "$srcdir"; then - # Assume the source directory is the same one as the path to ltmain.sh. - srcdir=`$echo "$ltmain" | $Xsed -e 's%/[^/]*$%%'` + # Assume the source directory is the same one as the path to LTMAIN. + srcdir=`$echo "X$ltmain" | $Xsed -e 's%/[^/]*$%%'` test "$srcdir" = "$ltmain" && srcdir=. fi @@ -264,7 +414,7 @@ if test "$verify_host" = yes; then ac_config_sub=$ac_aux_dir/config.sub # Make sure we can run config.sub. - if $ac_config_sub sun4 >/dev/null 2>&1; then : + if $SHELL $ac_config_sub sun4 >/dev/null 2>&1; then : else echo "$progname: cannot run $ac_config_sub" 1>&2 echo "$help" 1>&2 @@ -276,14 +426,14 @@ if test "$verify_host" = yes; then host_alias=$host case "$host_alias" in "") - if host_alias=`$ac_config_guess`; then : + if host_alias=`$SHELL $ac_config_guess`; then : else echo "$progname: cannot guess host type; you must specify one" 1>&2 echo "$help" 1>&2 exit 1 fi ;; esac - host=`$ac_config_sub $host_alias` + host=`$SHELL $ac_config_sub $host_alias` echo "$ac_t$host" 1>&6 # Make sure the host verified. @@ -327,15 +477,18 @@ old_postuninstall_cmds= # Set a sane default for `AR'. test -z "$AR" && AR=ar +# Set a sane default for `OBJDUMP'. +test -z "$OBJDUMP" && OBJDUMP=objdump + # If RANLIB is not set, then run the test. if test "${RANLIB+set}" != "set"; then result=no echo $ac_n "checking for ranlib... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH; do test -z "$dir" && dir=. - if test -f $dir/ranlib; then + if test -f $dir/ranlib || test -f $dir/ranlib$ac_exeext; then RANLIB="ranlib" result="ranlib" break @@ -347,20 +500,24 @@ if test "${RANLIB+set}" != "set"; then fi if test -n "$RANLIB"; then - old_archive_cmds="$old_archive_cmds;\$RANLIB \$oldlib" - old_postinstall_cmds="\$RANLIB \$oldlib;$old_postinstall_cmds" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" fi +# Set sane defaults for `DLLTOOL', `OBJDUMP', and `AS', used on cygwin. +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$AS" && AS=as + # Check to see if we are using GCC. if test "$with_gcc" != yes || test -z "$CC"; then # If CC is not set, then try to find GCC or a usable CC. if test -z "$CC"; then echo $ac_n "checking for gcc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for dir in $PATH; do - IFS="$save_ifs" test -z "$dir" && dir=. - if test -f $dir/gcc; then + if test -f $dir/gcc || test -f $dir/gcc$ac_exeext; then CC="gcc" break fi @@ -377,11 +534,11 @@ if test "$with_gcc" != yes || test -z "$CC"; then # Not "gcc", so try "cc", rejecting "/usr/ucb/cc". if test -z "$CC"; then echo $ac_n "checking for cc... $ac_c" 1>&6 - IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" cc_rejected=no for dir in $PATH; do test -z "$dir" && dir=. - if test -f $dir/cc; then + if test -f $dir/cc || test -f $dir/cc$ac_exeext; then if test "$dir/cc" = "/usr/ucb/cc"; then cc_rejected=yes continue @@ -421,7 +578,7 @@ if test "$with_gcc" != yes || test -z "$CC"; then # Now see if the compiler is really GCC. with_gcc=no echo $ac_n "checking whether we are using GNU C... $ac_c" 1>&6 - echo "$progname:424: checking whether we are using GNU C" >&5 + echo "$progname:581: checking whether we are using GNU C" >&5 $rm conftest.c cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + if { ac_try='${CC-cc} -E conftest.c'; { (eval echo $progname:589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then with_gcc=yes fi $rm conftest.c @@ -440,6 +597,60 @@ fi set dummy $CC compiler="$2" +echo $ac_n "checking for object suffix... $ac_c" 1>&6 +$rm conftest* +echo 'int i = 1;' > conftest.c +echo "$progname:603: checking for object suffix" >& 5 +if { (eval echo $progname:604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; }; then + # Append any warnings to the config.log. + cat conftest.err 1>&5 + + for ac_file in conftest.*; do + case $ac_file in + *.c) ;; + *) objext=`echo $ac_file | sed -e s/conftest.//` ;; + esac + done +else + cat conftest.err 1>&5 + echo "$progname: failed program was:" >&5 + cat conftest.c >&5 +fi +$rm conftest* +echo "$ac_t$objext" 1>&6 + +echo $ac_n "checking for executable suffix... $ac_c" 1>&6 +if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_cv_exeext="no" + $rm conftest* + echo 'main () { return 0; }' > conftest.c + echo "$progname:629: checking for executable suffix" >& 5 + if { (eval echo $progname:630: \"$ac_link\") 1>&5; (eval $ac_link) 2>conftest.err; }; then + # Append any warnings to the config.log. + cat conftest.err 1>&5 + + for ac_file in conftest.*; do + case $ac_file in + *.c | *.err | *.$objext ) ;; + *) ac_cv_exeext=.`echo $ac_file | sed -e s/conftest.//` ;; + esac + done + else + cat conftest.err 1>&5 + echo "$progname: failed program was:" >&5 + cat conftest.c >&5 + fi + $rm conftest* +fi +if test "X$ac_cv_exeext" = Xno; then + exeext="" +else + exeext="$ac_cv_exeext" +fi +echo "$ac_t$ac_cv_exeext" 1>&6 + echo $ac_n "checking for $compiler option to produce PIC... $ac_c" 1>&6 pic_flag= special_shlib_compile_flags= @@ -450,13 +661,21 @@ no_builtin_flag= if test "$with_gcc" = yes; then wl='-Wl,' link_static_flag='-static' - no_builtin_flag=' -fno-builtin' case "$host_os" in - aix3* | aix4* | irix5* | irix6* | osf3* | osf4*) + beos* | irix5* | irix6* | osf3* | osf4*) # PIC is the default for these OSes. ;; - os2*) + aix*) + # Below there is a dirty hack to force normal static linking with -ldl + # The problem is because libdl dynamically linked with both libc and + # libC (AIX C++ library), which obviously doesn't included in libraries + # list by gcc. This cause undefined symbols with -static flags. + # This hack allows C programs to be linked with "-static -ldl", but + # we not sure about C++ programs. + link_static_flag="$link_static_flag ${wl}-lC" + ;; + cygwin* | mingw* | os2*) # We can build DLLs from non-PIC. ;; amigaos*) @@ -465,6 +684,11 @@ if test "$with_gcc" = yes; then # like `-m68040'. pic_flag='-m68020 -resident32 -malways-restore-a4' ;; + sysv4*MP*) + if test -d /usr/nec; then + pic_flag=-Kconform_pic + fi + ;; *) pic_flag='-fPIC' ;; @@ -477,7 +701,7 @@ else link_static_flag='-bnso -bI:/lib/syscalls.exp' ;; - hpux9* | hpux10*) + hpux9* | hpux10* | hpux11*) # Is there a better link_static_flag that works with the bundled CC? wl='-Wl,' link_static_flag="${wl}-a ${wl}archive" @@ -490,7 +714,7 @@ else # PIC (with -KPIC) is the default. ;; - os2*) + cygwin* | mingw* | os2*) # We can build DLLs from non-PIC. ;; @@ -506,7 +730,7 @@ else special_shlib_compile_flags='-belf' ;; - solaris2*) + solaris*) pic_flag='-KPIC' link_static_flag='-Bstatic' wl='-Wl,' @@ -518,7 +742,7 @@ else wl='-Qoption ld ' ;; - sysv4.2uw2*) + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) pic_flag='-KPIC' link_static_flag='-Bstatic' wl='-Wl,' @@ -528,7 +752,12 @@ else pic_flag='-pic' link_static_flag='-Bstatic' ;; - + sysv4*MP*) + if test -d /usr/nec ;then + pic_flag='-Kconform_pic' + link_static_flag='-Bstatic' + fi + ;; *) can_build_shared=no ;; @@ -541,25 +770,33 @@ if test -n "$pic_flag"; then # Check to make sure the pic_flag actually works. echo $ac_n "checking if $compiler PIC flag $pic_flag works... $ac_c" 1>&6 $rm conftest* - echo > conftest.c + echo "int some_variable = 0;" > conftest.c save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $pic_flag -DPIC" - echo "$progname:547: checking if $compiler PIC flag $pic_flag works" >&5 - if { (eval echo $progname:548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then + echo "$progname:776: checking if $compiler PIC flag $pic_flag works" >&5 + if { (eval echo $progname:777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.$objext; then # Append any warnings to the config.log. cat conftest.err 1>&5 - - # On HP-UX, both CC and GCC only warn that PIC is supported... then they - # create non-PIC objects. So, if there were any warnings, we assume that - # PIC is not supported. - if test -s conftest.err; then - echo "$ac_t"no 1>&6 - can_build_shared=no - pic_flag= - else + + case "$host_os" in + hpux9* | hpux10* | hpux11*) + # On HP-UX, both CC and GCC only warn that PIC is supported... then they + # create non-PIC objects. So, if there were any warnings, we assume that + # PIC is not supported. + if test -s conftest.err; then + echo "$ac_t"no 1>&6 + can_build_shared=no + pic_flag= + else + echo "$ac_t"yes 1>&6 + pic_flag=" $pic_flag" + fi + ;; + *) echo "$ac_t"yes 1>&6 pic_flag=" $pic_flag" - fi + ;; + esac else # Append any errors to the config.log. cat conftest.err 1>&5 @@ -573,6 +810,136 @@ else echo "$ac_t"none 1>&6 fi +# Check to see if options -o and -c are simultaneously supported by compiler +echo $ac_n "checking if $compiler supports -c -o file.o... $ac_c" 1>&6 +$rm -r conftest 2>/dev/null +mkdir conftest +cd conftest +$rm conftest* +echo "int some_variable = 0;" > conftest.c +mkdir out +# According to Tom Tromey, Ian Lance Taylor reported there are C compilers +# that will create temporary files in the current directory regardless of +# the output directory. Thus, making CWD read-only will cause this test +# to fail, enabling locking or at least warning the user not to do parallel +# builds. +chmod -w . +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -o out/conftest2.o" +echo "$progname:829: checking if $compiler supports -c -o file.o" >&5 +if { (eval echo $progname:830: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.o; then + + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s out/conftest.err; then + echo "$ac_t"no 1>&6 + compiler_c_o=no + else + echo "$ac_t"yes 1>&6 + compiler_c_o=yes + fi +else + # Append any errors to the config.log. + cat out/conftest.err 1>&5 + compiler_c_o=no + echo "$ac_t"no 1>&6 +fi +CFLAGS="$save_CFLAGS" +chmod u+w . +$rm conftest* out/* +rmdir out +cd .. +rmdir conftest +$rm -r conftest 2>/dev/null + +if test x"$compiler_c_o" = x"yes"; then + # Check to see if we can write to a .lo + echo $ac_n "checking if $compiler supports -c -o file.lo... $ac_c" 1>&6 + $rm conftest* + echo "int some_variable = 0;" > conftest.c + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -c -o conftest.lo" + echo "$progname:862: checking if $compiler supports -c -o file.lo" >&5 +if { (eval echo $progname:863: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.lo; then + + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + echo "$ac_t"no 1>&6 + compiler_o_lo=no + else + echo "$ac_t"yes 1>&6 + compiler_o_lo=yes + fi + else + # Append any errors to the config.log. + cat conftest.err 1>&5 + compiler_o_lo=no + echo "$ac_t"no 1>&6 + fi + CFLAGS="$save_CFLAGS" + $rm conftest* +else + compiler_o_lo=no +fi + +# Check to see if we can do hard links to lock some files if needed +hard_links="nottested" +if test "$compiler_c_o" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + echo $ac_n "checking if we can lock with hard links... $ac_c" 1>&6 + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + echo "$ac_t$hard_links" 1>&6 + $rm conftest* + if test "$hard_links" = no; then + echo "*** WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2 + need_locks=warn + fi +else + need_locks=no +fi + +if test "$with_gcc" = yes; then + # Check to see if options -fno-rtti -fno-exceptions are supported by compiler + echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions ... $ac_c" 1>&6 + $rm conftest* + echo "int some_variable = 0;" > conftest.c + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.c" + echo "$progname:914: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 + if { (eval echo $progname:915: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>conftest.err; } && test -s conftest.o; then + + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + echo "$ac_t"no 1>&6 + compiler_rtti_exceptions=no + else + echo "$ac_t"yes 1>&6 + compiler_rtti_exceptions=yes + fi + else + # Append any errors to the config.log. + cat conftest.err 1>&5 + compiler_rtti_exceptions=no + echo "$ac_t"no 1>&6 + fi + CFLAGS="$save_CFLAGS" + $rm conftest* + + if test "$compiler_rtti_exceptions" = "yes"; then + no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions' + else + no_builtin_flag=' -fno-builtin' + fi + +fi + # Check for any special shared library compilation flags. if test -n "$special_shlib_compile_flags"; then echo "$progname: warning: \`$CC' requires \`$special_shlib_compile_flags' to build shared libraries" 1>&2 @@ -588,8 +955,8 @@ $rm conftest* echo 'main(){return(0);}' > conftest.c save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $link_static_flag" -echo "$progname:591: checking if $compiler static flag $link_static_flag works" >&5 -if { (eval echo $progname:592: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +echo "$progname:958: checking if $compiler static flag $link_static_flag works" >&5 +if { (eval echo $progname:959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then echo "$ac_t$link_static_flag" 1>&6 else echo "$ac_t"none 1>&6 @@ -601,9 +968,9 @@ $rm conftest* if test -z "$LN_S"; then # Check to see if we can use ln -s, or we need hard links. echo $ac_n "checking whether ln -s works... $ac_c" 1>&6 - $rm conftestdata - if ln -s X conftestdata 2>/dev/null; then - $rm conftestdata + $rm conftest.dat + if ln -s X conftest.dat 2>/dev/null; then + $rm conftest.dat LN_S="ln -s" else LN_S=ln @@ -621,11 +988,17 @@ if test -z "$LD"; then if test "$with_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC... $ac_c" 1>&6 - echo "$progname:624: checking for ld used by GCC" >&5 + echo "$progname:991: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. - /* | [A-Za-z]:\\*) + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done test -z "$LD" && LD="$ac_prog" ;; "") @@ -639,17 +1012,17 @@ if test -z "$LD"; then esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld... $ac_c" 1>&6 - echo "$progname:642: checking for GNU ld" >&5 + echo "$progname:1015: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 - echo "$progname:645: checking for non-GNU ld" >&5 + echo "$progname:1018: checking for non-GNU ld" >&5 fi if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. @@ -691,55 +1064,197 @@ echo $ac_n "checking whether the linker ($LD) supports shared libraries... $ac_c allow_undefined_flag= no_undefined_flag= +need_lib_prefix=unknown +need_version=unknown +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments archive_cmds= +archive_expsym_cmds= old_archive_from_new_cmds= export_dynamic_flag_spec= +whole_archive_flag_spec= +thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported runpath_var= +always_export_symbols=no +export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' +# include_expsyms should be a list of space-separated symbols to be *always* +# included in the symbol list +include_expsyms= +# exclude_expsyms can be an egrep regular expression of symbols to exclude +# it will be wrapped by ` (' and `)$', so one must not match beginning or +# end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', +# as well as any symbol that contains `d'. +exclude_expsyms="_GLOBAL_OFFSET_TABLE_" +# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out +# platforms (ab)use it in PIC code, but their linkers get confused if +# the symbol is explicitly referenced. Since portable code cannot +# rely on this symbol name, it's probably fine to never include it in +# preloaded symbol tables. case "$host_os" in -amigaos* | sunos4*) - # On these operating systems, we should treat GNU ld like the system ld. - gnu_ld_acts_native=yes - ;; -*) - gnu_ld_acts_native=no +cygwin* | mingw*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$with_gcc" != yes; then + with_gnu_ld=no + fi ;; + esac ld_shlibs=yes -if test "$with_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then +if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' # See if GNU ld supports shared libraries. - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - case "$host_os" in - linux-gnu*) - archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs $deplibs' - ;; - *) - archive_cmds='$CC -shared ${wl}-soname $wl$soname -o $lib$libobjs' - ;; - esac - runpath_var=LD_RUN_PATH - ld_shlibs=yes - else + case "$host_os" in + aix3* | aix4*) + # On AIX, the GNU linker is very broken ld_shlibs=no - fi + cat <&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + ;; + + amigaos*) + archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + + # Samuel A. Falvo II reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can use + # them. + ld_shlibs=no + ;; + + beos*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw*) + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + allow_undefined_flag=unsupported + always_export_symbols=yes + + # Extract the symbol export list from an `--export-all' def file, + # then regenerate the def file from the symbol export list, so that + # the compiled dll only exports the symbol export list. + export_symbols_cmds='test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ + test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ + $DLLTOOL --export-all --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --output-def $objdir/$soname-def $objdir/$soname-ltdll.$objext $libobjs $convenience~ + sed -e "1,/EXPORTS/d" -e "s/ @ [0-9]* ; *//" < $objdir/$soname-def > $export_symbols' + + archive_expsym_cmds='echo EXPORTS > $objdir/$soname-def~ + _lt_hint=1; + for symbol in `cat $export_symbols`; do + echo " \$symbol @ \$_lt_hint ; " >> $objdir/$soname-def; + _lt_hint=`expr 1 + \$_lt_hint`; + done~ + test -f $objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $0 > $objdir/$soname-ltdll.c~ + test -f $objdir/$soname-ltdll.$objext || (cd $objdir && $CC -c $soname-ltdll.c)~ + $CC -Wl,--base-file,$objdir/$soname-base -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC -Wl,--base-file,$objdir/$soname-base $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts~ + $DLLTOOL --as=$AS --dllname $soname --exclude-symbols DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12 --def $objdir/$soname-def --base-file $objdir/$soname-base --output-exp $objdir/$soname-exp~ + $CC $objdir/$soname-exp -Wl,--dll -nostartfiles -Wl,-e,__cygwin_dll_entry@12 -o $lib $objdir/$soname-ltdll.$objext $libobjs $deplibs $linkopts' + + old_archive_from_new_cmds='$DLLTOOL --as=$AS --dllname $soname --def $objdir/$soname-def --output-lib $objdir/$libname.a' + ;; + + netbsd*) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib' + # can we support soname and/or expsyms with a.out? -oliva + fi + ;; + + solaris*) + if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then + ld_shlibs=no + cat <&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + + sunos4*) + archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linkopts' + wlarc= + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + *) + if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + ld_shlibs=no + fi + ;; + esac if test "$ld_shlibs" = yes; then + runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' + case $host_os in + cygwin* | mingw*) + # dlltool doesn't understand --whole-archive et. al. + whole_archive_flag_spec= + ;; + *) + whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + ;; + esac fi else # PORTME fill in a description of your system's linker (not GNU ld) case "$host_os" in aix3*) allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE;$AR cru $lib $objdir/$soname' + always_export_symbols=yes + archive_expsym_cmds='$LD -o $objdir/$soname $libobjs $deplibs $linkopts -bE:$export_symbols -T512 -H512 -bM:SRE~$AR cru $lib $objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes @@ -751,16 +1266,67 @@ else ;; aix4*) - allow_undefined_flag=unsupported - archive_cmds='$NM$libobjs | $global_symbol_pipe | sed '\''s/.* //'\'' > $lib.exp;$CC -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry;$AR cru $lib $objdir/$soname' - hardcode_direct=yes - hardcode_minus_L=yes - ;; + hardcode_libdir_flag_spec='${wl}-b ${wl}nolibpath ${wl}-b ${wl}libpath:$libdir:/usr/lib:/lib' + hardcode_libdir_separator=':' + if test "$with_gcc" = yes; then + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + hardcode_direct=yes + else + # We have old collect2 + hardcode_direct=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + hardcode_minus_L=yes + hardcode_libdir_flag_spec='-L$libdir' + hardcode_libdir_separator= + fi + shared_flag='-shared' + else + shared_flag='${wl}-bM:SRE' + hardcode_direct=yes + fi + allow_undefined_flag=' ${wl}-berok' + archive_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bexpall ${wl}-bnoentry${allow_undefined_flag}' + archive_expsym_cmds="\$CC $shared_flag"' -o $objdir/$soname $libobjs $deplibs $linkopts ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}' + case "$host_os" in aix4.[01]|aix4.[01].*) + # According to Greg Wooledge, -bexpall is only supported from AIX 4.2 on + always_export_symbols=yes ;; + esac + ;; amigaos*) - archive_cmds='$rm $objdir/a2ixlibrary.data;$echo "#define NAME $libname" > $objdir/a2ixlibrary.data;$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data;$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data;$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data;$AR cru $lib$libobjs;$RANLIB $lib;(cd $objdir && a2ixlibrary -32)' + archive_cmds='$rm $objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $objdir/a2ixlibrary.data~$AR cru $lib $libobjs~$RANLIB $lib~(cd $objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes + # see comment about different semantics on the GNU ld section + ld_shlibs=no + ;; + + cygwin* | mingw*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $linkopts `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib /OUT:$oldlib$oldobjs' + fix_srcfile_path='`cygpath -w $srcfile`' + ;; + + freebsd1*) + ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor @@ -768,61 +1334,64 @@ else # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs /usr/lib/c++rt0.o' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes - hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) - archive_cmds='$LD -Bshareable -o $lib$libobjs' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; - # FreeBSD 3, at last, uses gcc -shared to do shared libraries. - freebsd3*) - archive_cmds='$CC -shared -o $lib$libobjs' + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + archive_cmds='$CC -shared -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes - hardcode_minus_L=yes hardcode_shlibpath_var=no ;; - hpux9*) - archive_cmds='$rm $objdir/$soname;$LD -b +s +b $install_libdir -o $objdir/$soname$libobjs;mv $objdir/$soname $lib' + hpux9* | hpux10* | hpux11*) + case "$host_os" in + hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;; + *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linkopts' ;; + esac hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' + hardcode_libdir_separator=: hardcode_direct=yes - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs' - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_direct=yes - hardcode_minus_L=yes + hardcode_minus_L=yes # Not in the search PATH, but as the default + # location of the library. export_dynamic_flag_spec='${wl}-E' ;; irix5* | irix6*) - archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs' + if test "$with_gcc" = yes; then + archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + else + archive_cmds='$LD -shared $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' + hardcode_libdir_separator=: ;; netbsd*) - # Tested with NetBSD 1.2 ld - archive_cmds='$LD -Bshareable -o $lib$libobjs' - hardcode_libdir_flag_spec='-R$libdir' + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out + else + archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF + fi + hardcode_libdir_flag_spec='${wl}-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; openbsd*) - archive_cmds='$LD -Bshareable -o $lib$libobjs' + archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no @@ -832,88 +1401,119 @@ else hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def;$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def;$echo DATA >> $objdir/$libname.def;$echo " SINGLE NONSHARED" >> $objdir/$libname.def;$echo EXPORTS >> $objdir/$libname.def;emxexp$libobjs >> $objdir/$libname.def;$CC -Zdll -Zcrtdll -o $lib$libobjs $objdir/$libname.def' + archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $objdir/$libname.def~$echo DATA >> $objdir/$libname.def~$echo " SINGLE NONSHARED" >> $objdir/$libname.def~$echo EXPORTS >> $objdir/$libname.def~emxexp $libobjs >> $objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $linkopts $objdir/$libname.def' old_archive_from_new_cmds='emximp -o $objdir/$libname.a $objdir/$libname.def' ;; osf3* | osf4*) - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} -o $lib -soname $soname -set_version $verstring$libobjs$deplibs' + if test "$with_gcc" = yes; then + allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' + archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $linkopts ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linkopts -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; sco3.2v5*) - archive_cmds='$LD -G -o $lib$libobjs' - hardcode_direct=yes + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes ;; - solaris2*) + solaris*) no_undefined_flag=' -z text' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib$libobjs' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linkopts' + archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linkopts~$rm $lib.exp' hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no - - # Solaris 2 before 2.5 hardcodes -L paths. case "$host_os" in - solaris2.[0-4]*) - hardcode_minus_L=yes - ;; + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + whole_archive_flag_spec='-z allextract$convenience -z defaultextract' ;; esac ;; sunos4*) - if test "$with_gcc" = yes; then - archive_cmds='$CC -shared -o $lib$libobjs' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs' - fi - - if test "$with_gnu_ld" = yes; then - export_dynamic_flag_spec='${wl}-export-dynamic' - fi + archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linkopts' hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; - uts4*) - archive_cmds='$LD -G -h $soname -o $lib$libobjs' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=no - hardcode_minus_L=no + sysv4) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no + hardcode_direct=no #Motorola manual says yes, but my tests say they lie + ;; + + sysv4.3*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + hardcode_shlibpath_var=no + export_dynamic_flag_spec='-Bexport' + ;; + + uts4*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + dgux*) + archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_shlibpath_var=no + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + # archive_cmds='$LD -G -z text -h $soname -o $lib$libobjs$deplibs' + archive_cmds='$LD -G -h $soname -o $lib$libobjs$deplibs' + hardcode_shlibpath_var=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ld_shlibs=yes + fi ;; *) ld_shlibs=no - can_build_shared=no ;; esac fi echo "$ac_t$ld_shlibs" 1>&6 +test "$ld_shlibs" = no && can_build_shared=no if test -z "$NM"; then echo $ac_n "checking for BSD-compatible nm... $ac_c" 1>&6 case "$NM" in - /* | [A-Za-z]:\\*) ;; # Let the user override the test with a path. + [\\/]* | [A-Za-z]:[\\/]*) ;; # Let the user override the test with a path. *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR}" + for ac_dir in $PATH /usr/ucb /usr/ccs/bin /bin; do test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -B" - elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - NM="$ac_dir/nm -p" + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + NM="$ac_dir/nm -B" + break + elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then + NM="$ac_dir/nm -p" + break else - NM="$ac_dir/nm" + NM=${NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags fi - break fi done IFS="$ac_save_ifs" @@ -930,40 +1530,54 @@ echo $ac_n "checking command to parse $NM output... $ac_c" 1>&6 # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. -symcode='[BCDEGRSTU]' +symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Transform the above into a raw symbol and a C symbol. -symxfrm='\1 \1' +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern char \1;/p'" # Define system-specific variables. case "$host_os" in aix*) - symcode='[BCDTU]' + symcode='[BCDT]' + ;; +cygwin* | mingw*) + symcode='[ABCDGISTW]' + ;; +hpux*) # Its linker distinguishes data from code symbols + global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern char \1();/p' -e 's/^. .* \(.*\)$/extern char \1;/p'" ;; irix*) - # Cannot use undefined symbols on IRIX because inlined functions mess us up. symcode='[BCDEGRST]' ;; -solaris2*) - symcode='[BDTU]' +solaris*) + symcode='[BDT]' + ;; +sysv4) + symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then - symcode='[ABCDGISTUW]' + symcode='[ABCDGISTW]' fi -# Write the raw and C identifiers. -global_symbol_pipe="sed -n -e 's/^.* $symcode $sympat$/$symxfrm/p'" +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do -# Check to see that the pipe works correctly. -pipe_works=no -$rm conftest* -cat > conftest.c < conftest.c <&5 -if { (eval echo $progname:979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.o; then - # Now try to grab the symbols. - nlist=conftest.nm - if { echo "$progname:982: eval \"$NM conftest.o | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.o | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then + echo "$progname:1592: checking if global_symbol_pipe works" >&5 + if { (eval echo $progname:1593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; } && test -s conftest.$objext; then + # Now try to grab the symbols. + nlist=conftest.nm + if { echo "$progname:1596: eval \"$NM conftest.$objext | $global_symbol_pipe > $nlist\"" >&5; eval "$NM conftest.$objext | $global_symbol_pipe > $nlist 2>&5"; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - wcout=`wc "$nlist" 2>/dev/null` - count=`$echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` - (test "$count" -ge 0) 2>/dev/null || count=-1 - else - rm -f "$nlist"T - count=-1 - fi + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi - # Make sure that we snagged all the symbols we need. - if egrep ' nm_test_var$' "$nlist" >/dev/null; then - if egrep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.c + # Make sure that we snagged all the symbols we need. + if egrep ' nm_test_var$' "$nlist" >/dev/null; then + if egrep ' nm_test_func$' "$nlist" >/dev/null; then + cat < conftest.c #ifdef __cplusplus extern "C" { #endif EOF - # Now generate the symbol file. - sed 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> conftest.c + # Now generate the symbol file. + eval "$global_symbol_to_cdecl"' < "$nlist" >> conftest.c' - cat <> conftest.c + cat <> conftest.c #if defined (__STDC__) && __STDC__ -# define __ptr_t void * +# define lt_ptr_t void * #else -# define __ptr_t char * +# define lt_ptr_t char * +# define const #endif -/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ -int dld_preloaded_symbol_count = $count; - /* The mapping between symbol names and symbols. */ -struct { - char *name; - __ptr_t address; +const struct { + const char *name; + lt_ptr_t address; } -dld_preloaded_symbols[] = +lt_preloaded_symbols[] = { EOF - sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> conftest.c - cat <<\EOF >> conftest.c - {0, (__ptr_t) 0} + sed 's/^. \(.*\) \(.*\)$/ {"\2", (lt_ptr_t) \&\2},/' < "$nlist" >> conftest.c + cat <<\EOF >> conftest.c + {0, (lt_ptr_t) 0} }; #ifdef __cplusplus } #endif EOF - # Now try linking the two files. - mv conftest.o conftestm.o - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS='conftestm.o' - CFLAGS="$CFLAGS$no_builtin_flag" - if { (eval echo $progname:1040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - pipe_works=yes - else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 - fi - LIBS="$save_LIBS" + # Now try linking the two files. + mv conftest.$objext conftstm.$objext + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="conftstm.$objext" + CFLAGS="$CFLAGS$no_builtin_flag" + if { (eval echo $progname:1648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then + pipe_works=yes + else + echo "$progname: failed program was:" >&5 + cat conftest.c >&5 + fi + LIBS="$save_LIBS" + else + echo "cannot find nm_test_func in $nlist" >&5 + fi else - echo "cannot find nm_test_func in $nlist" >&5 + echo "cannot find nm_test_var in $nlist" >&5 fi else - echo "cannot find nm_test_var in $nlist" >&5 + echo "cannot run $global_symbol_pipe" >&5 fi else - echo "cannot run $global_symbol_pipe" >&5 + echo "$progname: failed program was:" >&5 + cat conftest.c >&5 fi -else - echo "$progname: failed program was:" >&5 - cat conftest.c >&5 -fi -$rm conftest* + $rm conftest* conftst* -# Do not use the global_symbol_pipe unless it works. -echo "$ac_t$pipe_works" 1>&6 -test "$pipe_works" = yes || global_symbol_pipe= + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + global_symbol_pipe= + fi +done +if test "$pipe_works" = yes; then + echo "${ac_t}ok" 1>&6 +else + echo "${ac_t}failed" 1>&6 +fi + +if test -z "$global_symbol_pipe"; then + global_symbol_to_cdecl= +fi # Check hardcoding attributes. echo $ac_n "checking how to hardcode library paths into programs... $ac_c" 1>&6 @@ -1070,33 +1691,30 @@ if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var"; then # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && \ - test "$hardcode_minus_L" != no && \ - test "$hardcode_shlibpath_var" != no; then - + if test "$hardcode_direct" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$hardcode_shlibpath_var" != no && + test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi -elif test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" != yes; then - # We cannot hardcode anything. - hardcode_action=unsupported else - # We can only hardcode existing directories. - hardcode_action=relink + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported fi echo "$ac_t$hardcode_action" 1>&6 -test "$hardcode_action" = unsupported && can_build_shared=no reload_flag= reload_cmds='$LD$reload_flag -o $output$reload_objs' echo $ac_n "checking for $LD option to reload object files... $ac_c" 1>&6 -# PORTME Some linker may need a different reload flag. +# PORTME Some linkers may need a different reload flag. reload_flag='-r' echo "$ac_t$reload_flag" 1>&6 test -n "$reload_flag" && reload_flag=" $reload_flag" @@ -1110,18 +1728,45 @@ postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= +shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" - +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +file_magic_cmd= +file_magic_test_file= +deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [regex]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given egrep regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. echo $ac_n "checking dynamic linker characteristics... $ac_c" 1>&6 case "$host_os" in -aix3* | aix4*) +aix3*) version_type=linux - library_names_spec='${libname}${release}.so.$versuffix $libname.a' + library_names_spec='${libname}${release}.so$versuffix $libname.a' shlibpath_var=LIBPATH # AIX has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}.so.$major' + soname_spec='${libname}${release}.so$major' + ;; + +aix4*) + version_type=linux + # AIX has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + # We preserve .a as extension for shared libraries though AIX4.2 + # and later linker supports .so + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.a' + shlibpath_var=LIBPATH + deplibs_check_method=pass_all ;; amigaos*) @@ -1130,36 +1775,138 @@ amigaos*) finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' ;; -freebsd2* | freebsd3*) - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix $libname.so' - finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' +beos*) + library_names_spec='${libname}.so' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + deplibs_check_method=pass_all + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + +bsdi4*) + version_type=linux + library_names_spec='${libname}.so$major ${libname}.so' + soname_spec='${libname}.so' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' + file_magic_cmd=/usr/bin/file + file_magic_test_file=/shlib/libc.so + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw*) + version_type=windows + need_version=no + need_lib_prefix=no + if test "$with_gcc" = yes; then + library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.a' + else + library_names_spec='${libname}`echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll $libname.lib' + fi + dynamic_linker='Win32 ld.exe' + deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + file_magic_cmd='${OBJDUMP} -f' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case "$version_type" in + freebsd-elf*) + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' + file_magic_cmd=/usr/bin/file + file_magic_test_file=`echo /usr/lib/libc.so*` + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + deplibs_check_method=unknown + library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' + need_version=yes + ;; + esac + finish_cmds='PATH="\$PATH:/sbin" OBJFORMAT="'"$objformat"'" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + case "$host_os" in + freebsd2* | freebsd3.[01]*) + shlibpath_overrides_runpath=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + ;; + esac ;; gnu*) - version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' + soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH ;; -hpux9* | hpux10*) +hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. dynamic_linker="$host_os dld.sl" version_type=sunos + need_lib_prefix=no + need_version=no shlibpath_var=SHLIB_PATH - library_names_spec='${libname}${release}.sl.$versuffix ${libname}${release}.sl.$major $libname.sl' - soname_spec='${libname}${release}.sl.$major' + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' + soname_spec='${libname}${release}.sl$major' # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; irix5* | irix6*) - version_type=osf - soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so.$versuffix $libname.so' - shlibpath_var=LD_LIBRARY_PATH + version_type=irix + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}.so.$major' + library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major ${libname}${release}.so $libname.so' + case "$host_os" in + irix5*) + libsuff= shlibsuff= + # this will be overridden with pass_all, but let us keep it just in case + deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case "$LD" in # libtool.m4 will add one of these switches to LD + *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[1234] dynamic lib MIPS - version 1" + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + file_magic_cmd=/usr/bin/file + file_magic_test_file=`echo /lib${libsuff}/libc.so*` + deplibs_check_method='pass_all' ;; # No shared lib support for Linux oldld, aout, or coff. @@ -1170,10 +1917,16 @@ linux-gnuoldld* | linux-gnuaout* | linux-gnucoff*) # This must be Linux ELF. linux-gnu*) version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' - finish_cmds='PATH="$PATH:/sbin" ldconfig -n $libdir' + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' + file_magic_cmd=/usr/bin/file + file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` if test -f /lib/ld.so.1; then dynamic_linker='GNU ld.so' @@ -1186,15 +1939,34 @@ linux-gnu*) fi ;; -netbsd* | openbsd*) +netbsd*) version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' - finish_cmds='PATH="$PATH:/sbin" ldconfig -m $libdir' + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' + soname_spec='${libname}${release}.so$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + ;; + +openbsd*) + version_type=sunos + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + need_version=no + fi + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH ;; os2*) libname_spec='$name' + need_lib_prefix=no library_names_spec='$libname.dll $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH @@ -1202,46 +1974,99 @@ os2*) osf3* | osf4*) version_type=osf + need_version=no soname_spec='${libname}${release}.so' - library_names_spec='${libname}${release}.so.$versuffix $libname.so' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' shlibpath_var=LD_LIBRARY_PATH + # this will be overridden with pass_all, but let us keep it just in case + deplibs_check_method='file_magic COFF format alpha shared library' + file_magic_cmd=/usr/bin/file + file_magic_test_file=/shlib/libc.so + deplibs_check_method='pass_all' + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; sco3.2v5*) version_type=osf - soname_spec='${libname}${release}.so.$major' - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' + soname_spec='${libname}${release}.so$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' shlibpath_var=LD_LIBRARY_PATH ;; -solaris2*) +solaris*) version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + deplibs_check_method="file_magic ELF [0-9][0-9]-bit [LM]SB dynamic lib" + file_magic_cmd=/usr/bin/file + file_magic_test_file=/lib/libc.so ;; sunos4*) version_type=sunos - library_names_spec='${libname}${release}.so.$versuffix' - finish_cmds='PATH="$PATH:/usr/etc" ldconfig $libdir' + library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes ;; -sysv4.2uw2*) +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH + case "$host_vendor" in + ncr) + deplibs_check_method='pass_all' + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' + file_magic_cmd=/usr/bin/file + file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + esac ;; uts4*) version_type=linux - library_names_spec='${libname}${release}.so.$versuffix ${libname}${release}.so.$major $libname.so' - soname_spec='${libname}${release}.so.$major' + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' shlibpath_var=LD_LIBRARY_PATH ;; +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' + soname_spec='${libname}${release}.so$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' + soname_spec='$libname.so.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + *) dynamic_linker=no ;; @@ -1252,19 +2077,58 @@ test "$dynamic_linker" = no && can_build_shared=no # Report the final consequences. echo "checking if libtool supports shared libraries... $can_build_shared" 1>&6 +# Only try to build win32 dlls if AC_LIBTOOL_WIN32_DLL was used in +# configure.in, otherwise build static only libraries. +case "$host_os" in +cygwin* | mingw* | os2*) + if test x$can_build_shared = xyes; then + test x$enable_win32_dll = xno && can_build_shared=no + echo "checking if package supports dlls... $can_build_shared" 1>&6 + fi +;; +esac + +if test -n "$file_magic_test_file" && test -n "$file_magic_cmd"; then + case "$deplibs_check_method" in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + egrep "$file_magic_regex" > /dev/null; then + : + else + cat <&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac +fi + echo $ac_n "checking whether to build shared libraries... $ac_c" 1>&6 test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case "$host_os" in -aix*) +aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then - archive_cmds="$archive_cmds;\$RANLIB \$lib" + archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; + +aix4*) + test "$enable_shared" = yes && enable_static=no + ;; esac echo "$ac_t$enable_shared" 1>&6 @@ -1274,6 +2138,15 @@ test "$enable_shared" = yes || enable_static=yes echo "checking whether to build static libraries... $enable_static" 1>&6 +if test "$hardcode_action" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi + echo $ac_n "checking for objdir... $ac_c" 1>&6 rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null @@ -1286,46 +2159,496 @@ fi rmdir .libs 2>/dev/null echo "$ac_t$objdir" 1>&6 +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else +if eval "test \"`echo '$''{'lt_cv_dlopen'+set}'`\" != set"; then + lt_cv_dlopen=no lt_cv_dlopen_libs= +echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 +echo "$progname:2170: checking for dlopen in -ldl" >&5 +ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldl $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" +else + echo "$ac_t""no" 1>&6 +echo $ac_n "checking for dlopen""... $ac_c" 1>&6 +echo "$progname:2207: checking for dlopen" >&5 +if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_dlopen) || defined (__stub___dlopen) +choke me +#else +dlopen(); +#endif + +; return 0; } +EOF +if { (eval echo $progname:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_dlopen=yes" +else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_dlopen=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="dlopen" +else + echo "$ac_t""no" 1>&6 +echo $ac_n "checking for dld_link in -ldld""... $ac_c" 1>&6 +echo "$progname:2251: checking for dld_link in -ldld" >&5 +ac_lib_var=`echo dld'_'dld_link | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldld $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" +else + echo "$ac_t""no" 1>&6 +echo $ac_n "checking for shl_load""... $ac_c" 1>&6 +echo "$progname:2288: checking for shl_load" >&5 +if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shl_load(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shl_load) || defined (__stub___shl_load) +choke me +#else +shl_load(); +#endif + +; return 0; } +EOF +if { (eval echo $progname:2315: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_shl_load=yes" +else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_shl_load=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="shl_load" +else + echo "$ac_t""no" 1>&6 +echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 +echo "$progname:2333: checking for shl_load in -ldld" >&5 +ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-ldld $LIBS" +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" +else + echo "$ac_t""no" 1>&6 +fi + + +fi + + +fi + + +fi + + +fi + +fi + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + fi + + case "$lt_cv_dlopen" in + dlopen) +for ac_hdr in dlfcn.h; do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "$progname:2395: checking for $ac_hdr" >&5 +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext < +int fnord = 0; +EOF +ac_try="$ac_compile conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo $progname:2405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi +done + + if test "x$ac_cv_header_dlfcn_h" = xyes; then + CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + fi + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + LIBS="$lt_cv_dlopen_libs $LIBS" + + echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6 +echo "$progname:2433: checking whether a program can dlopen itself" >&5 +if test "${lt_cv_dlopen_self+set}" = set; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + lt_cv_dlopen_self=cross + else + cat > conftest.c < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LTDL_GLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LTDL_GLOBAL DL_GLOBAL +# else +# define LTDL_GLOBAL 0 +# endif +#endif + +/* We may have to define LTDL_LAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LTDL_LAZY_OR_NOW +# ifdef RTLD_LAZY +# define LTDL_LAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LTDL_LAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LTDL_LAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LTDL_LAZY_OR_NOW DL_NOW +# else +# define LTDL_LAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +fnord() { int i=42;} +main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); + if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); + if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } + +EOF +if { (eval echo $progname:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +then + lt_cv_dlopen_self=yes +else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + lt_cv_dlopen_self=no +fi +rm -fr conftest* +fi + +fi + +echo "$ac_t""$lt_cv_dlopen_self" 1>&6 + + if test "$lt_cv_dlopen_self" = yes; then + LDFLAGS="$LDFLAGS $link_static_flag" + echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6 +echo "$progname:2506: checking whether a statically linked program can dlopen itself" >&5 +if test "${lt_cv_dlopen_self_static+set}" = set; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test "$cross_compiling" = yes; then + lt_cv_dlopen_self_static=cross + else + cat > conftest.c < +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LTDL_GLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LTDL_GLOBAL DL_GLOBAL +# else +# define LTDL_GLOBAL 0 +# endif +#endif + +/* We may have to define LTDL_LAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LTDL_LAZY_OR_NOW +# ifdef RTLD_LAZY +# define LTDL_LAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LTDL_LAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LTDL_LAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LTDL_LAZY_OR_NOW DL_NOW +# else +# define LTDL_LAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +fnord() { int i=42;} +main() { void *self, *ptr1, *ptr2; self=dlopen(0,LTDL_GLOBAL|LTDL_LAZY_OR_NOW); + if(self) { ptr1=dlsym(self,"fnord"); ptr2=dlsym(self,"_fnord"); + if(ptr1 || ptr2) { dlclose(self); exit(0); } } exit(1); } + +EOF +if { (eval echo $progname:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +then + lt_cv_dlopen_self_static=yes +else + echo "$progname: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + lt_cv_dlopen_self_static=no +fi +rm -fr conftest* +fi + +fi + +echo "$ac_t""$lt_cv_dlopen_self_static" 1>&6 +fi + ;; + esac + + case "$lt_cv_dlopen_self" in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case "$lt_cv_dlopen_self_static" in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + # Copy echo and quote the copy, instead of the original, because it is # used later. ltecho="$echo" +if test "X$ltecho" = "X$CONFIG_SHELL $0 --fallback-echo"; then + ltecho="$CONFIG_SHELL \$0 --fallback-echo" +fi +LTSHELL="$SHELL" -# Now quote all the things that may contain metacharacters. -for var in ltecho old_CC old_CFLAGS old_CPPFLAGS old_LD old_NM old_RANLIB \ - old_LN_S AR CC LD LN_S NM reload_flag reload_cmds wl pic_flag \ - link_static_flag no_builtin_flag export_dynamic_flag_spec \ - libname_spec library_names_spec soname_spec RANLIB \ - old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ - old_postuninstall_cmds archive_cmds postinstall_cmds postuninstall_cmds \ - allow_undefined_flag no_undefined_flag \ - finish_cmds finish_eval global_symbol_pipe \ - hardcode_libdir_flag_spec hardcode_libdir_separator; do +LTCONFIG_VERSION="$VERSION" - case "$var" in - reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | archive_cmds | \ - postinstall_cmds | postuninstall_cmds | finish_cmds) - # Double-quote double-evaled strings. - eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\"\`" - ;; - *) - eval "$var=\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`" +# Only quote variables if we're using ltmain.sh. +case "$ltmain" in +*.sh) + # Now quote all the things that may contain metacharacters. + for var in ltecho old_CC old_CFLAGS old_CPPFLAGS \ + old_LD old_LDFLAGS old_LIBS \ + old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS \ + AR CC LD LN_S NM LTSHELL LTCONFIG_VERSION \ + reload_flag reload_cmds wl \ + pic_flag link_static_flag no_builtin_flag export_dynamic_flag_spec \ + thread_safe_flag_spec whole_archive_flag_spec libname_spec \ + library_names_spec soname_spec \ + RANLIB old_archive_cmds old_archive_from_new_cmds old_postinstall_cmds \ + old_postuninstall_cmds archive_cmds archive_expsym_cmds postinstall_cmds postuninstall_cmds \ + file_magic_cmd export_symbols_cmds deplibs_check_method allow_undefined_flag no_undefined_flag \ + finish_cmds finish_eval global_symbol_pipe global_symbol_to_cdecl \ + hardcode_libdir_flag_spec hardcode_libdir_separator \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + compiler_c_o compiler_o_lo need_locks exclude_expsyms include_expsyms; do + + case "$var" in + reload_cmds | old_archive_cmds | old_archive_from_new_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + export_symbols_cmds | archive_cmds | archive_expsym_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + finish_cmds | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case "$ltecho" in + *'\$0 --fallback-echo"') + ltecho=`$echo "X$ltecho" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` ;; esac -done -ofile=libtool -trap "$rm $ofile; exit 1" 1 2 15 -echo creating $ofile -$rm $ofile -cat < $ofile -#! /bin/sh + trap "$rm \"$ofile\"; exit 1" 1 2 15 + echo "creating $ofile" + $rm "$ofile" + cat < "$ofile" +#! $SHELL -# libtool - Provide generalized library-building support services. -# Generated automatically by $PROGRAM - GNU $PACKAGE $VERSION +# `$echo "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) # NOTE: Changes made to this file will be lost: look at ltconfig or ltmain.sh. # -# Copyright (C) 1996-1998 Free Software Foundation, Inc. +# Copyright (C) 1996-1999 Free Software Foundation, Inc. # Gordon Matzigkeit , 1996 # # This program is free software; you can redistribute it and/or modify @@ -1347,16 +2670,6 @@ cat < $ofile # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. -# This program was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# CC="$old_CC" CFLAGS="$old_CFLAGS" CPPFLAGS="$old_CPPFLAGS" \\ -# LD="$old_LD" NM="$old_NM" RANLIB="$old_RANLIB" LN_S="$old_LN_S" \\ -# $0$ltconfig_args -# -# Compiler and other test output produced by $progname, useful for -# debugging $progname, is in ./config.log if it exists. - # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="sed -e s/^X//" @@ -1364,103 +2677,201 @@ Xsed="sed -e s/^X//" # if CDPATH is set. if test "\${CDPATH+set}" = set; then CDPATH=; export CDPATH; fi -# An echo program that does not interpret backslashes. -echo="$ltecho" +### BEGIN LIBTOOL CONFIG +EOF + cfgfile="$ofile" + ;; + +*) + # Double-quote the variables that need it (for aesthetics). + for var in old_CC old_CFLAGS old_CPPFLAGS \ + old_LD old_LDFLAGS old_LIBS \ + old_NM old_RANLIB old_LN_S old_DLLTOOL old_OBJDUMP old_AS; do + eval "$var=\\\"\$var\\\"" + done + + # Just create a config file. + cfgfile="$ofile.cfg" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + echo "creating $cfgfile" + $rm "$cfgfile" + cat < "$cfgfile" +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Libtool configuration file. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +EOF + ;; +esac + +cat <> "$cfgfile" +# Libtool was configured as follows, on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# CC=$old_CC CFLAGS=$old_CFLAGS CPPFLAGS=$old_CPPFLAGS \\ +# LD=$old_LD LDFLAGS=$old_LDFLAGS LIBS=$old_LIBS \\ +# NM=$old_NM RANLIB=$old_RANLIB LN_S=$old_LN_S \\ +# DLLTOOL=$old_DLLTOOL OBJDUMP=$old_OBJDUMP AS=$old_AS \\ +# $0$ltconfig_args +# +# Compiler and other test output produced by $progname, useful for +# debugging $progname, is in ./config.log if it exists. # The version of $progname that generated this script. -LTCONFIG_VERSION="$VERSION" +LTCONFIG_VERSION=$LTCONFIG_VERSION # Shell to use when invoking shell scripts. -SHELL=${CONFIG_SHELL-/bin/sh} +SHELL=$LTSHELL -# Whether or not to build libtool libraries. +# Whether or not to build shared libraries. build_libtool_libs=$enable_shared -# Whether or not to build old-style libraries. +# Whether or not to build static libraries. build_old_libs=$enable_static +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + # The host system. -host_alias="$host_alias" -host="$host" +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$ltecho # The archiver. -AR="$AR" +AR=$AR # The default C compiler. -CC="$CC" +CC=$CC # The linker used to build libraries. -LD="$LD" +LD=$LD # Whether we need hard or soft links. -LN_S="$LN_S" +LN_S=$LN_S # A BSD-compatible nm program. -NM="$NM" +NM=$NM + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" # The name of the directory that contains temporary libtool files. -objdir="$objdir" +objdir=$objdir # How to create reloadable object files. -reload_flag="$reload_flag" -reload_cmds="$reload_cmds" +reload_flag=$reload_flag +reload_cmds=$reload_cmds # How to pass a linker flag through the compiler. -wl="$wl" +wl=$wl + +# Object file suffix (normally "o"). +objext="$objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Executable file suffix (normally ""). +exeext="$exeext" # Additional compiler flags for building library objects. -pic_flag="$pic_flag" +pic_flag=$pic_flag + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$compiler_c_o + +# Can we write directly to a .lo ? +compiler_o_lo=$compiler_o_lo + +# Must we lock files when doing compilation ? +need_locks=$need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static # Compiler flag to prevent dynamic linking. -link_static_flag="$link_static_flag" +link_static_flag=$link_static_flag # Compiler flag to turn off builtin functions. -no_builtin_flag="$no_builtin_flag" +no_builtin_flag=$no_builtin_flag # Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec="$export_dynamic_flag_spec" +export_dynamic_flag_spec=$export_dynamic_flag_spec + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$whole_archive_flag_spec + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$thread_safe_flag_spec # Library versioning type. version_type=$version_type # Format of library name prefix. -libname_spec="$libname_spec" +libname_spec=$libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME. -library_names_spec="$library_names_spec" +library_names_spec=$library_names_spec # The coded name of the library, if different from the real name. -soname_spec="$soname_spec" +soname_spec=$soname_spec # Commands used to build and install an old-style archive. -RANLIB="$RANLIB" -old_archive_cmds="$old_archive_cmds" -old_postinstall_cmds="$old_postinstall_cmds" -old_postuninstall_cmds="$old_postuninstall_cmds" +RANLIB=$RANLIB +old_archive_cmds=$old_archive_cmds +old_postinstall_cmds=$old_postinstall_cmds +old_postuninstall_cmds=$old_postuninstall_cmds # Create an old-style archive from a shared archive. -old_archive_from_new_cmds="$old_archive_from_new_cmds" +old_archive_from_new_cmds=$old_archive_from_new_cmds # Commands used to build and install a shared archive. -archive_cmds="$archive_cmds" -postinstall_cmds="$postinstall_cmds" -postuninstall_cmds="$postuninstall_cmds" +archive_cmds=$archive_cmds +archive_expsym_cmds=$archive_expsym_cmds +postinstall_cmds=$postinstall_cmds +postuninstall_cmds=$postuninstall_cmds + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$file_magic_cmd # Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag="$allow_undefined_flag" +allow_undefined_flag=$allow_undefined_flag # Flag that forces no undefined symbols. -no_undefined_flag="$no_undefined_flag" +no_undefined_flag=$no_undefined_flag # Commands used to finish a libtool library installation in a directory. -finish_cmds="$finish_cmds" +finish_cmds=$finish_cmds # Same as above, but a single script fragment to be evaled but not shown. -finish_eval="$finish_eval" +finish_eval=$finish_eval # Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe="$global_symbol_pipe" +global_symbol_pipe=$global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$global_symbol_to_cdecl # This is the shared library runtime path variable. runpath_var=$runpath_var @@ -1468,15 +2879,18 @@ runpath_var=$runpath_var # This is the shared library path variable. shlibpath_var=$shlibpath_var +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec="$hardcode_libdir_flag_spec" +hardcode_libdir_flag_spec=$hardcode_libdir_flag_spec # Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="$hardcode_libdir_separator" +hardcode_libdir_separator=$hardcode_libdir_separator # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the # resulting binary. @@ -1490,11 +2904,37 @@ hardcode_minus_L=$hardcode_minus_L # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var +# Compile-time system search path for libraries +sys_lib_search_path_spec=$sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$fix_srcfile_path" + +# Set to yes if exported symbols are required. +always_export_symbols=$always_export_symbols + +# The commands to list exported symbols. +export_symbols_cmds=$export_symbols_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$exclude_expsyms + +# Symbols that must always be exported. +include_expsyms=$include_expsyms + EOF -case "$host_os" in -aix3*) - cat <<\EOF >> $ofile +case "$ltmain" in +*.sh) + echo '### END LIBTOOL CONFIG' >> "$ofile" + echo >> "$ofile" + case "$host_os" in + aix3*) + cat <<\EOF >> "$ofile" + # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. @@ -1502,15 +2942,73 @@ if test "${COLLECT_NAMES+set}" != set; then COLLECT_NAMES= export COLLECT_NAMES fi - EOF + ;; + esac + + # Append the ltmain.sh script. + sed '$q' "$ltmain" >> "$ofile" || (rm -f "$ofile"; exit 1) + + chmod +x "$ofile" + ;; + +*) + # Compile the libtool program. + echo "FIXME: would compile $ltmain" ;; esac -# Append the ltmain.sh script. -cat "$ltmain" >> $ofile || (rm -f $ofile; exit 1) +test -n "$cache_file" || exit 0 + +# AC_CACHE_SAVE +trap '' 1 2 15 +cat > confcache <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote substitution + # turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache -chmod +x $ofile exit 0 # Local Variables: diff --git a/ltmain.sh b/ltmain.sh index e9350b3f..ae10cad0 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -1,8 +1,8 @@ # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun ltconfig. # -# Copyright (C) 1996-1998 Free Software Foundation, Inc. -# Gordon Matzigkeit , 1996 +# Copyright (C) 1996-1999 Free Software Foundation, Inc. +# Originally by Gordon Matzigkeit , 1996 # # 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 @@ -23,6 +23,30 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. +# Check that we have a working $echo. +if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X$1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then + # Yippee, $echo works! + : +else + # Restart under the correct shell, and then maybe $echo will work. + exec $SHELL "$0" --no-reexec ${1+"$@"} +fi + +if test "X$1" = X--fallback-echo; then + # used as fallback echo + shift + cat <&2 @@ -72,6 +104,8 @@ run= show="$echo" show_help= execute_dlfiles= +lo2o="s/\\.lo\$/.${objext}/" +o2lo="s/\\.${objext}\$/.lo/" # Parse our command line options once, thoroughly. while test $# -gt 0 @@ -107,10 +141,20 @@ do ;; --version) - echo "$PROGRAM (GNU $PACKAGE) $VERSION" + echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP" exit 0 ;; + --config) + sed -e '1,/^### BEGIN LIBTOOL CONFIG/d' -e '/^### END LIBTOOL CONFIG/,$d' $0 + exit 0 + ;; + + --debug) + echo "$progname: enabling shell trace mode" + set -x + ;; + --dry-run | -n) run=: ;; @@ -172,15 +216,15 @@ if test -z "$show_help"; then mode=link for arg do - case "$arg" in - -c) - mode=compile - break - ;; - esac + case "$arg" in + -c) + mode=compile + break + ;; + esac done ;; - *db | *dbx) + *db | *dbx | *strace | *truss) mode=execute ;; *install*|cp|mv) @@ -195,11 +239,11 @@ if test -z "$show_help"; then # Just use the default operation mode. if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi + if test -n "$nonopt"; then + $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 + else + $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 + fi fi ;; esac @@ -227,23 +271,39 @@ if test -z "$show_help"; then srcfile="$nonopt" suppress_output= + user_target=no for arg do # Accept any command-line options. case "$arg" in -o) - $echo "$modename: you cannot specify the output filename with \`-o'" 1>&2 - $echo "$help" 1>&2 - exit 1 + if test "$user_target" != "no"; then + $echo "$modename: you cannot specify \`-o' more than once" 1>&2 + exit 1 + fi + user_target=next ;; -static) - build_libtool_libs=no build_old_libs=yes continue ;; esac + case "$user_target" in + next) + # The next one is the -o target name + user_target=yes + continue + ;; + yes) + # We got the output file + user_target=set + libobj="$arg" + continue + ;; + esac + # Accept the current argument as the source file. lastarg="$srcfile" srcfile="$arg" @@ -272,11 +332,22 @@ if test -z "$show_help"; then fi done - # Get the name of the library object. - libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + case "$user_target" in + set) + ;; + no) + # Get the name of the library object. + libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` + ;; + *) + $echo "$modename: you must specify a target with \`-o'" 1>&2 + exit 1 + ;; + esac # Recognize several different file suffixes. - xform='[cCFSfms]' + # If the user specifies -o file.o, it is replaced with file.lo + xform='[cCFSfmso]' case "$libobj" in *.ada) xform=ada ;; *.adb) xform=adb ;; @@ -293,9 +364,9 @@ if test -z "$show_help"; then libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` case "$libobj" in - *.lo) obj=`$echo "X$libobj" | $Xsed -e 's/\.lo$/.o/'` ;; + *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) - $echo "$modename: cannot determine name of library object from \`$srcfile'" 1>&2 + $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 exit 1 ;; esac @@ -308,11 +379,54 @@ if test -z "$show_help"; then # Delete any leftover library objects. if test "$build_old_libs" = yes; then - $run $rm $obj $libobj - trap "$run $rm $obj $libobj; exit 1" 1 2 15 + removelist="$obj $libobj" else - $run $rm $libobj - trap "$run $rm $libobj; exit 1" 1 2 15 + removelist="$libobj" + fi + + $run $rm $removelist + trap "$run $rm $removelist; exit 1" 1 2 15 + + # Calculate the filename of the output object if compiler does + # not support -o with -c + if test "$compiler_c_o" = no; then + output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\..*$%%'`.${objext} + lockfile="$output_obj.lock" + removelist="$removelist $output_obj $lockfile" + trap "$run $rm $removelist; exit 1" 1 2 15 + else + need_locks=no + lockfile= + fi + + # Lock this critical section if it is needed + # We use this script file to make the link, it avoids creating a new file + if test "$need_locks" = yes; then + until ln "$0" "$lockfile" 2>/dev/null; do + $show "Waiting for $lockfile to be removed" + sleep 2 + done + elif test "$need_locks" = warn; then + if test -f "$lockfile"; then + echo "\ +*** ERROR, $lockfile exists and contains: +`cat $lockfile 2>/dev/null` + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + echo $srcfile > "$lockfile" + fi + + if test -n "$fix_srcfile_path"; then + eval srcfile=\"$fix_srcfile_path\" fi # Only build a PIC object if we are building libtool libraries. @@ -321,23 +435,102 @@ if test -z "$show_help"; then fbsd_hideous_sh_bug=$base_compile # All platforms use -DPIC, to notify preprocessed assembler code. - $show "$base_compile$pic_flag -DPIC $srcfile" - if $run eval "$base_compile\$pic_flag -DPIC \$srcfile"; then : + command="$base_compile $pic_flag -DPIC $srcfile" + if test "$build_old_libs" = yes; then + lo_libobj="$libobj" + dir=`$echo "X$libobj" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$libobj"; then + dir="$objdir" + else + dir="$dir/$objdir" + fi + libobj="$dir/"`$echo "X$libobj" | $Xsed -e 's%^.*/%%'` + + if test -d "$dir"; then + $show "$rm $libobj" + $run $rm $libobj + else + $show "$mkdir $dir" + $run $mkdir $dir + status=$? + if test $status -ne 0 && test ! -d $dir; then + exit $status + fi + fi + fi + if test "$compiler_o_lo" = yes; then + output_obj="$libobj" + command="$command -o $output_obj" + elif test "$compiler_c_o" = yes; then + output_obj="$obj" + command="$command -o $output_obj" + fi + + $run $rm "$output_obj" + $show "$command" + if $run eval "$command"; then : else - test -n "$obj" && $run $rm $obj - exit 1 + test -n "$output_obj" && $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed, then go on to compile the next one + if test x"$output_obj" != x"$libobj"; then + $show "$mv $output_obj $libobj" + if $run $mv $output_obj $libobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi fi # If we have no pic_flag, then copy the object into place and finish. - if test -z "$pic_flag"; then - $show "$LN_S $obj $libobj" - $run $LN_S $obj $libobj - exit $? - fi + if test -z "$pic_flag" && test "$build_old_libs" = yes; then + # Rename the .lo from within objdir to obj + if test -f $obj; then + $show $rm $obj + $run $rm $obj + fi - # Just move the object, then go on to compile the next one - $show "$mv $obj $libobj" - $run $mv $obj $libobj || exit 1 + $show "$mv $libobj $obj" + if $run $mv $libobj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + + # Now arrange that obj and lo_libobj become the same file + $show "$LN_S $obj $lo_libobj" + if $run $LN_S $obj $lo_libobj; then + exit 0 + else + error=$? + $run $rm $removelist + exit $error + fi + fi # Allow error messages only from the first compilation. suppress_output=' >/dev/null 2>&1' @@ -345,20 +538,73 @@ if test -z "$show_help"; then # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then + command="$base_compile $srcfile" + if test "$compiler_c_o" = yes; then + command="$command -o $obj" + output_obj="$obj" + fi + # Suppress compiler output if we already did a PIC compilation. - $show "$base_compile $srcfile$suppress_output" - if $run eval "$base_compile \$srcfile$suppress_output"; then : + command="$command$suppress_output" + $run $rm "$output_obj" + $show "$command" + if $run eval "$command"; then : else - $run $rm $obj $libobj - exit 1 + $run $rm $removelist + exit 1 + fi + + if test "$need_locks" = warn && + test x"`cat $lockfile 2>/dev/null`" != x"$srcfile"; then + echo "\ +*** ERROR, $lockfile contains: +`cat $lockfile 2>/dev/null` + +but it should contain: +$srcfile + +This indicates that another process is trying to use the same +temporary object file, and libtool could not work around it because +your compiler does not support \`-c' and \`-o' together. If you +repeat this compilation, it may succeed, by chance, but you had better +avoid parallel builds (make -j) in this platform, or get a better +compiler." + + $run $rm $removelist + exit 1 + fi + + # Just move the object if needed + if test x"$output_obj" != x"$obj"; then + $show "$mv $output_obj $obj" + if $run $mv $output_obj $obj; then : + else + error=$? + $run $rm $removelist + exit $error + fi + fi + + # Create an invalid libtool object if no PIC, so that we do not + # accidentally link it into a program. + if test "$build_libtool_libs" != yes; then + $show "echo timestamp > $libobj" + $run eval "echo timestamp > \$libobj" || exit $? + else + # Move the .lo from within objdir + $show "$mv $libobj $lo_libobj" + if $run $mv $libobj $lo_libobj; then : + else + error=$? + $run $rm $removelist + exit $error + fi fi fi - # Create an invalid libtool object if no PIC, so that we do not - # accidentally link it into a program. - if test "$build_libtool_libs" != yes; then - $show "echo timestamp > $libobj" - $run eval "echo timestamp > \$libobj" || exit $? + # Unlock the critical section if it was locked + if test "$need_locks" != no; then + $rm "$lockfile" fi exit 0 @@ -367,28 +613,240 @@ if test -z "$show_help"; then # libtool link mode link) modename="$modename: link" + C_compiler="$CC" # save it, to compile generated C sources CC="$nonopt" - allow_undefined=yes + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2*) + # It is impossible to link a dll without this setting, and + # we shouldn't force the makefile maintainer to figure out + # which system we are compiling for in order to pass an extra + # flag for every libtool invokation. + # allow_undefined=no + + # FIXME: Unfortunately, there are problems with the above when trying + # to make a dll which has undefined symbols, in which case not + # even a static library is built. For now, we need to specify + # -no-undefined on the libtool link line when we can be certain + # that all symbols are satisfied, otherwise we get a static library. + allow_undefined=yes + + # This is a source program that is used to create dlls on Windows + # Don't remove nor modify the starting and closing comments +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include +# #undef WIN32_LEAN_AND_MEAN +# #include +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ + # This is a source program that is used to create import libraries + # on Windows for dlls which lack them. Don't remove nor modify the + # starting and closing comments +# /* impgen.c starts here */ +# /* Copyright (C) 1999 Free Software Foundation, Inc. +# +# This file is part of GNU libtool. +# +# 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 Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# */ +# +# #include /* for printf() */ +# #include /* for open(), lseek(), read() */ +# #include /* for O_RDONLY, O_BINARY */ +# #include /* for strdup() */ +# +# static unsigned int +# pe_get16 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[2]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 2); +# return b[0] + (b[1]<<8); +# } +# +# static unsigned int +# pe_get32 (fd, offset) +# int fd; +# int offset; +# { +# unsigned char b[4]; +# lseek (fd, offset, SEEK_SET); +# read (fd, b, 4); +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# static unsigned int +# pe_as32 (ptr) +# void *ptr; +# { +# unsigned char *b = ptr; +# return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); +# } +# +# int +# main (argc, argv) +# int argc; +# char *argv[]; +# { +# int dll; +# unsigned long pe_header_offset, opthdr_ofs, num_entries, i; +# unsigned long export_rva, export_size, nsections, secptr, expptr; +# unsigned long name_rvas, nexp; +# unsigned char *expdata, *erva; +# char *filename, *dll_name; +# +# filename = argv[1]; +# +# dll = open(filename, O_RDONLY|O_BINARY); +# if (!dll) +# return 1; +# +# dll_name = filename; +# +# for (i=0; filename[i]; i++) +# if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') +# dll_name = filename + i +1; +# +# pe_header_offset = pe_get32 (dll, 0x3c); +# opthdr_ofs = pe_header_offset + 4 + 20; +# num_entries = pe_get32 (dll, opthdr_ofs + 92); +# +# if (num_entries < 1) /* no exports */ +# return 1; +# +# export_rva = pe_get32 (dll, opthdr_ofs + 96); +# export_size = pe_get32 (dll, opthdr_ofs + 100); +# nsections = pe_get16 (dll, pe_header_offset + 4 +2); +# secptr = (pe_header_offset + 4 + 20 + +# pe_get16 (dll, pe_header_offset + 4 + 16)); +# +# expptr = 0; +# for (i = 0; i < nsections; i++) +# { +# char sname[8]; +# unsigned long secptr1 = secptr + 40 * i; +# unsigned long vaddr = pe_get32 (dll, secptr1 + 12); +# unsigned long vsize = pe_get32 (dll, secptr1 + 16); +# unsigned long fptr = pe_get32 (dll, secptr1 + 20); +# lseek(dll, secptr1, SEEK_SET); +# read(dll, sname, 8); +# if (vaddr <= export_rva && vaddr+vsize > export_rva) +# { +# expptr = fptr + (export_rva - vaddr); +# if (export_rva + export_size > vaddr + vsize) +# export_size = vsize - (export_rva - vaddr); +# break; +# } +# } +# +# expdata = (unsigned char*)malloc(export_size); +# lseek (dll, expptr, SEEK_SET); +# read (dll, expdata, export_size); +# erva = expdata - export_rva; +# +# nexp = pe_as32 (expdata+24); +# name_rvas = pe_as32 (expdata+32); +# +# printf ("EXPORTS\n"); +# for (i = 0; i&2 - fi - build_libtool_libs=no + fi + if test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + else + if test -z "$pic_flag" && test -n "$link_static_flag"; then + dlopen_self=$dlopen_self_static + fi + fi + build_libtool_libs=no build_old_libs=yes - break - ;; + prefer_static_libs=yes + break + ;; esac done @@ -410,44 +878,107 @@ if test -z "$show_help"; then test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. - for arg - do + while test $# -gt 0; do + arg="$1" + shift + # If the previous option needs an argument, assign it. if test -n "$prev"; then - case "$prev" in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac + case "$prev" in + output) + compile_command="$compile_command @OUTPUT@" + finalize_command="$finalize_command @OUTPUT@" + ;; + esac - case "$prev" in - dlfiles|dlprefiles) - case "$arg" in - *.la | *.lo) ;; # We handle these cases below. - *) - dlprefiles="$dlprefiles $arg" - test "$prev" = dlfiles && dlfiles="$dlfiles $arg" - prev= - ;; - esac - ;; + case "$prev" in + dlfiles|dlprefiles) + if test "$preload" = no; then + # Add the symbol object into the linking commands. + compile_command="$compile_command @SYMFILE@" + finalize_command="$finalize_command @SYMFILE@" + preload=yes + fi + case "$arg" in + *.la | *.lo) ;; # We handle these cases below. + force) + if test "$dlself" = no; then + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + self) + if test "$prev" = dlprefiles; then + dlself=yes + elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then + dlself=yes + else + dlself=needless + export_dynamic=yes + fi + prev= + continue + ;; + *) + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + else + dlprefiles="$dlprefiles $arg" + fi + prev= + ;; + esac + ;; + expsyms) + export_symbols="$arg" + if test ! -f "$arg"; then + $echo "$modename: symbol file \`$arg' does not exist" + exit 1 + fi + prev= + continue + ;; + expsyms_regex) + export_symbols_regex="$arg" + prev= + continue + ;; release) release="-$arg" prev= continue ;; - rpath) - rpath="$rpath $arg" + rpath | xrpath) + # We need an absolute path. + case "$arg" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + if test "$prev" = rpath; then + case "$rpath " in + *" $arg "*) ;; + *) rpath="$rpath $arg" ;; + esac + else + case "$xrpath " in + *" $arg "*) ;; + *) xrpath="$xrpath $arg" ;; + esac + fi prev= continue ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac + *) + eval "$prev=\"\$arg\"" + prev= + continue + ;; + esac fi prevarg="$arg" @@ -455,10 +986,10 @@ if test -z "$show_help"; then case "$arg" in -all-static) if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" + compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" - fi - continue + fi + continue ;; -allow-undefined) @@ -467,46 +998,97 @@ if test -z "$show_help"; then continue ;; + -avoid-version) + avoid_version=yes + continue + ;; + -dlopen) - prev=dlfiles - continue - ;; + prev=dlfiles + continue + ;; -dlpreopen) - prev=dlprefiles - continue - ;; + prev=dlprefiles + continue + ;; -export-dynamic) - if test "$export_dynamic" != yes; then - export_dynamic=yes - if test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - else - arg= - fi + export_dynamic=yes + continue + ;; - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - fi - ;; + -export-symbols | -export-symbols-regex) + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: not more than one -exported-symbols argument allowed" + exit 1 + fi + if test "X$arg" = "X-export-symbols"; then + prev=expsyms + else + prev=expsyms_regex + fi + continue + ;; -L*) - dir=`$echo "X$arg" | $Xsed -e 's%^-L\(.*\)$%\1%'` - case "$dir" in - /* | [A-Za-z]:\\*) - # Add the corresponding hardcode_libdir_flag, if it is not identical. - ;; - *) - $echo "$modename: \`-L$dir' cannot specify a relative directory" 1>&2 - exit 1 - ;; - esac - deplibs="$deplibs $arg" - ;; + dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` + # We need an absolute path. + case "$dir" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + absdir="$dir" + fi + dir="$absdir" + ;; + esac + case " $deplibs " in + *" $arg "*) ;; + *) deplibs="$deplibs $arg";; + esac + case " $lib_search_path " in + *" $dir "*) ;; + *) lib_search_path="$lib_search_path $dir";; + esac + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2*) + dllsearchdir=`cd "$dir" && pwd || echo "$dir"` + case ":$dllsearchpath:" in + ::) dllsearchpath="$dllsearchdir";; + *":$dllsearchdir:"*) ;; + *) dllsearchpath="$dllsearchpath:$dllsearchdir";; + esac + ;; + esac + ;; - -l*) deplibs="$deplibs $arg" ;; + -l*) + if test "$arg" = "-lc"; then + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) + # These systems don't actually have c library (as such) + continue + ;; + esac + elif test "$arg" = "-lm"; then + case "$host" in + *-*-cygwin* | *-*-beos*) + # These systems don't actually have math library (as such) + continue + ;; + esac + fi + deplibs="$deplibs $arg" + ;; + + -module) + module=yes + continue + ;; -no-undefined) allow_undefined=no @@ -521,23 +1103,50 @@ if test -z "$show_help"; then ;; -rpath) - prev=rpath - continue - ;; + prev=rpath + continue + ;; + + -R) + prev=xrpath + continue + ;; + + -R*) + dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` + # We need an absolute path. + case "$dir" in + [\\/]* | [A-Za-z]:[\\/]*) ;; + *) + $echo "$modename: only absolute run-paths are allowed" 1>&2 + exit 1 + ;; + esac + case "$xrpath " in + *" $dir "*) ;; + *) xrpath="$xrpath $dir" ;; + esac + continue + ;; -static) # If we have no pic_flag, then this is the same as -all-static. if test -z "$pic_flag" && test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" + compile_command="$compile_command $link_static_flag" finalize_command="$finalize_command $link_static_flag" - fi + fi + continue + ;; + + -thread-safe) + thread_safe=yes continue ;; -version-info) - prev=vinfo - continue - ;; + prev=vinfo + continue + ;; # Some other compiler flag. -* | +*) @@ -549,18 +1158,18 @@ if test -z "$show_help"; then arg="\"$arg\"" ;; esac - ;; + ;; - *.o | *.a) - # A standard object. - objs="$objs $arg" - ;; + *.o | *.obj | *.a | *.lib) + # A standard object. + objs="$objs $arg" + ;; *.lo) - # A library object. + # A library object. if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" - if test "$build_libtool_libs" = yes; then + if test "$build_libtool_libs" = yes && test "$dlopen" = yes; then prev= continue else @@ -571,191 +1180,277 @@ if test -z "$show_help"; then if test "$prev" = dlprefiles; then # Preload the old-style object. - dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e 's/\.lo$/\.o/'` + dlprefiles="$dlprefiles "`$echo "X$arg" | $Xsed -e "$lo2o"` prev= fi libobjs="$libobjs $arg" - ;; + ;; *.la) - # A libtool-controlled library. + # A libtool-controlled library. - dlname= - libdir= - library_names= - old_library= + dlname= + libdir= + library_names= + old_library= - # Check to see that this really is a libtool archive. - if (sed -e '2q' $arg | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : - else - $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 - exit 1 - fi + # Check to see that this really is a libtool archive. + if (sed -e '2q' $arg | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$arg' is not a valid libtool archive" 1>&2 + exit 1 + fi - # If there is no directory component, then add one. - case "$arg" in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac + # If the library was installed with an old release of libtool, + # it will not redefine variable installed. + installed=yes - if test -z "$libdir"; then - $echo "$modename: \`$arg' contains no -rpath information" 1>&2 - exit 1 - fi + # Read the .la file + # If there is no directory component, then add one. + case "$arg" in + */* | *\\*) . $arg ;; + *) . ./$arg ;; + esac - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done + # Get the name of the library we link against. + linklib= + for l in $old_library $library_names; do + linklib="$l" + done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 - exit 1 - fi + if test -z "$linklib"; then + $echo "$modename: cannot find name of link library for \`$arg'" 1>&2 + exit 1 + fi - # Find the relevant object directory and library name. - name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` - dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$arg"; then - dir="$objdir" - else - dir="$dir/$objdir" - fi + # Find the relevant object directory and library name. + name=`$echo "X$arg" | $Xsed -e 's%^.*/%%' -e 's/\.la$//' -e 's/^lib//'` - # This library was specified with -dlopen. - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - if test -z "$dlname"; then - # If there is no dlname, we need to preload. - prev=dlprefiles - else - # We should not create a dependency on this library, but we + if test "X$installed" = Xyes; then + dir="$libdir" + else + dir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` + if test "X$dir" = "X$arg"; then + dir="$objdir" + else + dir="$dir/$objdir" + fi + fi + + if test -n "$dependency_libs"; then + # Extract -R and -L from dependency_libs + temp_deplibs= + for deplib in $dependency_libs; do + case "$deplib" in + -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'` + case " $rpath $xrpath " in + *" $temp_xrpath "*) ;; + *) xrpath="$xrpath $temp_xrpath";; + esac;; + -L*) case "$compile_command $temp_deplibs " in + *" $deplib "*) ;; + *) temp_deplibs="$temp_deplibs $deplib";; + esac + temp_dir=`$echo "X$deplib" | $Xsed -e 's/^-L//'` + case " $lib_search_path " in + *" $temp_dir "*) ;; + *) lib_search_path="$lib_search_path $temp_dir";; + esac + ;; + *) temp_deplibs="$temp_deplibs $deplib";; + esac + done + dependency_libs="$temp_deplibs" + fi + + if test -z "$libdir"; then + # It is a libtool convenience library, so add in its objects. + convenience="$convenience $dir/$old_library" + old_convenience="$old_convenience $dir/$old_library" + deplibs="$deplibs$dependency_libs" + compile_command="$compile_command $dir/$old_library$dependency_libs" + finalize_command="$finalize_command $dir/$old_library$dependency_libs" + continue + fi + + # This library was specified with -dlopen. + if test "$prev" = dlfiles; then + dlfiles="$dlfiles $arg" + if test -z "$dlname" || test "$dlopen" != yes || test "$build_libtool_libs" = no; then + # If there is no dlname, no dlopen support or we're linking statically, + # we need to preload. + prev=dlprefiles + else + # We should not create a dependency on this library, but we # may need any libraries it requires. compile_command="$compile_command$dependency_libs" finalize_command="$finalize_command$dependency_libs" - prev= - continue - fi - fi + prev= + continue + fi + fi - # The library was specified with -dlpreopen. - if test "$prev" = dlprefiles; then - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - dlprefiles="$dlprefiles $dir/$old_library" - else - dlprefiles="$dlprefiles $dir/$linklib" - fi - prev= - fi + # The library was specified with -dlpreopen. + if test "$prev" = dlprefiles; then + # Prefer using a static library (so that no silly _DYNAMIC symbols + # are required to link). + if test -n "$old_library"; then + dlprefiles="$dlprefiles $dir/$old_library" + else + dlprefiles="$dlprefiles $dir/$linklib" + fi + prev= + fi - if test "$build_libtool_libs" = yes && test -n "$library_names"; then - link_against_libtool_libs="$link_against_libtool_libs $arg" - if test -n "$shlibpath_var"; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *) temp_rpath="$temp_rpath $dir" ;; - esac - fi + if test -n "$library_names" && + { test "$prefer_static_libs" = no || test -z "$old_library"; }; then + link_against_libtool_libs="$link_against_libtool_libs $arg" + if test -n "$shlibpath_var"; then + # Make sure the rpath contains only unique directories. + case "$temp_rpath " in + *" $dir "*) ;; + *) temp_rpath="$temp_rpath $dir" ;; + esac + fi + # We need an absolute path. + case "$dir" in + [\\/] | [A-Za-z]:[\\/]*) absdir="$dir" ;; + *) + absdir=`cd "$dir" && pwd` + if test -z "$absdir"; then + $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 + $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 + absdir="$dir" + fi + ;; + esac + # This is the magic to use -rpath. - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - # Put the magic libdir with the hardcode flag. - hardcode_libdirs="$libdir" - libdir="@HARDCODE_LIBDIRS@" - else - # Just accumulate the unique libdirs. - case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - libdir= - fi - fi + # Skip directories that are in the system default run-time + # search path, unless they have been requested with -R. + case " $sys_lib_dlsearch_path " in + *" $absdir "*) ;; + *) + case "$compile_rpath " in + *" $absdir "*) ;; + *) compile_rpath="$compile_rpath $absdir" + esac + ;; + esac - if test -n "$libdir"; then - eval flag=\"$hardcode_libdir_flag_spec\" + case " $sys_lib_dlsearch_path " in + *" $libdir "*) ;; + *) + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" + esac + ;; + esac - compile_command="$compile_command $flag" - finalize_command="$finalize_command $flag" - fi - elif test -n "$runpath_var"; then - # Do the same for the permanent run path. - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi + lib_linked=yes + case "$hardcode_action" in + immediate | unsupported) + if test "$hardcode_direct" = no; then + compile_command="$compile_command $dir/$linklib" + deplibs="$deplibs $dir/$linklib" + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2*) + dllsearchdir=`cd "$dir" && pwd || echo "$dir"` + if test -n "$dllsearchpath"; then + dllsearchpath="$dllsearchpath:$dllsearchdir" + else + dllsearchpath="$dllsearchdir" + fi + ;; + esac + elif test "$hardcode_minus_L" = no; then + case "$host" in + *-*-sunos*) + compile_shlibpath="$compile_shlibpath$dir:" + ;; + esac + case "$compile_command " in + *" -L$dir "*) ;; + *) compile_command="$compile_command -L$dir";; + esac + compile_command="$compile_command -l$name" + deplibs="$deplibs -L$dir -l$name" + elif test "$hardcode_shlibpath_var" = no; then + case ":$compile_shlibpath:" in + *":$dir:"*) ;; + *) compile_shlibpath="$compile_shlibpath$dir:";; + esac + compile_command="$compile_command -l$name" + deplibs="$deplibs -l$name" + else + lib_linked=no + fi + ;; + relink) + if test "$hardcode_direct" = yes; then + compile_command="$compile_command $absdir/$linklib" + deplibs="$deplibs $absdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + case "$compile_command " in + *" -L$absdir "*) ;; + *) compile_command="$compile_command -L$absdir";; + esac + compile_command="$compile_command -l$name" + deplibs="$deplibs -L$absdir -l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case ":$compile_shlibpath:" in + *":$absdir:"*) ;; + *) compile_shlibpath="$compile_shlibpath$absdir:";; + esac + compile_command="$compile_command -l$name" + deplibs="$deplibs -l$name" + else + lib_linked=no + fi + ;; - case "$hardcode_action" in - immediate) - if test "$hardcode_direct" = no; then - compile_command="$compile_command $dir/$linklib" - elif test "$hardcode_minus_L" = no; then - compile_command="$compile_command -L$dir -l$name" - elif test "$hardcode_shlibpath_var" = no; then - compile_shlibpath="$compile_shlibpath$dir:" - compile_command="$compile_command -l$name" - fi - ;; + *) + lib_linked=no + ;; + esac - relink) - # We need an absolute path. - case "$dir" in - /* | [A-Za-z]:\\*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - exit 1 - fi - dir="$absdir" - ;; - esac + if test "$lib_linked" != yes; then + $echo "$modename: configuration error: unsupported hardcode properties" + exit 1 + fi - if test "$hardcode_direct" = yes; then - compile_command="$compile_command $dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - compile_command="$compile_command -L$dir -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - compile_shlibpath="$compile_shlibpath$dir:" - compile_command="$compile_command -l$name" - fi - ;; - - *) - $echo "$modename: \`$hardcode_action' is an unknown hardcode action" 1>&2 - exit 1 - ;; - esac - - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - finalize_command="$finalize_command $libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - finalize_command="$finalize_command -L$libdir -l$name" - elif test "$hardcode_shlibpath_var" = yes; then - finalize_shlibpath="$finalize_shlibpath$libdir:" - finalize_command="$finalize_command -l$name" - else - # We cannot seem to hardcode it, guess we'll fake it. - finalize_command="$finalize_command -L$libdir -l$name" - fi - else - # Transform directly to old archives if we don't build new libraries. - if test -n "$pic_flag" && test -z "$old_library"; then - $echo "$modename: cannot find static library for \`$arg'" 1>&2 - exit 1 - fi + # Finalize command for both is simple: just hardcode it. + if test "$hardcode_direct" = yes; then + finalize_command="$finalize_command $libdir/$linklib" + elif test "$hardcode_minus_L" = yes; then + case "$finalize_command " in + *" -L$libdir "*) ;; + *) finalize_command="$finalize_command -L$libdir";; + esac + finalize_command="$finalize_command -l$name" + elif test "$hardcode_shlibpath_var" = yes; then + case ":$finalize_shlibpath:" in + *":$libdir:"*) ;; + *) finalize_shlibpath="$finalize_shlibpath$libdir:";; + esac + finalize_command="$finalize_command -l$name" + else + # We cannot seem to hardcode it, guess we'll fake it. + case "$finalize_command " in + *" -L$dir "*) ;; + *) finalize_command="$finalize_command -L$libdir";; + esac + finalize_command="$finalize_command -l$name" + fi + else + # Transform directly to old archives if we don't build new libraries. + if test -n "$pic_flag" && test -z "$old_library"; then + $echo "$modename: cannot find static library for \`$arg'" 1>&2 + exit 1 + fi # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and @@ -765,16 +1460,24 @@ if test -z "$show_help"; then compile_command="$compile_command $dir/$linklib" finalize_command="$finalize_command $dir/$linklib" else - compile_command="$compile_command -L$dir -l$name" - finalize_command="$finalize_command -L$dir -l$name" + case "$compile_command " in + *" -L$dir "*) ;; + *) compile_command="$compile_command -L$dir";; + esac + compile_command="$compile_command -l$name" + case "$finalize_command " in + *" -L$dir "*) ;; + *) finalize_command="$finalize_command -L$dir";; + esac + finalize_command="$finalize_command -l$name" fi - fi + fi # Add in any libraries that this one depends upon. compile_command="$compile_command$dependency_libs" finalize_command="$finalize_command$dependency_libs" continue - ;; + ;; # Some other compiler argument. *) @@ -786,7 +1489,7 @@ if test -z "$show_help"; then arg="\"$arg\"" ;; esac - ;; + ;; esac # Now actually substitute the argument into the commands. @@ -802,14 +1505,17 @@ if test -z "$show_help"; then exit 1 fi - if test -n "$vinfo" && test -n "$release"; then - $echo "$modename: you cannot specify both \`-version-info' and \`-release'" 1>&2 - $echo "$help" 1>&2 - exit 1 + if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then + eval arg=\"$export_dynamic_flag_spec\" + compile_command="$compile_command $arg" + finalize_command="$finalize_command $arg" fi - oldlib= - oldobjs= + oldlibs= + # calculate the name of the file, without its directory + outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` + libobjs_save="$libobjs" + case "$output" in "") $echo "$modename: you must specify an output file" 1>&2 @@ -817,64 +1523,88 @@ if test -z "$show_help"; then exit 1 ;; - */* | *\\*) - $echo "$modename: output file \`$output' must have no directory components" 1>&2 - exit 1 - ;; + *.a | *.lib) + if test -n "$link_against_libtool_libs"; then + $echo "$modename: error: cannot link libtool libraries into archives" 1>&2 + exit 1 + fi + + if test -n "$deplibs"; then + $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 + fi + + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 + fi + + if test -n "$rpath"; then + $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 + fi + + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for archives" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 + fi + + if test -n "$export_symbols" || test -n "$export_symbols_regex"; then + $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 + fi - *.a) # Now set the variables for building old libraries. build_libtool_libs=no - build_old_libs=yes - oldlib="$output" - $show "$rm $oldlib" - $run $rm $oldlib + oldlibs="$output" ;; *.la) # Make sure we only generate libraries of the form `libNAME.la'. - case "$output" in - lib*) ;; + case "$outputname" in + lib*) + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` + eval libname=\"$libname_spec\" + ;; *) - $echo "$modename: libtool library \`$arg' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit 1 + if test "$module" = no; then + $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + if test "$need_lib_prefix" != no; then + # Add the "lib" prefix for modules if required + name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + eval libname=\"$libname_spec\" + else + libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` + fi ;; esac - name=`$echo "X$output" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval libname=\"$libname_spec\" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - current=0 - revision=0 - age=0 + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi if test -n "$objs"; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 - exit 1 + $echo "$modename: cannot build libtool library \`$output' from non-libtool objects:$objs" 2>&1 + exit 1 fi # How the heck are we supposed to write a wrapper for a shared library? if test -n "$link_against_libtool_libs"; then - $echo "$modename: libtool library \`$output' may not depend on uninstalled libraries:$link_against_libtool_libs" 1>&2 - exit 1 + $echo "$modename: error: cannot link shared libraries into libtool libraries" 1>&2 + exit 1 fi - if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored while creating libtool libraries" 1>&2 - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` - fi - - if test -z "$rpath"; then - $echo "$modename: you must specify an installation directory with \`-rpath'" 1>&2 - $echo "$help" 1>&2 - exit 1 + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for libtool libraries" 1>&2 fi set dummy $rpath @@ -883,587 +1613,1196 @@ if test -z "$show_help"; then fi install_libdir="$2" - # Parse the version information argument. - IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' - set dummy $vinfo - IFS="$save_ifs" + oldlibs= + if test -z "$rpath"; then + if test "$build_libtool_libs" = yes; then + # Building a libtool convenience library. + libext=al + oldlibs="$output_objdir/$libname.$libext $oldlibs" + build_libtool_libs=convenience + build_old_libs=yes + fi + dependency_libs="$deplibs" - if test -n "$5"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit 1 + if test -n "$vinfo"; then + $echo "$modename: warning: \`-version-info' is ignored for convenience libraries" 1>&2 + fi + + if test -n "$release"; then + $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 + fi + else + + # Parse the version information argument. + IFS="${IFS= }"; save_ifs="$IFS"; IFS=':' + set dummy $vinfo 0 0 0 + IFS="$save_ifs" + + if test -n "$8"; then + $echo "$modename: too many parameters to \`-version-info'" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi + + current="$2" + revision="$3" + age="$4" + + # Check that each of the things are valid numbers. + case "$current" in + 0 | [1-9] | [1-9][0-9]*) ;; + *) + $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case "$revision" in + 0 | [1-9] | [1-9][0-9]*) ;; + *) + $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + case "$age" in + 0 | [1-9] | [1-9][0-9]*) ;; + *) + $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + ;; + esac + + if test $age -gt $current; then + $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 + $echo "$modename: \`$vinfo' is not valid version information" 1>&2 + exit 1 + fi + + # Calculate the version variables. + major= + versuffix= + verstring= + case "$version_type" in + none) ;; + + irix) + major=`expr $current - $age + 1` + versuffix="$major.$revision" + verstring="sgi$major.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$revision + while test $loop != 0; do + iface=`expr $revision - $loop` + loop=`expr $loop - 1` + verstring="sgi$major.$iface:$verstring" + done + ;; + + linux) + major=.`expr $current - $age` + versuffix="$major.$age.$revision" + ;; + + osf) + major=`expr $current - $age` + versuffix=".$current.$age.$revision" + verstring="$current.$age.$revision" + + # Add in all the interfaces that we are compatible with. + loop=$age + while test $loop != 0; do + iface=`expr $current - $loop` + loop=`expr $loop - 1` + verstring="$verstring:${iface}.0" + done + + # Make executables depend on our current version. + verstring="$verstring:${current}.0" + ;; + + sunos) + major=".$current" + versuffix=".$current.$revision" + ;; + + freebsd-aout) + major=".$current" + versuffix=".$current.$revision"; + ;; + + freebsd-elf) + major=".$current" + versuffix=".$current"; + ;; + + windows) + # Like Linux, but with '-' rather than '.', since we only + # want one extension on Windows 95. + major=`expr $current - $age` + versuffix="-$major-$age-$revision" + ;; + + *) + $echo "$modename: unknown library version type \`$version_type'" 1>&2 + echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 + exit 1 + ;; + esac + + # Clear the version info if we defaulted, and they specified a release. + if test -z "$vinfo" && test -n "$release"; then + major= + verstring="0.0" + if test "$need_version" = no; then + versuffix= + else + versuffix=".0.0" + fi + fi + + # Remove version info from name if versioning should be avoided + if test "$avoid_version" = yes && test "$need_version" = no; then + major= + versuffix= + verstring="" + fi + + # Check to see if the archive will have undefined symbols. + if test "$allow_undefined" = yes; then + if test "$allow_undefined_flag" = unsupported; then + $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 + build_libtool_libs=no + build_old_libs=yes + fi + else + # Don't allow undefined symbols. + allow_undefined_flag="$no_undefined_flag" + fi + + dependency_libs="$deplibs" + case "$host" in + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*) + # these systems don't actually have a c library (as such)! + ;; + *) + # Add libc to deplibs on all other systems. + deplibs="$deplibs -lc" + ;; + esac fi - test -n "$2" && current="$2" - test -n "$3" && revision="$3" - test -n "$4" && age="$4" - - # Check that each of the things are valid numbers. - case "$current" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case "$revision" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - case "$age" in - 0 | [1-9] | [1-9][0-9]*) ;; - *) - $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - ;; - esac - - if test $age -gt $current; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 - fi - - # Calculate the version variables. - version_vars="version_type current age revision" - case "$version_type" in - none) ;; - - linux) - version_vars="$version_vars major versuffix" - major=`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - version_vars="$version_vars versuffix verstring" - major=`expr $current - $age` - versuffix="$current.$age.$revision" - verstring="$versuffix" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test $loop != 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - version_vars="$version_vars major versuffix" - major="$current" - versuffix="$current.$revision" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 - ;; - esac - # Create the output directory, or remove our outputs if we need to. - if test -d $objdir; then - $show "$rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.*" - $run $rm $objdir/$output $objdir/$libname.* $objdir/${libname}${release}.* + if test -d $output_objdir; then + $show "${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.*" + $run ${rm}r $output_objdir/$outputname $output_objdir/$libname.* $output_objdir/${libname}${release}.* else - $show "$mkdir $objdir" - $run $mkdir $objdir + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir status=$? - if test $status -eq 0 || test -d $objdir; then : - else + if test $status -ne 0 && test ! -d $output_objdir; then exit $status fi fi - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" + # Now set the variables for building old libraries. + if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then + oldlibs="$oldlibs $output_objdir/$libname.$libext" + + # Transform .lo files to .o files. + oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi - # Add libc to deplibs on all systems. - dependency_libs="$deplibs" - deplibs="$deplibs -lc" - if test "$build_libtool_libs" = yes; then - # Get the real and link names of the library. - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift + # Transform deplibs into only deplibs that can be linked in shared. + name_save=$name + libname_save=$libname + release_save=$release + versuffix_save=$versuffix + major_save=$major + # I'm not sure if I'm treating the release correctly. I think + # release should show up in the -l (ie -lgmp5) so we don't want to + # add it in twice. Is that correct? + release="" + versuffix="" + major="" + newdeplibs= + droppeddeps=no + case "$deplibs_check_method" in + pass_all) + # Don't check for shared/static. Everything works. + # This might be a little naive. We might want to check + # whether the library exists or not. But this is on + # osf3 & osf4 and I'm not really sure... Just + # implementing what was already the behaviour. + newdeplibs=$deplibs + ;; + test_compile) + # This code stresses the "libraries are programs" paradigm to its + # limits. Maybe even breaks it. We compile a program, linking it + # against the deplibs as a proxy for the library. Then we can check + # whether they linked in statically or dynamically with ldd. + $rm conftest.c + cat > conftest.c </dev/null` + for potent_lib in $potential_libs; do + # Follow soft links. + if ls -lLd "$potent_lib" 2>/dev/null \ + | grep " -> " >/dev/null; then + continue + fi + # The statement above tries to avoid entering an + # endless loop below, in case of cyclic links. + # We might still enter an endless loop, since a link + # loop can be closed while we follow links, + # but so what? + potlib="$potent_lib" + while test -h "$potlib" 2>/dev/null; do + potliblink=`ls -ld $potlib | sed 's/.* -> //'` + case "$potliblink" in + [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; + *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; + esac + done + if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ + | sed 10q \ + | egrep "$file_magic_regex" > /dev/null; then + newdeplibs="$newdeplibs $a_deplib" + a_deplib="" + break 2 + fi + done + done + if test -n "$a_deplib" ; then + droppeddeps=yes + echo + echo "*** Warning: This library needs some functionality provided by $a_deplib." + echo "*** I have the capability to make that library automatically link in when" + echo "*** you link to this library. But I can only do this if you have a" + echo "*** shared version of the library, which you do not appear to have." + fi + else + # Add a -L argument. + newdeplibs="$newdeplibs $a_deplib" + fi + done # Gone through all deplibs. + ;; + none | unknown | *) + newdeplibs="" + if $echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ + -e 's/ -[LR][^ ]*//g' -e 's/[ ]//g' | + grep . >/dev/null; then + echo + if test "X$deplibs_check_method" = "Xnone"; then + echo "*** Warning: inter-library dependencies are not supported in this platform." + else + echo "*** Warning: inter-library dependencies are not known to be supported." + fi + echo "*** All declared inter-library dependencies are being dropped." + droppeddeps=yes + fi + ;; + esac + versuffix=$versuffix_save + major=$major_save + release=$release_save + libname=$libname_save + name=$name_save - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi + if test "$droppeddeps" = yes; then + if test "$module" = yes; then + echo + echo "*** Warning: libtool could not satisfy all declared inter-library" + echo "*** dependencies of module $libname. Therefore, libtool will create" + echo "*** a static module, that should work as long as the dlopening" + echo "*** application is linked with the -dlopen flag." + if test -z "$global_symbol_pipe"; then + echo + echo "*** However, this would only work if libtool was able to extract symbol" + echo "*** lists from a program, using \`nm' or equivalent, but libtool could" + echo "*** not find such a program. So, this module is probably useless." + echo "*** \`nm' from GNU binutils and a full rebuild may help." + fi + if test "$build_old_libs" = no; then + oldlibs="$output_objdir/$libname.$libext" + build_libtool_libs=module + build_old_libs=yes + else + build_libtool_libs=no + fi + else + echo "*** The inter-library dependencies that have been dropped here will be" + echo "*** automatically added whenever a program is linked with this library" + echo "*** or is declared to -dlopen it." + fi + fi + # Done checking deplibs! + deplibs=$newdeplibs + fi - lib="$objdir/$realname" + # All the library-specific variables (install_libdir is set above). + library_names= + old_library= + dlname= + + # Test again, we may have decided not to build it any more + if test "$build_libtool_libs" = yes; then + # Get the real and link names of the library. + eval library_names=\"$library_names_spec\" + set dummy $library_names + realname="$2" + shift; shift + + if test -n "$soname_spec"; then + eval soname=\"$soname_spec\" + else + soname="$realname" + fi + + lib="$output_objdir/$realname" for link do linknames="$linknames $link" done - # Use standard objects if they are PIC. - test -z "$pic_flag" && libobjs=`$echo "X$libobjs " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//g'` + # Ensure that we have .o objects for linkers which dislike .lo + # (e.g. aix) incase we are running --disable-static + for obj in $libobjs; do + oldobj=`$echo "X$obj" | $Xsed -e "$lo2o"` + if test ! -f $oldobj; then + $show "${LN_S} $obj $oldobj" + $run ${LN_S} $obj $oldobj || exit $? + fi + done - # Do each of the archive commands. - eval cmds=\"$archive_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + # Use standard objects if they are pic + test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - # Create links to the real library. - for linkname in $linknames; do - $show "(cd $objdir && $LN_S $realname $linkname)" - $run eval '(cd $objdir && $LN_S $realname $linkname)' || exit $? - done + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then + $show "generating symbol list for \`$libname.la'" + export_symbols="$output_objdir/$libname.exp" + $run $rm $export_symbols + eval cmds=\"$export_symbols_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + if test -n "$export_symbols_regex"; then + $show "egrep -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" + $run eval 'egrep -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' + $show "$mv \"${export_symbols}T\" \"$export_symbols\"" + $run eval '$mv "${export_symbols}T" "$export_symbols"' + fi + fi + fi - # If -export-dynamic was specified, set the dlname. - if test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi + if test -n "$export_symbols" && test -n "$include_expsyms"; then + $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' + fi + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval libobjs=\"\$libobjs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case "$xlib" in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + libobjs="$libobjs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + + if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then + eval flag=\"$thread_safe_flag_spec\" + linkopts="$linkopts $flag" + fi + + # Do each of the archive commands. + if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then + eval cmds=\"$archive_expsym_cmds\" + else + eval cmds=\"$archive_cmds\" + fi + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + + # Create links to the real library. + for linkname in $linknames; do + if test "$realname" != "$linkname"; then + $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? + fi + done + + # If -module or -export-dynamic was specified, set the dlname. + if test "$module" = yes || test "$export_dynamic" = yes; then + # On all known operating systems, these are identical. + dlname="$soname" + fi fi - - # Now set the variables for building old libraries. - oldlib="$objdir/$libname.a" ;; - *.lo | *.o) + *.lo | *.o | *.obj) if test -n "$link_against_libtool_libs"; then - $echo "$modename: error: cannot link libtool libraries into reloadable objects" 1>&2 - exit 1 + $echo "$modename: error: cannot link libtool libraries into objects" 1>&2 + exit 1 fi if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 fi - if test -n "$dlfiles$dlprefiles"; then - $echo "$modename: warning: \`-dlopen' is ignored while creating objects" 1>&2 - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 fi if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 + fi + + if test -n "$xrpath"; then + $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 fi if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 fi if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 fi case "$output" in *.lo) - if test -n "$objs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit 1 - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e 's/\.lo$/.o/'` - ;; + if test -n "$objs"; then + $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 + exit 1 + fi + libobj="$output" + obj=`$echo "X$output" | $Xsed -e "$lo2o"` + ;; *) - libobj= - obj="$output" - ;; + libobj= + obj="$output" + ;; esac # Delete the old objects. $run $rm $obj $libobj + # Objects from convenience libraries. This assumes + # single-version convenience libraries. Whenever we create + # different ones for PIC/non-PIC, this we'll have to duplicate + # the extraction. + reload_conv_objs= + gentop= + # reload_cmds runs $LD directly, so let us get rid of + # -Wl from whole_archive_flag_spec + wl= + + if test -n "$convenience"; then + if test -n "$whole_archive_flag_spec"; then + eval reload_conv_objs=\"\$reload_objs $whole_archive_flag_spec\" + else + gentop="$output_objdir/${obj}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + for xlib in $convenience; do + # Extract the objects. + case "$xlib" in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + reload_conv_objs="$reload_objs "`find $xdir -name \*.o -print -o -name \*.lo -print | $NL2SP` + done + fi + fi + # Create the old-style object. - reload_objs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` + reload_objs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" output="$obj" eval cmds=\"$reload_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? done IFS="$save_ifs" # Exit if we aren't doing a library object file. - test -z "$libobj" && exit 0 + if test -z "$libobj"; then + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + exit 0 + fi if test "$build_libtool_libs" != yes; then - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - $show "echo timestamp > $libobj" - $run eval "echo timestamp > $libobj" || exit $? - exit 0 + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop + fi + + # Create an invalid libtool object if no PIC, so that we don't + # accidentally link it into a program. + $show "echo timestamp > $libobj" + $run eval "echo timestamp > $libobj" || exit $? + exit 0 fi if test -n "$pic_flag"; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs" - output="$libobj" - eval cmds=\"$reload_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" + # Only do commands if we really have different PIC objects. + reload_objs="$libobjs $reload_conv_objs" + output="$libobj" + eval cmds=\"$reload_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" else - # Just create a symlink. - $show "$LN_S $obj $libobj" - $run $LN_S $obj $libobj || exit 1 + # Just create a symlink. + $show $rm $libobj + $run $rm $libobj + $show "$LN_S $obj $libobj" + $run $LN_S $obj $libobj || exit $? + fi + + if test -n "$gentop"; then + $show "${rm}r $gentop" + $run ${rm}r $gentop fi exit 0 ;; + # Anything else should be a program. *) if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored while linking programs" 1>&2 + $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 fi if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored while creating objects" 1>&2 + $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 fi - if test -n "$rpath"; then + if test "$preload" = yes; then + if test "$dlopen" = unknown && test "$dlopen_self" = unknown && + test "$dlopen_self_static" = unknown; then + $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." + fi + fi + + if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - # Put the magic libdir with the hardcode flag. - hardcode_libdirs="$libdir" - libdir="@HARDCODE_LIBDIRS@" - else - # Just accumulate the unique libdirs. - case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - libdir= - fi - fi - - if test -n "$libdir"; then - eval flag=\"$hardcode_libdir_flag_spec\" - - compile_command="$compile_command $flag" - finalize_command="$finalize_command $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi + for libdir in $rpath $xrpath; do + # This is the magic to use -rpath. + case "$compile_rpath " in + *" $libdir "*) ;; + *) compile_rpath="$compile_rpath $libdir" ;; + esac + case "$finalize_rpath " in + *" $libdir "*) ;; + *) finalize_rpath="$finalize_rpath $libdir" ;; + esac done fi - # Substitute the hardcoded libdirs into the compile commands. - if test -n "$hardcode_libdir_separator"; then - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@HARDCODE_LIBDIRS@%$hardcode_libdirs%g"` + # Now hardcode the library paths + rpath= + hardcode_libdirs= + for libdir in $compile_rpath $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$perm_rpath " in + *" $libdir "*) ;; + *) perm_rpath="$perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + compile_rpath="$rpath" + + rpath= + hardcode_libdirs= + for libdir in $finalize_rpath; do + if test -n "$hardcode_libdir_flag_spec"; then + if test -n "$hardcode_libdir_separator"; then + if test -z "$hardcode_libdirs"; then + hardcode_libdirs="$libdir" + else + # Just accumulate the unique libdirs. + case "$hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator" in + *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) + ;; + *) + hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" + ;; + esac + fi + else + eval flag=\"$hardcode_libdir_flag_spec\" + rpath="$rpath $flag" + fi + elif test -n "$runpath_var"; then + case "$finalize_perm_rpath " in + *" $libdir "*) ;; + *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; + esac + fi + done + # Substitute the hardcoded libdirs into the rpath. + if test -n "$hardcode_libdir_separator" && + test -n "$hardcode_libdirs"; then + libdir="$hardcode_libdirs" + eval rpath=\" $hardcode_libdir_flag_spec\" + fi + finalize_rpath="$rpath" + + output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` + if test "X$output_objdir" = "X$output"; then + output_objdir="$objdir" + else + output_objdir="$output_objdir/$objdir" + fi + + # Create the binary in the object directory, then wrap it. + if test ! -d $output_objdir; then + $show "$mkdir $output_objdir" + $run $mkdir $output_objdir + status=$? + if test $status -ne 0 && test ! -d $output_objdir; then + exit $status + fi fi if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` - finalize_command=`$echo "X$finalize_command " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` + # Transform all the library objects into standard objects. + compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi - if test "$export_dynamic" = yes && test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${output}S.c" - else - dlsyms= + dlsyms= + if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then + if test -n "$NM" && test -n "$global_symbol_pipe"; then + dlsyms="${outputname}S.c" + else + $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + fi fi if test -n "$dlsyms"; then - # Add our own program objects to the preloaded list. - dlprefiles=`$echo "X$objs$dlprefiles " | $Xsed -e 's/\.lo /.o /g' -e 's/ $//'` + case "$dlsyms" in + "") ;; + *.c) + # Discover the nlist of each of the dlfiles. + nlist="$output_objdir/${outputname}.nm" - # Discover the nlist of each of the dlfiles. - nlist="$objdir/${output}.nm" + $show "$rm $nlist ${nlist}S ${nlist}T" + $run $rm "$nlist" "${nlist}S" "${nlist}T" - if test -d $objdir; then - $show "$rm $nlist ${nlist}T" - $run $rm "$nlist" "${nlist}T" - else - $show "$mkdir $objdir" - $run $mkdir $objdir - status=$? - if test $status -eq 0 || test -d $objdir; then : - else - exit $status - fi - fi + # Parse the name list into a source file. + $show "creating $output_objdir/$dlsyms" - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - # Parse the name list into a source file. - $show "creating $objdir/$dlsyms" - if test -z "$run"; then - # Make sure we at least have an empty file. - test -f "$nlist" || : > "$nlist" - - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - wcout=`wc "$nlist" 2>/dev/null` - count=`echo "X$wcout" | $Xsed -e 's/^[ ]*\([0-9][0-9]*\).*$/\1/'` - (test "$count" -ge 0) 2>/dev/null || count=-1 - else - $rm "$nlist"T - count=-1 - fi - - case "$dlsyms" in - "") ;; - *.c) - $echo > "$objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$output' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION */ + test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ +/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ +/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ #ifdef __cplusplus extern \"C\" { #endif /* Prevent the only kind of declaration conflicts we can make. */ -#define dld_preloaded_symbol_count some_other_symbol -#define dld_preloaded_symbols some_other_symbol +#define lt_preloaded_symbols some_other_symbol /* External symbol declarations for the compiler. */\ " - if test -f "$nlist"; then - sed -e 's/^.* \(.*\)$/extern char \1;/' < "$nlist" >> "$objdir/$dlsyms" - else - echo '/* NONE */' >> "$objdir/$dlsyms" + if test "$dlself" = yes; then + $show "generating symbol list for \`$output'" + + test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" + + # Add our own program objects to the symbol list. + progfiles=`$echo "X$objs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` + for arg in $progfiles; do + $show "extracting global C symbols from \`$arg'" + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -n "$exclude_expsyms"; then + $run eval 'egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' + fi + + if test -n "$export_symbols_regex"; then + $run eval 'egrep -e "$export_symbols_regex" "$nlist" > "$nlist"T' + $run eval '$mv "$nlist"T "$nlist"' fi - $echo >> "$objdir/$dlsyms" "\ + # Prepare the list of exported symbols + if test -z "$export_symbols"; then + export_symbols="$output_objdir/$output.exp" + $run $rm $export_symbols + $run eval "sed -n -e '/^: @PROGRAM@$/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' + else + $run eval "sed -e 's/\([][.*^$]\)/\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$output.exp"' + $run eval 'grep -f "$output_objdir/$output.exp" < "$nlist" > "$nlist"T' + $run eval 'mv "$nlist"T "$nlist"' + fi + fi -#undef dld_preloaded_symbol_count -#undef dld_preloaded_symbols + for arg in $dlprefiles; do + $show "extracting global C symbols from \`$arg'" + name=`echo "$arg" | sed -e 's%^.*/%%'` + $run eval 'echo ": $name " >> "$nlist"' + $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" + done + + if test -z "$run"; then + # Make sure we have at least an empty file. + test -f "$nlist" || : > "$nlist" + + if test -n "$exclude_expsyms"; then + egrep -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T + $mv "$nlist"T "$nlist" + fi + + # Try sorting and uniquifying the output. + if grep -v "^: " < "$nlist" | sort +2 | uniq > "$nlist"S; then + : + else + grep -v "^: " < "$nlist" > "$nlist"S + fi + + if test -f "$nlist"S; then + eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' + else + echo '/* NONE */' >> "$output_objdir/$dlsyms" + fi + + $echo >> "$output_objdir/$dlsyms" "\ + +#undef lt_preloaded_symbols #if defined (__STDC__) && __STDC__ -# define __ptr_t void * +# define lt_ptr_t void * #else -# define __ptr_t char * +# define lt_ptr_t char * +# define const #endif -/* The number of symbols in dld_preloaded_symbols, -1 if unsorted. */ -int dld_preloaded_symbol_count = $count; - /* The mapping between symbol names and symbols. */ -struct { - char *name; - __ptr_t address; +const struct { + const char *name; + lt_ptr_t address; } -dld_preloaded_symbols[] = +lt_preloaded_symbols[] = {\ " - if test -f "$nlist"; then - sed 's/^\(.*\) \(.*\)$/ {"\1", (__ptr_t) \&\2},/' < "$nlist" >> "$objdir/$dlsyms" - fi + sed -n -e 's/^: \([^ ]*\) $/ {\"\1\", (lt_ptr_t) 0},/p' \ + -e 's/^. \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr_t) \&\2},/p' \ + < "$nlist" >> "$output_objdir/$dlsyms" - $echo >> "$objdir/$dlsyms" "\ - {0, (__ptr_t) 0} + $echo >> "$output_objdir/$dlsyms" "\ + {0, (lt_ptr_t) 0} }; +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt_preloaded_symbols; +} +#endif + #ifdef __cplusplus } #endif\ " - ;; + fi - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit 1 - ;; + pic_flag_for_symtable= + case "$host" in + # compiling the symbol table file with pic_flag works around + # a FreeBSD bug that causes programs to crash when -lm is + # linked before any other PIC object. But we must not use + # pic_flag when linking with -static. The problem exists in + # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. + *-*-freebsd2*|*-*-freebsd3.0*) + case "$compile_command " in + *" -static "*) ;; + *) pic_flag_for_symtable=" $pic_flag -DPIC -DFREEBSD_WORKAROUND";; + esac esac - fi - # Now compile the dynamic symbol file. - $show "(cd $objdir && $CC -c$no_builtin_flag \"$dlsyms\")" - $run eval '(cd $objdir && $CC -c$no_builtin_flag "$dlsyms")' || exit $? + # Now compile the dynamic symbol file. + $show "(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" + $run eval '(cd $output_objdir && $C_compiler -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - # Transform the symbol file into the correct name. - compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$objdir/${output}S.o%"` - elif test "$export_dynamic" != yes; then - test -n "$dlfiles$dlprefiles" && $echo "$modename: warning: \`-dlopen' and \`-dlpreopen' are ignored without \`-export-dynamic'" 1>&2 + # Clean up the generated files. + $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" + $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" + + # Transform the symbol file into the correct name. + compile_command=`$echo "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%"` + ;; + *) + $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 + exit 1 + ;; + esac else - # We keep going just in case the user didn't refer to - # dld_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 + # We keep going just in case the user didn't refer to + # lt_preloaded_symbols. The linker will fail if global_symbol_pipe + # really was required. - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` - finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` + # Nullify the symbol file. + compile_command=`$echo "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` + finalize_command=`$echo "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi if test -z "$link_against_libtool_libs" || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + # Replace the output file specification. + compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` + link_command="$compile_command$compile_rpath" - # We have no uninstalled library dependencies, so finalize right now. - $show "$compile_command" - $run eval "$compile_command" - exit $? - fi - - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'%g'` - finalize_command=`$echo "X$finalize_command" | $Xsed -e 's%@OUTPUT@%'"$objdir/$output"'T%g'` - - # Create the binary in the object directory, then wrap it. - if test -d $objdir; then : - else - $show "$mkdir $objdir" - $run $mkdir $objdir + # We have no uninstalled library dependencies, so finalize right now. + $show "$link_command" + $run eval "$link_command" status=$? - if test $status -eq 0 || test -d $objdir; then : - else - exit $status + + # Delete the generated files. + if test -n "$dlsyms"; then + $show "$rm $output_objdir/${outputname}S.${objext}" + $run $rm "$output_objdir/${outputname}S.${objext}" fi + + exit $status fi if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case "$dir" in - /* | [A-Za-z]:\\*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" + # We should set the shlibpath_var + rpath= + for dir in $temp_rpath; do + case "$dir" in + [\\/]* | [A-Za-z]:[\\/]*) + # Absolute path. + rpath="$rpath$dir:" + ;; + *) + # Relative path: add a thisdir entry. + rpath="$rpath\$thisdir/$dir:" + ;; + esac + done + temp_rpath="$rpath" fi - # Delete the old output file. - $run $rm $output - - if test -n "$compile_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath\$$shlibpath_var\" $compile_command" + if test -n "$compile_shlibpath$finalize_shlibpath"; then + compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" + finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_command="$runpath_var=\"$rpath\$$runpath_var\" $compile_command" - finalize_command="$runpath_var=\"$rpath\$$runpath_var\" $finalize_command" + compile_var= + finalize_var= + if test -n "$runpath_var"; then + if test -n "$perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $perm_rpath; do + rpath="$rpath$dir:" + done + compile_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi + if test -n "$finalize_perm_rpath"; then + # We should set the runpath_var. + rpath= + for dir in $finalize_perm_rpath; do + rpath="$rpath$dir:" + done + finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " + fi fi - case "$hardcode_action" in - relink) - # AGH! Flame the AIX and HP-UX people for me, will ya? - $echo "$modename: warning: using a buggy system linker" 1>&2 - $echo "$modename: relinking will be required before \`$output' can be installed" 1>&2 - ;; - esac + if test "$hardcode_action" = relink; then + # Fast installation is not supported + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + + $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 + $echo "$modename: \`$output' will be relinked during installation" 1>&2 + else + if test "$fast_install" != no; then + link_command="$finalize_var$compile_command$finalize_rpath" + if test "$fast_install" = yes; then + relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` + else + # fast_install is set to needless + relink_command= + fi + else + link_command="$compile_var$compile_command$compile_rpath" + relink_command="$finalize_var$finalize_command$finalize_rpath" + fi + fi - $show "$compile_command" - $run eval "$compile_command" || exit $? + # Replace the output file specification. + link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` + + # Delete the old output files. + $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname + + $show "$link_command" + $run eval "$link_command" || exit $? # Now create the wrapper script. $show "creating $output" - # Quote the finalize command for shipping. - finalize_command=`$echo "X$finalize_command" | $Xsed -e "$sed_quote_subst"` + # Quote the relink command for shipping. + if test -n "$relink_command"; then + relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"` + fi # Quote $echo for shipping. - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + if test "X$echo" = "X$SHELL $0 --fallback-echo"; then + case "$0" in + [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $0 --fallback-echo";; + *) qecho="$SHELL `pwd`/$0 --fallback-echo";; + esac + qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` + else + qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` + fi # Only actually do things if our run command is non-null. if test -z "$run"; then - $rm $output - trap "$rm $output; exit 1" 1 2 15 + # win32 will think the script is a binary if it has + # a .exe suffix, so we strip it off here. + case $output in + *.exe) output=`echo $output|sed 's,.exe$,,'` ;; + esac + $rm $output + trap "$rm $output; exit 1" 1 2 15 - $echo > $output "\ -#! /bin/sh + $echo > $output "\ +#! $SHELL -# $output - temporary wrapper script for $objdir/$output -# Generated by ltmain.sh - GNU $PACKAGE $VERSION +# $output - temporary wrapper script for $objdir/$outputname +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # -# This wrapper script should never be moved out of \``pwd`'. +# This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. -Xsed='sed -e s/^X//' +Xsed='sed -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. if test \"\${CDPATH+set}\" = set; then CDPATH=; export CDPATH; fi +relink_command=\"$relink_command\" + # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: + # install mode needs the following variable: link_against_libtool_libs='$link_against_libtool_libs' - finalize_command=\"$finalize_command\" else # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" = \"$magic\"; then : - else + if test \"\$libtool_execute_magic\" != \"$magic\"; then echo=\"$qecho\" file=\"\$0\" + # Make sure echo works. + if test \"X\$1\" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then + # Yippee, \$echo works! + : + else + # Restart under the correct shell, and then maybe \$echo will work. + exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} + fi fi\ " - $echo >> $output "\ + $echo >> $output "\ # Find the directory that this script lives in. thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` @@ -1477,7 +2816,7 @@ else # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in - /* | [A-Za-z]:\\*) thisdir=\"\$destdir\" ;; + [\\/]* | [A-Za-z]:[\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi @@ -1489,35 +2828,97 @@ else # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" +" + if test "$fast_install" = yes; then + echo >> $output "\ + program=lt-'$outputname' progdir=\"\$thisdir/$objdir\" - program='$output' + + if test ! -f \"\$progdir/\$program\" || \\ + { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | sed 1q\`; \\ + test \"X\$file\" != \"X\$progdir/\$program\"; }; then + + file=\"\$\$-\$program\" + + if test ! -d \"\$progdir\"; then + $mkdir \"\$progdir\" + else + $rm \"\$progdir/\$file\" + fi" + + echo >> $output "\ + + # relink executable if necessary + if test -n \"\$relink_command\"; then + if (cd \"\$thisdir\" && eval \$relink_command); then : + else + $rm \"\$progdir/\$file\" + exit 1 + fi + fi + + $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || + { $rm \"\$progdir/\$program\"; + $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } + $rm \"\$progdir/\$file\" + fi" + else + echo >> $output "\ + program='$outputname$exeext' + progdir=\"\$thisdir/$objdir\" +" + fi + + echo >> $output "\ if test -f \"\$progdir/\$program\"; then" - # Export our shlibpath_var if we have one. - if test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ + # Export our shlibpath_var if we have one. + if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then + $echo >> $output "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/:*\$//'\` + # The second colon is a workaround for a bug in BeOS R4 sed + $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " - fi + fi - $echo >> $output "\ + # fixup the dll searchpath if we need to. + if test -n "$dllsearchpath"; then + $echo >> $output "\ + # Add the dll search path components to the executable PATH + PATH=$dllsearchpath:\$PATH +" + fi + + $echo >> $output "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. - +" + case $host in + *-*-cygwin* | *-*-mingw | *-*-os2*) + # win32 systems need to use the prog path for dll + # lookup to work + $echo >> $output "\ + exec \$progdir\\\\\$program \${1+\"\$@\"} +" + ;; + *) + $echo >> $output "\ # Export the path to the program. PATH=\"\$progdir:\$PATH\" export PATH exec \$program \${1+\"\$@\"} - +" + ;; + esac + $echo >> $output "\ \$echo \"\$0: cannot exec \$program \${1+\"\$@\"}\" exit 1 fi @@ -1530,45 +2931,128 @@ else fi fi\ " - chmod +x $output + chmod +x $output fi exit 0 ;; esac # See if we need to build an old-fashioned archive. - if test "$build_old_libs" = "yes"; then - # Transform .lo files to .o files. - oldobjs="$objs"`$echo "X$libobjs " | $Xsed -e 's/[^ ]*\.a //g' -e 's/\.lo /.o /g' -e 's/ $//g'` + for oldlib in $oldlibs; do + + if test "$build_libtool_libs" = convenience; then + oldobjs="$libobjs_save" + addlibs="$convenience" + build_libtool_libs=no + else + if test "$build_libtool_libs" = module; then + oldobjs="$libobjs_save" + build_libtool_libs=no + else + oldobjs="$objs "`$echo "X$libobjs_save" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP` + fi + addlibs="$old_convenience" + fi + + if test -n "$addlibs"; then + gentop="$output_objdir/${outputname}x" + $show "${rm}r $gentop" + $run ${rm}r "$gentop" + $show "mkdir $gentop" + $run mkdir "$gentop" + status=$? + if test $status -ne 0 && test ! -d "$gentop"; then + exit $status + fi + generated="$generated $gentop" + + # Add in members from convenience archives. + for xlib in $addlibs; do + # Extract the objects. + case "$xlib" in + [\\/]* | [A-Za-z]:[\\/]*) xabs="$xlib" ;; + *) xabs=`pwd`"/$xlib" ;; + esac + xlib=`$echo "X$xlib" | $Xsed -e 's%^.*/%%'` + xdir="$gentop/$xlib" + + $show "${rm}r $xdir" + $run ${rm}r "$xdir" + $show "mkdir $xdir" + $run mkdir "$xdir" + status=$? + if test $status -ne 0 && test ! -d "$xdir"; then + exit $status + fi + $show "(cd $xdir && $AR x $xabs)" + $run eval "(cd \$xdir && $AR x \$xabs)" || exit $? + + oldobjs="$oldobjs "`find $xdir -name \*.${objext} -print -o -name \*.lo -print | $NL2SP` + done + fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then eval cmds=\"$old_archive_from_new_cmds\" else + # Ensure that we have .o objects in place incase we decided + # not to build a shared library, and have fallen back to building + # static libs even though --disable-static was passed! + for oldobj in $oldobjs; do + if test ! -f $oldobj; then + obj=`$echo "X$oldobj" | $Xsed -e "$o2lo"` + $show "${LN_S} $obj $oldobj" + $run ${LN_S} $obj $oldobj || exit $? + fi + done + eval cmds=\"$old_archive_cmds\" fi - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? done IFS="$save_ifs" + done + + if test -n "$generated"; then + $show "${rm}r$generated" + $run ${rm}r$generated fi # Now create the libtool archive. case "$output" in *.la) old_library= - test "$build_old_libs" = yes && old_library="$libname.a" - + test "$build_old_libs" = yes && old_library="$libname.$libext" $show "creating $output" + if test -n "$xrpath"; then + temp_xrpath= + for libdir in $xrpath; do + temp_xrpath="$temp_xrpath -R$libdir" + done + dependency_libs="$temp_xrpath $dependency_libs" + fi + # Only create the output if not a dry run. if test -z "$run"; then - $echo > $output "\ -# $output - a libtool library file -# Generated by ltmain.sh - GNU $PACKAGE $VERSION + for installed in no yes; do + if test "$installed" = yes; then + if test -z "$install_libdir"; then + break + fi + output="$output_objdir/$outputname"i + fi + $rm $output + $echo > $output "\ +# $outputname - a libtool library file +# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP +# +# Please DO NOT delete this file! +# It is necessary for linking the library. # The name that we can dlopen(3). dlname='$dlname' @@ -1587,15 +3071,19 @@ current=$current age=$age revision=$revision +# Is this an already installed library? +installed=$installed + # Directory that this library needs to be installed in: libdir='$install_libdir'\ " + done fi # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. - $show "(cd $objdir && $LN_S ../$output $output)" - $run eval "(cd $objdir && $LN_S ../$output $output)" || exit 1 + $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" + $run eval "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" || exit $? ;; esac exit 0 @@ -1605,9 +3093,9 @@ libdir='$install_libdir'\ install) modename="$modename: install" - # There may be an optional /bin/sh argument at the beginning of + # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL"; then + if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh; then # Aesthetically quote it. arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` case "$arg" in @@ -1639,14 +3127,14 @@ libdir='$install_libdir'\ opts= prev= install_type= - isdir= + isdir=no stripme= for arg do if test -n "$dest"; then - files="$files $dest" - dest="$arg" - continue + files="$files $dest" + dest="$arg" + continue fi case "$arg" in @@ -1656,20 +3144,20 @@ libdir='$install_libdir'\ -m) prev="-m" ;; -o) prev="-o" ;; -s) - stripme=" -s" - continue - ;; + stripme=" -s" + continue + ;; -*) ;; *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest="$arg" - continue - fi - ;; + # If the previous option needed an argument, then skip it. + if test -n "$prev"; then + prev= + else + dest="$arg" + continue + fi + ;; esac # Aesthetically quote the argument. @@ -1696,9 +3184,9 @@ libdir='$install_libdir'\ if test -z "$files"; then if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 + $echo "$modename: no file or destination specified" 1>&2 else - $echo "$modename: you must specify a destination" 1>&2 + $echo "$modename: you must specify a destination" 1>&2 fi $echo "$help" 1>&2 exit 1 @@ -1709,7 +3197,7 @@ libdir='$install_libdir'\ # Check to see that the destination is a directory. test -d "$dest" && isdir=yes - if test -n "$isdir"; then + if test "$isdir" = yes; then destdir="$dest" destname= else @@ -1720,23 +3208,23 @@ libdir='$install_libdir'\ # Not a directory, so check to see that there is only one file specified. set dummy $files if test $# -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit 1 + $echo "$modename: \`$dest' is not a directory" 1>&2 + $echo "$help" 1>&2 + exit 1 fi fi case "$destdir" in - /* | [A-Za-z]:\\*) ;; + [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do - case "$file" in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac + case "$file" in + *.lo) ;; + *) + $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac done ;; esac @@ -1752,209 +3240,214 @@ libdir='$install_libdir'\ # Do each installation. case "$file" in - *.a) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; + *.a | *.lib) + # Do the static libraries later. + staticlibs="$staticlibs $file" + ;; *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi + # Check to see that this really is a libtool archive. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi - library_names= - old_library= - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac + library_names= + old_library= + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi + # Add the libdir to current_libdirs if it is the destination. + if test "X$destdir" = "X$libdir"; then + case "$current_libdirs " in + *" $libdir "*) ;; + *) current_libdirs="$current_libdirs $libdir" ;; + esac + else + # Note the libdir as a future libdir. + case "$future_libdirs " in + *" $libdir "*) ;; + *) future_libdirs="$future_libdirs $libdir" ;; + esac + fi - dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" + dir="`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/" + test "X$dir" = "X$file/" && dir= + dir="$dir$objdir" - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift + # See the names of the shared library. + set dummy $library_names + if test -n "$2"; then + realname="$2" + shift + shift - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$realname $destdir/$realname" - $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? - test "X$dlname" = "X$realname" && dlname= + # Install the shared library and build the symlinks. + $show "$install_prog $dir/$realname $destdir/$realname" + $run eval "$install_prog $dir/$realname $destdir/$realname" || exit $? - if test $# -gt 0; then - # Delete the old symlinks. - rmcmd="$rm" - for linkname - do - rmcmd="$rmcmd $destdir/$linkname" - done - $show "$rmcmd" - $run $rmcmd + if test $# -gt 0; then + # Delete the old symlinks, and create new ones. + for linkname + do + if test "$linkname" != "$realname"; then + $show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + $run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)" + fi + done + fi - # ... and create new ones. - for linkname - do - test "X$dlname" = "X$linkname" && dlname= - $show "(cd $destdir && $LN_S $realname $linkname)" - $run eval "(cd $destdir && $LN_S $realname $linkname)" - done - fi + # Do each command in the postinstall commands. + lib="$destdir/$realname" + eval cmds=\"$postinstall_cmds\" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? + done + IFS="$save_ifs" + fi - if test -n "$dlname"; then - # Install the dynamically-loadable library. - $show "$install_prog $dir/$dlname $destdir/$dlname" - $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $? - fi + # Install the pseudo-library for information purposes. + name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + instname="$dir/$name"i + $show "$install_prog $instname $destdir/$name" + $run eval "$install_prog $instname $destdir/$name" || exit $? - # Do each command in the postinstall commands. - lib="$destdir/$realname" - eval cmds=\"$postinstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - $show "$install_prog $file $destdir/$name" - $run eval "$install_prog $file $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; + # Maybe install the static library, too. + test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" + ;; *.lo) - # Install (i.e. copy) a libtool object. + # Install (i.e. copy) a libtool object. - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi - # Deduce the name of the destination old-style object file. - case "$destfile" in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e 's/\.lo$/\.o/'` - ;; - *.o) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit 1 - ;; - esac + # Deduce the name of the destination old-style object file. + case "$destfile" in + *.lo) + staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` + ;; + *.o | *.obj) + staticdest="$destfile" + destfile= + ;; + *) + $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 + $echo "$help" 1>&2 + exit 1 + ;; + esac - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi + # Install the libtool object if requested. + if test -n "$destfile"; then + $show "$install_prog $file $destfile" + $run eval "$install_prog $file $destfile" || exit $? + fi - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e 's/\.lo$/\.o/'` + # Install the old object if enabled. + if test "$build_old_libs" = yes; then + # Deduce the name of the old-style object file. + staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit 0 - ;; + $show "$install_prog $staticobj $staticdest" + $run eval "$install_prog \$staticobj \$staticdest" || exit $? + fi + exit 0 + ;; *) - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then - link_against_libtool_libs= - finalize_command= + # Figure out destination file name, if it wasn't already specified. + if test -n "$destname"; then + destfile="$destdir/$destname" + else + destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` + destfile="$destdir/$destfile" + fi - # If there is no directory component, then add one. - case "$file" in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac + # Do a test to see if this is really a libtool program. + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + link_against_libtool_libs= + relink_command= - # Check the variables that should have been set. - if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then - $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 - exit 1 - fi + # If there is no directory component, then add one. + case "$file" in + */* | *\\*) . $file ;; + *) . ./$file ;; + esac - finalize=yes - for lib in $link_against_libtool_libs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case "$lib" in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" - if test -z "$libdir"; then - $echo "$modename: warning: \`$lib' contains no -rpath information" 1>&2 - elif test -f "$libfile"; then : - else - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done + # Check the variables that should have been set. + if test -z "$link_against_libtool_libs"; then + $echo "$modename: invalid libtool wrapper script \`$file'" 1>&2 + exit 1 + fi - if test "$hardcode_action" = relink; then - if test "$finalize" = yes; then - $echo "$modename: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2 - $show "$finalize_command" - if $run eval "$finalize_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - continue - fi - file="$objdir/$file"T - else - $echo "$modename: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2 - fi - else - # Install the binary that we compiled earlier. + finalize=yes + for lib in $link_against_libtool_libs; do + # Check to see that each library is installed. + libdir= + if test -f "$lib"; then + # If there is no directory component, then add one. + case "$lib" in + */* | *\\*) . $lib ;; + *) . ./$lib ;; + esac + fi + libfile="$libdir/`$echo "X$lib" | $Xsed -e 's%^.*/%%g'`" + if test -n "$libdir" && test ! -f "$libfile"; then + $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 + finalize=no + fi + done + + outputname= + if test "$fast_install" = no && test -n "$relink_command"; then + if test "$finalize" = yes && test -z "$run"; then + tmpdir="/tmp" + test -n "$TMPDIR" && tmpdir="$TMPDIR" + tmpdir="$tmpdir/libtool-$$" + if $mkdir -p "$tmpdir" && chmod 700 "$tmpdir"; then : + else + $echo "$modename: error: cannot create temporary directory \`$tmpdir'" 1>&2 + continue + fi + outputname="$tmpdir/$file" + # Replace the output file specification. + relink_command=`$echo "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` + + $show "$relink_command" + if $run eval "$relink_command"; then : + else + $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 + ${rm}r "$tmpdir" + continue + fi + file="$outputname" + else + $echo "$modename: warning: cannot relink \`$file'" 1>&2 + fi + else + # Install the binary that we compiled earlier. file=`$echo "X$file" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi + fi + fi - $show "$install_prog$stripme $file $dest" - $run eval "$install_prog\$stripme \$file \$dest" || exit $? - ;; + $show "$install_prog$stripme $file $destfile" + $run eval "$install_prog\$stripme \$file \$destfile" || exit $? + test -n "$outputname" && ${rm}r "$tmpdir" + ;; esac done @@ -1969,11 +3462,11 @@ libdir='$install_libdir'\ # Do each command in the postinstall commands. eval cmds=\"$old_postinstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || exit $? done IFS="$save_ifs" done @@ -1996,43 +3489,49 @@ libdir='$install_libdir'\ finish) modename="$modename: finish" libdirs="$nonopt" + admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do - libdirs="$libdirs $dir" + libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. eval cmds=\"$finish_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' - for cmd in $cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" - done - IFS="$save_ifs" + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' + for cmd in $cmds; do + IFS="$save_ifs" + $show "$cmd" + $run eval "$cmd" || admincmds="$admincmds + $cmd" + done + IFS="$save_ifs" fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" - $run eval "$cmds" + $run eval "$cmds" || admincmds="$admincmds + $cmds" fi done fi - echo "------------------------------------------------------------------------------" + # Exit here if they wanted silent mode. + test "$show" = : && exit 0 + + echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do echo " $libdir" done echo - echo "To link against installed libraries in a given directory, LIBDIR," - echo "you must use the \`-LLIBDIR' flag during linking." - echo - echo " You will also need to do one of the following:" + echo "If you ever happen to want to link against installed libraries" + echo "in a given directory, LIBDIR, you must either use libtool, and" + echo "specify the full pathname of the library, or use \`-LLIBDIR'" + echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" @@ -2047,13 +3546,16 @@ libdir='$install_libdir'\ echo " - use the \`$flag' linker flag" fi + if test -n "$admincmds"; then + echo " - have your system administrator run these commands:$admincmds" + fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" echo "more information, such as the ld(1) and ld.so(8) manual pages." - echo "------------------------------------------------------------------------------" + echo "----------------------------------------------------------------------" exit 0 ;; @@ -2071,8 +3573,7 @@ libdir='$install_libdir'\ # Handle -dlopen flags immediately. for file in $execute_dlfiles; do - if test -f "$file"; then : - else + if test ! -f "$file"; then $echo "$modename: \`$file' is not a file" 1>&2 $echo "$help" 1>&2 exit 1 @@ -2081,22 +3582,22 @@ libdir='$install_libdir'\ dir= case "$file" in *.la) - # Check to see that this really is a libtool archive. - if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit 1 - fi + # Check to see that this really is a libtool archive. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : + else + $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 + $echo "$help" 1>&2 + exit 1 + fi # Read the libtool library. dlname= library_names= - # If there is no directory component, then add one. + # If there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; - *) . ./$file ;; + *) . ./$file ;; esac # Skip this library if it cannot be dlopened. @@ -2125,7 +3626,7 @@ libdir='$install_libdir'\ *) $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue + continue ;; esac @@ -2152,8 +3653,8 @@ libdir='$install_libdir'\ case "$file" in -*) ;; *) - # Do a test to see if this is really a libtool program. - if (sed -e '4q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then + # Do a test to see if this is really a libtool program. + if (sed -e '4q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then # If there is no directory component, then add one. case "$file" in */* | *\\*) . $file ;; @@ -2163,7 +3664,7 @@ libdir='$install_libdir'\ # Transform arg to wrapped name. file="$progdir/$program" fi - ;; + ;; esac # Quote arguments (to preserve shell metacharacters). file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` @@ -2174,6 +3675,14 @@ libdir='$install_libdir'\ # Export the shlibpath_var. eval "export $shlibpath_var" + # Restore saved enviroment variables + if test "${save_LC_ALL+set}" = set; then + LC_ALL="$save_LC_ALL"; export LC_ALL + fi + if test "${save_LANG+set}" = set; then + LANG="$save_LANG"; export LANG + fi + # Now actually exec the command. eval "exec \$cmd$args" @@ -2217,17 +3726,15 @@ libdir='$install_libdir'\ case "$name" in *.la) - # Possibly a libtool archive, so verify it. - if (sed -e '2q' $file | egrep '^# Generated by ltmain\.sh') >/dev/null 2>&1; then - . $dir/$name + # Possibly a libtool archive, so verify it. + if (sed -e '2q' $file | egrep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then + . $dir/$name - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $dir/$n" - test "X$n" = "X$dlname" && dlname= - done - test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname" - test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" + # Delete the libtool libraries and symlinks. + for n in $library_names; do + rmfiles="$rmfiles $dir/$n" + done + test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library" $show "$rm $rmfiles" $run $rm $rmfiles @@ -2235,7 +3742,7 @@ libdir='$install_libdir'\ if test -n "$library_names"; then # Do each command in the postuninstall commands. eval cmds=\"$postuninstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" @@ -2244,10 +3751,10 @@ libdir='$install_libdir'\ IFS="$save_ifs" fi - if test -n "$old_library"; then + if test -n "$old_library"; then # Do each command in the old_postuninstall commands. eval cmds=\"$old_postuninstall_cmds\" - IFS="${IFS= }"; save_ifs="$IFS"; IFS=';' + IFS="${IFS= }"; save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" $show "$cmd" @@ -2256,21 +3763,21 @@ libdir='$install_libdir'\ IFS="$save_ifs" fi - # FIXME: should reinstall the best remaining shared library. - fi - ;; + # FIXME: should reinstall the best remaining shared library. + fi + ;; *.lo) - if test "$build_old_libs" = yes; then - oldobj=`$echo "X$name" | $Xsed -e 's/\.lo$/\.o/'` - rmfiles="$rmfiles $dir/$oldobj" - fi + if test "$build_old_libs" = yes; then + oldobj=`$echo "X$name" | $Xsed -e "$lo2o"` + rmfiles="$rmfiles $dir/$oldobj" + fi $show "$rm $rmfiles" $run $rm $rmfiles - ;; + ;; *) - $show "$rm $rmfiles" + $show "$rm $rmfiles" $run $rm $rmfiles ;; esac @@ -2297,8 +3804,10 @@ case "$mode" in Provide generalized library-building support services. + --config show all configuration variables + --debug enable verbose shell tracing -n, --dry-run display commands without modifying any files - --features display configuration information and exit + --features display basic configuration information and exit --finish same as \`--mode=finish' --help display this help message and exit --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] @@ -2326,6 +3835,11 @@ compile) Compile a source file into a libtool library object. +This mode accepts the following additional options: + + -o OUTPUT-FILE set the output file name to OUTPUT-FILE + -static always build a \`.o' file suitable for static linking + COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. @@ -2392,18 +3906,25 @@ a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all + -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to dld_preloaded_symbols + -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) + -export-symbols SYMFILE + try to export only the symbols listed in SYMFILE + -export-symbols-regex REGEX + try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME + -module build a library that can dlopened -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR + -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -static do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] + specify library version info [each variable defaults to 0] All other options (arguments beginning with \`-') are ignored. @@ -2411,18 +3932,19 @@ Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only -library objects (\`.lo' files) may be specified, and \`-rpath' is required. +If the OUTPUT-FILE ends in \`.la', then a libtool library is created, +only library objects (\`.lo' files) may be specified, and \`-rpath' is +required, except when creating a convenience library. -If OUTPUT-FILE ends in \`.a', then a standard library is created using \`ar' -and \`ranlib'. +If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created +using \`ar' and \`ranlib', or on Windows using \`lib'. -If OUTPUT-FILE ends in \`.lo' or \`.o', then a reloadable object file is -created, otherwise an executable program is created." +If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file +is created, otherwise an executable program is created." ;; uninstall) - $echo + $echo \ "Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. diff --git a/man/Makefile.in b/man/Makefile.in index 6360c7ea..fe5efa27 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -11,7 +11,7 @@ # PARTICULAR PURPOSE. -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -32,7 +32,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -46,7 +46,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -59,11 +59,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -87,6 +89,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -100,16 +103,8 @@ l = @l@ AUTOMAKE_OPTIONS = 1.0 foreign -man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 \ - login.1 newgrp.1 passwd.1 su.1 \ - shadow.3 \ - faillog.5 limits.5 login.access.5 login.defs.5 \ - passwd.5 porttime.5 shadow.5 suauth.5 \ - chpasswd.8 dpasswd.8 faillog.8 \ - groupadd.8 groupdel.8 groupmod.8 \ - grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 \ - pwck.8 pwconv.8 shadowconfig.8 \ - useradd.8 userdel.8 usermod.8 vipw.8 +man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 login.1 newgrp.1 passwd.1 su.1 shadow.3 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5 chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwck.8 pwconv.8 shadowconfig.8 useradd.8 userdel.8 usermod.8 vipw.8 + # XXX - for some reason "make dist" no longer distributes man_MANS # automatically after upgrade to automake-1.2 (it worked with 1.0). @@ -117,17 +112,8 @@ man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 \ # #EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8 -EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8 \ - chage.1 chfn.1 chsh.1 gpasswd.1 \ - login.1 newgrp.1 passwd.1 su.1 \ - shadow.3 \ - faillog.5 limits.5 login.access.5 login.defs.5 \ - passwd.5 porttime.5 shadow.5 suauth.5 \ - chpasswd.8 dpasswd.8 faillog.8 \ - groupadd.8 groupdel.8 groupmod.8 \ - grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 \ - pwck.8 pwconv.8 shadowconfig.8 \ - useradd.8 userdel.8 usermod.8 vipw.8 +EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8 chage.1 chfn.1 chsh.1 gpasswd.1 login.1 newgrp.1 passwd.1 su.1 shadow.3 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5 chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwck.8 pwconv.8 shadowconfig.8 useradd.8 userdel.8 usermod.8 vipw.8 + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -144,11 +130,10 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: Makefile $(MANS) - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps man/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -289,10 +274,12 @@ uninstall-man8: done install-man: $(MANS) @$(NORMAL_INSTALL) - $(MAKE) install-man1 install-man3 install-man5 install-man8 + $(MAKE) $(AM_MAKEFLAGS) install-man1 install-man3 install-man5 \ + install-man8 uninstall-man: @$(NORMAL_UNINSTALL) - $(MAKE) uninstall-man1 uninstall-man3 uninstall-man5 uninstall-man8 + $(MAKE) $(AM_MAKEFLAGS) uninstall-man1 uninstall-man3 uninstall-man5 \ + uninstall-man8 tags: TAGS TAGS: @@ -304,63 +291,76 @@ subdir = man distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: install-man - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: uninstall-man +install-data-am: install-man +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-man +uninstall: uninstall-am +all-am: Makefile $(MANS) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: $(mkinstalldirs) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man3 \ $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8 mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-generic distclean +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: install-man1 uninstall-man1 install-man3 uninstall-man3 \ install-man5 uninstall-man5 install-man8 uninstall-man8 install-man \ -uninstall-man tags distdir info dvi installcheck install-exec \ -install-data install uninstall all installdirs mostlyclean-generic \ +uninstall-man tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ distclean-generic clean-generic maintainer-clean-generic clean \ mostlyclean distclean maintainer-clean diff --git a/man/limits.5 b/man/limits.5 index 57fced5e..4031219c 100644 --- a/man/limits.5 +++ b/man/limits.5 @@ -40,6 +40,8 @@ T: max CPU time (MIN) .br U: max number of processes .br +K: file creation mask, set by \fBumask\fR(2). +.br L: max number of logins for this user .br P: process priority, set by \fBsetpriority\fR(2). diff --git a/man/newgrp.1 b/man/newgrp.1 index db71e3ac..bfd5a157 100644 --- a/man/newgrp.1 +++ b/man/newgrp.1 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: newgrp.1,v 1.4 1998/12/28 20:35:16 marekm Exp $ +.\" $Id: newgrp.1,v 1.5 1999/08/27 19:02:51 marekm Exp $ .\" .TH NEWGRP 1 .SH NAME @@ -37,7 +37,7 @@ sg \- Execute command as different group ID [\fIgroup\fR] .br .BR sg " [" - ] -[\fIgroup\fR [\fB-c\fR \fIcommand\fR]] +[\fIgroup\fR [[\fB-c\fR] \fIcommand\fR]] .SH DESCRIPTION .B newgrp is used to change the current group ID during a login session. diff --git a/missing b/missing index cbe2b0ef..7789652e 100755 --- a/missing +++ b/missing @@ -82,15 +82,17 @@ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`configure.in'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in` - if test -z "$files"; then - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in` - test -z "$files" || files="$files.in" - else - files=`echo "$files" | sed -e 's/:/ /g'` - fi - test -z "$files" && files="config.h.in" - touch $files + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files ;; automake) @@ -99,9 +101,9 @@ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." - find . -type f -name Makefile.am -print \ - | sed 's/^\(.*\).am$/touch \1.in/' \ - | sh + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done ;; bison|yacc) diff --git a/old/Makefile.in b/old/Makefile.in index 61c95e27..996e51fd 100644 --- a/old/Makefile.in +++ b/old/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,7 +14,7 @@ # and also cooperate to make a distribution for `make dist' -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -35,7 +35,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -62,11 +62,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -101,10 +104,8 @@ VERSION = @VERSION@ YACC = @YACC@ l = @l@ -EXTRA_DIST = Makefile.linux Makefile.sun4 Makefile.svr4 Makefile.xenix \ - config.h.linux config.h.sun4 config.h.svr4 config.h.xenix \ - orig-config.h pwconv.8 pwconv-old.8 pwconv-old.c pwd.h.m4 \ - pwunconv.8 pwunconv-old.8 pwunconv-old.c scologin.c vipw.8 +EXTRA_DIST = Makefile.linux Makefile.sun4 Makefile.svr4 Makefile.xenix config.h.linux config.h.sun4 config.h.svr4 config.h.xenix orig-config.h pwconv.8 pwconv-old.8 pwconv-old.c pwd.h.m4 pwunconv.8 pwunconv-old.8 pwunconv-old.c scologin.c vipw.8 + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = @@ -114,11 +115,10 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: Makefile - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps old/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -136,61 +136,74 @@ subdir = old distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-generic distclean +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: tags distdir info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/po/cat-id-tbl.c b/po/cat-id-tbl.c index 743fffcd..40455d75 100644 --- a/po/cat-id-tbl.c +++ b/po/cat-id-tbl.c @@ -43,458 +43,460 @@ const struct _msg_ent _msg_tbl[] = { {"Invalid root directory \"%s\"\n", 34}, {"Can't change root directory to \"%s\"\n", 35}, {"malloc(%d) failed\n", 36}, - {"Dialup Password:", 37}, + {"Dialup Password: ", 37}, {"Could not allocate space for config info.\n", 38}, {"configuration error - unknown item '%s' (notify administrator)\n", 39}, {"error - lookup '%s' failed\n", 40}, {"%s not found\n", 41}, {"Password: ", 42}, - {"%s's Password:", 43}, - {"Unknown error %d", 44}, + {"%s's Password: ", 43}, + {"(Echo on) ", 44}, + {"Unknown error %d", 45}, {"\ Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n\ - [ -I inactive ] [ -E expire ] [ -d last_day ] user\n", 45}, - {"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n", 46}, + [ -I inactive ] [ -E expire ] [ -d last_day ] user\n", 46}, + {"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n", 47}, {"\ Enter the new value, or press return for the default\n\ -\n", 47}, - {"Minimum Password Age", 48}, - {"Maximum Password Age", 49}, - {"Last Password Change (YYYY-MM-DD)", 50}, - {"Password Expiration Warning", 51}, - {"Password Inactive", 52}, - {"Account Expiration Date (YYYY-MM-DD)", 53}, - {"Minimum:\t%ld\n", 54}, - {"Maximum:\t%ld\n", 55}, - {"Warning:\t%ld\n", 56}, - {"Inactive:\t%ld\n", 57}, - {"Last Change:\t\t", 58}, - {"Never\n", 59}, - {"Password Expires:\t", 60}, - {"%s: do not include \"l\" with other flags\n", 61}, - {"%s: permission denied\n", 62}, - {"%s: can't lock password file\n", 63}, - {"%s: can't open password file\n", 64}, - {"%s: unknown user: %s\n", 65}, - {"%s: can't lock shadow password file\n", 66}, - {"%s: can't open shadow password file\n", 67}, - {"Changing the aging information for %s\n", 68}, - {"%s: error changing fields\n", 69}, - {"%s: can't update password file\n", 70}, - {"%s: can't update shadow password file\n", 71}, - {"Error updating the DBM password entry.\n", 72}, - {"%s: can't rewrite shadow password file\n", 73}, - {"%s: can't rewrite password file\n", 74}, - {"%s: no aging information present\n", 75}, +\n", 48}, + {"Minimum Password Age", 49}, + {"Maximum Password Age", 50}, + {"Last Password Change (YYYY-MM-DD)", 51}, + {"Password Expiration Warning", 52}, + {"Password Inactive", 53}, + {"Account Expiration Date (YYYY-MM-DD)", 54}, + {"Minimum:\t%ld\n", 55}, + {"Maximum:\t%ld\n", 56}, + {"Warning:\t%ld\n", 57}, + {"Inactive:\t%ld\n", 58}, + {"Last Change:\t\t", 59}, + {"Never\n", 60}, + {"Password Expires:\t", 61}, + {"Password Inactive:\t", 62}, + {"Account Expires:\t", 63}, + {"%s: do not include \"l\" with other flags\n", 64}, + {"%s: permission denied\n", 65}, + {"%s: can't lock password file\n", 66}, + {"%s: can't open password file\n", 67}, + {"%s: unknown user: %s\n", 68}, + {"%s: can't lock shadow password file\n", 69}, + {"%s: can't open shadow password file\n", 70}, + {"Changing the aging information for %s\n", 71}, + {"%s: error changing fields\n", 72}, + {"%s: can't update password file\n", 73}, + {"%s: can't update shadow password file\n", 74}, + {"Error updating the DBM password entry.\n", 75}, + {"%s: can't rewrite shadow password file\n", 76}, + {"%s: can't rewrite password file\n", 77}, + {"%s: no aging information present\n", 78}, {"\ Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ]\n\ -\t[ -h home_ph ] [ -o other ] [ user ]\n", 76}, +\t[ -h home_ph ] [ -o other ] [ user ]\n", 79}, {"\ -Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n", 77}, - {"Enter the new value, or press return for the default\n", 78}, - {"Full Name", 79}, - {"\tFull Name: %s\n", 80}, - {"Room Number", 81}, - {"\tRoom Number: %s\n", 82}, - {"Work Phone", 83}, - {"\tWork Phone: %s\n", 84}, - {"Home Phone", 85}, - {"\tHome Phone: %s\n", 86}, - {"Other", 87}, - {"%s: Permission denied.\n", 88}, - {"%s: Unknown user %s\n", 89}, - {"%s: Cannot determine your user name.\n", 90}, - {"%s: cannot change user `%s' on NIS client.\n", 91}, - {"%s: `%s' is the NIS master for this client.\n", 92}, - {"Changing the user information for %s\n", 93}, - {"%s: invalid name: \"%s\"\n", 94}, - {"%s: invalid room number: \"%s\"\n", 95}, - {"%s: invalid work phone: \"%s\"\n", 96}, - {"%s: invalid home phone: \"%s\"\n", 97}, - {"%s: \"%s\" contains illegal characters\n", 98}, - {"%s: fields too long\n", 99}, - {"Cannot change ID to root.\n", 100}, - {"Cannot lock the password file; try again later.\n", 101}, - {"Cannot open the password file.\n", 102}, - {"%s: %s not found in /etc/passwd\n", 103}, - {"Error updating the password entry.\n", 104}, - {"Cannot commit password file changes.\n", 105}, - {"Cannot unlock the password file.\n", 106}, - {"usage: %s [-e]\n", 107}, - {"%s: can't lock shadow file\n", 108}, - {"%s: can't open shadow file\n", 109}, - {"%s: line %d: line too long\n", 110}, - {"%s: line %d: missing new password\n", 111}, - {"%s: line %d: unknown user %s\n", 112}, - {"%s: line %d: cannot update password entry\n", 113}, - {"%s: error detected, changes ignored\n", 114}, - {"%s: error updating shadow file\n", 115}, - {"%s: error updating password file\n", 116}, - {"Usage: %s [ -s shell ] [ name ]\n", 117}, - {"Login Shell", 118}, - {"You may not change the shell for %s.\n", 119}, - {"Changing the login shell for %s\n", 120}, - {"%s: Invalid entry: %s\n", 121}, - {"%s is an invalid shell.\n", 122}, - {"Usage: %s [ -(a|d) ] shell\n", 123}, - {"Shell password:", 124}, - {"re-enter Shell password:", 125}, - {"%s: Passwords do not match, try again.\n", 126}, - {"%s: can't create %s", 127}, - {"%s: can't open %s", 128}, - {"%s: Shell %s not found.\n", 129}, - {"Usage: expiry { -f | -c }\n", 130}, - {"%s: WARNING! Must be set-UID root!\n", 131}, - {"%s: unknown user\n", 132}, - {"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 133}, - {"Unknown User: %s\n", 134}, - {"Username Failures Maximum Latest\n", 135}, - {" %s on %s", 136}, - {" [%lds left]", 137}, - {" [%lds lock]", 138}, - {"usage: %s [-r|-R] group\n", 139}, - {" %s [-a user] group\n", 140}, - {" %s [-d user] group\n", 141}, - {" %s [-A user,...] [-M user,...] group\n", 142}, - {" %s [-M user,...] group\n", 143}, - {"%s: unknown user %s\n", 144}, - {"Permission denied.\n", 145}, - {"%s: shadow group passwords required for -A\n", 146}, - {"Who are you?\n", 147}, - {"unknown group: %s\n", 148}, - {"Adding user %s to group %s\n", 149}, - {"Removing user %s from group %s\n", 150}, - {"%s: unknown member %s\n", 151}, - {"%s: Not a tty\n", 152}, - {"Changing the password for group %s\n", 153}, - {"New Password:", 154}, - {"Re-enter new password:", 155}, - {"They don't match; try again", 156}, - {"%s: Try again later\n", 157}, - {"%s: can't get lock\n", 158}, - {"%s: can't get shadow lock\n", 159}, - {"%s: can't open file\n", 160}, - {"%s: can't update entry\n", 161}, - {"%s: can't update shadow entry\n", 162}, - {"%s: can't re-write file\n", 163}, - {"%s: can't re-write shadow file\n", 164}, - {"%s: can't unlock file\n", 165}, - {"%s: can't update DBM files\n", 166}, - {"%s: can't update DBM shadow files\n", 167}, - {"usage: groupadd [-g gid [-o]] group\n", 168}, - {"%s: error adding new group entry\n", 169}, - {"%s: cannot add new dbm group entry\n", 170}, - {"%s: name %s is not unique\n", 171}, - {"%s: gid %ld is not unique\n", 172}, - {"%s: can't get unique gid\n", 173}, - {"%s: %s is a not a valid group name\n", 174}, - {"%s: invalid group %s\n", 175}, - {"%s: -O requires NAME=VALUE\n", 176}, - {"%s: cannot rewrite group file\n", 177}, - {"%s: cannot rewrite shadow group file\n", 178}, - {"%s: unable to lock group file\n", 179}, - {"%s: unable to open group file\n", 180}, - {"%s: unable to lock shadow group file\n", 181}, - {"%s: unable to open shadow group file\n", 182}, - {"%s: group %s exists\n", 183}, - {"usage: groupdel group\n", 184}, - {"%s: error removing group entry\n", 185}, - {"%s: error removing group dbm entry\n", 186}, - {"%s: error removing shadow group entry\n", 187}, - {"%s: error removing shadow group dbm entry\n", 188}, - {"%s: cannot remove user's primary group.\n", 189}, - {"%s: group %s does not exist\n", 190}, - {"%s: group %s is a NIS group\n", 191}, - {"%s: %s is the NIS master\n", 192}, - {"usage: groupmod [-g gid [-o]] [-n name] group\n", 193}, - {"%s: %s not found in /etc/group\n", 194}, - {"%s: cannot add new dbm shadow group entry\n", 195}, - {"%s: %ld is not a unique gid\n", 196}, - {"%s: %s is not a unique name\n", 197}, - {"unknown user %s\n", 198}, - {"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 199}, - {"Usage: %s [ -r ] [ group ]\n", 200}, - {"No", 201}, - {"%s: cannot lock file %s\n", 202}, - {"%s: cannot open file %s\n", 203}, - {"invalid group file entry\n", 204}, - {"delete line `%s'? ", 205}, - {"duplicate group entry\n", 206}, - {"invalid group name `%s'\n", 207}, - {"group %s: bad GID (%d)\n", 208}, - {"group %s: no user %s\n", 209}, - {"delete member `%s'? ", 210}, - {"invalid shadow group file entry\n", 211}, - {"duplicate shadow group entry\n", 212}, - {"no matching group file entry\n", 213}, - {"shadow group %s: no administrative user %s\n", 214}, - {"delete administrative member `%s'? ", 215}, - {"shadow group %s: no user %s\n", 216}, - {"%s: cannot update file %s\n", 217}, - {"%s: the files have been updated; run mkpasswd\n", 218}, - {"%s: no changes\n", 219}, - {"%s: the files have been updated\n", 220}, - {"%s: can't lock group file\n", 221}, - {"%s: can't open group file\n", 222}, - {"%s: can't lock shadow group file\n", 223}, - {"%s: can't open shadow group file\n", 224}, - {"%s: can't remove shadow group %s\n", 225}, - {"%s: can't update shadow entry for %s\n", 226}, - {"%s: can't update entry for group %s\n", 227}, - {"%s: can't update shadow group file\n", 228}, - {"%s: can't update group file\n", 229}, - {"%s: not configured for shadow group support.\n", 230}, - {"%s: can't delete shadow group file\n", 231}, - {"usage: id [ -a ]\n", 232}, - {"usage: id\n", 233}, - {"uid=%d(%s)", 234}, - {"uid=%d", 235}, - {" gid=%d(%s)", 236}, - {" gid=%d", 237}, - {" euid=%d(%s)", 238}, - {" euid=%d", 239}, - {" egid=%d(%s)", 240}, - {" egid=%d", 241}, - {" groups=", 242}, - {"Username Port From Latest\n", 243}, - {"Username Port Latest\n", 244}, - {"**Never logged in**", 245}, - {"usage: %s [-p] [name]\n", 246}, - {" %s [-p] [-h host] [-f name]\n", 247}, - {" %s [-p] -r host\n", 248}, - {"Invalid login time\n", 249}, +Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n", 80}, + {"Enter the new value, or press return for the default\n", 81}, + {"Full Name", 82}, + {"\tFull Name: %s\n", 83}, + {"Room Number", 84}, + {"\tRoom Number: %s\n", 85}, + {"Work Phone", 86}, + {"\tWork Phone: %s\n", 87}, + {"Home Phone", 88}, + {"\tHome Phone: %s\n", 89}, + {"Other", 90}, + {"%s: Permission denied.\n", 91}, + {"%s: Unknown user %s\n", 92}, + {"%s: Cannot determine your user name.\n", 93}, + {"%s: cannot change user `%s' on NIS client.\n", 94}, + {"%s: `%s' is the NIS master for this client.\n", 95}, + {"Changing the user information for %s\n", 96}, + {"%s: invalid name: \"%s\"\n", 97}, + {"%s: invalid room number: \"%s\"\n", 98}, + {"%s: invalid work phone: \"%s\"\n", 99}, + {"%s: invalid home phone: \"%s\"\n", 100}, + {"%s: \"%s\" contains illegal characters\n", 101}, + {"%s: fields too long\n", 102}, + {"Cannot change ID to root.\n", 103}, + {"Cannot lock the password file; try again later.\n", 104}, + {"Cannot open the password file.\n", 105}, + {"%s: %s not found in /etc/passwd\n", 106}, + {"Error updating the password entry.\n", 107}, + {"Cannot commit password file changes.\n", 108}, + {"Cannot unlock the password file.\n", 109}, + {"usage: %s [-e]\n", 110}, + {"%s: can't lock shadow file\n", 111}, + {"%s: can't open shadow file\n", 112}, + {"%s: line %d: line too long\n", 113}, + {"%s: line %d: missing new password\n", 114}, + {"%s: line %d: unknown user %s\n", 115}, + {"%s: line %d: cannot update password entry\n", 116}, + {"%s: error detected, changes ignored\n", 117}, + {"%s: error updating shadow file\n", 118}, + {"%s: error updating password file\n", 119}, + {"Usage: %s [ -s shell ] [ name ]\n", 120}, + {"Login Shell", 121}, + {"You may not change the shell for %s.\n", 122}, + {"Changing the login shell for %s\n", 123}, + {"%s: Invalid entry: %s\n", 124}, + {"%s is an invalid shell.\n", 125}, + {"Usage: %s [ -(a|d) ] shell\n", 126}, + {"Shell password: ", 127}, + {"re-enter Shell password: ", 128}, + {"%s: Passwords do not match, try again.\n", 129}, + {"%s: can't create %s", 130}, + {"%s: can't open %s", 131}, + {"%s: Shell %s not found.\n", 132}, + {"Usage: expiry { -f | -c }\n", 133}, + {"%s: WARNING! Must be set-UID root!\n", 134}, + {"%s: unknown user\n", 135}, + {"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 136}, + {"Unknown User: %s\n", 137}, + {"Username Failures Maximum Latest\n", 138}, + {" %s on %s", 139}, + {" [%lds left]", 140}, + {" [%lds lock]", 141}, + {"usage: %s [-r|-R] group\n", 142}, + {" %s [-a user] group\n", 143}, + {" %s [-d user] group\n", 144}, + {" %s [-A user,...] [-M user,...] group\n", 145}, + {" %s [-M user,...] group\n", 146}, + {"%s: unknown user %s\n", 147}, + {"Permission denied.\n", 148}, + {"%s: shadow group passwords required for -A\n", 149}, + {"Who are you?\n", 150}, + {"unknown group: %s\n", 151}, + {"Adding user %s to group %s\n", 152}, + {"Removing user %s from group %s\n", 153}, + {"%s: unknown member %s\n", 154}, + {"%s: Not a tty\n", 155}, + {"Changing the password for group %s\n", 156}, + {"New Password: ", 157}, + {"Re-enter new password: ", 158}, + {"They don't match; try again", 159}, + {"%s: Try again later\n", 160}, + {"%s: can't get lock\n", 161}, + {"%s: can't get shadow lock\n", 162}, + {"%s: can't open file\n", 163}, + {"%s: can't update entry\n", 164}, + {"%s: can't update shadow entry\n", 165}, + {"%s: can't re-write file\n", 166}, + {"%s: can't re-write shadow file\n", 167}, + {"%s: can't unlock file\n", 168}, + {"%s: can't update DBM files\n", 169}, + {"%s: can't update DBM shadow files\n", 170}, + {"usage: groupadd [-g gid [-o]] group\n", 171}, + {"%s: error adding new group entry\n", 172}, + {"%s: cannot add new dbm group entry\n", 173}, + {"%s: name %s is not unique\n", 174}, + {"%s: gid %ld is not unique\n", 175}, + {"%s: can't get unique gid\n", 176}, + {"%s: %s is a not a valid group name\n", 177}, + {"%s: invalid group %s\n", 178}, + {"%s: -O requires NAME=VALUE\n", 179}, + {"%s: cannot rewrite group file\n", 180}, + {"%s: cannot rewrite shadow group file\n", 181}, + {"%s: unable to lock group file\n", 182}, + {"%s: unable to open group file\n", 183}, + {"%s: unable to lock shadow group file\n", 184}, + {"%s: unable to open shadow group file\n", 185}, + {"%s: group %s exists\n", 186}, + {"usage: groupdel group\n", 187}, + {"%s: error removing group entry\n", 188}, + {"%s: error removing group dbm entry\n", 189}, + {"%s: error removing shadow group entry\n", 190}, + {"%s: error removing shadow group dbm entry\n", 191}, + {"%s: cannot remove user's primary group.\n", 192}, + {"%s: group %s does not exist\n", 193}, + {"%s: group %s is a NIS group\n", 194}, + {"%s: %s is the NIS master\n", 195}, + {"usage: groupmod [-g gid [-o]] [-n name] group\n", 196}, + {"%s: %s not found in /etc/group\n", 197}, + {"%s: cannot add new dbm shadow group entry\n", 198}, + {"%s: %ld is not a unique gid\n", 199}, + {"%s: %s is not a unique name\n", 200}, + {"unknown user %s\n", 201}, + {"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 202}, + {"Usage: %s [ -r ] [ group ]\n", 203}, + {"No", 204}, + {"%s: cannot lock file %s\n", 205}, + {"%s: cannot open file %s\n", 206}, + {"invalid group file entry\n", 207}, + {"delete line `%s'? ", 208}, + {"duplicate group entry\n", 209}, + {"invalid group name `%s'\n", 210}, + {"group %s: bad GID (%d)\n", 211}, + {"group %s: no user %s\n", 212}, + {"delete member `%s'? ", 213}, + {"invalid shadow group file entry\n", 214}, + {"duplicate shadow group entry\n", 215}, + {"no matching group file entry\n", 216}, + {"shadow group %s: no administrative user %s\n", 217}, + {"delete administrative member `%s'? ", 218}, + {"shadow group %s: no user %s\n", 219}, + {"%s: cannot update file %s\n", 220}, + {"%s: the files have been updated; run mkpasswd\n", 221}, + {"%s: no changes\n", 222}, + {"%s: the files have been updated\n", 223}, + {"%s: can't lock group file\n", 224}, + {"%s: can't open group file\n", 225}, + {"%s: can't lock shadow group file\n", 226}, + {"%s: can't open shadow group file\n", 227}, + {"%s: can't remove shadow group %s\n", 228}, + {"%s: can't update shadow entry for %s\n", 229}, + {"%s: can't update entry for group %s\n", 230}, + {"%s: can't update shadow group file\n", 231}, + {"%s: can't update group file\n", 232}, + {"%s: not configured for shadow group support.\n", 233}, + {"%s: can't delete shadow group file\n", 234}, + {"usage: id [ -a ]\n", 235}, + {"usage: id\n", 236}, + {"uid=%d(%s)", 237}, + {"uid=%d", 238}, + {" gid=%d(%s)", 239}, + {" gid=%d", 240}, + {" euid=%d(%s)", 241}, + {" euid=%d", 242}, + {" egid=%d(%s)", 243}, + {" egid=%d", 244}, + {" groups=", 245}, + {"Username Port From Latest\n", 246}, + {"Username Port Latest\n", 247}, + {"**Never logged in**", 248}, + {"usage: %s [-p] [name]\n", 249}, + {" %s [-p] [-h host] [-f name]\n", 250}, + {" %s [-p] -r host\n", 251}, + {"Invalid login time\n", 252}, {"\ \n\ -System closed for routine maintenance\n", 250}, +System closed for routine maintenance\n", 253}, {"\ \n\ -[Disconnect bypassed -- root login allowed.]\n", 251}, +[Disconnect bypassed -- root login allowed.]\n", 254}, {"\ \n\ -Login timed out after %d seconds.\n", 252}, - {" on `%.100s' from `%.200s'", 253}, - {" on `%.100s'", 254}, +Login timed out after %d seconds.\n", 255}, + {" on `%.100s' from `%.200s'", 256}, + {" on `%.100s'", 257}, {"\ \n\ -%s login: ", 255}, - {"login: ", 256}, - {"Login incorrect", 257}, - {"Warning: login re-enabled after temporary lockout.\n", 258}, - {"Last login: %s on %s", 259}, - {"Last login: %.19s on %s", 260}, - {" from %.*s", 261}, - {"Starting rad_login\n", 262}, - {"%s: no DBM database on system - no action performed\n", 263}, - {"%s: cannot overwrite file %s\n", 264}, - {"%s: cannot open DBM files for %s\n", 265}, - {"%s: the beginning with ", 266}, - {"%s: error parsing line \"%s\"\n", 267}, - {"adding record for name ", 268}, - {"%s: error adding record for ", 269}, - {"added %d entries, longest was %d\n", 270}, - {"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 271}, - {"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 272}, - {"Usage: %s [ -vf ] [ -p|g ] file\n", 273}, - {"usage: newgrp [ - ] [ group ]\n", 274}, - {"usage: sg group [ command ]\n", 275}, - {"unknown uid: %d\n", 276}, - {"unknown gid: %ld\n", 277}, - {"unknown gid: %d\n", 278}, - {"Password:", 279}, - {"Sorry.\n", 280}, - {"too many groups\n", 281}, - {"Usage: %s [ input ]\n", 282}, - {"%s: can't lock /etc/passwd.\n", 283}, - {"%s: can't lock files, try again later\n", 284}, - {"%s: can't open files\n", 285}, - {"%s: line %d: invalid line\n", 286}, - {"%s: line %d: can't create GID\n", 287}, - {"%s: line %d: can't create UID\n", 288}, - {"%s: line %d: cannot find user %s\n", 289}, - {"%s: line %d: can't update password\n", 290}, - {"%s: line %d: mkdir failed\n", 291}, - {"%s: line %d: chown failed\n", 292}, - {"%s: line %d: can't update entry\n", 293}, - {"%s: error updating files\n", 294}, - {"usage: %s [ -f | -s ] [ name ]\n", 295}, - {" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 296}, - {" %s { -l | -u | -d | -S | -e } name\n", 297}, - {"User %s has a TCFS key, his old password is required.\n", 298}, - {"You can use -t option to force the change.\n", 299}, - {"Old password:", 300}, - {"Incorrect password for `%s'\n", 301}, - {"Warning: user %s has a TCFS key.\n", 302}, +%s login: ", 258}, + {"login: ", 259}, + {"Login incorrect", 260}, + {"Warning: login re-enabled after temporary lockout.\n", 261}, + {"Last login: %s on %s", 262}, + {"Last login: %.19s on %s", 263}, + {" from %.*s", 264}, + {"Starting rad_login\n", 265}, + {"%s: no DBM database on system - no action performed\n", 266}, + {"%s: cannot overwrite file %s\n", 267}, + {"%s: cannot open DBM files for %s\n", 268}, + {"%s: the beginning with ", 269}, + {"%s: error parsing line \"%s\"\n", 270}, + {"adding record for name ", 271}, + {"%s: error adding record for ", 272}, + {"added %d entries, longest was %d\n", 273}, + {"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 274}, + {"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 275}, + {"Usage: %s [ -vf ] [ -p|g ] file\n", 276}, + {"usage: newgrp [ - ] [ group ]\n", 277}, + {"usage: sg group [[-c] command ]\n", 278}, + {"unknown uid: %d\n", 279}, + {"unknown gid: %ld\n", 280}, + {"unknown gid: %d\n", 281}, + {"Sorry.\n", 282}, + {"too many groups\n", 283}, + {"Usage: %s [ input ]\n", 284}, + {"%s: can't lock /etc/passwd.\n", 285}, + {"%s: can't lock files, try again later\n", 286}, + {"%s: can't open files\n", 287}, + {"%s: line %d: invalid line\n", 288}, + {"%s: line %d: can't create GID\n", 289}, + {"%s: line %d: can't create UID\n", 290}, + {"%s: line %d: cannot find user %s\n", 291}, + {"%s: line %d: can't update password\n", 292}, + {"%s: line %d: mkdir failed\n", 293}, + {"%s: line %d: chown failed\n", 294}, + {"%s: line %d: can't update entry\n", 295}, + {"%s: error updating files\n", 296}, + {"usage: %s [ -f | -s ] [ name ]\n", 297}, + {" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 298}, + {" %s { -l | -u | -d | -S | -e } name\n", 299}, + {"User %s has a TCFS key, his old password is required.\n", 300}, + {"You can use -t option to force the change.\n", 301}, + {"Old password: ", 302}, + {"Incorrect password for `%s'\n", 303}, + {"Warning: user %s has a TCFS key.\n", 304}, {"\ Enter the new password (minimum of %d, maximum of %d characters)\n\ -Please use a combination of upper and lower case letters and numbers.\n", 303}, - {"New password:", 304}, - {"Try again.\n", 305}, +Please use a combination of upper and lower case letters and numbers.\n", 305}, + {"New password: ", 306}, + {"Try again.\n", 307}, {"\ \n\ -Warning: weak password (enter it again to use it anyway).\n", 306}, - {"They don't match; try again.\n", 307}, - {"The password for %s cannot be changed.\n", 308}, - {"Sorry, the password for %s cannot be changed yet.\n", 309}, - {"%s: out of memory\n", 310}, - {"Cannot lock the TCFS key database; try again later\n", 311}, - {"Cannot open the TCFS key database.\n", 312}, - {"Error updating the TCFS key database.\n", 313}, - {"Cannot commit TCFS changes.\n", 314}, - {"%s: Cannot execute %s", 315}, - {"%s: repository %s not supported\n", 316}, - {"%s: Permission denied\n", 317}, - {"You may not change the password for %s.\n", 318}, - {"Changing password for %s\n", 319}, - {"The password for %s is unchanged.\n", 320}, - {"Password changed.\n", 321}, - {"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 322}, - {"Usage: %s [ -qr ] [ passwd ]\n", 323}, - {"invalid password file entry\n", 324}, - {"duplicate password entry\n", 325}, - {"invalid user name `%s'\n", 326}, - {"user %s: bad UID (%d)\n", 327}, - {"user %s: no group %d\n", 328}, - {"user %s: directory %s does not exist\n", 329}, - {"user %s: program %s does not exist\n", 330}, - {"invalid shadow password file entry\n", 331}, - {"duplicate shadow password entry\n", 332}, - {"no matching password file entry\n", 333}, - {"user %s: last password change in the future\n", 334}, - {"%s: can't lock passwd file\n", 335}, - {"%s: can't open passwd file\n", 336}, - {"%s: can't remove shadow entry for %s\n", 337}, - {"%s: can't update passwd entry for %s\n", 338}, - {"%s: can't update shadow file\n", 339}, - {"%s: can't update passwd file\n", 340}, - {"%s: Shadow passwords are not configured.\n", 341}, - {"%s: can't update entry for user %s\n", 342}, - {"%s: can't delete shadow password file\n", 343}, - {"Sorry.", 344}, - {"%s: must be run from a terminal\n", 345}, - {"%s: pam_start: error %d\n", 346}, - {"Unknown id: %s\n", 347}, - {"You are not authorized to su %s\n", 348}, - {"(Enter your own password.)", 349}, - {"%s: permission denied (shell).\n", 350}, +Warning: weak password (enter it again to use it anyway).\n", 308}, + {"They don't match; try again.\n", 309}, + {"The password for %s cannot be changed.\n", 310}, + {"Sorry, the password for %s cannot be changed yet.\n", 311}, + {"%s: out of memory\n", 312}, + {"Cannot lock the TCFS key database; try again later\n", 313}, + {"Cannot open the TCFS key database.\n", 314}, + {"Error updating the TCFS key database.\n", 315}, + {"Cannot commit TCFS changes.\n", 316}, + {"%s: Cannot execute %s", 317}, + {"%s: repository %s not supported\n", 318}, + {"%s: Permission denied\n", 319}, + {"You may not change the password for %s.\n", 320}, + {"Changing password for %s\n", 321}, + {"The password for %s is unchanged.\n", 322}, + {"Password changed.\n", 323}, + {"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 324}, + {"Usage: %s [ -qr ] [ passwd ]\n", 325}, + {"invalid password file entry\n", 326}, + {"duplicate password entry\n", 327}, + {"invalid user name `%s'\n", 328}, + {"user %s: bad UID (%d)\n", 329}, + {"user %s: no group %d\n", 330}, + {"user %s: directory %s does not exist\n", 331}, + {"user %s: program %s does not exist\n", 332}, + {"invalid shadow password file entry\n", 333}, + {"duplicate shadow password entry\n", 334}, + {"no matching password file entry\n", 335}, + {"user %s: last password change in the future\n", 336}, + {"%s: can't lock passwd file\n", 337}, + {"%s: can't open passwd file\n", 338}, + {"%s: can't remove shadow entry for %s\n", 339}, + {"%s: can't update passwd entry for %s\n", 340}, + {"%s: can't update shadow file\n", 341}, + {"%s: can't update passwd file\n", 342}, + {"%s: Shadow passwords are not configured.\n", 343}, + {"%s: can't update entry for user %s\n", 344}, + {"%s: can't delete shadow password file\n", 345}, + {"Sorry.", 346}, + {"%s: must be run from a terminal\n", 347}, + {"%s: pam_start: error %d\n", 348}, + {"Unknown id: %s\n", 349}, + {"You are not authorized to su %s\n", 350}, + {"(Enter your own password.)", 351}, + {"%s: permission denied (shell).\n", 352}, {"\ %s: %s\n\ -(Ignored)\n", 351}, - {"No shell\n", 352}, - {"No password file\n", 353}, - {"No password entry for 'root'\n", 354}, +(Ignored)\n", 353}, + {"No shell\n", 354}, + {"No password file\n", 355}, + {"No password entry for 'root'\n", 356}, {"\ \n\ Type control-d to proceed with normal startup,\n\ -(or give root password for system maintenance):", 355}, - {"Entering System Maintenance Mode\n", 356}, - {"%s: rebuild the group database\n", 357}, - {"%s: rebuild the shadow group database\n", 358}, - {"%s: invalid numeric argument `%s'\n", 359}, - {"%s: unknown gid %s\n", 360}, - {"%s: unknown group %s\n", 361}, - {"group=%s,%ld basedir=%s skel=%s\n", 362}, - {"shell=%s ", 363}, - {"inactive=%ld expire=%s", 364}, - {"GROUP=%ld\n", 365}, - {"HOME=%s\n", 366}, - {"INACTIVE=%ld\n", 367}, - {"EXPIRE=%s\n", 368}, - {"SHELL=%s\n", 369}, - {"SKEL=%s\n", 370}, - {"%s: cannot create new defaults file\n", 371}, - {"%s: rename: %s", 372}, - {"%s: group `%s' is a NIS group.\n", 373}, - {"%s: too many groups specified (max %d).\n", 374}, - {"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 375}, - {"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 376}, - {"[-f inactive] [-e expire ] ", 377}, - {"[-A program] ", 378}, - {"[-p passwd] name\n", 379}, - {" %s\t-D [-g group] [-b base] [-s shell]\n", 380}, - {"\t\t[-f inactive] [-e expire ]\n", 381}, - {"%s: error locking group file\n", 382}, - {"%s: error opening group file\n", 383}, - {"%s: error locking shadow group file\n", 384}, - {"%s: error opening shadow group file\n", 385}, - {"%s: uid %d is not unique\n", 386}, - {"%s: can't get unique uid\n", 387}, - {"%s: invalid field `%s'\n", 388}, - {"%s: invalid base directory `%s'\n", 389}, - {"%s: invalid comment `%s'\n", 390}, - {"%s: invalid home directory `%s'\n", 391}, - {"%s: invalid date `%s'\n", 392}, - {"%s: shadow passwords required for -e\n", 393}, - {"%s: shadow passwords required for -f\n", 394}, - {"%s: invalid shell `%s'\n", 395}, - {"%s: invalid user name `%s'\n", 396}, - {"%s: cannot rewrite password file\n", 397}, - {"%s: cannot rewrite shadow password file\n", 398}, - {"%s: unable to lock password file\n", 399}, - {"%s: unable to open password file\n", 400}, - {"%s: cannot lock shadow password file\n", 401}, - {"%s: cannot open shadow password file\n", 402}, - {"%s: error adding authentication method\n", 403}, - {"%s: error adding new password entry\n", 404}, - {"%s: error updating password dbm entry\n", 405}, - {"%s: error adding new shadow password entry\n", 406}, - {"%s: error updating shadow passwd dbm entry\n", 407}, - {"%s: cannot create directory %s\n", 408}, - {"%s: user %s exists\n", 409}, - {"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 410}, - {"usage: %s [-r] name\n", 411}, - {"%s: error updating group entry\n", 412}, - {"%s: cannot update dbm group entry\n", 413}, - {"%s: cannot rewrite TCFS key file\n", 414}, - {"%s: cannot lock TCFS key file\n", 415}, - {"%s: cannot open TCFS key file\n", 416}, - {"%s: cannot open group file\n", 417}, - {"%s: cannot open shadow group file\n", 418}, - {"%s: error deleting authentication\n", 419}, - {"%s: error deleting password entry\n", 420}, - {"%s: error deleting shadow password entry\n", 421}, - {"%s: error deleting TCFS entry\n", 422}, - {"%s: error deleting password dbm entry\n", 423}, - {"%s: error deleting shadow passwd dbm entry\n", 424}, - {"%s: user %s is currently logged in\n", 425}, - {"%s: warning: %s not owned by %s, not removing\n", 426}, - {"%s: warning: can't remove ", 427}, - {"%s: user %s does not exist\n", 428}, - {"%s: user %s is a NIS user\n", 429}, - {"%s: %s not owned by %s, not removing\n", 430}, - {"%s: not removing directory %s (would remove home of user %s)\n", 431}, - {"%s: error removing directory %s\n", 432}, - {"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 433}, - {"[-A {DEFAULT|program},... ] ", 434}, - {"%s: out of memory in update_group\n", 435}, - {"%s: out of memory in update_gshadow\n", 436}, - {"%s: no flags given\n", 437}, - {"%s: shadow passwords required for -e and -f\n", 438}, - {"%s: uid %ld is not unique\n", 439}, - {"%s: error deleting authentication method\n", 440}, - {"%s: error changing authentication method\n", 441}, - {"%s: error changing password entry\n", 442}, - {"%s: error removing password entry\n", 443}, - {"%s: error adding password dbm entry\n", 444}, - {"%s: error removing passwd dbm entry\n", 445}, - {"%s: error removing shadow password entry\n", 446}, - {"%s: error removing shadow passwd dbm entry\n", 447}, - {"%s: directory %s exists\n", 448}, - {"%s: can't create %s\n", 449}, - {"%s: can't chown %s\n", 450}, - {"%s: cannot rename directory %s to %s\n", 451}, - {"%s: warning: %s not owned by %s\n", 452}, - {"failed to change mailbox owner", 453}, - {"failed to rename mailbox", 454}, +(or give root password for system maintenance):", 357}, + {"Entering System Maintenance Mode\n", 358}, + {"%s: rebuild the group database\n", 359}, + {"%s: rebuild the shadow group database\n", 360}, + {"%s: invalid numeric argument `%s'\n", 361}, + {"%s: unknown gid %s\n", 362}, + {"%s: unknown group %s\n", 363}, + {"group=%s,%ld basedir=%s skel=%s\n", 364}, + {"shell=%s ", 365}, + {"inactive=%ld expire=%s", 366}, + {"GROUP=%ld\n", 367}, + {"HOME=%s\n", 368}, + {"INACTIVE=%ld\n", 369}, + {"EXPIRE=%s\n", 370}, + {"SHELL=%s\n", 371}, + {"SKEL=%s\n", 372}, + {"%s: cannot create new defaults file\n", 373}, + {"%s: rename: %s", 374}, + {"%s: group `%s' is a NIS group.\n", 375}, + {"%s: too many groups specified (max %d).\n", 376}, + {"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 377}, + {"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 378}, + {"[-f inactive] [-e expire ] ", 379}, + {"[-A program] ", 380}, + {"[-p passwd] name\n", 381}, + {" %s\t-D [-g group] [-b base] [-s shell]\n", 382}, + {"\t\t[-f inactive] [-e expire ]\n", 383}, + {"%s: error locking group file\n", 384}, + {"%s: error opening group file\n", 385}, + {"%s: error locking shadow group file\n", 386}, + {"%s: error opening shadow group file\n", 387}, + {"%s: uid %d is not unique\n", 388}, + {"%s: can't get unique uid\n", 389}, + {"%s: invalid field `%s'\n", 390}, + {"%s: invalid base directory `%s'\n", 391}, + {"%s: invalid comment `%s'\n", 392}, + {"%s: invalid home directory `%s'\n", 393}, + {"%s: invalid date `%s'\n", 394}, + {"%s: shadow passwords required for -e\n", 395}, + {"%s: shadow passwords required for -f\n", 396}, + {"%s: invalid shell `%s'\n", 397}, + {"%s: invalid user name `%s'\n", 398}, + {"%s: cannot rewrite password file\n", 399}, + {"%s: cannot rewrite shadow password file\n", 400}, + {"%s: unable to lock password file\n", 401}, + {"%s: unable to open password file\n", 402}, + {"%s: cannot lock shadow password file\n", 403}, + {"%s: cannot open shadow password file\n", 404}, + {"%s: error adding authentication method\n", 405}, + {"%s: error adding new password entry\n", 406}, + {"%s: error updating password dbm entry\n", 407}, + {"%s: error adding new shadow password entry\n", 408}, + {"%s: error updating shadow passwd dbm entry\n", 409}, + {"%s: cannot create directory %s\n", 410}, + {"%s: user %s exists\n", 411}, + {"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 412}, + {"usage: %s [-r] name\n", 413}, + {"%s: error updating group entry\n", 414}, + {"%s: cannot update dbm group entry\n", 415}, + {"%s: cannot rewrite TCFS key file\n", 416}, + {"%s: cannot lock TCFS key file\n", 417}, + {"%s: cannot open TCFS key file\n", 418}, + {"%s: cannot open group file\n", 419}, + {"%s: cannot open shadow group file\n", 420}, + {"%s: error deleting authentication\n", 421}, + {"%s: error deleting password entry\n", 422}, + {"%s: error deleting shadow password entry\n", 423}, + {"%s: error deleting TCFS entry\n", 424}, + {"%s: error deleting password dbm entry\n", 425}, + {"%s: error deleting shadow passwd dbm entry\n", 426}, + {"%s: user %s is currently logged in\n", 427}, + {"%s: warning: %s not owned by %s, not removing\n", 428}, + {"%s: warning: can't remove ", 429}, + {"%s: user %s does not exist\n", 430}, + {"%s: user %s is a NIS user\n", 431}, + {"%s: %s not owned by %s, not removing\n", 432}, + {"%s: not removing directory %s (would remove home of user %s)\n", 433}, + {"%s: error removing directory %s\n", 434}, + {"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 435}, + {"[-A {DEFAULT|program},... ] ", 436}, + {"%s: out of memory in update_group\n", 437}, + {"%s: out of memory in update_gshadow\n", 438}, + {"%s: no flags given\n", 439}, + {"%s: shadow passwords required for -e and -f\n", 440}, + {"%s: uid %ld is not unique\n", 441}, + {"%s: error deleting authentication method\n", 442}, + {"%s: error changing authentication method\n", 443}, + {"%s: error changing password entry\n", 444}, + {"%s: error removing password entry\n", 445}, + {"%s: error adding password dbm entry\n", 446}, + {"%s: error removing passwd dbm entry\n", 447}, + {"%s: error removing shadow password entry\n", 448}, + {"%s: error removing shadow passwd dbm entry\n", 449}, + {"%s: directory %s exists\n", 450}, + {"%s: can't create %s\n", 451}, + {"%s: can't chown %s\n", 452}, + {"%s: cannot rename directory %s to %s\n", 453}, + {"%s: warning: %s not owned by %s\n", 454}, + {"failed to change mailbox owner", 455}, + {"failed to rename mailbox", 456}, {"\ \n\ -%s: %s is unchanged\n", 455}, - {"Couldn't lock file", 456}, - {"Couldn't make backup", 457}, - {"%s: can't restore %s: %s (your changes are in %s)\n", 458}, +%s: %s is unchanged\n", 457}, + {"Couldn't lock file", 458}, + {"Couldn't make backup", 459}, + {"%s: can't restore %s: %s (your changes are in %s)\n", 460}, {"\ Usage:\n\ `vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n\ -`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n", 459}, +`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n", 461}, }; -int _msg_tbl_length = 459; +int _msg_tbl_length = 461; diff --git a/po/el.gmo b/po/el.gmo index 408dd24d..15311f73 100644 Binary files a/po/el.gmo and b/po/el.gmo differ diff --git a/po/el.po b/po/el.po index 164bc650..106451f6 100644 --- a/po/el.po +++ b/po/el.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Shadow 980726\n" -"POT-Creation-Date: 1999-07-09 20:02+0200\n" +"POT-Creation-Date: 1999-08-27 21:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Nikos Mavroyanopoulos \n" "Language-Team: Hellenic \n" @@ -83,7 +83,7 @@ msgstr " msgid "failure" msgstr "áðïôõ÷ßá" -#: libmisc/limits.c:365 +#: libmisc/limits.c:397 msgid "Too many logins.\n" msgstr "ÐïëëÝò åßóïäïé óôï óýóôçìá.\n" @@ -178,41 +178,49 @@ msgid "malloc(%d) failed\n" msgstr "Ç êëÞóç malloc(%d) áðÝôõ÷å\n" #: lib/dialchk.c:71 -msgid "Dialup Password:" -msgstr "Óõíèçìáôéêü ôçëåöùíéêÞò óýíäåóçò:" +msgid "Dialup Password: " +msgstr "Óõíèçìáôéêü ôçëåöùíéêÞò óýíäåóçò: " -#: lib/getdef.c:247 +#: lib/getdef.c:249 msgid "Could not allocate space for config info.\n" msgstr "Áäõíáìßá äÝóìåõóçò ÷þñïõ ãéá ðëçñïöïñßåò äéáìüñöùóçò.\n" #. #. * Item was never found. #. -#: lib/getdef.c:301 +#: lib/getdef.c:303 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" "óöÜëìá äéáìüñöùóçò - Üãíùóôï áíôéêåßìåíï '%s' (åéäïðïéåßóôå ôïí " "äéá÷åéñéóôÞ)\n" -#: lib/getdef.c:388 +#: lib/getdef.c:390 #, c-format msgid "error - lookup '%s' failed\n" msgstr "óöÜëìá - ç áíáæÞôçóç '%s' áðÝôõ÷å\n" -#: lib/getdef.c:396 +#: lib/getdef.c:398 #, c-format msgid "%s not found\n" msgstr "%s äåí âñÝèçêå\n" -#: lib/pwauth.c:54 +#. +#. * get the password from her, and set the salt for +#. * the decryption from the group file. +#. +#: lib/pwauth.c:54 src/newgrp.c:297 msgid "Password: " msgstr "Óõíèçìáôéêü: " #: lib/pwauth.c:56 #, c-format -msgid "%s's Password:" -msgstr "Ôïõ %s ôï Óõíèçìáôéêü:" +msgid "%s's Password: " +msgstr "Ôïõ %s ôï Óõíèçìáôéêü: " + +#: lib/pwauth.c:270 +msgid "(Echo on) " +msgstr "" #: lib/strerror.c:20 #, c-format @@ -304,7 +312,7 @@ msgstr " msgid "Last Change:\t\t" msgstr "Ôåëåõôáßá áëëáãÞ:\t\t" -#: src/chage.c:281 src/chage.c:295 +#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325 msgid "Never\n" msgstr "ÐïôÝ\n" @@ -317,12 +325,32 @@ msgstr " msgid "Password Expires:\t" msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t" +#. +#. * The account becomes inactive if the password is expired +#. * for more than "inactdays". The expiration date is calculated +#. * and the number of inactive days is added. The resulting date +#. * is when the active will be disabled. +#. +#: src/chage.c:309 +#, fuzzy +msgid "Password Inactive:\t" +msgstr "Áíåíåñãü óõíèçìáôéêü" + +#. +#. * The account will expire on the given date regardless of the +#. * password expiring or not. +#. +#: src/chage.c:323 +#, fuzzy +msgid "Account Expires:\t" +msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t" + #: src/chage.c:468 #, c-format msgid "%s: do not include \"l\" with other flags\n" msgstr "%s: Íá ìçí óõìðåñéëáìâÜíåôå ôï \"l\" ìå ôéò Üëëåò åíäåßîåéò\n" -#: src/chage.c:480 src/chage.c:592 src/login.c:532 +#: src/chage.c:480 src/chage.c:592 src/login.c:529 #, c-format msgid "%s: permission denied\n" msgstr "%s: Üäåéá áðïññßöèçêå\n" @@ -632,12 +660,12 @@ msgid "Usage: %s [ -(a|d) ] shell\n" msgstr "×ñÞóç: %s [ -(ald) ] öëïéüò\n" #: src/dpasswd.c:136 -msgid "Shell password:" -msgstr "Óõíèçìáôéêü öëïéïý:" +msgid "Shell password: " +msgstr "Óõíèçìáôéêü öëïéïý: " #: src/dpasswd.c:142 -msgid "re-enter Shell password:" -msgstr "ÅðáíåéóÜãåôå ôï óõíèçìáôéêü öëïéïý:" +msgid "re-enter Shell password: " +msgstr "ÅðáíåéóÜãåôå ôï óõíèçìáôéêü öëïéïý: " #: src/dpasswd.c:149 #, c-format @@ -747,7 +775,7 @@ msgstr "%s: msgid "Who are you?\n" msgstr "Ðïéïò åßóáé;\n" -#: src/gpasswd.c:330 src/newgrp.c:241 +#: src/gpasswd.c:330 src/newgrp.c:247 #, c-format msgid "unknown group: %s\n" msgstr "Üãíùóôç ïìÜäá: %s\n" @@ -785,12 +813,12 @@ msgid "Changing the password for group %s\n" msgstr "ÁëëáãÞ ôïõ óõíèÞìáôïò ãéá ôçí ïìÜäá %s\n" #: src/gpasswd.c:540 -msgid "New Password:" -msgstr "ÍÝï Óõíèçìáôéêü:" +msgid "New Password: " +msgstr "ÍÝï Óõíèçìáôéêü: " #: src/gpasswd.c:545 src/passwd.c:424 -msgid "Re-enter new password:" -msgstr "ÅðáíåéóÜãåôå ôï íÝï óõíèçìáôéêü:" +msgid "Re-enter new password: " +msgstr "ÅðáíåéóÜãåôå ôï íÝï óõíèçìáôéêü: " #: src/gpasswd.c:557 msgid "They don't match; try again" @@ -1292,11 +1320,11 @@ msgstr " %s [-p] [-h msgid " %s [-p] -r host\n" msgstr " %s [-p] -r óýóôçìá\n" -#: src/login.c:290 +#: src/login.c:287 msgid "Invalid login time\n" msgstr "ÅóöáëìÝíç þñá åéóüäïõ\n" -#: src/login.c:345 +#: src/login.c:342 msgid "" "\n" "System closed for routine maintenance\n" @@ -1304,7 +1332,7 @@ msgstr "" "\n" "Ôï óýóôçìá Ýêëåéóå ãéá óõíôÞñçóç ñïõôßíáò\n" -#: src/login.c:355 +#: src/login.c:352 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" @@ -1312,7 +1340,7 @@ msgstr "" "\n" "[ÐáñÜêáìøç áðïóýíäåóçò -- Ç åßóïäïò ôïõ root åðåôñÜðç.]\n" -#: src/login.c:394 +#: src/login.c:391 #, c-format msgid "" "\n" @@ -1321,17 +1349,17 @@ msgstr "" "\n" "Ç äéáäéêáóßá åéóüäïõ ôåñìáôßóôçêå ìåôÜ áðü %d äåõôåñüëåðôá.\n" -#: src/login.c:695 +#: src/login.c:692 #, c-format msgid " on `%.100s' from `%.200s'" msgstr " óôï `%.100s' áðü `%.200s'" -#: src/login.c:697 +#: src/login.c:694 #, c-format msgid " on `%.100s'" msgstr " óôï `%.100s'" -#: src/login.c:810 +#: src/login.c:807 #, c-format msgid "" "\n" @@ -1340,35 +1368,35 @@ msgstr "" "\n" "%s login: " -#: src/login.c:812 +#: src/login.c:809 msgid "login: " msgstr "login: " -#: src/login.c:994 src/sulogin.c:239 +#: src/login.c:991 src/sulogin.c:233 msgid "Login incorrect" msgstr "Äéáäéêáóßá åéóüäïõ áðÝôõ÷å" -#: src/login.c:1166 +#: src/login.c:1163 msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" "Ðñïåéäïðïßçóç: Ç åßóïäïò åðáíåíåñãïðïéÞèçêå ìåôÜ áðü ðñïóùñéíü áðïêëåéóìü.\n" -#: src/login.c:1176 +#: src/login.c:1173 #, c-format msgid "Last login: %s on %s" msgstr "Ôåëåõôáßá åßóïäïò: %s óôï %s" -#: src/login.c:1179 +#: src/login.c:1176 #, c-format msgid "Last login: %.19s on %s" msgstr "Ôåëåõôáßá åßóïäïò: %.19s óôï %s" -#: src/login.c:1184 +#: src/login.c:1181 #, c-format msgid " from %.*s" msgstr " áðü %.*s" -#: src/login.c:1249 +#: src/login.c:1246 msgid "Starting rad_login\n" msgstr "¸íáñîç rad_login\n" @@ -1433,7 +1461,8 @@ msgid "usage: newgrp [ - ] [ group ]\n" msgstr "÷ñÞóç: newgrp [ - ] [ ïìÜäá ]\n" #: src/newgrp.c:69 -msgid "usage: sg group [ command ]\n" +#, fuzzy +msgid "usage: sg group [[-c] command ]\n" msgstr "÷ñÞóç: sg ïìÜäá [ åíôïëÞ ]\n" #: src/newgrp.c:122 @@ -1441,29 +1470,21 @@ msgstr " msgid "unknown uid: %d\n" msgstr "Üãíùóôï uid: %d\n" -#: src/newgrp.c:190 +#: src/newgrp.c:198 #, c-format msgid "unknown gid: %ld\n" msgstr "Üãíùóôï gid: %ld\n" -#: src/newgrp.c:236 +#: src/newgrp.c:242 #, c-format msgid "unknown gid: %d\n" msgstr "Üãíùóôï gid: %d\n" -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: src/newgrp.c:291 -msgid "Password:" -msgstr "Óõíèçìáôéêü:" - -#: src/newgrp.c:309 src/newgrp.c:318 +#: src/newgrp.c:315 src/newgrp.c:324 msgid "Sorry.\n" msgstr "ËõðÜìáé.\n" -#: src/newgrp.c:350 +#: src/newgrp.c:356 msgid "too many groups\n" msgstr "ðÜñá ðïëëÝò ïìÜäåò\n" @@ -1560,8 +1581,8 @@ msgstr "" "ðñáãìáôïðïßçóç ôçò áëëáãÞò.\n" #: src/passwd.c:356 -msgid "Old password:" -msgstr "Ðáëéü Óõíèçìáôéêü:" +msgid "Old password: " +msgstr "Ðáëéü Óõíèçìáôéêü: " #: src/passwd.c:363 #, c-format @@ -1584,8 +1605,8 @@ msgstr "" "êáèþò êáé áñéèìïýò.\n" #: src/passwd.c:401 -msgid "New password:" -msgstr "ÍÝï Óõíèçìáôéêü:" +msgid "New password: " +msgstr "ÍÝï Óõíèçìáôéêü: " #: src/passwd.c:411 msgid "Try again.\n" @@ -1853,14 +1874,14 @@ msgid "No shell\n" msgstr "Äåí õðÜñ÷åé öëïéüò\n" #. must be a password file! -#: src/sulogin.c:144 +#: src/sulogin.c:138 msgid "No password file\n" msgstr "Äåí õðÜñ÷åé áñ÷åßï óõíèçìáôéêþí\n" #. #. * Fail secure #. -#: src/sulogin.c:186 +#: src/sulogin.c:180 msgid "No password entry for 'root'\n" msgstr "Äåí õðÜñ÷åé êáôá÷þñçóç óõíèçìáôéêïý ãéá ôïí 'root'\n" @@ -1869,7 +1890,7 @@ msgstr " #. * given we just exit. #. #. get a password for root -#: src/sulogin.c:200 +#: src/sulogin.c:194 msgid "" "\n" "Type control-d to proceed with normal startup,\n" @@ -1880,7 +1901,7 @@ msgstr "" "(Þ äþóôå ôï óõíèçìáôéêü ôïõ root ãéá óõíôÞñçóç ôïõ óõóôÞìáôïò):" #. make new environment active -#: src/sulogin.c:249 +#: src/sulogin.c:243 msgid "Entering System Maintenance Mode\n" msgstr "¸íáñîç ÊáôÜóôáóçò ÓõíôÞñçóçò ÓõóôÞìáôïò\n" diff --git a/po/fr.gmo b/po/fr.gmo new file mode 100644 index 00000000..77ad53b8 Binary files /dev/null and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 00000000..773fcd16 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,2407 @@ +# shadow fr.po +# Copyright (C) 1999 Free Software Foundation, Inc. +# Vincent Renardias , 1999 +# Patches, suggestions, etc welcome. +# +msgid "" +msgstr "" +"Project-Id-Version: shadow 19990709\n" +"POT-Creation-Date: 1999-08-27 21:03+0200\n" +"PO-Revision-Date: 1999-07-09 20:02+0200\n" +"Last-Translator: Vincent Renardias \n" +"Language-Team: Vincent Renardias \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: libmisc/addgrps.c:60 +#, c-format +msgid "Warning: unknown group %s\n" +msgstr "Avertissement: le groupe %s est inconnu\n" + +#: libmisc/addgrps.c:71 +msgid "Warning: too many groups\n" +msgstr "Avertissement: trop de groupes\n" + +#: libmisc/age.c:104 +msgid "Your password has expired." +msgstr "Votre mot de passe a expiré." + +#: libmisc/age.c:107 +msgid "Your password is inactive." +msgstr "Votre mot de passe est désactivé." + +#: libmisc/age.c:110 +msgid "Your login has expired." +msgstr "Votre compte a expiré." + +#: libmisc/age.c:127 +msgid " Contact the system administrator.\n" +msgstr " Contactez l'administrateur système.\n" + +#: libmisc/age.c:130 +msgid " Choose a new password.\n" +msgstr " Choisissez un nouveau mot de passe.\n" + +#: libmisc/age.c:228 +#, c-format +msgid "Your password will expire in %ld days.\n" +msgstr "Votre mot de passe expirera dans %ld jours.\n" + +#: libmisc/age.c:230 +msgid "Your password will expire tomorrow.\n" +msgstr "Votre mot de passe expirera demain.\n" + +#: libmisc/age.c:232 +msgid "Your password will expire today.\n" +msgstr "Votre mot de passe expirera aujourd'hui.\n" + +#: libmisc/chowntty.c:110 +#, c-format +msgid "Unable to change tty %s" +msgstr "Impossible de changer le tty %s" + +#: libmisc/env.c:160 +msgid "Environment overflow\n" +msgstr "Dépassement de l'environnement\n" + +#: libmisc/env.c:200 +#, c-format +msgid "You may not change $%s\n" +msgstr "Vous ne pouvez pas changer $%s\n" + +#: libmisc/failure.c:238 +#, c-format +msgid "%d %s since last login. Last was %s on %s.\n" +msgstr "%d %s depuis la dernière connexion. La dernière fut le %s sur %s.\n" + +#: libmisc/failure.c:239 +msgid "failures" +msgstr "échecs" + +#: libmisc/failure.c:239 +msgid "failure" +msgstr "échec" + +#: libmisc/limits.c:397 +msgid "Too many logins.\n" +msgstr "Trop de connexions.\n" + +#: libmisc/login_desrpc.c:63 +#, c-format +msgid "Password does not decrypt secret key for %s.\n" +msgstr "Le mot de passe ne décrypte pas le clé secréte pour %s.\n" + +#: libmisc/login_desrpc.c:69 +#, c-format +msgid "Could not set %s's secret key: is the keyserv daemon running?\n" +msgstr "" +"Impossible de changer la clé secréte de %s : le daemon keyserv " +"fonctionne-t-il?\n" + +#: libmisc/mail.c:62 libmisc/mail.c:77 +msgid "You have new mail." +msgstr "Vous avez des nouveaux messages." + +#: libmisc/mail.c:73 +msgid "No mail." +msgstr "Pas de courier." + +#: libmisc/mail.c:75 +msgid "You have mail." +msgstr "Vous avez du courier." + +#: libmisc/obscure.c:281 src/passwd.c:311 +#, c-format +msgid "Bad password: %s. " +msgstr "Mauvais mot de passe: %s. " + +#: libmisc/pam_pass.c:42 +#, c-format +msgid "passwd: pam_start() failed, error %d\n" +msgstr "passwd: échec de pam_start(), erreur %d\n" + +#: libmisc/pam_pass.c:49 +#, c-format +msgid "passwd: %s\n" +msgstr "passwd: %s\n" + +#: libmisc/setupenv.c:205 +#, c-format +msgid "Unable to cd to \"%s\"\n" +msgstr "Impossible d'aller dans \"%s\"\n" + +#: libmisc/setupenv.c:213 +msgid "No directory, logging in with HOME=/" +msgstr "Pas de répertoire, connexion avec HOME=/" + +#: libmisc/shell.c:78 +#, c-format +msgid "Executing shell %s\n" +msgstr "Exécution du shell %s\n" + +#. +#. * Obviously something is really wrong - I can't figure out +#. * how to execute this stupid shell, so I might as well give +#. * up in disgust ... +#. +#: libmisc/shell.c:122 +#, c-format +msgid "Cannot execute %s" +msgstr "Impossible d'exécuter %s" + +#: libmisc/suauth.c:99 +msgid "Access to su to that account DENIED.\n" +msgstr "Accès à su à partir de ce compte REFUSÉ.\n" + +#: libmisc/suauth.c:106 +msgid "Password authentication bypassed.\n" +msgstr "Authentification par mot de passe court-circuitée.\n" + +#: libmisc/suauth.c:113 +msgid "Please enter your OWN password as authentication.\n" +msgstr "Entrez VOTRE mot de passe comme identification.\n" + +#: libmisc/sub.c:61 +#, c-format +msgid "Invalid root directory \"%s\"\n" +msgstr "Répertoire root \"%s\" non valide\n" + +#: libmisc/sub.c:73 +#, c-format +msgid "Can't change root directory to \"%s\"\n" +msgstr "Impossible de changer le répertoire racine en \"%s\"\n" + +#: libmisc/xmalloc.c:28 +#, c-format +msgid "malloc(%d) failed\n" +msgstr "échec de malloc(%d)\n" + +#: lib/dialchk.c:71 +msgid "Dialup Password: " +msgstr "Mot de passe dialup : " + +#: lib/getdef.c:249 +msgid "Could not allocate space for config info.\n" +msgstr "Impossible d'allouer l'espace pour l'information sur la conf.\n" + +#. +#. * Item was never found. +#. +#: lib/getdef.c:303 +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "" +"erreur de configuration - élément '%s' inconnu (avertissez " +"l'administrateur)\n" + +#: lib/getdef.c:390 +#, c-format +msgid "error - lookup '%s' failed\n" +msgstr "erreur - échec de la recherche de '%s'\n" + +#: lib/getdef.c:398 +#, c-format +msgid "%s not found\n" +msgstr "%s non trouvé\n" + +#. +#. * get the password from her, and set the salt for +#. * the decryption from the group file. +#. +#: lib/pwauth.c:54 src/newgrp.c:297 +msgid "Password: " +msgstr "Mot de passe: " + +#: lib/pwauth.c:56 +#, c-format +msgid "%s's Password: " +msgstr "Mot de passe de %s: " + +#: lib/pwauth.c:270 +msgid "(Echo on) " +msgstr "" + +#: lib/strerror.c:20 +#, c-format +msgid "Unknown error %d" +msgstr "Erreur %d inconnue" + +#: src/chage.c:141 +#, c-format +msgid "" +"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n" +" [ -I inactive ] [ -E expire ] [ -d last_day ] user\n" +msgstr "" +"Usage: %s [ -l ] [ -m min_jourss ] [ -M max_jours ]\n" +" [ -W avertissement ] [ -I inactif ] [ -E expire ] [ -d dernier_jour ]\n" +" utilisateur\n" + +#: src/chage.c:143 +#, c-format +msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n" +msgstr "" +"Usage: %s [ -l ] [ -m min_jours ] [ -M max_jours ] [ -d dernier_jour ] " +"utilisateur\n" + +#: src/chage.c:178 +msgid "" +"Enter the new value, or press return for the default\n" +"\n" +msgstr "" +"Entrez la nouvelle valeur ou tapes Entrée pour la valeur par défaut\n" +"\n" + +#: src/chage.c:181 +msgid "Minimum Password Age" +msgstr "Age minimum du mot de passe" + +#: src/chage.c:186 +msgid "Maximum Password Age" +msgstr "Age maximum du mot de passe" + +#: src/chage.c:192 +msgid "Last Password Change (YYYY-MM-DD)" +msgstr "Dernier changement de mot de passe (YYYY-MM-DD)" + +#: src/chage.c:201 +msgid "Password Expiration Warning" +msgstr "Avertissement d'expiration de mot de passe" + +#: src/chage.c:206 +msgid "Password Inactive" +msgstr "Mot de passe désactivé" + +#: src/chage.c:212 +msgid "Account Expiration Date (YYYY-MM-DD)" +msgstr "Date d'expiration du compte (YYYY-MM-DD)" + +#. +#. * Start with the easy numbers - the number of days before the +#. * password can be changed, the number of days after which the +#. * password must be chaged, the number of days before the +#. * password expires that the user is told, and the number of +#. * days after the password expires that the account becomes +#. * unusable. +#. +#: src/chage.c:266 +#, c-format +msgid "Minimum:\t%ld\n" +msgstr "Minimum :\t%ld\n" + +#: src/chage.c:267 +#, c-format +msgid "Maximum:\t%ld\n" +msgstr "Maximum :\t%ld\n" + +#: src/chage.c:269 +#, c-format +msgid "Warning:\t%ld\n" +msgstr "Avertissement :\t%ld\n" + +#: src/chage.c:270 +#, c-format +msgid "Inactive:\t%ld\n" +msgstr "Désactivé :\t%ld\n" + +#. +#. * The "last change" date is either "Never" or the date the +#. * password was last modified. The date is the number of +#. * days since 1/1/1970. +#. +#: src/chage.c:279 +msgid "Last Change:\t\t" +msgstr "Dernier changement :\t\t" + +#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325 +msgid "Never\n" +msgstr "Jamais\n" + +#. +#. * The password expiration date is determined from the last +#. * change date plus the number of days the password is valid +#. * for. +#. +#: src/chage.c:293 +msgid "Password Expires:\t" +msgstr "Expiration du mot de passe :\t" + +#. +#. * The account becomes inactive if the password is expired +#. * for more than "inactdays". The expiration date is calculated +#. * and the number of inactive days is added. The resulting date +#. * is when the active will be disabled. +#. +#: src/chage.c:309 +#, fuzzy +msgid "Password Inactive:\t" +msgstr "Mot de passe désactivé" + +#. +#. * The account will expire on the given date regardless of the +#. * password expiring or not. +#. +#: src/chage.c:323 +#, fuzzy +msgid "Account Expires:\t" +msgstr "Expiration du mot de passe :\t" + +#: src/chage.c:468 +#, c-format +msgid "%s: do not include \"l\" with other flags\n" +msgstr "%s : ne pas include \"l\" avec les autres drapeaux\n" + +#: src/chage.c:480 src/chage.c:592 src/login.c:529 +#, c-format +msgid "%s: permission denied\n" +msgstr "%s : permission refusée\n" + +#: src/chage.c:492 src/chpasswd.c:122 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: impossible de vérouiller de fichier de mots de passe\n" + +#: src/chage.c:498 src/chpasswd.c:126 +#, c-format +msgid "%s: can't open password file\n" +msgstr "%s: impossible d'ouvrir le fichier de mots de passe\n" + +#: src/chage.c:505 +#, c-format +msgid "%s: unknown user: %s\n" +msgstr "%s: utilisateur inconnu: %s\n" + +#: src/chage.c:524 +#, c-format +msgid "%s: can't lock shadow password file\n" +msgstr "%s : impossible de vérouiller le fichier shadow password\n" + +#: src/chage.c:531 +#, c-format +msgid "%s: can't open shadow password file\n" +msgstr "%s : impossible d'ouvrir le fichier shadow password\n" + +#: src/chage.c:613 +#, c-format +msgid "Changing the aging information for %s\n" +msgstr "Changement des informations sur l'age pour %s\n" + +#: src/chage.c:615 +#, c-format +msgid "%s: error changing fields\n" +msgstr "%s : erreur lors du changement des champs\n" + +#: src/chage.c:642 src/chage.c:705 src/pwunconv.c:184 +#, c-format +msgid "%s: can't update password file\n" +msgstr "%s : impossible de mettre à jour le fichier passwd\n" + +#: src/chage.c:672 src/pwunconv.c:179 +#, c-format +msgid "%s: can't update shadow password file\n" +msgstr "%s : impossible de mettre à jour le fichier shadow password\n" + +#: src/chage.c:721 src/chage.c:736 src/chfn.c:572 src/chsh.c:411 +#: src/passwd.c:827 src/passwd.c:928 +msgid "Error updating the DBM password entry.\n" +msgstr "Erreur durant la mise à jour de l'entrée du mot de passe DBM.\n" + +#: src/chage.c:753 +#, c-format +msgid "%s: can't rewrite shadow password file\n" +msgstr "%s : impossible de re-écrire le fichier shadow password\n" + +#: src/chage.c:767 +#, c-format +msgid "%s: can't rewrite password file\n" +msgstr "%s : impossible de re-écrire le fichier password\n" + +#: src/chage.c:816 +#, c-format +msgid "%s: no aging information present\n" +msgstr "%s : aucune information sur l'age\n" + +#: src/chfn.c:108 +#, c-format +msgid "" +"Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ]\n" +"\t[ -h home_ph ] [ -o other ] [ user ]\n" +msgstr "" +"Usage: %s [ -f nom_complet ] [ -r no_bureau ] [ -w tel_bureau ]\n" +"\t[ -h tel_perso ] [ -o autre ] [ utilisateur ]\n" + +#: src/chfn.c:112 +#, c-format +msgid "" +"Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n" +msgstr "Usage: %s [ -f nom_complet ] [ -w no_bureau ] [ -h tel_bureau ]\n" + +#: src/chfn.c:164 src/chsh.c:120 +msgid "Enter the new value, or press return for the default\n" +msgstr "Entrez la nouvelle valeur ou tapez Entrée pour le défaut\n" + +#: src/chfn.c:167 +msgid "Full Name" +msgstr "Nom complet" + +#: src/chfn.c:169 +#, c-format +msgid "\tFull Name: %s\n" +msgstr "\tNom complet : %s\n" + +#: src/chfn.c:172 +msgid "Room Number" +msgstr "No de bureau" + +#: src/chfn.c:174 +#, c-format +msgid "\tRoom Number: %s\n" +msgstr "\tNo de bureau : %s\n" + +#: src/chfn.c:177 +msgid "Work Phone" +msgstr "Téléphone travail" + +#: src/chfn.c:179 +#, c-format +msgid "\tWork Phone: %s\n" +msgstr "\tTéléphone travail : %s\n" + +#: src/chfn.c:182 +msgid "Home Phone" +msgstr "Téléphone perso" + +#: src/chfn.c:184 +#, c-format +msgid "\tHome Phone: %s\n" +msgstr "\tTéléphone perso : %s\n" + +#: src/chfn.c:187 +msgid "Other" +msgstr "Autre" + +#: src/chfn.c:300 src/chfn.c:308 src/chfn.c:316 src/chfn.c:324 src/chfn.c:332 +#: src/chfn.c:393 src/passwd.c:1228 +#, c-format +msgid "%s: Permission denied.\n" +msgstr "%s: Permission refusée.\n" + +#: src/chfn.c:353 src/chsh.c:226 src/passwd.c:1279 +#, c-format +msgid "%s: Unknown user %s\n" +msgstr "%s: Utilisateur %s inconnu\n" + +#: src/chfn.c:359 src/chsh.c:234 src/passwd.c:1209 +#, c-format +msgid "%s: Cannot determine your user name.\n" +msgstr "%s: Impossible de déterminer votre nom d'utilisateur.\n" + +#: src/chfn.c:375 src/chsh.c:252 +#, c-format +msgid "%s: cannot change user `%s' on NIS client.\n" +msgstr "%s: impossible de changer l'utilisateur `%' sur le client NIS.\n" + +#: src/chfn.c:380 src/chsh.c:259 +#, c-format +msgid "%s: `%s' is the NIS master for this client.\n" +msgstr "%s: `%s' est le maître NIS pour ce client.\n" + +#: src/chfn.c:455 +#, c-format +msgid "Changing the user information for %s\n" +msgstr "Changement de l'information utilisateur pour %s\n" + +#: src/chfn.c:464 +#, c-format +msgid "%s: invalid name: \"%s\"\n" +msgstr "%s : nom non valide : \"%s\"\n" + +#: src/chfn.c:469 +#, c-format +msgid "%s: invalid room number: \"%s\"\n" +msgstr "%s : no de bureau non valide : \"%s\"\n" + +#: src/chfn.c:474 +#, c-format +msgid "%s: invalid work phone: \"%s\"\n" +msgstr "%s : téléphone du bureau non valide : \"%s\"\n" + +#: src/chfn.c:479 +#, c-format +msgid "%s: invalid home phone: \"%s\"\n" +msgstr "%s : téléphone perso non valide : \"%s\"\n" + +#: src/chfn.c:484 +#, c-format +msgid "%s: \"%s\" contains illegal characters\n" +msgstr "%s : \"%s\" contient des caractères non valide\n" + +#: src/chfn.c:496 +#, c-format +msgid "%s: fields too long\n" +msgstr "%s: champs trop longs\n" + +#: src/chfn.c:511 src/chsh.c:349 src/gpasswd.c:583 src/passwd.c:1390 +msgid "Cannot change ID to root.\n" +msgstr "Impossible de changer l'ID en root.\n" + +#: src/chfn.c:524 src/chsh.c:363 src/passwd.c:737 src/passwd.c:882 +msgid "Cannot lock the password file; try again later.\n" +msgstr "" +"Impossible de vérouiller le fichier de mots de passe; essayez plus tard.\n" + +#: src/chfn.c:530 src/chsh.c:369 src/passwd.c:742 src/passwd.c:887 +msgid "Cannot open the password file.\n" +msgstr "Impossible d'ouvrir le fichier de mots de passe.\n" + +#: src/chfn.c:547 src/chsh.c:384 src/passwd.c:748 src/usermod.c:1272 +#, c-format +msgid "%s: %s not found in /etc/passwd\n" +msgstr "%s: %s non trouvé dans /etc/passwd\n" + +#: src/chfn.c:564 src/chsh.c:403 src/passwd.c:821 src/passwd.c:922 +#: src/passwd.c:962 +msgid "Error updating the password entry.\n" +msgstr "Erreur durant la mise à jour du mot de passe.\n" + +#: src/chfn.c:587 src/chsh.c:426 src/passwd.c:834 src/passwd.c:935 +msgid "Cannot commit password file changes.\n" +msgstr "Impossible de valider le changement de mot de passe.\n" + +#: src/chfn.c:594 src/chsh.c:433 +msgid "Cannot unlock the password file.\n" +msgstr "Impossible de dévérouiller le fichier de mots de passe.\n" + +#: src/chpasswd.c:78 +#, c-format +msgid "usage: %s [-e]\n" +msgstr "usage: %s [-e]\n" + +#: src/chpasswd.c:134 src/pwconv.c:105 +#, c-format +msgid "%s: can't lock shadow file\n" +msgstr "%s: impossible de vérouiller le fichier shadow\n" + +#: src/chpasswd.c:139 src/gpasswd.c:609 src/pwconv.c:110 src/pwunconv.c:119 +#: src/pwunconv.c:124 +#, c-format +msgid "%s: can't open shadow file\n" +msgstr "%s: impossible d'ouvrir le fichier shadow\n" + +#: src/chpasswd.c:161 src/newusers.c:418 +#, c-format +msgid "%s: line %d: line too long\n" +msgstr "%s: ligne %d: ligne trop longue\n" + +#: src/chpasswd.c:181 +#, c-format +msgid "%s: line %d: missing new password\n" +msgstr "%s: ligne %d: nouveau mot de passe manquant\n" + +#: src/chpasswd.c:197 +#, c-format +msgid "%s: line %d: unknown user %s\n" +msgstr "%s: ligne %d: utilisateur %s inconnu\n" + +#: src/chpasswd.c:249 +#, c-format +msgid "%s: line %d: cannot update password entry\n" +msgstr "%s: ligne %d: impossible de mettre le mot de passe à jour\n" + +#: src/chpasswd.c:265 src/newusers.c:538 +#, c-format +msgid "%s: error detected, changes ignored\n" +msgstr "%s: erreur détectée; changements ignorés\n" + +#: src/chpasswd.c:276 +#, c-format +msgid "%s: error updating shadow file\n" +msgstr "%s: erreur lors de la mise à jour du fichier shadow\n" + +#: src/chpasswd.c:284 +#, c-format +msgid "%s: error updating password file\n" +msgstr "%s: erreur lors de la mise à jour du fichier de mots de passe\n" + +#: src/chsh.c:106 +#, c-format +msgid "Usage: %s [ -s shell ] [ name ]\n" +msgstr "Usage: %s [ -s shell ] [ nom ]\n" + +#: src/chsh.c:121 +msgid "Login Shell" +msgstr "Shell de login" + +#: src/chsh.c:275 src/chsh.c:288 +#, c-format +msgid "You may not change the shell for %s.\n" +msgstr "Vous ne pouvez pas changer le shell de %s.\n" + +#: src/chsh.c:317 +#, c-format +msgid "Changing the login shell for %s\n" +msgstr "Changement du shell de login pour %s\n" + +#: src/chsh.c:329 +#, c-format +msgid "%s: Invalid entry: %s\n" +msgstr "%s: Entrée non valide : %s\n" + +#: src/chsh.c:334 +#, c-format +msgid "%s is an invalid shell.\n" +msgstr "%s n'est pas un shell valide.\n" + +#: src/dpasswd.c:71 +#, c-format +msgid "Usage: %s [ -(a|d) ] shell\n" +msgstr "Usage: %s [ -(a|d) ] shell\n" + +#: src/dpasswd.c:136 +msgid "Shell password: " +msgstr "Mot de passe shell : " + +#: src/dpasswd.c:142 +msgid "re-enter Shell password: " +msgstr "Confirmez le mot de passe shell : " + +#: src/dpasswd.c:149 +#, c-format +msgid "%s: Passwords do not match, try again.\n" +msgstr "%s : Les mots de passe ne correspondent pas, essayez encore.\n" + +#: src/dpasswd.c:169 +#, c-format +msgid "%s: can't create %s" +msgstr "%s: impossible de créer %s" + +#: src/dpasswd.c:174 +#, c-format +msgid "%s: can't open %s" +msgstr "%s : impossible d'ouvrir %s" + +#: src/dpasswd.c:202 +#, c-format +msgid "%s: Shell %s not found.\n" +msgstr "%s : Shell %s non trouvé.\n" + +#: src/expiry.c:85 +msgid "Usage: expiry { -f | -c }\n" +msgstr "Usage : expiry { -f | -c }\n" + +#: src/expiry.c:138 +#, c-format +msgid "%s: WARNING! Must be set-UID root!\n" +msgstr "%s: AVERTISSEMENT! Devrait être set-UID root!\n" + +#: src/expiry.c:149 +#, c-format +msgid "%s: unknown user\n" +msgstr "%s : utilisateur inconnu\n" + +#: src/faillog.c:80 +#, c-format +msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "usage: %s [-a|-u utilisateur] [-m max] [-r] [-t jours] [-l sec_ver]\n" + +#: src/faillog.c:135 src/lastlog.c:95 +#, c-format +msgid "Unknown User: %s\n" +msgstr "Utilisateur %s inconnu\n" + +#: src/faillog.c:216 +msgid "Username Failures Maximum Latest\n" +msgstr "Utilisateur Échecs Maximum Dernier\n" + +#: src/faillog.c:233 +#, c-format +msgid " %s on %s" +msgstr " %s sur %s" + +#: src/faillog.c:237 +#, c-format +msgid " [%lds left]" +msgstr " [%lds restant]" + +#: src/faillog.c:240 +#, c-format +msgid " [%lds lock]" +msgstr " [%lds verrou]" + +#: src/gpasswd.c:91 +#, c-format +msgid "usage: %s [-r|-R] group\n" +msgstr "usage: %s [-r|-R] groupe\n" + +#: src/gpasswd.c:92 +#, c-format +msgid " %s [-a user] group\n" +msgstr " %s [-a utilisateur] groupe\n" + +#: src/gpasswd.c:93 +#, c-format +msgid " %s [-d user] group\n" +msgstr " %s [-d utilisateur] groupe\n" + +#: src/gpasswd.c:95 +#, c-format +msgid " %s [-A user,...] [-M user,...] group\n" +msgstr " %s [-A utilisateur,...] [-M utilisateur,...] groupe\n" + +#: src/gpasswd.c:98 +#, c-format +msgid " %s [-M user,...] group\n" +msgstr " %s [-M utilisateur,...] groupe\n" + +#: src/gpasswd.c:162 src/gpasswd.c:247 +#, c-format +msgid "%s: unknown user %s\n" +msgstr "%s : utilisateur %s inconnu\n" + +#: src/gpasswd.c:174 +msgid "Permission denied.\n" +msgstr "Permission refusée.\n" + +#: src/gpasswd.c:259 +#, c-format +msgid "%s: shadow group passwords required for -A\n" +msgstr "%s : mots de passe shadow nécessaires pour -A\n" + +#: src/gpasswd.c:310 +msgid "Who are you?\n" +msgstr "Qui êtes vous?\n" + +#: src/gpasswd.c:330 src/newgrp.c:247 +#, c-format +msgid "unknown group: %s\n" +msgstr "groupe inconnu : %s\n" + +#: src/gpasswd.c:438 +#, c-format +msgid "Adding user %s to group %s\n" +msgstr "Ajout de l'utilisateur %s au groupe %s\n" + +#: src/gpasswd.c:455 +#, c-format +msgid "Removing user %s from group %s\n" +msgstr "Retrait de l'utilisateur %s du groupe %s\n" + +#: src/gpasswd.c:468 +#, c-format +msgid "%s: unknown member %s\n" +msgstr "%s : membre %s inconnu\n" + +#: src/gpasswd.c:515 +#, c-format +msgid "%s: Not a tty\n" +msgstr "%s : N'est pas un tty\n" + +#. +#. * A new password is to be entered and it must be encrypted, +#. * etc. The password will be prompted for twice, and both +#. * entries must be identical. There is no need to validate +#. * the old password since the invoker is either the group +#. * owner, or root. +#. +#: src/gpasswd.c:537 +#, c-format +msgid "Changing the password for group %s\n" +msgstr "Changement du mot de passe pour le group %s\n" + +#: src/gpasswd.c:540 +msgid "New Password: " +msgstr "Nouveau mot de passe : " + +#: src/gpasswd.c:545 src/passwd.c:424 +msgid "Re-enter new password: " +msgstr "Nouveau mot de passe (à nouveau) : " + +#: src/gpasswd.c:557 +msgid "They don't match; try again" +msgstr "Ils ne sont pas identiques; essayez à nouveau" + +#: src/gpasswd.c:561 +#, c-format +msgid "%s: Try again later\n" +msgstr "%s: Essayez à nouveau plus tard\n" + +#: src/gpasswd.c:591 +#, c-format +msgid "%s: can't get lock\n" +msgstr "%s : impossible d'obtenir le verrou\n" + +#: src/gpasswd.c:597 +#, c-format +msgid "%s: can't get shadow lock\n" +msgstr "%s : impossible d'obtenir le verrou sur shadow\n" + +#: src/gpasswd.c:603 +#, c-format +msgid "%s: can't open file\n" +msgstr "%s : impossible d'ouvrir le fichier\n" + +#: src/gpasswd.c:615 +#, c-format +msgid "%s: can't update entry\n" +msgstr "%s : impossible de mettre à jour l'entrée\n" + +#: src/gpasswd.c:621 +#, c-format +msgid "%s: can't update shadow entry\n" +msgstr "%s : impossible de mettre à jour l'entrée shadow\n" + +#: src/gpasswd.c:627 +#, c-format +msgid "%s: can't re-write file\n" +msgstr "%s : impossible de re-écrire le fichier\n" + +#: src/gpasswd.c:633 +#, c-format +msgid "%s: can't re-write shadow file\n" +msgstr "%s : impossible de re-écrire le fichier shadow\n" + +#: src/gpasswd.c:641 +#, c-format +msgid "%s: can't unlock file\n" +msgstr "%s : impossible de dévérouiller le fichier\n" + +#: src/gpasswd.c:646 +#, c-format +msgid "%s: can't update DBM files\n" +msgstr "%s : impossible de mettre à jours les fichiers DBM\n" + +#: src/gpasswd.c:653 +#, c-format +msgid "%s: can't update DBM shadow files\n" +msgstr "%s : impossible de mettre à jours les fichiers DBM shadow\n" + +#: src/groupadd.c:106 +msgid "usage: groupadd [-g gid [-o]] group\n" +msgstr "usage: groupadd [-g gid [-o]] groupe\n" + +#: src/groupadd.c:174 src/groupadd.c:197 src/groupmod.c:184 src/groupmod.c:231 +#: src/useradd.c:932 src/usermod.c:513 src/usermod.c:649 +#, c-format +msgid "%s: error adding new group entry\n" +msgstr "%s : erreur durant l'addition du nouveau groupe\n" + +#: src/groupadd.c:184 src/groupadd.c:207 src/groupmod.c:200 src/useradd.c:943 +#: src/usermod.c:525 src/usermod.c:661 +#, c-format +msgid "%s: cannot add new dbm group entry\n" +msgstr "%s : impossible d'ajouter une nouvelle entrée pour le groupe dbm\n" + +#: src/groupadd.c:259 src/useradd.c:997 +#, c-format +msgid "%s: name %s is not unique\n" +msgstr "%s : le nom %s n'est pas unique\n" + +#: src/groupadd.c:274 +#, c-format +msgid "%s: gid %ld is not unique\n" +msgstr "%s : le gid %ld n'est pas unique\n" + +#: src/groupadd.c:298 +#, c-format +msgid "%s: can't get unique gid\n" +msgstr "%s : impossible d'obtenir un gid unique\n" + +#. +#. * All invalid group names land here. +#. +#: src/groupadd.c:322 src/groupmod.c:342 +#, c-format +msgid "%s: %s is a not a valid group name\n" +msgstr "%s : %s n'est pas un nom de groupe valide\n" + +#: src/groupadd.c:351 src/groupmod.c:368 +#, c-format +msgid "%s: invalid group %s\n" +msgstr "%s : groupe %s non valide\n" + +#: src/groupadd.c:368 src/useradd.c:1273 +#, c-format +msgid "%s: -O requires NAME=VALUE\n" +msgstr "%s : -O requiert NAME=VALEUR\n" + +#: src/groupadd.c:413 src/groupdel.c:168 src/groupmod.c:404 src/useradd.c:1382 +#: src/userdel.c:273 src/usermod.c:537 +#, c-format +msgid "%s: cannot rewrite group file\n" +msgstr "%s : impossible de re-écrire le fichier group\n" + +#: src/groupadd.c:419 src/groupdel.c:174 src/groupmod.c:410 src/useradd.c:1390 +#: src/userdel.c:279 src/usermod.c:674 +#, c-format +msgid "%s: cannot rewrite shadow group file\n" +msgstr "%s : impossible de re-écrire le fichier shadow group\n" + +#: src/groupadd.c:438 src/groupdel.c:193 src/groupmod.c:429 src/userdel.c:359 +#, c-format +msgid "%s: unable to lock group file\n" +msgstr "%s : impossible de vérouiller le fichier group\n" + +#: src/groupadd.c:442 src/groupdel.c:197 src/groupmod.c:433 +#, c-format +msgid "%s: unable to open group file\n" +msgstr "%s : impossible d'ouvrir le fichier group\n" + +#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438 src/userdel.c:368 +#, c-format +msgid "%s: unable to lock shadow group file\n" +msgstr "%s : impossible de vérouiller le fichier group\n" + +#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 +#, c-format +msgid "%s: unable to open shadow group file\n" +msgstr "%s : impossible d'ouvrir le fichier shadow group\n" + +#: src/groupadd.c:519 +#, c-format +msgid "%s: group %s exists\n" +msgstr "%s : le groupe %s existe\n" + +#: src/groupdel.c:87 +msgid "usage: groupdel group\n" +msgstr "usage: groupdel groupe\n" + +#: src/groupdel.c:105 src/groupmod.c:188 src/groupmod.c:235 +#, c-format +msgid "%s: error removing group entry\n" +msgstr "%s : erreur lors de retrait de l'entrée du groupe\n" + +#: src/groupdel.c:117 src/groupmod.c:207 +#, c-format +msgid "%s: error removing group dbm entry\n" +msgstr "%s : erreur lors du retrait de l'entrée dbm du groupe\n" + +#: src/groupdel.c:132 +#, c-format +msgid "%s: error removing shadow group entry\n" +msgstr "%s : erreur lors du retrait de l'entrée shadow du groupe\n" + +#: src/groupdel.c:145 src/groupmod.c:253 +#, c-format +msgid "%s: error removing shadow group dbm entry\n" +msgstr "%s : erreur lors du retrait de l'entrée dbm shadow du groupe\n" + +#. +#. * Can't remove the group. +#. +#: src/groupdel.c:249 +#, c-format +msgid "%s: cannot remove user's primary group.\n" +msgstr "%s : impossible d'enlever l'utilisateur de son groupe primaire.\n" + +#: src/groupdel.c:306 src/groupmod.c:502 +#, c-format +msgid "%s: group %s does not exist\n" +msgstr "%s : le groupe %s n'existe pas\n" + +#: src/groupdel.c:320 src/groupmod.c:518 +#, c-format +msgid "%s: group %s is a NIS group\n" +msgstr "%s : le groupe %s est un groupe NIS\n" + +#: src/groupdel.c:326 src/groupmod.c:524 src/userdel.c:731 src/usermod.c:990 +#, c-format +msgid "%s: %s is the NIS master\n" +msgstr "%s : %s est le maître NIS\n" + +#: src/groupmod.c:106 +msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "usage : groupmod [-g gid [-o]] [-n nom] groupe\n" + +#: src/groupmod.c:166 +#, c-format +msgid "%s: %s not found in /etc/group\n" +msgstr "%s : %s non trouvé dans /etc/group\n" + +#: src/groupmod.c:247 +#, c-format +msgid "%s: cannot add new dbm shadow group entry\n" +msgstr "%s : impossible d'ajouter une nouvelle entrée dbm shadow group\n" + +#: src/groupmod.c:300 +#, c-format +msgid "%s: %ld is not a unique gid\n" +msgstr "%s : %ld n'est pas un gid unique\n" + +#: src/groupmod.c:331 +#, c-format +msgid "%s: %s is not a unique name\n" +msgstr "%s : %s n'est pas un nom unique\n" + +#: src/groups.c:63 +#, c-format +msgid "unknown user %s\n" +msgstr "utilisateur %s inconnu\n" + +#: src/grpck.c:99 +#, c-format +msgid "Usage: %s [ -r ] [ group [ gshadow ] ]\n" +msgstr "Usage : %s [ -r ] ] groupe [ gshadow ] ]\n" + +#: src/grpck.c:101 +#, c-format +msgid "Usage: %s [ -r ] [ group ]\n" +msgstr "Usage: %s [ -r ] [ groupe ]\n" + +#: src/grpck.c:120 src/pwck.c:120 +msgid "No" +msgstr "Non" + +#: src/grpck.c:235 src/grpck.c:243 src/pwck.c:217 src/pwck.c:226 +#, c-format +msgid "%s: cannot lock file %s\n" +msgstr "%s : impossible de vérouiller le fichier %s\n" + +#: src/grpck.c:258 src/grpck.c:266 src/mkpasswd.c:217 src/pwck.c:242 +#: src/pwck.c:251 +#, c-format +msgid "%s: cannot open file %s\n" +msgstr "%s : impossible d'ouvrir le fichier %s\n" + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/grpck.c:299 +msgid "invalid group file entry\n" +msgstr "entrée dans le fichier group non valide\n" + +#: src/grpck.c:300 src/grpck.c:363 src/grpck.c:455 src/grpck.c:518 +#: src/grpck.c:535 src/pwck.c:287 src/pwck.c:349 src/pwck.c:456 src/pwck.c:518 +#: src/pwck.c:542 +#, c-format +msgid "delete line `%s'? " +msgstr "effacer la ligne `%s'? " + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/grpck.c:362 +msgid "duplicate group entry\n" +msgstr "entrée de groupe dupliquée\n" + +#: src/grpck.c:379 +#, c-format +msgid "invalid group name `%s'\n" +msgstr "nom de groupe `%s' non valide\n" + +#: src/grpck.c:389 +#, c-format +msgid "group %s: bad GID (%d)\n" +msgstr "groupe %s : mauvais GID (%d)\n" + +#: src/grpck.c:415 +#, c-format +msgid "group %s: no user %s\n" +msgstr "groupe %s : pas d'utilisateur %s\n" + +#: src/grpck.c:417 src/grpck.c:586 +#, c-format +msgid "delete member `%s'? " +msgstr "effacer le membre `%s'? " + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/grpck.c:454 +msgid "invalid shadow group file entry\n" +msgstr "entrée non valide dans le fichier shadow group\n" + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/grpck.c:517 +msgid "duplicate shadow group entry\n" +msgstr "entrée dupliquée dans le fichier shadow group\n" + +#: src/grpck.c:534 +msgid "no matching group file entry\n" +msgstr "aucune entrée dans le fichier group correspondante\n" + +#: src/grpck.c:554 +#, c-format +msgid "shadow group %s: no administrative user %s\n" +msgstr "groupe shadow %s : aucun administrateur %s\n" + +#: src/grpck.c:556 +#, c-format +msgid "delete administrative member `%s'? " +msgstr "effacer le membre administrateur `%s' ?" + +#: src/grpck.c:584 +#, c-format +msgid "shadow group %s: no user %s\n" +msgstr "groupe shadow %s : aucun utilisateur %s\n" + +#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581 +#, c-format +msgid "%s: cannot update file %s\n" +msgstr "%s : impossible de mettre à jour le fichier %s\n" + +#: src/grpck.c:641 src/pwck.c:607 +#, c-format +msgid "%s: the files have been updated; run mkpasswd\n" +msgstr "%s : les fichiers ont été mis à jour; exécutez mkpasswd\n" + +#: src/grpck.c:642 src/grpck.c:646 src/pwck.c:608 src/pwck.c:612 +#, c-format +msgid "%s: no changes\n" +msgstr "" + +#: src/grpck.c:645 src/pwck.c:611 +#, c-format +msgid "%s: the files have been updated\n" +msgstr "" + +#: src/grpconv.c:63 src/grpunconv.c:64 +#, c-format +msgid "%s: can't lock group file\n" +msgstr "" + +#: src/grpconv.c:68 src/grpunconv.c:69 +#, c-format +msgid "%s: can't open group file\n" +msgstr "" + +#: src/grpconv.c:73 src/grpunconv.c:74 +#, c-format +msgid "%s: can't lock shadow group file\n" +msgstr "" + +#: src/grpconv.c:78 src/grpunconv.c:79 +#, c-format +msgid "%s: can't open shadow group file\n" +msgstr "" + +#. +#. * This shouldn't happen (the entry exists) but... +#. +#: src/grpconv.c:94 +#, c-format +msgid "%s: can't remove shadow group %s\n" +msgstr "" + +#: src/grpconv.c:135 src/pwconv.c:161 +#, c-format +msgid "%s: can't update shadow entry for %s\n" +msgstr "" + +#: src/grpconv.c:144 src/grpunconv.c:95 +#, c-format +msgid "%s: can't update entry for group %s\n" +msgstr "" + +#: src/grpconv.c:151 src/grpunconv.c:103 +#, c-format +msgid "%s: can't update shadow group file\n" +msgstr "" + +#: src/grpconv.c:155 src/grpunconv.c:108 +#, c-format +msgid "%s: can't update group file\n" +msgstr "" + +#: src/grpconv.c:170 src/grpunconv.c:129 +#, c-format +msgid "%s: not configured for shadow group support.\n" +msgstr "" + +#: src/grpunconv.c:113 +#, c-format +msgid "%s: can't delete shadow group file\n" +msgstr "" + +#: src/id.c:57 +msgid "usage: id [ -a ]\n" +msgstr "Usage : id [ -a ]\n" + +#: src/id.c:59 +msgid "usage: id\n" +msgstr "Usage : id\n" + +#: src/id.c:119 +#, c-format +msgid "uid=%d(%s)" +msgstr "uid=%d(%s)" + +#: src/id.c:121 +#, c-format +msgid "uid=%d" +msgstr "uid=%d" + +#: src/id.c:125 +#, c-format +msgid " gid=%d(%s)" +msgstr " gid=%d(%s)" + +#: src/id.c:127 +#, c-format +msgid " gid=%d" +msgstr " gid=%d" + +#: src/id.c:137 +#, c-format +msgid " euid=%d(%s)" +msgstr " euid=%d(%s)" + +#: src/id.c:139 +#, c-format +msgid " euid=%d" +msgstr " euid=%d" + +#: src/id.c:144 +#, c-format +msgid " egid=%d(%s)" +msgstr " egid=%d(%s)" + +#: src/id.c:146 +#, c-format +msgid " egid=%d" +msgstr " egid=%d" + +#. +#. * Start off the group message. It will be of the format +#. * +#. * groups=###(aaa),###(aaa),###(aaa) +#. * +#. * where "###" is a numerical value and "aaa" is the +#. * corresponding name for each respective numerical value. +#. +#: src/id.c:167 +msgid " groups=" +msgstr " groupes=" + +#: src/lastlog.c:168 +msgid "Username Port From Latest\n" +msgstr "Utilisateur Port Venant de Dernière\n" + +#: src/lastlog.c:170 +msgid "Username Port Latest\n" +msgstr "Utilisateur Port Dernière\n" + +#: src/lastlog.c:184 +msgid "**Never logged in**" +msgstr "**Jamais connecté**" + +#: src/login.c:199 +#, c-format +msgid "usage: %s [-p] [name]\n" +msgstr "Usage : %s [-p] [nom]\n" + +#: src/login.c:202 +#, c-format +msgid " %s [-p] [-h host] [-f name]\n" +msgstr " %s [-p] [-h hôte] [-f nom]\n" + +#: src/login.c:204 +#, c-format +msgid " %s [-p] -r host\n" +msgstr " %s [-p] -r hôte\n" + +#: src/login.c:287 +msgid "Invalid login time\n" +msgstr "Heure de connexion non valide\n" + +#: src/login.c:342 +msgid "" +"\n" +"System closed for routine maintenance\n" +msgstr "" +"\n" +"Système fermé pour maintenance\n" + +#: src/login.c:352 +msgid "" +"\n" +"[Disconnect bypassed -- root login allowed.]\n" +msgstr "" +"\n" +"[Disconnexion court-circuitée -- login root authorisé.]\n" + +#: src/login.c:391 +#, c-format +msgid "" +"\n" +"Login timed out after %d seconds.\n" +msgstr "" +"\n" +"Tentative de connexion: délai de %s secondes dépassé.\n" + +#: src/login.c:692 +#, c-format +msgid " on `%.100s' from `%.200s'" +msgstr " sur `%.100s' à partir de `%.200s'" + +#: src/login.c:694 +#, c-format +msgid " on `%.100s'" +msgstr " sur `%.100s'" + +#: src/login.c:807 +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"% login: " + +#: src/login.c:809 +msgid "login: " +msgstr "login: " + +#: src/login.c:991 src/sulogin.c:233 +msgid "Login incorrect" +msgstr "Login incorrect" + +#: src/login.c:1163 +msgid "Warning: login re-enabled after temporary lockout.\n" +msgstr "Avertissement: login réactivé après une désactivation temporaire.\n" + +#: src/login.c:1173 +#, c-format +msgid "Last login: %s on %s" +msgstr "Dernière connexion : le %s sur %s" + +#: src/login.c:1176 +#, c-format +msgid "Last login: %.19s on %s" +msgstr "Dernière connexion : le %.19s sur %s" + +#: src/login.c:1181 +#, c-format +msgid " from %.*s" +msgstr " à partir de %.*s" + +#: src/login.c:1246 +msgid "Starting rad_login\n" +msgstr "Démarrage de rad_login\n" + +#: src/mkpasswd.c:49 +#, c-format +msgid "%s: no DBM database on system - no action performed\n" +msgstr "%s : pas de base de données DBM sur le système - aucune action prise\n" + +#: src/mkpasswd.c:246 src/mkpasswd.c:250 +#, c-format +msgid "%s: cannot overwrite file %s\n" +msgstr "%s : impossible d'écraser le fichier %s\n" + +#: src/mkpasswd.c:264 +#, c-format +msgid "%s: cannot open DBM files for %s\n" +msgstr "%s : impossible d'ouvrir les fichiers DBM pour %s\n" + +#: src/mkpasswd.c:297 +#, c-format +msgid "%s: the beginning with " +msgstr "" + +#: src/mkpasswd.c:322 +#, c-format +msgid "%s: error parsing line \"%s\"\n" +msgstr "%s : erreur lors l'analyse de la ligne \"%s\"\n" + +#: src/mkpasswd.c:327 src/mkpasswd.c:329 src/mkpasswd.c:331 src/mkpasswd.c:333 +msgid "adding record for name " +msgstr "" + +#: src/mkpasswd.c:337 src/mkpasswd.c:342 src/mkpasswd.c:346 src/mkpasswd.c:350 +#, c-format +msgid "%s: error adding record for " +msgstr "" + +#: src/mkpasswd.c:368 +#, c-format +msgid "added %d entries, longest was %d\n" +msgstr "%d entrées ajoutées, la plus longue fut %d\n" + +#: src/mkpasswd.c:383 +#, c-format +msgid "Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n" +msgstr "Usage : %s [ -vf ] [ -p|g|sp|sg ] fichier\n" + +#: src/mkpasswd.c:385 +#, c-format +msgid "Usage: %s [ -vf ] [ -p|g|sp ] file\n" +msgstr "Usage : %s [ -vf ] [ -p|g|sp ] fichier\n" + +#: src/mkpasswd.c:388 +#, c-format +msgid "Usage: %s [ -vf ] [ -p|g ] file\n" +msgstr "Usage : %s [ -vf ] [ -p|g ] fichier\n" + +#: src/newgrp.c:67 +msgid "usage: newgrp [ - ] [ group ]\n" +msgstr "Usage : newgrp [ - ] [ groupe ]\n" + +#: src/newgrp.c:69 +#, fuzzy +msgid "usage: sg group [[-c] command ]\n" +msgstr "Usage : sg groupe [ commande ]\n" + +#: src/newgrp.c:122 +#, c-format +msgid "unknown uid: %d\n" +msgstr "uid inconnue : %d\n" + +#: src/newgrp.c:198 +#, c-format +msgid "unknown gid: %ld\n" +msgstr "gid inconnu : %ld\n" + +#: src/newgrp.c:242 +#, c-format +msgid "unknown gid: %d\n" +msgstr "gid inconnu : %d\n" + +#: src/newgrp.c:315 src/newgrp.c:324 +msgid "Sorry.\n" +msgstr "Désolé ;-)\n" + +#: src/newgrp.c:356 +msgid "too many groups\n" +msgstr "trop de groupes\n" + +#: src/newusers.c:79 +#, c-format +msgid "Usage: %s [ input ]\n" +msgstr "Usage : %s [ entrée ] \n" + +#: src/newusers.c:367 +#, c-format +msgid "%s: can't lock /etc/passwd.\n" +msgstr "%s : impossible de vérouiller /etc/passwd.\n" + +#: src/newusers.c:378 +#, c-format +msgid "%s: can't lock files, try again later\n" +msgstr "%s : impossible de vérouiller les fichiers, essayez plus tard\n" + +#: src/newusers.c:393 +#, c-format +msgid "%s: can't open files\n" +msgstr "%s : impossible d'ouvrir les fichiers\n" + +#: src/newusers.c:438 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s : ligne %d : ligne non valide\n" + +#: src/newusers.c:456 +#, c-format +msgid "%s: line %d: can't create GID\n" +msgstr "%s : ligne %d : impossible de créer le GID\n" + +#: src/newusers.c:472 +#, c-format +msgid "%s: line %d: can't create UID\n" +msgstr "%s : ligne %d : impossible de créer le GID\n" + +#: src/newusers.c:484 +#, c-format +msgid "%s: line %d: cannot find user %s\n" +msgstr "%s : ligne %d : impossible de trouver l'utilisateur %s\n" + +#: src/newusers.c:492 +#, c-format +msgid "%s: line %d: can't update password\n" +msgstr "%s : ligne %d : impossible de mettre le mot de passe à jour\n" + +#: src/newusers.c:509 +#, c-format +msgid "%s: line %d: mkdir failed\n" +msgstr "%s : ligne %d : échec de mkdir\n" + +#: src/newusers.c:513 +#, c-format +msgid "%s: line %d: chown failed\n" +msgstr "%s : ligne %d : échec de chown\n" + +#: src/newusers.c:522 +#, c-format +msgid "%s: line %d: can't update entry\n" +msgstr "%s : ligne %d : impossible de mettre l'entrée à jour\n" + +#: src/newusers.c:553 +#, c-format +msgid "%s: error updating files\n" +msgstr "%s : erreur lors de la mise à jour des fichiers\n" + +#: src/passwd.c:241 +#, c-format +msgid "usage: %s [ -f | -s ] [ name ]\n" +msgstr "Usage : %s [ -f | -s ] [ nom ]\n" + +#: src/passwd.c:244 +#, c-format +msgid " %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n" +msgstr " %s [ -x max ] [ -n min ] [ -w avert ] [ -i inact ] nom\n" + +#: src/passwd.c:247 +#, c-format +msgid " %s { -l | -u | -d | -S | -e } name\n" +msgstr " %s { -l | -u | -d | -S | -e } nom\n" + +#: src/passwd.c:349 +#, c-format +msgid "User %s has a TCFS key, his old password is required.\n" +msgstr "" +"L'utilisateur %s a une clé TCFS, son ancien mot de passe est nécessaire.\n" + +#: src/passwd.c:350 +msgid "You can use -t option to force the change.\n" +msgstr "Vous pouvez utiliser l'option -t pour forcer le changement.\n" + +#: src/passwd.c:356 +msgid "Old password: " +msgstr "Ancien mot de passe : " + +#: src/passwd.c:363 +#, c-format +msgid "Incorrect password for `%s'\n" +msgstr "Mot de passe incorrect pour `%s'\n" + +#: src/passwd.c:376 +#, c-format +msgid "Warning: user %s has a TCFS key.\n" +msgstr "Avertissement : l'utilisateur %s a une clé TCFS.\n" + +#: src/passwd.c:394 +#, c-format +msgid "" +"Enter the new password (minimum of %d, maximum of %d characters)\n" +"Please use a combination of upper and lower case letters and numbers.\n" +msgstr "" +"Entrez le nouveau mot de passe (minimum de %d, maximum de %d\n" +"caractères). Utilisez une combinaison de lettres en majuscule/minuscule\n" +"et de nombres.\n" + +#: src/passwd.c:401 +msgid "New password: " +msgstr "Nouveau mot de passe : " + +#: src/passwd.c:411 +msgid "Try again.\n" +msgstr "Essaye encore...\n" + +#: src/passwd.c:420 +msgid "" +"\n" +"Warning: weak password (enter it again to use it anyway).\n" +msgstr "" +"\n" +"Avertissement : mot de passe simpliste (tapez le à nouveau pour l'utiliser\n" +"quand même).\n" + +#: src/passwd.c:429 +msgid "They don't match; try again.\n" +msgstr "Ils ne sont pas identique; essaye encore...\n" + +#: src/passwd.c:514 src/passwd.c:530 +#, c-format +msgid "The password for %s cannot be changed.\n" +msgstr "Le mot de passe pour %s ne peut être changé.\n" + +#: src/passwd.c:558 +#, c-format +msgid "Sorry, the password for %s cannot be changed yet.\n" +msgstr "Désolé, le mot de passe pour %s ne peux pas encore être changé.\n" + +#: src/passwd.c:695 +#, c-format +msgid "%s: out of memory\n" +msgstr "%s : plus de mémoire\n" + +#: src/passwd.c:847 +msgid "Cannot lock the TCFS key database; try again later\n" +msgstr "" +"Impossible de vérouiller la base de données de clés TCFS; essayez à\n" +"nouveau plus tard\n" + +#: src/passwd.c:853 +msgid "Cannot open the TCFS key database.\n" +msgstr "Impossible d'ouvrir la base de clés TCFS.\n" + +#: src/passwd.c:859 +msgid "Error updating the TCFS key database.\n" +msgstr "Erreur lors de la mise à jour de la base de clés TCFS.\n" + +#: src/passwd.c:864 +msgid "Cannot commit TCFS changes.\n" +msgstr "Impossible de valider les changements TCFS.\n" + +#: src/passwd.c:1071 +#, c-format +msgid "%s: Cannot execute %s" +msgstr "%s : Impossible d'exécuter %s" + +#: src/passwd.c:1178 +#, c-format +msgid "%s: repository %s not supported\n" +msgstr "" + +#: src/passwd.c:1265 +#, c-format +msgid "%s: Permission denied\n" +msgstr "%s : Permission refusée\n" + +#: src/passwd.c:1289 +#, c-format +msgid "You may not change the password for %s.\n" +msgstr "Vous ne pouvez pas changer le mot de passe de %s.\n" + +#: src/passwd.c:1354 +#, c-format +msgid "Changing password for %s\n" +msgstr "Changement du mot de passe de %s\n" + +#: src/passwd.c:1358 +#, c-format +msgid "The password for %s is unchanged.\n" +msgstr "Le mot de passe pour %s est inchangé.\n" + +#: src/passwd.c:1414 +msgid "Password changed.\n" +msgstr "Mot de passe changé.\n" + +#: src/pwck.c:99 +#, c-format +msgid "Usage: %s [ -qr ] [ passwd [ shadow ] ]\n" +msgstr "Usage : %s [ -qr ] [ passwd [ shadow ] ]\n" + +#: src/pwck.c:101 +#, c-format +msgid "Usage: %s [ -qr ] [ passwd ]\n" +msgstr "Usage : %s [ -qr ] [ passwd ]\n" + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/pwck.c:286 +msgid "invalid password file entry\n" +msgstr "entrée non valide dans le fichier password\n" + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/pwck.c:348 +msgid "duplicate password entry\n" +msgstr "entrée dupliquée dans password\n" + +#: src/pwck.c:364 +#, c-format +msgid "invalid user name `%s'\n" +msgstr "nom d'utilisateur `%s' non valide\n" + +#: src/pwck.c:374 +#, c-format +msgid "user %s: bad UID (%d)\n" +msgstr "utilisateur %s : mauvais UID (%d)\n" + +#. +#. * No primary group, just give a warning +#. +#: src/pwck.c:389 +#, c-format +msgid "user %s: no group %d\n" +msgstr "utilisateur %s : aucun groupe %d\n" + +#. +#. * Home directory doesn't exist, give a warning +#. +#: src/pwck.c:404 +#, c-format +msgid "user %s: directory %s does not exist\n" +msgstr "utilisateur %s : le répertoire %s n'existe pas\n" + +#. +#. * Login shell doesn't exist, give a warning +#. +#: src/pwck.c:419 +#, c-format +msgid "user %s: program %s does not exist\n" +msgstr "utilisateur %s : le programme %s n'existe pas\n" + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/pwck.c:455 +msgid "invalid shadow password file entry\n" +msgstr "entrée shadow password non valide\n" + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/pwck.c:517 +msgid "duplicate shadow password entry\n" +msgstr "entrée shadow password dupliquée\n" + +#. +#. * Tell the user this entry has no matching +#. * /etc/passwd entry and ask them to delete it. +#. +#: src/pwck.c:541 +msgid "no matching password file entry\n" +msgstr "aucune entrée correspondante dans le fichier password\n" + +#: src/pwck.c:558 +#, c-format +msgid "user %s: last password change in the future\n" +msgstr "" +"utilisateur %s : date du dernier changement de mot de passe dans le futur\n" + +#: src/pwconv.c:95 src/pwunconv.c:109 +#, c-format +msgid "%s: can't lock passwd file\n" +msgstr "%s : impossible de vérouiller le fichier passwd\n" + +#: src/pwconv.c:100 src/pwunconv.c:114 +#, c-format +msgid "%s: can't open passwd file\n" +msgstr "%s : impossible d'ouvrir le fichier passwd\n" + +#: src/pwconv.c:127 +#, c-format +msgid "%s: can't remove shadow entry for %s\n" +msgstr "%s : impossible d'enlever l'entrée shadow pour %s\n" + +#: src/pwconv.c:170 +#, c-format +msgid "%s: can't update passwd entry for %s\n" +msgstr "%s : impossible de mettre à jour le mot de passe de %s\n" + +#: src/pwconv.c:177 +#, c-format +msgid "%s: can't update shadow file\n" +msgstr "%s : impossible de mettre à jour le fichier shadow\n" + +#: src/pwconv.c:181 +#, c-format +msgid "%s: can't update passwd file\n" +msgstr "%s : impossible de mettre à jour le fichier passwd\n" + +#: src/pwunconv.c:62 +#, c-format +msgid "%s: Shadow passwords are not configured.\n" +msgstr "%s : Les mots de passe shadow ne sont pas configurés.\n" + +#: src/pwunconv.c:172 +#, c-format +msgid "%s: can't update entry for user %s\n" +msgstr "%s : impossible de mettre à jour l'entrée %s\n" + +#: src/pwunconv.c:189 +#, c-format +msgid "%s: can't delete shadow password file\n" +msgstr "%s : impossible d'effacer le fichier shadow\n" + +#: src/su.c:145 +msgid "Sorry." +msgstr "Désolé ;-)" + +#: src/su.c:227 +#, c-format +msgid "%s: must be run from a terminal\n" +msgstr "%s : doit être lancé à partir d'un terminal\n" + +#: src/su.c:319 +#, c-format +msgid "%s: pam_start: error %d\n" +msgstr "%s : pam_start : erreur %d\n" + +#: src/su.c:345 +#, c-format +msgid "Unknown id: %s\n" +msgstr "ID inconnue : %s\n" + +#. access denied (-1) or unexpected value +#: src/su.c:380 src/su.c:395 +#, fuzzy, c-format +msgid "You are not authorized to su %s\n" +msgstr "Vous n'êtes pas authorisés " + +#. require own password +#: src/su.c:391 +msgid "(Enter your own password.)" +msgstr "(Entrez votre propre mot de passe.)" + +#: src/su.c:412 +#, c-format +msgid "%s: permission denied (shell).\n" +msgstr "%s : permission refusée (shell).\n" + +#: src/su.c:436 +#, c-format +msgid "" +"%s: %s\n" +"(Ignored)\n" +msgstr "" +"%s: %s\n" +"(Ignoré)\n" + +#: src/su.c:605 +msgid "No shell\n" +msgstr "Pas de shell\n" + +#. must be a password file! +#: src/sulogin.c:138 +msgid "No password file\n" +msgstr "Pas de fichier de mot de passe\n" + +#. +#. * Fail secure +#. +#: src/sulogin.c:180 +msgid "No password entry for 'root'\n" +msgstr "Pas d'entrée pour le mot de passe de 'root'\n" + +#. +#. * Here we prompt for the root password, or if no password is +#. * given we just exit. +#. +#. get a password for root +#: src/sulogin.c:194 +msgid "" +"\n" +"Type control-d to proceed with normal startup,\n" +"(or give root password for system maintenance):" +msgstr "" +"\n" +"Tapez control-d pour procéder au démarrage normal,\n" +"(ou donnez le mot de passe de root pour la maintenance) : " + +#. make new environment active +#: src/sulogin.c:243 +msgid "Entering System Maintenance Mode\n" +msgstr "Entrée du système en mode maintenance\n" + +#: src/useradd.c:244 +#, c-format +msgid "%s: rebuild the group database\n" +msgstr "%s : reconstruction de la base de données des groupes\n" + +#: src/useradd.c:251 +#, c-format +msgid "%s: rebuild the shadow group database\n" +msgstr "%s : reconstruction de la base de données des groupes shadow\n" + +#: src/useradd.c:288 src/usermod.c:941 +#, c-format +msgid "%s: invalid numeric argument `%s'\n" +msgstr "%s : argument numérique `%s' non valide\n" + +#: src/useradd.c:344 +#, c-format +msgid "%s: unknown gid %s\n" +msgstr "%s : gid %s inconnu\n" + +#: src/useradd.c:351 src/useradd.c:643 src/useradd.c:1229 src/usermod.c:253 +#: src/usermod.c:1072 +#, c-format +msgid "%s: unknown group %s\n" +msgstr "%s : groupe %s inconnu\n" + +#: src/useradd.c:419 +#, c-format +msgid "group=%s,%ld basedir=%s skel=%s\n" +msgstr "group=%s,%ld rép_base=%s skel=%s\n" + +#: src/useradd.c:422 +#, c-format +msgid "shell=%s " +msgstr "shell=%s " + +#: src/useradd.c:424 +#, c-format +msgid "inactive=%ld expire=%s" +msgstr "inactif=%ld expire=%s" + +#: src/useradd.c:428 +#, c-format +msgid "GROUP=%ld\n" +msgstr "GROUP=%ld\n" + +#: src/useradd.c:429 +#, c-format +msgid "HOME=%s\n" +msgstr "HOME=%s\n" + +#: src/useradd.c:431 +#, c-format +msgid "INACTIVE=%ld\n" +msgstr "INACTIVE=%ld\n" + +#: src/useradd.c:432 +#, c-format +msgid "EXPIRE=%s\n" +msgstr "EXPIRE=%s\n" + +#: src/useradd.c:434 +#, c-format +msgid "SHELL=%s\n" +msgstr "SHELL=%s\n" + +#: src/useradd.c:435 +#, c-format +msgid "SKEL=%s\n" +msgstr "SKEL=%s\n" + +#: src/useradd.c:471 +#, c-format +msgid "%s: cannot create new defaults file\n" +msgstr "%s : impossible de créer un nouveau fichier de défauts\n" + +#: src/useradd.c:565 src/useradd.c:576 +#, c-format +msgid "%s: rename: %s" +msgstr "%s : rename : %s" + +#: src/useradd.c:663 src/usermod.c:273 +#, c-format +msgid "%s: group `%s' is a NIS group.\n" +msgstr "%s : le groupe `%s' est un groupe NIS.\n" + +#: src/useradd.c:671 src/usermod.c:281 +#, c-format +msgid "%s: too many groups specified (max %d).\n" +msgstr "%s : trop de groupes spécifiés (max %d).\n" + +#: src/useradd.c:703 src/usermod.c:313 +#, c-format +msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Usage : %s\t[-u uid [-o]] [-g groupe] [-G groupe,...] \n" + +#: src/useradd.c:706 +msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "\t\t[-d home] [-s shell] [-c commentaire] [-m [-k template]]\n" + +#: src/useradd.c:709 src/usermod.c:319 +msgid "[-f inactive] [-e expire ] " +msgstr "[-f inactif] [-e expire ] " + +#: src/useradd.c:712 +msgid "[-A program] " +msgstr "[-A program] " + +#: src/useradd.c:714 src/usermod.c:324 +msgid "[-p passwd] name\n" +msgstr "[-p mot-de-passe] nom\n" + +#: src/useradd.c:716 +#, c-format +msgid " %s\t-D [-g group] [-b base] [-s shell]\n" +msgstr " %s\t-D [-g groupe] [-b base] [-s shell]\n" + +#: src/useradd.c:719 +msgid "\t\t[-f inactive] [-e expire ]\n" +msgstr "\t\t[-f inactif] [-e expire ]\n" + +#: src/useradd.c:816 src/usermod.c:446 +#, c-format +msgid "%s: error locking group file\n" +msgstr "%s : erreur lors du vérouillage du fichier de groupe\n" + +#: src/useradd.c:820 src/usermod.c:451 +#, c-format +msgid "%s: error opening group file\n" +msgstr "%s : erreur lors d'ouverture du fichier de groupe\n" + +#: src/useradd.c:825 src/usermod.c:558 +#, c-format +msgid "%s: error locking shadow group file\n" +msgstr "%s : erreur lors du vérouillage du fichier shadow group\n" + +#: src/useradd.c:830 src/usermod.c:564 +#, c-format +msgid "%s: error opening shadow group file\n" +msgstr "%s : erreur lors de l'ouverture du fichier shadow group\n" + +#: src/useradd.c:1002 +#, c-format +msgid "%s: uid %d is not unique\n" +msgstr "%s : l'uid %d n'est pas unique\n" + +#: src/useradd.c:1032 +#, c-format +msgid "%s: can't get unique uid\n" +msgstr "%s : impossible d'obtenir un uid unique\n" + +#: src/useradd.c:1140 src/useradd.c:1284 src/usermod.c:1020 src/usermod.c:1031 +#: src/usermod.c:1041 src/usermod.c:1087 src/usermod.c:1122 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s : champs `%s' non valide\n" + +#: src/useradd.c:1154 +#, c-format +msgid "%s: invalid base directory `%s'\n" +msgstr "%s : répertoire de base non valide `%s'\n" + +#: src/useradd.c:1164 +#, c-format +msgid "%s: invalid comment `%s'\n" +msgstr "%s : commentaire `%s' non valide\n" + +#: src/useradd.c:1174 +#, c-format +msgid "%s: invalid home directory `%s'\n" +msgstr "%s : répertoire personnel `%s' non valide\n" + +#: src/useradd.c:1192 src/usermod.c:1054 +#, c-format +msgid "%s: invalid date `%s'\n" +msgstr "%s : date `%s' non valide\n" + +#: src/useradd.c:1204 +#, c-format +msgid "%s: shadow passwords required for -e\n" +msgstr "%s : mots de passe shadow nécessaires pour -e\n" + +#: src/useradd.c:1219 +#, c-format +msgid "%s: shadow passwords required for -f\n" +msgstr "%s : mots de passe shadow nécessaires pour -f\n" + +#: src/useradd.c:1293 +#, c-format +msgid "%s: invalid shell `%s'\n" +msgstr "%s : shell `%s' non valide\n" + +#: src/useradd.c:1334 +#, c-format +msgid "%s: invalid user name `%s'\n" +msgstr "%s : nom d'utilisateur `%s' non valide\n" + +#: src/useradd.c:1370 src/userdel.c:262 src/usermod.c:1184 +#, c-format +msgid "%s: cannot rewrite password file\n" +msgstr "%s : impossible de reécrire le fichier de mots de passe\n" + +#: src/useradd.c:1375 src/userdel.c:265 src/usermod.c:1189 +#, c-format +msgid "%s: cannot rewrite shadow password file\n" +msgstr "%s : impossible de reécrire le fichier shadow\n" + +#: src/useradd.c:1415 src/userdel.c:329 src/usermod.c:1224 +#, c-format +msgid "%s: unable to lock password file\n" +msgstr "%s : impossible de vérouiller le fichier de mots de passe\n" + +#: src/useradd.c:1419 src/userdel.c:333 src/usermod.c:1228 +#, c-format +msgid "%s: unable to open password file\n" +msgstr "%s : impossible d'ouvrir le fichier de mots de passe\n" + +#: src/useradd.c:1425 src/userdel.c:338 src/usermod.c:1233 +#, c-format +msgid "%s: cannot lock shadow password file\n" +msgstr "%s : impossible de vérouiller le fichier de mots de passe\n" + +#: src/useradd.c:1431 src/userdel.c:343 src/usermod.c:1238 +#, c-format +msgid "%s: cannot open shadow password file\n" +msgstr "%s : impossible d'ouvrir le fichier shadow\n" + +#: src/useradd.c:1530 src/usermod.c:1325 +#, c-format +msgid "%s: error adding authentication method\n" +msgstr "%s : erreur lors de l'ajout de la méthode d'authentification\n" + +#: src/useradd.c:1553 +#, c-format +msgid "%s: error adding new password entry\n" +msgstr "%s : erreur lors de l'ajout de la nouvelle entrée\n" + +#: src/useradd.c:1568 +#, c-format +msgid "%s: error updating password dbm entry\n" +msgstr "%s : erreur lors de la mise à jour de l'entrée dbm\n" + +#: src/useradd.c:1584 src/usermod.c:1384 +#, c-format +msgid "%s: error adding new shadow password entry\n" +msgstr "%s : erreur lors de l'ajout de la nouvelle entrée shadow\n" + +#: src/useradd.c:1600 src/usermod.c:1399 +#, c-format +msgid "%s: error updating shadow passwd dbm entry\n" +msgstr "%s : erreur lors de la mise à jour de l'entrée shadow passwd dbm\n" + +#: src/useradd.c:1632 +#, c-format +msgid "%s: cannot create directory %s\n" +msgstr "%s : impossible de créer le répertoire %s\n" + +#: src/useradd.c:1709 src/usermod.c:1162 +#, c-format +msgid "%s: user %s exists\n" +msgstr "%s : l'utilisateur %s existe\n" + +#: src/useradd.c:1739 +#, c-format +msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" +msgstr "" +"%s : avertissement : CREATE_HOME non supporté, utilisez -m à la place.\n" + +#: src/userdel.c:128 +#, c-format +msgid "usage: %s [-r] name\n" +msgstr "Usage : %s [-r] nom\n" + +#: src/userdel.c:175 src/userdel.c:230 +#, c-format +msgid "%s: error updating group entry\n" +msgstr "%s : erreur lors de la mise à jour de l'entrée group\n" + +#: src/userdel.c:185 src/userdel.c:239 +#, c-format +msgid "%s: cannot update dbm group entry\n" +msgstr "%s : impossible de mettre à jour l'entrée dbm group\n" + +#: src/userdel.c:270 +#, c-format +msgid "%s: cannot rewrite TCFS key file\n" +msgstr "%s : impossible de reécrire le fichier de clés TCFS\n" + +#: src/userdel.c:350 +#, c-format +msgid "%s: cannot lock TCFS key file\n" +msgstr "%s : impossible de vérouiller le fichier de clés TCFS\n" + +#: src/userdel.c:354 +#, c-format +msgid "%s: cannot open TCFS key file\n" +msgstr "%s : impossible d'ouvrir le fichier de clés TCFS\n" + +#: src/userdel.c:363 +#, c-format +msgid "%s: cannot open group file\n" +msgstr "%s : impossible d'ouvrir le fichier group\n" + +#: src/userdel.c:373 +#, c-format +msgid "%s: cannot open shadow group file\n" +msgstr "%s : impossible d'ouvrir le fichier shadow group\n" + +#: src/userdel.c:404 src/userdel.c:419 +#, c-format +msgid "%s: error deleting authentication\n" +msgstr "%s : erreur lors de l'effacement de l'authentification\n" + +#: src/userdel.c:428 +#, c-format +msgid "%s: error deleting password entry\n" +msgstr "%s : erreur lors de la suppression de l'entrée dans /etc/passwd\n" + +#: src/userdel.c:431 +#, c-format +msgid "%s: error deleting shadow password entry\n" +msgstr "%s : erreur lors de la suppression de l'entrée dans /etc/shadow\n" + +#: src/userdel.c:440 +#, c-format +msgid "%s: error deleting TCFS entry\n" +msgstr "%s : erreur lors de l'effacement de l'entrée TCFS\n" + +#: src/userdel.c:453 +#, c-format +msgid "%s: error deleting password dbm entry\n" +msgstr "%s : erreur lors de l'effacement de l'entrée dbm du mot de passe\n" + +#: src/userdel.c:472 +#, c-format +msgid "%s: error deleting shadow passwd dbm entry\n" +msgstr "%s : erreur lors de l'effacement de l'entrée shadow passwd dbm\n" + +#: src/userdel.c:513 +#, c-format +msgid "%s: user %s is currently logged in\n" +msgstr "%s : l'utilisateur %s est connecté\n" + +#: src/userdel.c:630 +#, c-format +msgid "%s: warning: %s not owned by %s, not removing\n" +msgstr "%s : avertissement : %s n'appartient pas à %s, non enlevé\n" + +#: src/userdel.c:636 +#, c-format +msgid "%s: warning: can't remove " +msgstr "%s : impossible d'enlever " + +#: src/userdel.c:711 src/usermod.c:968 +#, c-format +msgid "%s: user %s does not exist\n" +msgstr "%s : l'utilisateur %s n'existe pas\n" + +#: src/userdel.c:725 src/usermod.c:984 +#, c-format +msgid "%s: user %s is a NIS user\n" +msgstr "%s : le compte %s est un compte NIS\n" + +#: src/userdel.c:762 +#, c-format +msgid "%s: %s not owned by %s, not removing\n" +msgstr "%s : %s n'appartient pas à %s, non enlevé\n" + +#: src/userdel.c:785 +#, c-format +msgid "%s: not removing directory %s (would remove home of user %s)\n" +msgstr "" +"%s : répertoire %s non enlevé (cela enléverait le répertoire personnel de " +"%s)\n" + +#: src/userdel.c:798 +#, c-format +msgid "%s: error removing directory %s\n" +msgstr "%s : erreur lors de l'effacement du répertoire %s\n" + +#: src/usermod.c:316 +msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" +msgstr "\t\t[-d home [-m]] [-s shell] [-c commentaire] [-l nouveau_nom]\n" + +#: src/usermod.c:322 +msgid "[-A {DEFAULT|program},... ] " +msgstr "[-A {DÉFAUT|programme},... ] " + +#: src/usermod.c:478 +#, c-format +msgid "%s: out of memory in update_group\n" +msgstr "%s : plus de mémoire pour update_group\n" + +#: src/usermod.c:601 +#, c-format +msgid "%s: out of memory in update_gshadow\n" +msgstr "%s : plus de mémoire pour update_gshadow\n" + +#: src/usermod.c:1139 +#, c-format +msgid "%s: no flags given\n" +msgstr "%s : aucun drapeau donné\n" + +#: src/usermod.c:1146 +#, c-format +msgid "%s: shadow passwords required for -e and -f\n" +msgstr "%s : mots de passe shadow nécessaires pour -e ou -f\n" + +#: src/usermod.c:1167 +#, c-format +msgid "%s: uid %ld is not unique\n" +msgstr "%s : l'uid %ld n'est pas unique\n" + +#: src/usermod.c:1315 +#, c-format +msgid "%s: error deleting authentication method\n" +msgstr "%s : erreur lors de l'effacement de la méthode d'authentification\n" + +#: src/usermod.c:1335 +#, c-format +msgid "%s: error changing authentication method\n" +msgstr "%s : erreur lors du changement de la méthode d'authentification\n" + +#: src/usermod.c:1352 +#, c-format +msgid "%s: error changing password entry\n" +msgstr "%s : erreur lors du changement de l'entrée dans /etc/passwd\n" + +#: src/usermod.c:1358 +#, c-format +msgid "%s: error removing password entry\n" +msgstr "%s : erreur lors de l'effacement du mot de passe\n" + +#: src/usermod.c:1366 +#, c-format +msgid "%s: error adding password dbm entry\n" +msgstr "" + +#: src/usermod.c:1373 +#, c-format +msgid "%s: error removing passwd dbm entry\n" +msgstr "" + +#: src/usermod.c:1390 +#, c-format +msgid "%s: error removing shadow password entry\n" +msgstr "" + +#: src/usermod.c:1405 +#, c-format +msgid "%s: error removing shadow passwd dbm entry\n" +msgstr "" + +#: src/usermod.c:1436 +#, c-format +msgid "%s: directory %s exists\n" +msgstr "%s : le répertoire %s existe\n" + +#: src/usermod.c:1443 +#, c-format +msgid "%s: can't create %s\n" +msgstr "%s : impossible de créer %s\n" + +#: src/usermod.c:1449 +#, c-format +msgid "%s: can't chown %s\n" +msgstr "%s : impossible de changer le propriètaire de %s\n" + +#: src/usermod.c:1465 +#, c-format +msgid "%s: cannot rename directory %s to %s\n" +msgstr "%s : impossible de renommer le répertoire %s en %s\n" + +#. better leave it alone +#: src/usermod.c:1562 +#, c-format +msgid "%s: warning: %s not owned by %s\n" +msgstr "%s : avertissement : %s n'appartient pas à %s\n" + +#: src/usermod.c:1568 +msgid "failed to change mailbox owner" +msgstr "échec du changement de propriètaire de la mailbox" + +#: src/usermod.c:1575 +msgid "failed to rename mailbox" +msgstr "échec du renommage de la mailbox" + +#: src/vipw.c:103 +#, c-format +msgid "" +"\n" +"%s: %s is unchanged\n" +msgstr "" +"\n" +"%s : %s est inchangé\n" + +#: src/vipw.c:128 +msgid "Couldn't lock file" +msgstr "Impossible de vérouiller le fichier" + +#: src/vipw.c:135 +msgid "Couldn't make backup" +msgstr "Impossible de faire une sauvegarde" + +#: src/vipw.c:174 +#, c-format +msgid "%s: can't restore %s: %s (your changes are in %s)\n" +msgstr "%s : impossible de restaurer %s : %s (vos changements sont dans %s)\n" + +#: src/vipw.c:213 +msgid "" +"Usage:\n" +"`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" +"`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n" +msgstr "" +"Usage :\n" +"`vipw' édite /etc/passwd `vipw -s' édite /etc/shadow\n" +"`vigr' édite /etc/group `vigr -s' édite /etc/gshadow\n" diff --git a/po/pl.gmo b/po/pl.gmo index 1b0d71d7..98b3c7f4 100644 Binary files a/po/pl.gmo and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po index 6f9d4237..3719a5de 100644 --- a/po/pl.po +++ b/po/pl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: shadow-981228\n" -"POT-Creation-Date: 1999-07-09 20:02+0200\n" +"POT-Creation-Date: 1999-08-27 21:03+0200\n" "PO-Revision-Date: 1999-03-02 22:29+01:00\n" "Last-Translator: Arkadiusz Mi¶kiewicz \n" "Language-Team: PL \n" @@ -84,7 +84,7 @@ msgstr "niepowodzenia" msgid "failure" msgstr "niepowodzenie" -#: libmisc/limits.c:365 +#: libmisc/limits.c:397 msgid "Too many logins.\n" msgstr "Zbyt wiele otwartych sesji.\n" @@ -177,40 +177,48 @@ msgid "malloc(%d) failed\n" msgstr "malloc(%d) nie powiod³o siê\n" #: lib/dialchk.c:71 -msgid "Dialup Password:" -msgstr "Has³o dostêpu modemowego:" +msgid "Dialup Password: " +msgstr "Has³o dostêpu modemowego: " -#: lib/getdef.c:247 +#: lib/getdef.c:249 msgid "Could not allocate space for config info.\n" msgstr "Nie mogê przydzieliæ miejsca dla informacji o konfiguracji.\n" #. #. * Item was never found. #. -#: lib/getdef.c:301 +#: lib/getdef.c:303 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" "b³±d w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n" -#: lib/getdef.c:388 +#: lib/getdef.c:390 #, c-format msgid "error - lookup '%s' failed\n" msgstr "b³±d - wyszukiwanie '%s' niepowiod³o siê\n" -#: lib/getdef.c:396 +#: lib/getdef.c:398 #, c-format msgid "%s not found\n" msgstr "%s nie znaleziony\n" -#: lib/pwauth.c:54 +#. +#. * get the password from her, and set the salt for +#. * the decryption from the group file. +#. +#: lib/pwauth.c:54 src/newgrp.c:297 msgid "Password: " msgstr "Has³o: " #: lib/pwauth.c:56 #, c-format -msgid "%s's Password:" -msgstr "Has³o u¿ytkownika %s:" +msgid "%s's Password: " +msgstr "Has³o u¿ytkownika %s: " + +#: lib/pwauth.c:270 +msgid "(Echo on) " +msgstr "" #: lib/strerror.c:20 #, c-format @@ -276,7 +284,7 @@ msgstr "Data utraty wa #: src/chage.c:266 #, c-format msgid "Minimum:\t%ld\n" -msgstr "Minimum:\\t%ld\n" +msgstr "Minimum:\t%ld\n" #: src/chage.c:267 #, c-format @@ -302,7 +310,7 @@ msgstr "Nieaktywne:\t%ld\n" msgid "Last Change:\t\t" msgstr "Ostatnia zmiana:\t\t" -#: src/chage.c:281 src/chage.c:295 +#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325 msgid "Never\n" msgstr "Nigdy\n" @@ -315,12 +323,32 @@ msgstr "Nigdy\n" msgid "Password Expires:\t" msgstr "Has³o traci wa¿no¶æ:\t" +#. +#. * The account becomes inactive if the password is expired +#. * for more than "inactdays". The expiration date is calculated +#. * and the number of inactive days is added. The resulting date +#. * is when the active will be disabled. +#. +#: src/chage.c:309 +#, fuzzy +msgid "Password Inactive:\t" +msgstr "Has³o nieaktywne:\t" + +#. +#. * The account will expire on the given date regardless of the +#. * password expiring or not. +#. +#: src/chage.c:323 +#, fuzzy +msgid "Account Expires:\t" +msgstr "Has³o traci wa¿no¶æ:\t" + #: src/chage.c:468 #, c-format msgid "%s: do not include \"l\" with other flags\n" msgstr "%s: nie ³±cz \"l\" z innymi flagami\n" -#: src/chage.c:480 src/chage.c:592 src/login.c:532 +#: src/chage.c:480 src/chage.c:592 src/login.c:529 #, c-format msgid "%s: permission denied\n" msgstr "%s: odmowa dostêpu\n" @@ -628,12 +656,12 @@ msgid "Usage: %s [ -(a|d) ] shell\n" msgstr "U¿ycie: %s [ -(a|d) ] pow³oka\n" #: src/dpasswd.c:136 -msgid "Shell password:" -msgstr "Has³o pow³oki:" +msgid "Shell password: " +msgstr "Has³o pow³oki: " #: src/dpasswd.c:142 -msgid "re-enter Shell password:" -msgstr "Wpisz ponownie has³o pow³oki:" +msgid "re-enter Shell password: " +msgstr "Wpisz ponownie has³o pow³oki: " #: src/dpasswd.c:149 #, c-format @@ -741,7 +769,7 @@ msgstr "%s: plik z ukrytymi has msgid "Who are you?\n" msgstr "Kim jeste¶?\n" -#: src/gpasswd.c:330 src/newgrp.c:241 +#: src/gpasswd.c:330 src/newgrp.c:247 #, c-format msgid "unknown group: %s\n" msgstr "nieznana grupa: %s\n" @@ -779,12 +807,12 @@ msgid "Changing the password for group %s\n" msgstr "Zmieniam has³o dla grupy %s\n" #: src/gpasswd.c:540 -msgid "New Password:" -msgstr "Nowe has³o:" +msgid "New Password: " +msgstr "Nowe has³o: " #: src/gpasswd.c:545 src/passwd.c:424 -msgid "Re-enter new password:" -msgstr "Wpisz has³o ponownie:" +msgid "Re-enter new password: " +msgstr "Wpisz has³o ponownie: " #: src/gpasswd.c:557 msgid "They don't match; try again" @@ -1275,11 +1303,11 @@ msgstr " %s [-p] [-h host] [-f nazwa]\n" msgid " %s [-p] -r host\n" msgstr " %s [-p] -r host\n" -#: src/login.c:290 +#: src/login.c:287 msgid "Invalid login time\n" msgstr "Nieprawid³owy czas logowania\n" -#: src/login.c:345 +#: src/login.c:342 msgid "" "\n" "System closed for routine maintenance\n" @@ -1287,7 +1315,7 @@ msgstr "" "\n" "System zamkniêty do rutynowej konserwacji.\n" -#: src/login.c:355 +#: src/login.c:352 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" @@ -1295,7 +1323,7 @@ msgstr "" "\n" "[Roz³±czenie pominiête -- zezwolenie na logowanie siê root-a.]\n" -#: src/login.c:394 +#: src/login.c:391 #, c-format msgid "" "\n" @@ -1304,17 +1332,17 @@ msgstr "" "\n" "Limit czasu logowania przekroczony po %d sekundach.\n" -#: src/login.c:695 +#: src/login.c:692 #, c-format msgid " on `%.100s' from `%.200s'" msgstr " na `%s.100s' z `%.200s'" -#: src/login.c:697 +#: src/login.c:694 #, c-format msgid " on `%.100s'" msgstr " na `%.100s'" -#: src/login.c:810 +#: src/login.c:807 #, c-format msgid "" "\n" @@ -1323,34 +1351,34 @@ msgstr "" "\n" "%s login: " -#: src/login.c:812 +#: src/login.c:809 msgid "login: " msgstr "login: " -#: src/login.c:994 src/sulogin.c:239 +#: src/login.c:991 src/sulogin.c:233 msgid "Login incorrect" msgstr "Nieprawid³owe logowanie" -#: src/login.c:1166 +#: src/login.c:1163 msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "Ostrze¿enie: logowanie ponownie odblokowanie po czasowej blokadzie.\n" -#: src/login.c:1176 +#: src/login.c:1173 #, c-format msgid "Last login: %s on %s" msgstr "Ostatnie logowanie: %s na %s" -#: src/login.c:1179 +#: src/login.c:1176 #, c-format msgid "Last login: %.19s on %s" msgstr "Ostatnie logowanie: %s na %s" -#: src/login.c:1184 +#: src/login.c:1181 #, c-format msgid " from %.*s" msgstr " z %.*s" -#: src/login.c:1249 +#: src/login.c:1246 msgid "Starting rad_login\n" msgstr "Startujê rad_login\n" @@ -1414,7 +1442,8 @@ msgid "usage: newgrp [ - ] [ group ]\n" msgstr "u¿ycie: newgrp [ - ] [ grupa ]\n" #: src/newgrp.c:69 -msgid "usage: sg group [ command ]\n" +#, fuzzy +msgid "usage: sg group [[-c] command ]\n" msgstr "u¿ycie: sg grupa [ komenda ]\n" #: src/newgrp.c:122 @@ -1422,29 +1451,21 @@ msgstr "u msgid "unknown uid: %d\n" msgstr "nieznany uid: %d\n" -#: src/newgrp.c:190 +#: src/newgrp.c:198 #, c-format msgid "unknown gid: %ld\n" msgstr "nieznany gid: %ld\n" -#: src/newgrp.c:236 +#: src/newgrp.c:242 #, c-format msgid "unknown gid: %d\n" msgstr "nieznany gid: %d\n" -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: src/newgrp.c:291 -msgid "Password:" -msgstr "Has³o:" - -#: src/newgrp.c:309 src/newgrp.c:318 +#: src/newgrp.c:315 src/newgrp.c:324 msgid "Sorry.\n" msgstr "Wybacz.\n" -#: src/newgrp.c:350 +#: src/newgrp.c:356 msgid "too many groups\n" msgstr "zbyt wiele grup\n" @@ -1538,8 +1559,8 @@ msgid "You can use -t option to force the change.\n" msgstr "Nie mo¿esz u¿ywaæ opcji -t by wymusiæ zmianê.\n" #: src/passwd.c:356 -msgid "Old password:" -msgstr "Stare has³o:" +msgid "Old password: " +msgstr "Stare has³o: " #: src/passwd.c:363 #, c-format @@ -1561,8 +1582,8 @@ msgstr "" "Proszê u¿yj kombinacji wielkich i ma³ych znaków oraz cyfr.\n" #: src/passwd.c:401 -msgid "New password:" -msgstr "Nowe has³o:" +msgid "New password: " +msgstr "Nowe has³o: " #: src/passwd.c:411 msgid "Try again.\n" @@ -1828,14 +1849,14 @@ msgid "No shell\n" msgstr "Brak pow³oki\n" #. must be a password file! -#: src/sulogin.c:144 +#: src/sulogin.c:138 msgid "No password file\n" msgstr "Brak pliku z has³ami\n" #. #. * Fail secure #. -#: src/sulogin.c:186 +#: src/sulogin.c:180 msgid "No password entry for 'root'\n" msgstr "Brak wpisu do bazy hase³ dla 'root'\n" @@ -1844,7 +1865,7 @@ msgstr "Brak wpisu do bazy hase #. * given we just exit. #. #. get a password for root -#: src/sulogin.c:200 +#: src/sulogin.c:194 msgid "" "\n" "Type control-d to proceed with normal startup,\n" @@ -1855,7 +1876,7 @@ msgstr "" "(lub podaj has³o root-a by przej¶æ do trybu utrzymania systemu):" #. make new environment active -#: src/sulogin.c:249 +#: src/sulogin.c:243 msgid "Entering System Maintenance Mode\n" msgstr "Wchodzê w tryb utrzymania systemu\n" diff --git a/po/shadow.pot b/po/shadow.pot index af4c47ad..d525967a 100644 --- a/po/shadow.pot +++ b/po/shadow.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 1999-07-09 20:02+0200\n" +"POT-Creation-Date: 1999-08-27 21:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -83,7 +83,7 @@ msgstr "" msgid "failure" msgstr "" -#: libmisc/limits.c:365 +#: libmisc/limits.c:397 msgid "Too many logins.\n" msgstr "" @@ -176,38 +176,46 @@ msgid "malloc(%d) failed\n" msgstr "" #: lib/dialchk.c:71 -msgid "Dialup Password:" +msgid "Dialup Password: " msgstr "" -#: lib/getdef.c:247 +#: lib/getdef.c:249 msgid "Could not allocate space for config info.\n" msgstr "" #. #. * Item was never found. #. -#: lib/getdef.c:301 +#: lib/getdef.c:303 #, c-format msgid "configuration error - unknown item '%s' (notify administrator)\n" msgstr "" -#: lib/getdef.c:388 +#: lib/getdef.c:390 #, c-format msgid "error - lookup '%s' failed\n" msgstr "" -#: lib/getdef.c:396 +#: lib/getdef.c:398 #, c-format msgid "%s not found\n" msgstr "" -#: lib/pwauth.c:54 +#. +#. * get the password from her, and set the salt for +#. * the decryption from the group file. +#. +#: lib/pwauth.c:54 src/newgrp.c:297 msgid "Password: " msgstr "" #: lib/pwauth.c:56 #, c-format -msgid "%s's Password:" +msgid "%s's Password: " +msgstr "" + +#: lib/pwauth.c:270 +msgid "(Echo on) " msgstr "" #: lib/strerror.c:20 @@ -294,7 +302,7 @@ msgstr "" msgid "Last Change:\t\t" msgstr "" -#: src/chage.c:281 src/chage.c:295 +#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325 msgid "Never\n" msgstr "" @@ -307,12 +315,30 @@ msgstr "" msgid "Password Expires:\t" msgstr "" +#. +#. * The account becomes inactive if the password is expired +#. * for more than "inactdays". The expiration date is calculated +#. * and the number of inactive days is added. The resulting date +#. * is when the active will be disabled. +#. +#: src/chage.c:309 +msgid "Password Inactive:\t" +msgstr "" + +#. +#. * The account will expire on the given date regardless of the +#. * password expiring or not. +#. +#: src/chage.c:323 +msgid "Account Expires:\t" +msgstr "" + #: src/chage.c:468 #, c-format msgid "%s: do not include \"l\" with other flags\n" msgstr "" -#: src/chage.c:480 src/chage.c:592 src/login.c:532 +#: src/chage.c:480 src/chage.c:592 src/login.c:529 #, c-format msgid "%s: permission denied\n" msgstr "" @@ -616,11 +642,11 @@ msgid "Usage: %s [ -(a|d) ] shell\n" msgstr "" #: src/dpasswd.c:136 -msgid "Shell password:" +msgid "Shell password: " msgstr "" #: src/dpasswd.c:142 -msgid "re-enter Shell password:" +msgid "re-enter Shell password: " msgstr "" #: src/dpasswd.c:149 @@ -729,7 +755,7 @@ msgstr "" msgid "Who are you?\n" msgstr "" -#: src/gpasswd.c:330 src/newgrp.c:241 +#: src/gpasswd.c:330 src/newgrp.c:247 #, c-format msgid "unknown group: %s\n" msgstr "" @@ -767,11 +793,11 @@ msgid "Changing the password for group %s\n" msgstr "" #: src/gpasswd.c:540 -msgid "New Password:" +msgid "New Password: " msgstr "" #: src/gpasswd.c:545 src/passwd.c:424 -msgid "Re-enter new password:" +msgid "Re-enter new password: " msgstr "" #: src/gpasswd.c:557 @@ -1263,74 +1289,74 @@ msgstr "" msgid " %s [-p] -r host\n" msgstr "" -#: src/login.c:290 +#: src/login.c:287 msgid "Invalid login time\n" msgstr "" -#: src/login.c:345 +#: src/login.c:342 msgid "" "\n" "System closed for routine maintenance\n" msgstr "" -#: src/login.c:355 +#: src/login.c:352 msgid "" "\n" "[Disconnect bypassed -- root login allowed.]\n" msgstr "" -#: src/login.c:394 +#: src/login.c:391 #, c-format msgid "" "\n" "Login timed out after %d seconds.\n" msgstr "" -#: src/login.c:695 +#: src/login.c:692 #, c-format msgid " on `%.100s' from `%.200s'" msgstr "" -#: src/login.c:697 +#: src/login.c:694 #, c-format msgid " on `%.100s'" msgstr "" -#: src/login.c:810 +#: src/login.c:807 #, c-format msgid "" "\n" "%s login: " msgstr "" -#: src/login.c:812 +#: src/login.c:809 msgid "login: " msgstr "" -#: src/login.c:994 src/sulogin.c:239 +#: src/login.c:991 src/sulogin.c:233 msgid "Login incorrect" msgstr "" -#: src/login.c:1166 +#: src/login.c:1163 msgid "Warning: login re-enabled after temporary lockout.\n" msgstr "" -#: src/login.c:1176 +#: src/login.c:1173 #, c-format msgid "Last login: %s on %s" msgstr "" -#: src/login.c:1179 +#: src/login.c:1176 #, c-format msgid "Last login: %.19s on %s" msgstr "" -#: src/login.c:1184 +#: src/login.c:1181 #, c-format msgid " from %.*s" msgstr "" -#: src/login.c:1249 +#: src/login.c:1246 msgid "Starting rad_login\n" msgstr "" @@ -1393,7 +1419,7 @@ msgid "usage: newgrp [ - ] [ group ]\n" msgstr "" #: src/newgrp.c:69 -msgid "usage: sg group [ command ]\n" +msgid "usage: sg group [[-c] command ]\n" msgstr "" #: src/newgrp.c:122 @@ -1401,29 +1427,21 @@ msgstr "" msgid "unknown uid: %d\n" msgstr "" -#: src/newgrp.c:190 +#: src/newgrp.c:198 #, c-format msgid "unknown gid: %ld\n" msgstr "" -#: src/newgrp.c:236 +#: src/newgrp.c:242 #, c-format msgid "unknown gid: %d\n" msgstr "" -#. -#. * get the password from her, and set the salt for -#. * the decryption from the group file. -#. -#: src/newgrp.c:291 -msgid "Password:" -msgstr "" - -#: src/newgrp.c:309 src/newgrp.c:318 +#: src/newgrp.c:315 src/newgrp.c:324 msgid "Sorry.\n" msgstr "" -#: src/newgrp.c:350 +#: src/newgrp.c:356 msgid "too many groups\n" msgstr "" @@ -1517,7 +1535,7 @@ msgid "You can use -t option to force the change.\n" msgstr "" #: src/passwd.c:356 -msgid "Old password:" +msgid "Old password: " msgstr "" #: src/passwd.c:363 @@ -1538,7 +1556,7 @@ msgid "" msgstr "" #: src/passwd.c:401 -msgid "New password:" +msgid "New password: " msgstr "" #: src/passwd.c:411 @@ -1801,14 +1819,14 @@ msgid "No shell\n" msgstr "" #. must be a password file! -#: src/sulogin.c:144 +#: src/sulogin.c:138 msgid "No password file\n" msgstr "" #. #. * Fail secure #. -#: src/sulogin.c:186 +#: src/sulogin.c:180 msgid "No password entry for 'root'\n" msgstr "" @@ -1817,7 +1835,7 @@ msgstr "" #. * given we just exit. #. #. get a password for root -#: src/sulogin.c:200 +#: src/sulogin.c:194 msgid "" "\n" "Type control-d to proceed with normal startup,\n" @@ -1825,7 +1843,7 @@ msgid "" msgstr "" #. make new environment active -#: src/sulogin.c:249 +#: src/sulogin.c:243 msgid "Entering System Maintenance Mode\n" msgstr "" diff --git a/po/sv.gmo b/po/sv.gmo new file mode 100644 index 00000000..cc42273e Binary files /dev/null and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 00000000..3017b518 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,2396 @@ +# Swedish messages for Shadow +# Copyright (C) 1999 Free Software Foundation, Inc. +# Kristoffer Brånemyr , 1999. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: shadow 19990709\n" +"POT-Creation-Date: 1999-08-27 21:03+0200\n" +"PO-Revision-Date: 1999-08-16 21:20+0100\n" +"Last-Translator: Kristoffer Brånemyr \n" +"Language-Team: sv \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: libmisc/addgrps.c:60 +#, c-format +msgid "Warning: unknown group %s\n" +msgstr "Varning: okänd grupp %s\n" + +#: libmisc/addgrps.c:71 +msgid "Warning: too many groups\n" +msgstr "Varning: för många grupper\n" + +#: libmisc/age.c:104 +msgid "Your password has expired." +msgstr "Ditt lösenord har upphört" + +#: libmisc/age.c:107 +msgid "Your password is inactive." +msgstr "Ditt lösenord är inaktivt" + +#: libmisc/age.c:110 +msgid "Your login has expired." +msgstr "Din användare har upphört." + +#: libmisc/age.c:127 +msgid " Contact the system administrator.\n" +msgstr " Kontakta systemoperatören.\n" + +#: libmisc/age.c:130 +msgid " Choose a new password.\n" +msgstr " Välj ett nytt lösenord.\n" + +#: libmisc/age.c:228 +#, c-format +msgid "Your password will expire in %ld days.\n" +msgstr "Ditt lösenord upphör om %ld dagar.\n" + +#: libmisc/age.c:230 +msgid "Your password will expire tomorrow.\n" +msgstr "Ditt lösenord upphör imorgon.\n" + +#: libmisc/age.c:232 +msgid "Your password will expire today.\n" +msgstr "Ditt lösenord upphör idag.\n" + +#: libmisc/chowntty.c:110 +#, c-format +msgid "Unable to change tty %s" +msgstr "Kunde inte byta tty %s" + +#: libmisc/env.c:160 +msgid "Environment overflow\n" +msgstr "Miljön överflödades\n" + +#: libmisc/env.c:200 +#, c-format +msgid "You may not change $%s\n" +msgstr "Du får inte ändra $%s\n" + +#: libmisc/failure.c:238 +#, c-format +msgid "%d %s since last login. Last was %s on %s.\n" +msgstr "%d %s sedan förra inloggningen. Den sista var %s på %s.\n" + +#: libmisc/failure.c:239 +msgid "failures" +msgstr "felaktiga inloggningar" + +#: libmisc/failure.c:239 +msgid "failure" +msgstr "felaktig inloggning" + +#: libmisc/limits.c:397 +msgid "Too many logins.\n" +msgstr "För många inloggningar.\n" + +#: libmisc/login_desrpc.c:63 +#, c-format +msgid "Password does not decrypt secret key for %s.\n" +msgstr "Lösenordet avkrypterar inte den hemliga nyckeln för %s.\n" + +#: libmisc/login_desrpc.c:69 +#, c-format +msgid "Could not set %s's secret key: is the keyserv daemon running?\n" +msgstr "" +"Kunde inte sätta den hemliga nyckeln för %s: är keyserv demonen igång?\n" + +#: libmisc/mail.c:62 libmisc/mail.c:77 +msgid "You have new mail." +msgstr "Du har ny post." + +#: libmisc/mail.c:73 +msgid "No mail." +msgstr "Ingen post." + +#: libmisc/mail.c:75 +msgid "You have mail." +msgstr "Du har post." + +#: libmisc/obscure.c:281 src/passwd.c:311 +#, c-format +msgid "Bad password: %s. " +msgstr "Felaktigt lösenord: %s. " + +#: libmisc/pam_pass.c:42 +#, c-format +msgid "passwd: pam_start() failed, error %d\n" +msgstr "passwd: pam_start() misslyckades, fel %d\n" + +#: libmisc/pam_pass.c:49 +#, c-format +msgid "passwd: %s\n" +msgstr "passwd: %s\n" + +#: libmisc/setupenv.c:205 +#, c-format +msgid "Unable to cd to \"%s\"\n" +msgstr "Kunde inte byta aktuell katalog till \"%s\"\n" + +#: libmisc/setupenv.c:213 +msgid "No directory, logging in with HOME=/" +msgstr "Ingen hemkatalog, loggar in med HOME=/" + +#: libmisc/shell.c:78 +#, c-format +msgid "Executing shell %s\n" +msgstr "Startar skal %s\n" + +#. +#. * Obviously something is really wrong - I can't figure out +#. * how to execute this stupid shell, so I might as well give +#. * up in disgust ... +#. +#: libmisc/shell.c:122 +#, c-format +msgid "Cannot execute %s" +msgstr "Kan inte starta %s" + +#: libmisc/suauth.c:99 +msgid "Access to su to that account DENIED.\n" +msgstr "Du har inte behörighet att köra su till det kontot.\n" + +#: libmisc/suauth.c:106 +msgid "Password authentication bypassed.\n" +msgstr "Hoppade över lösenordskontroll.\n" + +#: libmisc/suauth.c:113 +msgid "Please enter your OWN password as authentication.\n" +msgstr "Var god skriv in ditt EGET lösenord som äkthetsbevis.\n" + +#: libmisc/sub.c:61 +#, c-format +msgid "Invalid root directory \"%s\"\n" +msgstr "Felaktig rotkatalog \"%s\"\n" + +#: libmisc/sub.c:73 +#, c-format +msgid "Can't change root directory to \"%s\"\n" +msgstr "Kan inte byta rotkatalog till \"%s\"\n" + +#: libmisc/xmalloc.c:28 +#, c-format +msgid "malloc(%d) failed\n" +msgstr "malloc(%d) misslyckades\n" + +#: lib/dialchk.c:71 +msgid "Dialup Password: " +msgstr "Uppringningslösenord: " + +#: lib/getdef.c:249 +msgid "Could not allocate space for config info.\n" +msgstr "Kunde inte allokera rum för konfigureringsinformation.\n" + +#. +#. * Item was never found. +#. +#: lib/getdef.c:303 +#, c-format +msgid "configuration error - unknown item '%s' (notify administrator)\n" +msgstr "konfigurerings fel - okänt object \"%s\" (meddela systemoperatören)\n" + +#: lib/getdef.c:390 +#, c-format +msgid "error - lookup '%s' failed\n" +msgstr "fel - kunde inte hitta \"%s\"\n" + +#: lib/getdef.c:398 +#, c-format +msgid "%s not found\n" +msgstr "%s hittades inte\n" + +#. +#. * get the password from her, and set the salt for +#. * the decryption from the group file. +#. +#: lib/pwauth.c:54 src/newgrp.c:297 +msgid "Password: " +msgstr "Lösenord: " + +#: lib/pwauth.c:56 +#, c-format +msgid "%s's Password: " +msgstr "Lösenord för %s: " + +#: lib/pwauth.c:270 +msgid "(Echo on) " +msgstr "" + +#: lib/strerror.c:20 +#, c-format +msgid "Unknown error %d" +msgstr "Okänt fel %d" + +#: src/chage.c:141 +#, c-format +msgid "" +"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n" +" [ -I inactive ] [ -E expire ] [ -d last_day ] user\n" +msgstr "" +"Användning: %s [ -l ] [ -m min_dagar ] [ -M max_dagar ] [ -W varna ]\n" +" [ -I inaktiv ] [ -E utgång ] [ -d senaste_dag ] användare\n" + +#: src/chage.c:143 +#, c-format +msgid "Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n" +msgstr "" +"Användning: %s [ -l ] [ -m min_dagar ] [ -M max_dagar ] [ -d senaste_dag ] " +"användare\n" + +#: src/chage.c:178 +msgid "" +"Enter the new value, or press return for the default\n" +"\n" +msgstr "" +"Skriv in det nya värdet, eller tryck på return för standardvärdet\n" +"\n" + +#: src/chage.c:181 +msgid "Minimum Password Age" +msgstr "Minsta lösenordsålder" + +#: src/chage.c:186 +msgid "Maximum Password Age" +msgstr "Högsta lösenordsålder" + +#: src/chage.c:192 +msgid "Last Password Change (YYYY-MM-DD)" +msgstr "Senaste lösenordsändring (ÅÅÅÅ-MM-DD)" + +#: src/chage.c:201 +msgid "Password Expiration Warning" +msgstr "Lösenords upphörningsvarning" + +#: src/chage.c:206 +msgid "Password Inactive" +msgstr "Lösenord inaktivt" + +#: src/chage.c:212 +msgid "Account Expiration Date (YYYY-MM-DD)" +msgstr "Kontot upphör (ÅÅÅÅ-MM-DD)" + +#. +#. * Start with the easy numbers - the number of days before the +#. * password can be changed, the number of days after which the +#. * password must be chaged, the number of days before the +#. * password expires that the user is told, and the number of +#. * days after the password expires that the account becomes +#. * unusable. +#. +#: src/chage.c:266 +#, c-format +msgid "Minimum:\t%ld\n" +msgstr "Minst:\t%ld\n" + +#: src/chage.c:267 +#, c-format +msgid "Maximum:\t%ld\n" +msgstr "Högst:\t%ld\n" + +#: src/chage.c:269 +#, c-format +msgid "Warning:\t%ld\n" +msgstr "Varning:\t%ld\n" + +#: src/chage.c:270 +#, c-format +msgid "Inactive:\t%ld\n" +msgstr "Inaktivt:\t%ld\n" + +#. +#. * The "last change" date is either "Never" or the date the +#. * password was last modified. The date is the number of +#. * days since 1/1/1970. +#. +#: src/chage.c:279 +msgid "Last Change:\t\t" +msgstr "Senaste ändring:\t\t" + +#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325 +msgid "Never\n" +msgstr "Aldrig\n" + +#. +#. * The password expiration date is determined from the last +#. * change date plus the number of days the password is valid +#. * for. +#. +#: src/chage.c:293 +msgid "Password Expires:\t" +msgstr "Lösenordet upphör:\t" + +#. +#. * The account becomes inactive if the password is expired +#. * for more than "inactdays". The expiration date is calculated +#. * and the number of inactive days is added. The resulting date +#. * is when the active will be disabled. +#. +#: src/chage.c:309 +#, fuzzy +msgid "Password Inactive:\t" +msgstr "Lösenord inaktivt" + +#. +#. * The account will expire on the given date regardless of the +#. * password expiring or not. +#. +#: src/chage.c:323 +#, fuzzy +msgid "Account Expires:\t" +msgstr "Lösenordet upphör:\t" + +#: src/chage.c:468 +#, c-format +msgid "%s: do not include \"l\" with other flags\n" +msgstr "%s: inkludera inte \"l\" tillsammands med andra flaggor\n" + +#: src/chage.c:480 src/chage.c:592 src/login.c:529 +#, c-format +msgid "%s: permission denied\n" +msgstr "%s: tillåtelse nekas\n" + +#: src/chage.c:492 src/chpasswd.c:122 +#, c-format +msgid "%s: can't lock password file\n" +msgstr "%s: kan inte låsa lösenordsfilen\n" + +#: src/chage.c:498 src/chpasswd.c:126 +#, c-format +msgid "%s: can't open password file\n" +msgstr "%s: kan inte öppna lösenordsfilen\n" + +#: src/chage.c:505 +#, c-format +msgid "%s: unknown user: %s\n" +msgstr "%s: okänd användare: %s\n" + +#: src/chage.c:524 +#, c-format +msgid "%s: can't lock shadow password file\n" +msgstr "%s: kan inte låsa skugglösenordsfilen\n" + +#: src/chage.c:531 +#, c-format +msgid "%s: can't open shadow password file\n" +msgstr "%s: kan inte öppna skugglösenordsfilen\n" + +#: src/chage.c:613 +#, c-format +msgid "Changing the aging information for %s\n" +msgstr "Ändrar åldringsinformation för %s\n" + +#: src/chage.c:615 +#, c-format +msgid "%s: error changing fields\n" +msgstr "%s: fel uppstod under byte av fält\n" + +#: src/chage.c:642 src/chage.c:705 src/pwunconv.c:184 +#, c-format +msgid "%s: can't update password file\n" +msgstr "%s: kan inte uppdatera lösenordsfilen\n" + +#: src/chage.c:672 src/pwunconv.c:179 +#, c-format +msgid "%s: can't update shadow password file\n" +msgstr "%s: kan inte uppdatera skugglösenordsfilen\n" + +#: src/chage.c:721 src/chage.c:736 src/chfn.c:572 src/chsh.c:411 +#: src/passwd.c:827 src/passwd.c:928 +msgid "Error updating the DBM password entry.\n" +msgstr "Fel under uppdatering av DBM-lösenordsnoteringen.\n" + +#: src/chage.c:753 +#, c-format +msgid "%s: can't rewrite shadow password file\n" +msgstr "%s: kan inte skriva om skugglösenordsfilen\n" + +#: src/chage.c:767 +#, c-format +msgid "%s: can't rewrite password file\n" +msgstr "%s: kan inte skriva om lösenordsfilen\n" + +#: src/chage.c:816 +#, c-format +msgid "%s: no aging information present\n" +msgstr "%s: ingen åldringsinformation finns tillgänglig\n" + +#: src/chfn.c:108 +#, c-format +msgid "" +"Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ]\n" +"\t[ -h home_ph ] [ -o other ] [ user ]\n" +msgstr "" +"%s [ -f hela_namnet ] [ -r rumsnummer ] [ -w arbetstele ]\n" +"\t[ -h hemtele ] [ -o övrigt ] [ användare ]\n" + +#: src/chfn.c:112 +#, c-format +msgid "" +"Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n" +msgstr "" +"Användning: %s [ -f hela_namnet ] [ -r rumsnummer ] [ -w arbetstele ] [ -h " +"hemtele ]\n" + +#: src/chfn.c:164 src/chsh.c:120 +msgid "Enter the new value, or press return for the default\n" +msgstr "Skriv in det nya värdet, eller tryck return för standardvärdet\n" + +#: src/chfn.c:167 +msgid "Full Name" +msgstr "Hela namnet" + +#: src/chfn.c:169 +#, c-format +msgid "\tFull Name: %s\n" +msgstr "\tHela namnet: %s\n" + +#: src/chfn.c:172 +msgid "Room Number" +msgstr "Rumsnummer" + +#: src/chfn.c:174 +#, c-format +msgid "\tRoom Number: %s\n" +msgstr "\tRumsnummer: %s\n" + +#: src/chfn.c:177 +msgid "Work Phone" +msgstr "Arbetstelefonnummer" + +#: src/chfn.c:179 +#, c-format +msgid "\tWork Phone: %s\n" +msgstr "\tArbetstelefonnummer: %s\n" + +#: src/chfn.c:182 +msgid "Home Phone" +msgstr "Hemtelefonnummer" + +#: src/chfn.c:184 +#, c-format +msgid "\tHome Phone: %s\n" +msgstr "\tHemtelefonnummer: %s\n" + +#: src/chfn.c:187 +msgid "Other" +msgstr "Övrigt" + +#: src/chfn.c:300 src/chfn.c:308 src/chfn.c:316 src/chfn.c:324 src/chfn.c:332 +#: src/chfn.c:393 src/passwd.c:1228 +#, c-format +msgid "%s: Permission denied.\n" +msgstr "%s: Tillåtelse nekas.\n" + +#: src/chfn.c:353 src/chsh.c:226 src/passwd.c:1279 +#, c-format +msgid "%s: Unknown user %s\n" +msgstr "%s: Okänd användare %s\n" + +#: src/chfn.c:359 src/chsh.c:234 src/passwd.c:1209 +#, c-format +msgid "%s: Cannot determine your user name.\n" +msgstr "%s: Kan inte avgöra ditt användarnamn.\n" + +#: src/chfn.c:375 src/chsh.c:252 +#, c-format +msgid "%s: cannot change user `%s' on NIS client.\n" +msgstr "%s: kan inte ändra användare \"%s\" på NIS-klienten.\n" + +#: src/chfn.c:380 src/chsh.c:259 +#, c-format +msgid "%s: `%s' is the NIS master for this client.\n" +msgstr "%s: \"%s\" är NIS-mästare för denna klient.\n" + +#: src/chfn.c:455 +#, c-format +msgid "Changing the user information for %s\n" +msgstr "Ändrar användarinformation för %s\n" + +#: src/chfn.c:464 +#, c-format +msgid "%s: invalid name: \"%s\"\n" +msgstr "%s: felaktigt namn: \"%s\"\n" + +#: src/chfn.c:469 +#, c-format +msgid "%s: invalid room number: \"%s\"\n" +msgstr "%s: felaktigt rumsnummer: \"%s\"\n" + +#: src/chfn.c:474 +#, c-format +msgid "%s: invalid work phone: \"%s\"\n" +msgstr "%s: felaktigt arbetstelefonnummer: \"%s\"\n" + +#: src/chfn.c:479 +#, c-format +msgid "%s: invalid home phone: \"%s\"\n" +msgstr "%s: felaktigt hemtelefonnummer: \"%s\"\n" + +#: src/chfn.c:484 +#, c-format +msgid "%s: \"%s\" contains illegal characters\n" +msgstr "%s: \"%s\" innehåller otillåtna tecken\n" + +#: src/chfn.c:496 +#, c-format +msgid "%s: fields too long\n" +msgstr "%s: för långa fält\n" + +#: src/chfn.c:511 src/chsh.c:349 src/gpasswd.c:583 src/passwd.c:1390 +msgid "Cannot change ID to root.\n" +msgstr "Kan inte ändra ID till root.\n" + +#: src/chfn.c:524 src/chsh.c:363 src/passwd.c:737 src/passwd.c:882 +msgid "Cannot lock the password file; try again later.\n" +msgstr "Kan inte låsa lösenordsfilen; försök igen senare.\n" + +#: src/chfn.c:530 src/chsh.c:369 src/passwd.c:742 src/passwd.c:887 +msgid "Cannot open the password file.\n" +msgstr "Kan inte öppna lösenordsfilen.\n" + +#: src/chfn.c:547 src/chsh.c:384 src/passwd.c:748 src/usermod.c:1272 +#, c-format +msgid "%s: %s not found in /etc/passwd\n" +msgstr "%s: %s hittades inte i /etc/passwd\n" + +#: src/chfn.c:564 src/chsh.c:403 src/passwd.c:821 src/passwd.c:922 +#: src/passwd.c:962 +msgid "Error updating the password entry.\n" +msgstr "Fel under uppdatering av lösenordsnoteringen.\n" + +#: src/chfn.c:587 src/chsh.c:426 src/passwd.c:834 src/passwd.c:935 +msgid "Cannot commit password file changes.\n" +msgstr "Kan inte genomföra ändringar i lösenordsfilen.\n" + +#: src/chfn.c:594 src/chsh.c:433 +msgid "Cannot unlock the password file.\n" +msgstr "Kan inte låsa upp lösenordsfilen.\n" + +#: src/chpasswd.c:78 +#, c-format +msgid "usage: %s [-e]\n" +msgstr "Användning: %s [-e]\n" + +#: src/chpasswd.c:134 src/pwconv.c:105 +#, c-format +msgid "%s: can't lock shadow file\n" +msgstr "%s: kan inte låsa skuggfilen\n" + +#: src/chpasswd.c:139 src/gpasswd.c:609 src/pwconv.c:110 src/pwunconv.c:119 +#: src/pwunconv.c:124 +#, c-format +msgid "%s: can't open shadow file\n" +msgstr "%s: kan inte öppna skuggfilen\n" + +#: src/chpasswd.c:161 src/newusers.c:418 +#, c-format +msgid "%s: line %d: line too long\n" +msgstr "%s: rad %d: för lång rad\n" + +#: src/chpasswd.c:181 +#, c-format +msgid "%s: line %d: missing new password\n" +msgstr "%s: rad %d: det nya lösenordet saknas\n" + +#: src/chpasswd.c:197 +#, c-format +msgid "%s: line %d: unknown user %s\n" +msgstr "%s: rad %d: okänd användare %s\n" + +#: src/chpasswd.c:249 +#, c-format +msgid "%s: line %d: cannot update password entry\n" +msgstr "%s: rad %d: kan inte uppdatera lösenordsnoteringen\n" + +#: src/chpasswd.c:265 src/newusers.c:538 +#, c-format +msgid "%s: error detected, changes ignored\n" +msgstr "%s: fel upptäcktes, ändringarna ignorerades\n" + +#: src/chpasswd.c:276 +#, c-format +msgid "%s: error updating shadow file\n" +msgstr "%s: fel under uppdatering av skuggfilen\n" + +#: src/chpasswd.c:284 +#, c-format +msgid "%s: error updating password file\n" +msgstr "%s: fel under uppdatering av lösenordsfilen\n" + +#: src/chsh.c:106 +#, c-format +msgid "Usage: %s [ -s shell ] [ name ]\n" +msgstr "Användning: %s [ -s skal ] [ namn ]\n" + +#: src/chsh.c:121 +msgid "Login Shell" +msgstr "Inloggningsskal" + +#: src/chsh.c:275 src/chsh.c:288 +#, c-format +msgid "You may not change the shell for %s.\n" +msgstr "Du får inte ändra skal åt %s.\n" + +#: src/chsh.c:317 +#, c-format +msgid "Changing the login shell for %s\n" +msgstr "Ändrar inloggningsskal åt %s\n" + +#: src/chsh.c:329 +#, c-format +msgid "%s: Invalid entry: %s\n" +msgstr "%s: Felaktig notering: %s\n" + +#: src/chsh.c:334 +#, c-format +msgid "%s is an invalid shell.\n" +msgstr "%s är ett felaktigt skal.\n" + +#: src/dpasswd.c:71 +#, c-format +msgid "Usage: %s [ -(a|d) ] shell\n" +msgstr "Användning: %s [ -(a|d) ] skal\n" + +#: src/dpasswd.c:136 +msgid "Shell password: " +msgstr "Skallösenord: " + +#: src/dpasswd.c:142 +msgid "re-enter Shell password: " +msgstr "skriv in skallösenordet igen: " + +#: src/dpasswd.c:149 +#, c-format +msgid "%s: Passwords do not match, try again.\n" +msgstr "%s: Lösenorden matchar inte varandra, försök igen.\n" + +#: src/dpasswd.c:169 +#, c-format +msgid "%s: can't create %s" +msgstr "%s: kan inte skapa %s" + +#: src/dpasswd.c:174 +#, c-format +msgid "%s: can't open %s" +msgstr "%s: kan inte öppna %s" + +#: src/dpasswd.c:202 +#, c-format +msgid "%s: Shell %s not found.\n" +msgstr "%s: Hittade inte skalet %s.\n" + +#: src/expiry.c:85 +msgid "Usage: expiry { -f | -c }\n" +msgstr "Användning: expiry { -f | -c }\n" + +#: src/expiry.c:138 +#, c-format +msgid "%s: WARNING! Must be set-UID root!\n" +msgstr "%s: VARNING! Måste vara set-UID root!\n" + +#: src/expiry.c:149 +#, c-format +msgid "%s: unknown user\n" +msgstr "%s: okänd användare\n" + +#: src/faillog.c:80 +#, c-format +msgid "usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n" +msgstr "" +"Användning: %s [-a|-u användare] [-m högst] [-r] [-t dagar] [-l låssek]\n" + +#: src/faillog.c:135 src/lastlog.c:95 +#, c-format +msgid "Unknown User: %s\n" +msgstr "Okänd användare: %s\n" + +#: src/faillog.c:216 +msgid "Username Failures Maximum Latest\n" +msgstr "Användarnamn Felaktiga inloggningar Högsta Senaste\n" + +#: src/faillog.c:233 +#, c-format +msgid " %s on %s" +msgstr " %s på %s" + +#: src/faillog.c:237 +#, c-format +msgid " [%lds left]" +msgstr " [%lds kvar]" + +#: src/faillog.c:240 +#, c-format +msgid " [%lds lock]" +msgstr " [%lds låsning]" + +#: src/gpasswd.c:91 +#, c-format +msgid "usage: %s [-r|-R] group\n" +msgstr "Användning: %s [-r|-R] grupp\n" + +#: src/gpasswd.c:92 +#, c-format +msgid " %s [-a user] group\n" +msgstr " %s [-a användare] grupp\n" + +#: src/gpasswd.c:93 +#, c-format +msgid " %s [-d user] group\n" +msgstr " %s [-d användare] grupp\n" + +#: src/gpasswd.c:95 +#, c-format +msgid " %s [-A user,...] [-M user,...] group\n" +msgstr " %s [-A användare,...] [-M användare,...] grupp\n" + +#: src/gpasswd.c:98 +#, c-format +msgid " %s [-M user,...] group\n" +msgstr " %s [-M användare,...] grupp\n" + +#: src/gpasswd.c:162 src/gpasswd.c:247 +#, c-format +msgid "%s: unknown user %s\n" +msgstr "%s: okänd användare %s\n" + +#: src/gpasswd.c:174 +msgid "Permission denied.\n" +msgstr "Tillåtelse nekas.\n" + +#: src/gpasswd.c:259 +#, c-format +msgid "%s: shadow group passwords required for -A\n" +msgstr "%s: skuggrupplösenord krävs för -A\n" + +#: src/gpasswd.c:310 +msgid "Who are you?\n" +msgstr "Vem är du?\n" + +#: src/gpasswd.c:330 src/newgrp.c:247 +#, c-format +msgid "unknown group: %s\n" +msgstr "okänd grupp: %s\n" + +#: src/gpasswd.c:438 +#, c-format +msgid "Adding user %s to group %s\n" +msgstr "Lägger till användare %s till grupp %s\n" + +#: src/gpasswd.c:455 +#, c-format +msgid "Removing user %s from group %s\n" +msgstr "Tar bort användare %s från grupp %s\n" + +#: src/gpasswd.c:468 +#, c-format +msgid "%s: unknown member %s\n" +msgstr "%s: okänd medlem %s\n" + +#: src/gpasswd.c:515 +#, c-format +msgid "%s: Not a tty\n" +msgstr "%s: Inte en tty\n" + +#. +#. * A new password is to be entered and it must be encrypted, +#. * etc. The password will be prompted for twice, and both +#. * entries must be identical. There is no need to validate +#. * the old password since the invoker is either the group +#. * owner, or root. +#. +#: src/gpasswd.c:537 +#, c-format +msgid "Changing the password for group %s\n" +msgstr "Ändrar lösenordet för grupp %s\n" + +#: src/gpasswd.c:540 +msgid "New Password: " +msgstr "Nytt lösenord: " + +#: src/gpasswd.c:545 src/passwd.c:424 +msgid "Re-enter new password: " +msgstr "Skriv in det nya lösenordet igen: " + +#: src/gpasswd.c:557 +msgid "They don't match; try again" +msgstr "De matchar inte; försök igen" + +#: src/gpasswd.c:561 +#, c-format +msgid "%s: Try again later\n" +msgstr "%s: Försök igen senare\n" + +#: src/gpasswd.c:591 +#, c-format +msgid "%s: can't get lock\n" +msgstr "%s: kan inte låsa\n" + +#: src/gpasswd.c:597 +#, c-format +msgid "%s: can't get shadow lock\n" +msgstr "%s: kan inte låsa skuggfilen\n" + +#: src/gpasswd.c:603 +#, c-format +msgid "%s: can't open file\n" +msgstr "%s: kan inte öppna filen\n" + +#: src/gpasswd.c:615 +#, c-format +msgid "%s: can't update entry\n" +msgstr "%s: kan inte uppdatera noteringen\n" + +#: src/gpasswd.c:621 +#, c-format +msgid "%s: can't update shadow entry\n" +msgstr "%s: kan inte uppdatera noteringen i skuggfilen\n" + +#: src/gpasswd.c:627 +#, c-format +msgid "%s: can't re-write file\n" +msgstr "%s: kan inte skriva om filen\n" + +#: src/gpasswd.c:633 +#, c-format +msgid "%s: can't re-write shadow file\n" +msgstr "%s: kan inte skriva om skuggfilen\n" + +#: src/gpasswd.c:641 +#, c-format +msgid "%s: can't unlock file\n" +msgstr "%s: kan inte låsa upp filen\n" + +#: src/gpasswd.c:646 +#, c-format +msgid "%s: can't update DBM files\n" +msgstr "%s: kan inte uppdatera DBM-filer\n" + +#: src/gpasswd.c:653 +#, c-format +msgid "%s: can't update DBM shadow files\n" +msgstr "%s: kan inte uppdatera DBM-skuggfiler\n" + +#: src/groupadd.c:106 +msgid "usage: groupadd [-g gid [-o]] group\n" +msgstr "Användning: groupadd [-g gid [-o]] grupp\n" + +#: src/groupadd.c:174 src/groupadd.c:197 src/groupmod.c:184 src/groupmod.c:231 +#: src/useradd.c:932 src/usermod.c:513 src/usermod.c:649 +#, c-format +msgid "%s: error adding new group entry\n" +msgstr "%s: gick inte att lägga till en ny gruppnotering\n" + +#: src/groupadd.c:184 src/groupadd.c:207 src/groupmod.c:200 src/useradd.c:943 +#: src/usermod.c:525 src/usermod.c:661 +#, c-format +msgid "%s: cannot add new dbm group entry\n" +msgstr "%s: kan inte lägga till en ny dbm-gruppnotering\n" + +#: src/groupadd.c:259 src/useradd.c:997 +#, c-format +msgid "%s: name %s is not unique\n" +msgstr "%s: namnet %s är inte unikt\n" + +#: src/groupadd.c:274 +#, c-format +msgid "%s: gid %ld is not unique\n" +msgstr "%s: gid %ld är inte unikt\n" + +#: src/groupadd.c:298 +#, c-format +msgid "%s: can't get unique gid\n" +msgstr "%s: kan inte hitta ett unikt gid\n" + +#. +#. * All invalid group names land here. +#. +#: src/groupadd.c:322 src/groupmod.c:342 +#, c-format +msgid "%s: %s is a not a valid group name\n" +msgstr "%s: %s är inte ett giltigt gruppnamn\n" + +#: src/groupadd.c:351 src/groupmod.c:368 +#, c-format +msgid "%s: invalid group %s\n" +msgstr "%s: ogiltig grupp %s\n" + +#: src/groupadd.c:368 src/useradd.c:1273 +#, c-format +msgid "%s: -O requires NAME=VALUE\n" +msgstr "%s: -O kräver NAME=VÄRDE\n" + +#: src/groupadd.c:413 src/groupdel.c:168 src/groupmod.c:404 src/useradd.c:1382 +#: src/userdel.c:273 src/usermod.c:537 +#, c-format +msgid "%s: cannot rewrite group file\n" +msgstr "%s: kan inte skriva om gruppfilen\n" + +#: src/groupadd.c:419 src/groupdel.c:174 src/groupmod.c:410 src/useradd.c:1390 +#: src/userdel.c:279 src/usermod.c:674 +#, c-format +msgid "%s: cannot rewrite shadow group file\n" +msgstr "%s: kan inte skriva om skuggruppfilen\n" + +#: src/groupadd.c:438 src/groupdel.c:193 src/groupmod.c:429 src/userdel.c:359 +#, c-format +msgid "%s: unable to lock group file\n" +msgstr "%s: kan inte låsa gruppfilen\n" + +#: src/groupadd.c:442 src/groupdel.c:197 src/groupmod.c:433 +#, c-format +msgid "%s: unable to open group file\n" +msgstr "%s: kan inte öppna gruppfilen\n" + +#: src/groupadd.c:447 src/groupdel.c:202 src/groupmod.c:438 src/userdel.c:368 +#, c-format +msgid "%s: unable to lock shadow group file\n" +msgstr "%s: kan inte låsa skuggruppfilen\n" + +#: src/groupadd.c:452 src/groupdel.c:207 src/groupmod.c:443 +#, c-format +msgid "%s: unable to open shadow group file\n" +msgstr "%s: kan inte öppna skuggruppfilen\n" + +#: src/groupadd.c:519 +#, c-format +msgid "%s: group %s exists\n" +msgstr "%s: grupp %s existerar\n" + +#: src/groupdel.c:87 +msgid "usage: groupdel group\n" +msgstr "Användning: groupdel grupp\n" + +#: src/groupdel.c:105 src/groupmod.c:188 src/groupmod.c:235 +#, c-format +msgid "%s: error removing group entry\n" +msgstr "%s: fel under borttagning av gruppnotering\n" + +#: src/groupdel.c:117 src/groupmod.c:207 +#, c-format +msgid "%s: error removing group dbm entry\n" +msgstr "%s: fel under borttagning av dbm-gruppnotering\n" + +#: src/groupdel.c:132 +#, c-format +msgid "%s: error removing shadow group entry\n" +msgstr "%s: fel under borttagning av skuggruppnotering\n" + +#: src/groupdel.c:145 src/groupmod.c:253 +#, c-format +msgid "%s: error removing shadow group dbm entry\n" +msgstr "%s: fel under borttagning av dbm-skuggruppnotering\n" + +#. +#. * Can't remove the group. +#. +#: src/groupdel.c:249 +#, c-format +msgid "%s: cannot remove user's primary group.\n" +msgstr "%s: kan inte ta bort användarens primära grupp.\n" + +#: src/groupdel.c:306 src/groupmod.c:502 +#, c-format +msgid "%s: group %s does not exist\n" +msgstr "%s: grupp %s existerar inte\n" + +#: src/groupdel.c:320 src/groupmod.c:518 +#, c-format +msgid "%s: group %s is a NIS group\n" +msgstr "%s: grupp %s är en NIS-grupp\n" + +#: src/groupdel.c:326 src/groupmod.c:524 src/userdel.c:731 src/usermod.c:990 +#, c-format +msgid "%s: %s is the NIS master\n" +msgstr "%s: %s är NIS-mästeren\n" + +#: src/groupmod.c:106 +msgid "usage: groupmod [-g gid [-o]] [-n name] group\n" +msgstr "Användning: groupmod [-g gid [-o]] [-n namn] grupp\n" + +#: src/groupmod.c:166 +#, c-format +msgid "%s: %s not found in /etc/group\n" +msgstr "%s: %s hittades inte i /etc/group\n" + +#: src/groupmod.c:247 +#, c-format +msgid "%s: cannot add new dbm shadow group entry\n" +msgstr "%s: kunde inte lägga till en ny dbm-skuggruppnotering\n" + +#: src/groupmod.c:300 +#, c-format +msgid "%s: %ld is not a unique gid\n" +msgstr "%s: %ld är inte ett unikt gid\n" + +#: src/groupmod.c:331 +#, c-format +msgid "%s: %s is not a unique name\n" +msgstr "%s: %s är inte ett unikt namn\n" + +#: src/groups.c:63 +#, c-format +msgid "unknown user %s\n" +msgstr "okänd användare %s\n" + +#: src/grpck.c:99 +#, c-format +msgid "Usage: %s [ -r ] [ group [ gshadow ] ]\n" +msgstr "Användning: %s [ -r ] [ grupp [ gshadow ] ]\n" + +#: src/grpck.c:101 +#, c-format +msgid "Usage: %s [ -r ] [ group ]\n" +msgstr "Användning: %s [ -r ] [ grupp ]\n" + +#: src/grpck.c:120 src/pwck.c:120 +msgid "No" +msgstr "Nej" + +#: src/grpck.c:235 src/grpck.c:243 src/pwck.c:217 src/pwck.c:226 +#, c-format +msgid "%s: cannot lock file %s\n" +msgstr "%s: kan inte låsa filen %s\n" + +#: src/grpck.c:258 src/grpck.c:266 src/mkpasswd.c:217 src/pwck.c:242 +#: src/pwck.c:251 +#, c-format +msgid "%s: cannot open file %s\n" +msgstr "%s: kan inte öppna filen %s\n" + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/grpck.c:299 +msgid "invalid group file entry\n" +msgstr "felaktig gruppfilsnotering\n" + +#: src/grpck.c:300 src/grpck.c:363 src/grpck.c:455 src/grpck.c:518 +#: src/grpck.c:535 src/pwck.c:287 src/pwck.c:349 src/pwck.c:456 src/pwck.c:518 +#: src/pwck.c:542 +#, c-format +msgid "delete line `%s'? " +msgstr "ta bort rad \"%s\"? " + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/grpck.c:362 +msgid "duplicate group entry\n" +msgstr "dubblett av gruppnotering\n" + +#: src/grpck.c:379 +#, c-format +msgid "invalid group name `%s'\n" +msgstr "ogiltigt gruppnamn \"%s\"\n" + +#: src/grpck.c:389 +#, c-format +msgid "group %s: bad GID (%d)\n" +msgstr "grupp %s: felaktigt GID (%d)\n" + +#: src/grpck.c:415 +#, c-format +msgid "group %s: no user %s\n" +msgstr "grupp %s: användaren %s finns inte\n" + +#: src/grpck.c:417 src/grpck.c:586 +#, c-format +msgid "delete member `%s'? " +msgstr "ta bort medlem \"%s\"? " + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/grpck.c:454 +msgid "invalid shadow group file entry\n" +msgstr "felaktig skuggruppfilsnotering\n" + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/grpck.c:517 +msgid "duplicate shadow group entry\n" +msgstr "dubblett av skuggruppfilsnotering\n" + +#: src/grpck.c:534 +msgid "no matching group file entry\n" +msgstr "inga matchande gruppfilsnoteringar\n" + +#: src/grpck.c:554 +#, c-format +msgid "shadow group %s: no administrative user %s\n" +msgstr "skuggrupp %s: finns ingen administrativ användare %s\n" + +#: src/grpck.c:556 +#, c-format +msgid "delete administrative member `%s'? " +msgstr "ta bort administrativa medlemmen \"%s\"? " + +#: src/grpck.c:584 +#, c-format +msgid "shadow group %s: no user %s\n" +msgstr "skuggrupp %s: finns ingen användare %s\n" + +#: src/grpck.c:611 src/grpck.c:617 src/pwck.c:573 src/pwck.c:581 +#, c-format +msgid "%s: cannot update file %s\n" +msgstr "%s: kan inte uppdatera filen %s\n" + +#: src/grpck.c:641 src/pwck.c:607 +#, c-format +msgid "%s: the files have been updated; run mkpasswd\n" +msgstr "%s: filerna är uppdaterade; kör mkpasswd\n" + +#: src/grpck.c:642 src/grpck.c:646 src/pwck.c:608 src/pwck.c:612 +#, c-format +msgid "%s: no changes\n" +msgstr "%s: inga ändringar\n" + +#: src/grpck.c:645 src/pwck.c:611 +#, c-format +msgid "%s: the files have been updated\n" +msgstr "%s: filerna är uppdaterade\n" + +#: src/grpconv.c:63 src/grpunconv.c:64 +#, c-format +msgid "%s: can't lock group file\n" +msgstr "%s: kan inte låsa gruppfilen\n" + +#: src/grpconv.c:68 src/grpunconv.c:69 +#, c-format +msgid "%s: can't open group file\n" +msgstr "%s: kan inte öppna gruppfilen\n" + +#: src/grpconv.c:73 src/grpunconv.c:74 +#, c-format +msgid "%s: can't lock shadow group file\n" +msgstr "%s: kan inte låsa skuggruppfilen\n" + +#: src/grpconv.c:78 src/grpunconv.c:79 +#, c-format +msgid "%s: can't open shadow group file\n" +msgstr "%s: kan inte öppna skuggruppfilen\n" + +#. +#. * This shouldn't happen (the entry exists) but... +#. +#: src/grpconv.c:94 +#, c-format +msgid "%s: can't remove shadow group %s\n" +msgstr "%s: kan inte ta bort skuggruppen %s\n" + +#: src/grpconv.c:135 src/pwconv.c:161 +#, c-format +msgid "%s: can't update shadow entry for %s\n" +msgstr "%s: kan inte uppdatera skuggnoteringen för %s\n" + +#: src/grpconv.c:144 src/grpunconv.c:95 +#, c-format +msgid "%s: can't update entry for group %s\n" +msgstr "%s: kan inte uppdatera noteringen för gruppen %s\n" + +#: src/grpconv.c:151 src/grpunconv.c:103 +#, c-format +msgid "%s: can't update shadow group file\n" +msgstr "%s: kan inte uppdatera skuggruppfilen\n" + +#: src/grpconv.c:155 src/grpunconv.c:108 +#, c-format +msgid "%s: can't update group file\n" +msgstr "%s: kan inte uppdatera gruppfilen\n" + +#: src/grpconv.c:170 src/grpunconv.c:129 +#, c-format +msgid "%s: not configured for shadow group support.\n" +msgstr "%s: inte konfigurerad med stöd för skuggrupper.\n" + +#: src/grpunconv.c:113 +#, c-format +msgid "%s: can't delete shadow group file\n" +msgstr "%s: kan inte ta bort skuggruppfilen\n" + +#: src/id.c:57 +msgid "usage: id [ -a ]\n" +msgstr "Användning: id [ -a ]\n" + +#: src/id.c:59 +msgid "usage: id\n" +msgstr "Användning: id\n" + +#: src/id.c:119 +#, c-format +msgid "uid=%d(%s)" +msgstr "uid=%d(%s)" + +#: src/id.c:121 +#, c-format +msgid "uid=%d" +msgstr "uid=%d" + +#: src/id.c:125 +#, c-format +msgid " gid=%d(%s)" +msgstr " gid=%d(%s)" + +#: src/id.c:127 +#, c-format +msgid " gid=%d" +msgstr " gid=%d" + +#: src/id.c:137 +#, c-format +msgid " euid=%d(%s)" +msgstr " euid=%d(%s)" + +#: src/id.c:139 +#, c-format +msgid " euid=%d" +msgstr " euid=%d" + +#: src/id.c:144 +#, c-format +msgid " egid=%d(%s)" +msgstr " egid=%d(%s)" + +#: src/id.c:146 +#, c-format +msgid " egid=%d" +msgstr " egid=%d" + +#. +#. * Start off the group message. It will be of the format +#. * +#. * groups=###(aaa),###(aaa),###(aaa) +#. * +#. * where "###" is a numerical value and "aaa" is the +#. * corresponding name for each respective numerical value. +#. +#: src/id.c:167 +msgid " groups=" +msgstr " grupper=" + +#: src/lastlog.c:168 +msgid "Username Port From Latest\n" +msgstr "Användarnamn Port Från Senaste\n" + +#: src/lastlog.c:170 +msgid "Username Port Latest\n" +msgstr "Användarnamn Port Senaste\n" + +#: src/lastlog.c:184 +msgid "**Never logged in**" +msgstr "**Aldrig inloggad**" + +#: src/login.c:199 +#, c-format +msgid "usage: %s [-p] [name]\n" +msgstr "Användning: %s [-p] [namn]\n" + +#: src/login.c:202 +#, c-format +msgid " %s [-p] [-h host] [-f name]\n" +msgstr " %s [-p] [-h värd] [-f namn]\n" + +#: src/login.c:204 +#, c-format +msgid " %s [-p] -r host\n" +msgstr " %s [-p] -r värd\n" + +#: src/login.c:287 +msgid "Invalid login time\n" +msgstr "Felaktig inloggningstid\n" + +#: src/login.c:342 +msgid "" +"\n" +"System closed for routine maintenance\n" +msgstr "" +"\n" +"Systemet är stängt för rutinunderhåll\n" + +#: src/login.c:352 +msgid "" +"\n" +"[Disconnect bypassed -- root login allowed.]\n" +msgstr "" +"\n" +"[Nerkoppling kringgicks -- root inloggning tillåten.]\n" + +#: src/login.c:391 +#, c-format +msgid "" +"\n" +"Login timed out after %d seconds.\n" +msgstr "" +"\n" +"Inloggningen avbröts efter %d sekunders inaktivitet.\n" + +#: src/login.c:692 +#, c-format +msgid " on `%.100s' from `%.200s'" +msgstr " på \"%.100s\" från \"%.200s\"" + +#: src/login.c:694 +#, c-format +msgid " on `%.100s'" +msgstr " på \"%.100s\"" + +#: src/login.c:807 +#, c-format +msgid "" +"\n" +"%s login: " +msgstr "" +"\n" +"%s användare: " + +#: src/login.c:809 +msgid "login: " +msgstr "användare: " + +#: src/login.c:991 src/sulogin.c:233 +msgid "Login incorrect" +msgstr "Felaktig inloggning" + +#: src/login.c:1163 +msgid "Warning: login re-enabled after temporary lockout.\n" +msgstr "Varning: inloggning på nytt aktiv efter den temporära utelåsningen.\n" + +#: src/login.c:1173 +#, c-format +msgid "Last login: %s on %s" +msgstr "Senaste inloggning: %s på %s" + +#: src/login.c:1176 +#, c-format +msgid "Last login: %.19s on %s" +msgstr "Senaste inloggning: %.19s på %s" + +#: src/login.c:1181 +#, c-format +msgid " from %.*s" +msgstr " från %.*s" + +#: src/login.c:1246 +msgid "Starting rad_login\n" +msgstr "Startar rad_login\n" + +#: src/mkpasswd.c:49 +#, c-format +msgid "%s: no DBM database on system - no action performed\n" +msgstr "%s: ingen DBM-databas på systemet - ingen åtgärd genomfördes\n" + +#: src/mkpasswd.c:246 src/mkpasswd.c:250 +#, c-format +msgid "%s: cannot overwrite file %s\n" +msgstr "%s: kan inte skriva över filen %s\n" + +#: src/mkpasswd.c:264 +#, c-format +msgid "%s: cannot open DBM files for %s\n" +msgstr "%s: kan inte öppna DBM-filer för %s\n" + +#: src/mkpasswd.c:297 +#, c-format +msgid "%s: the beginning with " +msgstr "%s: början med " + +#: src/mkpasswd.c:322 +#, c-format +msgid "%s: error parsing line \"%s\"\n" +msgstr "%s: fel under analysering av rad \"%s\"\n" + +#: src/mkpasswd.c:327 src/mkpasswd.c:329 src/mkpasswd.c:331 src/mkpasswd.c:333 +msgid "adding record for name " +msgstr "lägger till notering för namn " + +#: src/mkpasswd.c:337 src/mkpasswd.c:342 src/mkpasswd.c:346 src/mkpasswd.c:350 +#, c-format +msgid "%s: error adding record for " +msgstr "%s: fel under tillägg av notering för " + +#: src/mkpasswd.c:368 +#, c-format +msgid "added %d entries, longest was %d\n" +msgstr "lade till %d noteringar, den längsta var %d\n" + +#: src/mkpasswd.c:383 +#, c-format +msgid "Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n" +msgstr "Användning: %s [ -vf ] [ -p|g|sp|sg ] fil\n" + +#: src/mkpasswd.c:385 +#, c-format +msgid "Usage: %s [ -vf ] [ -p|g|sp ] file\n" +msgstr "Användning: %s [ -vf ] [ -p|g|sp ] fil\n" + +#: src/mkpasswd.c:388 +#, c-format +msgid "Usage: %s [ -vf ] [ -p|g ] file\n" +msgstr "Användning: %s [ -vf ] [ -p|g ] fil\n" + +#: src/newgrp.c:67 +msgid "usage: newgrp [ - ] [ group ]\n" +msgstr "Användning: newgrp [ - ] [ grupp ]\n" + +#: src/newgrp.c:69 +#, fuzzy +msgid "usage: sg group [[-c] command ]\n" +msgstr "Användning: sg grupp [ kommando ]\n" + +#: src/newgrp.c:122 +#, c-format +msgid "unknown uid: %d\n" +msgstr "okänt uid: %d\n" + +#: src/newgrp.c:198 +#, c-format +msgid "unknown gid: %ld\n" +msgstr "okänt gid: %ld\n" + +#: src/newgrp.c:242 +#, c-format +msgid "unknown gid: %d\n" +msgstr "okänt gid: %d\n" + +#: src/newgrp.c:315 src/newgrp.c:324 +msgid "Sorry.\n" +msgstr "Tyvärr.\n" + +#: src/newgrp.c:356 +msgid "too many groups\n" +msgstr "för många grupper\n" + +#: src/newusers.c:79 +#, c-format +msgid "Usage: %s [ input ]\n" +msgstr "Användning: %s [ indata ]\n" + +#: src/newusers.c:367 +#, c-format +msgid "%s: can't lock /etc/passwd.\n" +msgstr "%s: kan inte låsa /etc/passwd.\n" + +#: src/newusers.c:378 +#, c-format +msgid "%s: can't lock files, try again later\n" +msgstr "%s: kan inte låsa filerna, försök igen senare\n" + +#: src/newusers.c:393 +#, c-format +msgid "%s: can't open files\n" +msgstr "%s: kan inte öppna filerna\n" + +#: src/newusers.c:438 +#, c-format +msgid "%s: line %d: invalid line\n" +msgstr "%s: rad %d: ogiltig rad\n" + +#: src/newusers.c:456 +#, c-format +msgid "%s: line %d: can't create GID\n" +msgstr "%s: rad %d: kan inte skapa GID\n" + +#: src/newusers.c:472 +#, c-format +msgid "%s: line %d: can't create UID\n" +msgstr "%s: rad %d: kan inte skapa UID\n" + +#: src/newusers.c:484 +#, c-format +msgid "%s: line %d: cannot find user %s\n" +msgstr "%s: rad %d: kan inte hitta användaren %s\n" + +#: src/newusers.c:492 +#, c-format +msgid "%s: line %d: can't update password\n" +msgstr "%s: rad %d: kan inte uppdatera lösenordet\n" + +#: src/newusers.c:509 +#, c-format +msgid "%s: line %d: mkdir failed\n" +msgstr "%s: rad %d: mkdir misslyckades\n" + +#: src/newusers.c:513 +#, c-format +msgid "%s: line %d: chown failed\n" +msgstr "%s: rad %d: chown misslyckades\n" + +#: src/newusers.c:522 +#, c-format +msgid "%s: line %d: can't update entry\n" +msgstr "%s: rad %d: kan inte uppdatera notering\n" + +#: src/newusers.c:553 +#, c-format +msgid "%s: error updating files\n" +msgstr "%s: kunde inte uppdatera filerna\n" + +#: src/passwd.c:241 +#, c-format +msgid "usage: %s [ -f | -s ] [ name ]\n" +msgstr "Användning: %s [ -f | -s ] [ namn ]\n" + +#: src/passwd.c:244 +#, c-format +msgid " %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n" +msgstr " %s [ -x högst ] [ -n minst ] [ -w varna ] [ -i inaktiv ] namn\n" + +#: src/passwd.c:247 +#, c-format +msgid " %s { -l | -u | -d | -S | -e } name\n" +msgstr " %s { -l | -u | -d | -S | -e } namn\n" + +#: src/passwd.c:349 +#, c-format +msgid "User %s has a TCFS key, his old password is required.\n" +msgstr "Användare %s har en TCFS-nyckel, hans förra lösenord krävs.\n" + +#: src/passwd.c:350 +msgid "You can use -t option to force the change.\n" +msgstr "Du kan använda flaggan -t för att påtvinga ändringen.\n" + +#: src/passwd.c:356 +msgid "Old password: " +msgstr "Förra lösenordet: " + +#: src/passwd.c:363 +#, c-format +msgid "Incorrect password for `%s'\n" +msgstr "Felaktigt lösenord för \"%s\"\n" + +#: src/passwd.c:376 +#, c-format +msgid "Warning: user %s has a TCFS key.\n" +msgstr "Varning: användare %s har en TCFS-nyckel.\n" + +#: src/passwd.c:394 +#, c-format +msgid "" +"Enter the new password (minimum of %d, maximum of %d characters)\n" +"Please use a combination of upper and lower case letters and numbers.\n" +msgstr "" +"Skriv in det nya lösenordet (minst %d, högst %d tecken)\n" +"Var god använd en kombination av versaler, gemener och siffror.\n" + +#: src/passwd.c:401 +msgid "New password: " +msgstr "Nytt lösenord: " + +#: src/passwd.c:411 +msgid "Try again.\n" +msgstr "Försök igen.\n" + +#: src/passwd.c:420 +msgid "" +"\n" +"Warning: weak password (enter it again to use it anyway).\n" +msgstr "" +"\n" +"Varning: svagt lösenord (skriv in det igen för att använda det ändå).\n" + +#: src/passwd.c:429 +msgid "They don't match; try again.\n" +msgstr "De matchar inte; försök igen.\n" + +#: src/passwd.c:514 src/passwd.c:530 +#, c-format +msgid "The password for %s cannot be changed.\n" +msgstr "Lösenordet för %s kan inte bytas.\n" + +#: src/passwd.c:558 +#, c-format +msgid "Sorry, the password for %s cannot be changed yet.\n" +msgstr "Tyvärr, lösenordet för %s kan inte ändras än.\n" + +#: src/passwd.c:695 +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: slut på minne\n" + +#: src/passwd.c:847 +msgid "Cannot lock the TCFS key database; try again later\n" +msgstr "Kan inte låsa TCFS-nyckeldatabasen; försök igen senare\n" + +#: src/passwd.c:853 +msgid "Cannot open the TCFS key database.\n" +msgstr "Kan inte öppna TCFS-nyckeldatabasen.\n" + +#: src/passwd.c:859 +msgid "Error updating the TCFS key database.\n" +msgstr "Fel under uppdatering av TCFS-nyckeldatabasen.\n" + +#: src/passwd.c:864 +msgid "Cannot commit TCFS changes.\n" +msgstr "Kan inte utföra TCFS ändringar.\n" + +#: src/passwd.c:1071 +#, c-format +msgid "%s: Cannot execute %s" +msgstr "%s: Kan inte starta %s" + +#: src/passwd.c:1178 +#, c-format +msgid "%s: repository %s not supported\n" +msgstr "%s: förvaringsplatsen %s stöds ej\n" + +#: src/passwd.c:1265 +#, c-format +msgid "%s: Permission denied\n" +msgstr "%s: Tillåtelse nekas\n" + +#: src/passwd.c:1289 +#, c-format +msgid "You may not change the password for %s.\n" +msgstr "Du får inte ändra lösenordet för %s.\n" + +#: src/passwd.c:1354 +#, c-format +msgid "Changing password for %s\n" +msgstr "Ändrar lösenord för %s\n" + +#: src/passwd.c:1358 +#, c-format +msgid "The password for %s is unchanged.\n" +msgstr "Lösenordet för %s är oförändrat.\n" + +#: src/passwd.c:1414 +msgid "Password changed.\n" +msgstr "Lösenordet ändrat.\n" + +#: src/pwck.c:99 +#, c-format +msgid "Usage: %s [ -qr ] [ passwd [ shadow ] ]\n" +msgstr "Användning: %s [ -qr ] [ passwd [ shadow ] ]\n" + +#: src/pwck.c:101 +#, c-format +msgid "Usage: %s [ -qr ] [ passwd ]\n" +msgstr "Användning: %s [ -qr ] [ passwd ]\n" + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/pwck.c:286 +msgid "invalid password file entry\n" +msgstr "felaktig notering i lösenordsfilen\n" + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/pwck.c:348 +msgid "duplicate password entry\n" +msgstr "dubblett av lösenords notering\n" + +#: src/pwck.c:364 +#, c-format +msgid "invalid user name `%s'\n" +msgstr "ogiltigt användarnamn \"%s\"\n" + +#: src/pwck.c:374 +#, c-format +msgid "user %s: bad UID (%d)\n" +msgstr "användare %s: felaktigt UID (%d)\n" + +#. +#. * No primary group, just give a warning +#. +#: src/pwck.c:389 +#, c-format +msgid "user %s: no group %d\n" +msgstr "användare %s: ingen grupp %d\n" + +#. +#. * Home directory doesn't exist, give a warning +#. +#: src/pwck.c:404 +#, c-format +msgid "user %s: directory %s does not exist\n" +msgstr "användare %s: katalogen %s finns inte\n" + +#. +#. * Login shell doesn't exist, give a warning +#. +#: src/pwck.c:419 +#, c-format +msgid "user %s: program %s does not exist\n" +msgstr "användare %s: programmet %s finns inte\n" + +#. +#. * Tell the user this entire line is bogus and +#. * ask them to delete it. +#. +#: src/pwck.c:455 +msgid "invalid shadow password file entry\n" +msgstr "felaktig notering i skugglösenordsfilen\n" + +#. +#. * Tell the user this entry is a duplicate of +#. * another and ask them to delete it. +#. +#: src/pwck.c:517 +msgid "duplicate shadow password entry\n" +msgstr "dubblett av notering i skugglösenordsfilen\n" + +#. +#. * Tell the user this entry has no matching +#. * /etc/passwd entry and ask them to delete it. +#. +#: src/pwck.c:541 +msgid "no matching password file entry\n" +msgstr "ingen matchande notering i lösenordsfilen\n" + +#: src/pwck.c:558 +#, c-format +msgid "user %s: last password change in the future\n" +msgstr "användare %s: senaste lösenordsändring i framtiden\n" + +#: src/pwconv.c:95 src/pwunconv.c:109 +#, c-format +msgid "%s: can't lock passwd file\n" +msgstr "%s: kan inte låsa lösenordsfilen\n" + +#: src/pwconv.c:100 src/pwunconv.c:114 +#, c-format +msgid "%s: can't open passwd file\n" +msgstr "%s: kan inte öppna lösenordsfilen\n" + +#: src/pwconv.c:127 +#, c-format +msgid "%s: can't remove shadow entry for %s\n" +msgstr "%s: kan inte ta bort notering i skugglösenordsfilen för %s\n" + +#: src/pwconv.c:170 +#, c-format +msgid "%s: can't update passwd entry for %s\n" +msgstr "%s: kan inte uppdatera noteringen i lösenordsfilen för %s\n" + +#: src/pwconv.c:177 +#, c-format +msgid "%s: can't update shadow file\n" +msgstr "%s: kan inte uppdatera skuggfilen\n" + +#: src/pwconv.c:181 +#, c-format +msgid "%s: can't update passwd file\n" +msgstr "%s: kan inte uppdatera lösenordsfilen\n" + +#: src/pwunconv.c:62 +#, c-format +msgid "%s: Shadow passwords are not configured.\n" +msgstr "%s: Shadowlösenord är inte konfigurerade.\n" + +#: src/pwunconv.c:172 +#, c-format +msgid "%s: can't update entry for user %s\n" +msgstr "%s: kan inte uppdatera noteringen för användaren %s\n" + +#: src/pwunconv.c:189 +#, c-format +msgid "%s: can't delete shadow password file\n" +msgstr "%s: kan inte ta bort skugglösenordsfilen\n" + +#: src/su.c:145 +msgid "Sorry." +msgstr "Tyvärr." + +#: src/su.c:227 +#, c-format +msgid "%s: must be run from a terminal\n" +msgstr "%s: måste köras från en terminal\n" + +#: src/su.c:319 +#, c-format +msgid "%s: pam_start: error %d\n" +msgstr "%s: pam_start: fel %d\n" + +#: src/su.c:345 +#, c-format +msgid "Unknown id: %s\n" +msgstr "Okänt id: %s\n" + +#. access denied (-1) or unexpected value +#: src/su.c:380 src/su.c:395 +#, c-format +msgid "You are not authorized to su %s\n" +msgstr "Du har inte tillåtelse att köra su till %s\n" + +#. require own password +#: src/su.c:391 +msgid "(Enter your own password.)" +msgstr "(Skriv in ditt eget lösenord.)" + +#: src/su.c:412 +#, c-format +msgid "%s: permission denied (shell).\n" +msgstr "%s: tillåtelse nekas (skal).\n" + +#: src/su.c:436 +#, c-format +msgid "" +"%s: %s\n" +"(Ignored)\n" +msgstr "" +"%s: %s\n" +"(Ignorerad)\n" + +#: src/su.c:605 +msgid "No shell\n" +msgstr "Inget skal\n" + +#. must be a password file! +#: src/sulogin.c:138 +msgid "No password file\n" +msgstr "Ingen lösenordsfil\n" + +#. +#. * Fail secure +#. +#: src/sulogin.c:180 +msgid "No password entry for 'root'\n" +msgstr "Ingen lösenordsnotering för \"root\"\n" + +#. +#. * Here we prompt for the root password, or if no password is +#. * given we just exit. +#. +#. get a password for root +#: src/sulogin.c:194 +msgid "" +"\n" +"Type control-d to proceed with normal startup,\n" +"(or give root password for system maintenance):" +msgstr "" +"\n" +"Skriv control-d för att fortsätta med den normala uppstarten,\n" +"(eller skriv in lösenordet för root för systemunderhåll):" + +#. make new environment active +#: src/sulogin.c:243 +msgid "Entering System Maintenance Mode\n" +msgstr "Går in i systemunderhållsläge\n" + +#: src/useradd.c:244 +#, c-format +msgid "%s: rebuild the group database\n" +msgstr "%s: bygg om gruppdatabasen\n" + +#: src/useradd.c:251 +#, c-format +msgid "%s: rebuild the shadow group database\n" +msgstr "%s: bygg om skuggruppdatabasen\n" + +#: src/useradd.c:288 src/usermod.c:941 +#, c-format +msgid "%s: invalid numeric argument `%s'\n" +msgstr "%s: ogiltigt numeriskt argument \"%s\"\n" + +#: src/useradd.c:344 +#, c-format +msgid "%s: unknown gid %s\n" +msgstr "%s: okänt gid %s\n" + +#: src/useradd.c:351 src/useradd.c:643 src/useradd.c:1229 src/usermod.c:253 +#: src/usermod.c:1072 +#, c-format +msgid "%s: unknown group %s\n" +msgstr "%s: okänd grupp %s\n" + +#: src/useradd.c:419 +#, c-format +msgid "group=%s,%ld basedir=%s skel=%s\n" +msgstr "grupp=%s,%ld baskatalog=%s skel=%s\n" + +#: src/useradd.c:422 +#, c-format +msgid "shell=%s " +msgstr "skal=%s " + +#: src/useradd.c:424 +#, c-format +msgid "inactive=%ld expire=%s" +msgstr "inaktiv=%ld upphör=%s" + +#: src/useradd.c:428 +#, c-format +msgid "GROUP=%ld\n" +msgstr "GRUPP=%ld\n" + +#: src/useradd.c:429 +#, c-format +msgid "HOME=%s\n" +msgstr "HEM=%s\n" + +#: src/useradd.c:431 +#, c-format +msgid "INACTIVE=%ld\n" +msgstr "INAKTIV=%ld\n" + +#: src/useradd.c:432 +#, c-format +msgid "EXPIRE=%s\n" +msgstr "UPPHÖR=%s\n" + +#: src/useradd.c:434 +#, c-format +msgid "SHELL=%s\n" +msgstr "SKAL=%s\n" + +#: src/useradd.c:435 +#, c-format +msgid "SKEL=%s\n" +msgstr "SKEL=%s\n" + +#: src/useradd.c:471 +#, c-format +msgid "%s: cannot create new defaults file\n" +msgstr "%s: kan inte skapa en ny standardfil\n" + +#: src/useradd.c:565 src/useradd.c:576 +#, c-format +msgid "%s: rename: %s" +msgstr "%s: rename: %s" + +#: src/useradd.c:663 src/usermod.c:273 +#, c-format +msgid "%s: group `%s' is a NIS group.\n" +msgstr "%s: grupp \"%s\" är en NIS-grupp.\n" + +#: src/useradd.c:671 src/usermod.c:281 +#, c-format +msgid "%s: too many groups specified (max %d).\n" +msgstr "%s: för många grupper speciferade (max %d).\n" + +#: src/useradd.c:703 src/usermod.c:313 +#, c-format +msgid "usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n" +msgstr "Användning: %s\t[-u uid [-o]] [-g grupp] [-G grupp,...] \n" + +#: src/useradd.c:706 +msgid "\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n" +msgstr "\t\t[-d hem] [-s skal] [-c kommentar] [-m [-k mall]]\n" + +#: src/useradd.c:709 src/usermod.c:319 +msgid "[-f inactive] [-e expire ] " +msgstr "[-f inaktiv] [-e upphör ] " + +#: src/useradd.c:712 +msgid "[-A program] " +msgstr "[-A program] " + +#: src/useradd.c:714 src/usermod.c:324 +msgid "[-p passwd] name\n" +msgstr "[-p passwd] namn\n" + +#: src/useradd.c:716 +#, c-format +msgid " %s\t-D [-g group] [-b base] [-s shell]\n" +msgstr " %s\t-D [-g grupp] [-b bas] [-s skal]\n" + +#: src/useradd.c:719 +msgid "\t\t[-f inactive] [-e expire ]\n" +msgstr "\t\t[-f inaktiv] [-e utgång ]\n" + +#: src/useradd.c:816 src/usermod.c:446 +#, c-format +msgid "%s: error locking group file\n" +msgstr "%s: fel under låsning av gruppfilen\n" + +#: src/useradd.c:820 src/usermod.c:451 +#, c-format +msgid "%s: error opening group file\n" +msgstr "%s: fel under öppning av gruppfilen\n" + +#: src/useradd.c:825 src/usermod.c:558 +#, c-format +msgid "%s: error locking shadow group file\n" +msgstr "%s: fel under låsning av skuggruppfilen\n" + +#: src/useradd.c:830 src/usermod.c:564 +#, c-format +msgid "%s: error opening shadow group file\n" +msgstr "%s: fel under öppning av skuggruppfilen\n" + +#: src/useradd.c:1002 +#, c-format +msgid "%s: uid %d is not unique\n" +msgstr "%s: uid %d är inte unikt\n" + +#: src/useradd.c:1032 +#, c-format +msgid "%s: can't get unique uid\n" +msgstr "%s: kan inte hitta ett unikt uid\n" + +#: src/useradd.c:1140 src/useradd.c:1284 src/usermod.c:1020 src/usermod.c:1031 +#: src/usermod.c:1041 src/usermod.c:1087 src/usermod.c:1122 +#, c-format +msgid "%s: invalid field `%s'\n" +msgstr "%s: felaktigt fält \"%s\"\n" + +#: src/useradd.c:1154 +#, c-format +msgid "%s: invalid base directory `%s'\n" +msgstr "%s: felaktig baskatalog \"%s\"\n" + +#: src/useradd.c:1164 +#, c-format +msgid "%s: invalid comment `%s'\n" +msgstr "%s: felaktig kommentar \"%s\"\n" + +#: src/useradd.c:1174 +#, c-format +msgid "%s: invalid home directory `%s'\n" +msgstr "%s: felaktig hemkatalog \"%s\"\n" + +#: src/useradd.c:1192 src/usermod.c:1054 +#, c-format +msgid "%s: invalid date `%s'\n" +msgstr "%s: felaktigt datum \"%s\"\n" + +#: src/useradd.c:1204 +#, c-format +msgid "%s: shadow passwords required for -e\n" +msgstr "%s: skugglösenord krävs för -e\n" + +#: src/useradd.c:1219 +#, c-format +msgid "%s: shadow passwords required for -f\n" +msgstr "%s: skugglösenord krävs för -f\n" + +#: src/useradd.c:1293 +#, c-format +msgid "%s: invalid shell `%s'\n" +msgstr "%s: felaktigt skal \"%s\"\n" + +#: src/useradd.c:1334 +#, c-format +msgid "%s: invalid user name `%s'\n" +msgstr "%s: felaktigt användar namn \"%s\"\n" + +#: src/useradd.c:1370 src/userdel.c:262 src/usermod.c:1184 +#, c-format +msgid "%s: cannot rewrite password file\n" +msgstr "%s: kan inte skriva om lösenordsfilen\n" + +#: src/useradd.c:1375 src/userdel.c:265 src/usermod.c:1189 +#, c-format +msgid "%s: cannot rewrite shadow password file\n" +msgstr "%s: kan inte skriva om skugglösenordsfilen\n" + +#: src/useradd.c:1415 src/userdel.c:329 src/usermod.c:1224 +#, c-format +msgid "%s: unable to lock password file\n" +msgstr "%s: kan inte låsa lösenordsfilen\n" + +#: src/useradd.c:1419 src/userdel.c:333 src/usermod.c:1228 +#, c-format +msgid "%s: unable to open password file\n" +msgstr "%s: kan inte öppna lösenordsfilen\n" + +#: src/useradd.c:1425 src/userdel.c:338 src/usermod.c:1233 +#, c-format +msgid "%s: cannot lock shadow password file\n" +msgstr "%s: kan inte låsa skugglösenordsfilen\n" + +#: src/useradd.c:1431 src/userdel.c:343 src/usermod.c:1238 +#, c-format +msgid "%s: cannot open shadow password file\n" +msgstr "%s: kan inte öppna skugglösenordsfilen\n" + +#: src/useradd.c:1530 src/usermod.c:1325 +#, c-format +msgid "%s: error adding authentication method\n" +msgstr "%s: fel under tillägning av metod för äkthetsbevisning\n" + +#: src/useradd.c:1553 +#, c-format +msgid "%s: error adding new password entry\n" +msgstr "%s: fel under tilläggning av ny lösenordsnotering\n" + +#: src/useradd.c:1568 +#, c-format +msgid "%s: error updating password dbm entry\n" +msgstr "%s: fel under uppdatering av dbm-lösenordsnotering\n" + +#: src/useradd.c:1584 src/usermod.c:1384 +#, c-format +msgid "%s: error adding new shadow password entry\n" +msgstr "%s: fel under tilläggning av ny skugglösenordsnotering\n" + +#: src/useradd.c:1600 src/usermod.c:1399 +#, c-format +msgid "%s: error updating shadow passwd dbm entry\n" +msgstr "%s: fel under uppdatering av dbm-skugglösenordsnotering\n" + +#: src/useradd.c:1632 +#, c-format +msgid "%s: cannot create directory %s\n" +msgstr "%s: kan inte skapa katalog %s\n" + +#: src/useradd.c:1709 src/usermod.c:1162 +#, c-format +msgid "%s: user %s exists\n" +msgstr "%s: användare %s existerar\n" + +#: src/useradd.c:1739 +#, c-format +msgid "%s: warning: CREATE_HOME not supported, please use -m instead.\n" +msgstr "%s: varning: CREATE_HOME stöds inte, använd -m istället.\n" + +#: src/userdel.c:128 +#, c-format +msgid "usage: %s [-r] name\n" +msgstr "Användning: %s [-r] namn\n" + +#: src/userdel.c:175 src/userdel.c:230 +#, c-format +msgid "%s: error updating group entry\n" +msgstr "%s: fel under uppdatering av gruppnotering\n" + +#: src/userdel.c:185 src/userdel.c:239 +#, c-format +msgid "%s: cannot update dbm group entry\n" +msgstr "%s: kan inte uppdatera dbm-gruppnotering\n" + +#: src/userdel.c:270 +#, c-format +msgid "%s: cannot rewrite TCFS key file\n" +msgstr "%s: kan inte skriva om TCFS-nyckelfilen\n" + +#: src/userdel.c:350 +#, c-format +msgid "%s: cannot lock TCFS key file\n" +msgstr "%s: kan inte låsa TCFS-nyckelfilen\n" + +#: src/userdel.c:354 +#, c-format +msgid "%s: cannot open TCFS key file\n" +msgstr "%s: kan inte öppna TCFS-nyckelfilen\n" + +#: src/userdel.c:363 +#, c-format +msgid "%s: cannot open group file\n" +msgstr "%s: kan inte öppna gruppfilen\n" + +#: src/userdel.c:373 +#, c-format +msgid "%s: cannot open shadow group file\n" +msgstr "%s: kan inte öppna skuggruppfilen\n" + +#: src/userdel.c:404 src/userdel.c:419 +#, c-format +msgid "%s: error deleting authentication\n" +msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n" + +#: src/userdel.c:428 +#, c-format +msgid "%s: error deleting password entry\n" +msgstr "%s: fel under borttagning av lösenordsnotering\n" + +#: src/userdel.c:431 +#, c-format +msgid "%s: error deleting shadow password entry\n" +msgstr "%s: fel under borttagning av skugglösenordsnotering\n" + +#: src/userdel.c:440 +#, c-format +msgid "%s: error deleting TCFS entry\n" +msgstr "%s: fel under borttagning av TCFS-notering\n" + +#: src/userdel.c:453 +#, c-format +msgid "%s: error deleting password dbm entry\n" +msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n" + +#: src/userdel.c:472 +#, c-format +msgid "%s: error deleting shadow passwd dbm entry\n" +msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n" + +#: src/userdel.c:513 +#, c-format +msgid "%s: user %s is currently logged in\n" +msgstr "%s: användare %s är inloggad\n" + +#: src/userdel.c:630 +#, c-format +msgid "%s: warning: %s not owned by %s, not removing\n" +msgstr "%s: varning: %s ägs inte av %s, tar inte bort\n" + +#: src/userdel.c:636 +#, c-format +msgid "%s: warning: can't remove " +msgstr "%s: varning: kan inte ta bort " + +#: src/userdel.c:711 src/usermod.c:968 +#, c-format +msgid "%s: user %s does not exist\n" +msgstr "%s: användare %s finns inte\n" + +#: src/userdel.c:725 src/usermod.c:984 +#, c-format +msgid "%s: user %s is a NIS user\n" +msgstr "%s: användare %s är en NIS-användare\n" + +#: src/userdel.c:762 +#, c-format +msgid "%s: %s not owned by %s, not removing\n" +msgstr "%s: %s ägs inte av %s, tar inte bort\n" + +#: src/userdel.c:785 +#, c-format +msgid "%s: not removing directory %s (would remove home of user %s)\n" +msgstr "%s: tar inte bort katalogen %s (skulle ta bort hemkatalogen för %s)\n" + +#: src/userdel.c:798 +#, c-format +msgid "%s: error removing directory %s\n" +msgstr "%s: fel under borttagning av katalogen %s\n" + +#: src/usermod.c:316 +msgid "\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n" +msgstr "\t\t[-d hem [-m]] [-s skal] [-c kommentar] [-l nytt_namn]\n" + +#: src/usermod.c:322 +msgid "[-A {DEFAULT|program},... ] " +msgstr "[-A {DEFAULT|program},... ] " + +#: src/usermod.c:478 +#, c-format +msgid "%s: out of memory in update_group\n" +msgstr "%s: slut på minne i update_group\n" + +#: src/usermod.c:601 +#, c-format +msgid "%s: out of memory in update_gshadow\n" +msgstr "%s: slut på minne i update_gshadow\n" + +#: src/usermod.c:1139 +#, c-format +msgid "%s: no flags given\n" +msgstr "%s: inga flaggor givna\n" + +#: src/usermod.c:1146 +#, c-format +msgid "%s: shadow passwords required for -e and -f\n" +msgstr "%s: skugglösenord krävs för -e och -f\n" + +#: src/usermod.c:1167 +#, c-format +msgid "%s: uid %ld is not unique\n" +msgstr "%s: uid %ld är inte unikt\n" + +#: src/usermod.c:1315 +#, c-format +msgid "%s: error deleting authentication method\n" +msgstr "%s: fel under borttagning av metod för äkthetsbevisning\n" + +#: src/usermod.c:1335 +#, c-format +msgid "%s: error changing authentication method\n" +msgstr "%s: fel under ändring av metod för äkthetsbevisning\n" + +#: src/usermod.c:1352 +#, c-format +msgid "%s: error changing password entry\n" +msgstr "%s: fel under ändring av lösenordsnotering\n" + +#: src/usermod.c:1358 +#, c-format +msgid "%s: error removing password entry\n" +msgstr "%s: fel under borttagning av lösenordsnotering\n" + +#: src/usermod.c:1366 +#, c-format +msgid "%s: error adding password dbm entry\n" +msgstr "%s: fel under tilläggning av dbm-lösenordsnotering\n" + +#: src/usermod.c:1373 +#, c-format +msgid "%s: error removing passwd dbm entry\n" +msgstr "%s: fel under borttagning av dbm-lösenordsnotering\n" + +#: src/usermod.c:1390 +#, c-format +msgid "%s: error removing shadow password entry\n" +msgstr "%s: fel under borttagning av skugglösenordsnotering\n" + +#: src/usermod.c:1405 +#, c-format +msgid "%s: error removing shadow passwd dbm entry\n" +msgstr "%s: fel under borttagning av dbm-skugglösenordsnotering\n" + +#: src/usermod.c:1436 +#, c-format +msgid "%s: directory %s exists\n" +msgstr "%s: katalogen %s existerar\n" + +#: src/usermod.c:1443 +#, c-format +msgid "%s: can't create %s\n" +msgstr "%s: kan inte skapa %s\n" + +#: src/usermod.c:1449 +#, c-format +msgid "%s: can't chown %s\n" +msgstr "%s: kan inte byta ägare på %s\n" + +#: src/usermod.c:1465 +#, c-format +msgid "%s: cannot rename directory %s to %s\n" +msgstr "%s: kan inte byta namn på katalogen %s till %s\n" + +#. better leave it alone +#: src/usermod.c:1562 +#, c-format +msgid "%s: warning: %s not owned by %s\n" +msgstr "%s: varning: %s ägs inte av %s\n" + +#: src/usermod.c:1568 +msgid "failed to change mailbox owner" +msgstr "kunde inte byta ägare av brevlådan" + +#: src/usermod.c:1575 +msgid "failed to rename mailbox" +msgstr "kunde inte byta namn på brevlådan" + +#: src/vipw.c:103 +#, c-format +msgid "" +"\n" +"%s: %s is unchanged\n" +msgstr "" +"\n" +"%s: %s är oförändrad\n" + +#: src/vipw.c:128 +msgid "Couldn't lock file" +msgstr "Kunde inte låsa filen" + +#: src/vipw.c:135 +msgid "Couldn't make backup" +msgstr "Kunde inte göra en backup" + +#: src/vipw.c:174 +#, c-format +msgid "%s: can't restore %s: %s (your changes are in %s)\n" +msgstr "%s: kan inte återställa %s: %s (dina ändringar är i %s)\n" + +#: src/vipw.c:213 +msgid "" +"Usage:\n" +"`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n" +"`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n" +msgstr "" +"Användning:\n" +"\"vipw\" editerar /etc/passwd \"vipw -w\" editerar /etc/shadow\n" +"\"vipg\" editerar /etc/group \"vipg -w\" editerar /etc/gshadow\n" diff --git a/redhat/Makefile.in b/redhat/Makefile.in index dc4e2c88..d3e8c8d5 100644 --- a/redhat/Makefile.in +++ b/redhat/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -14,7 +14,7 @@ # and also cooperate to make a distribution for `make dist' -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -35,7 +35,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -62,11 +62,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -101,11 +104,8 @@ VERSION = @VERSION@ YACC = @YACC@ l = @l@ -EXTRA_DIST = README shadow-utils.spec shadow-utils.spec.in \ - shadow-970616-fix.patch shadow-970616-glibc.patch \ - shadow-970616-rh.patch shadow-970616-utuser.patch \ - shadow-970616.login.defs shadow-970616.useradd \ - shadow-utils-970616.spec +EXTRA_DIST = README shadow-utils.spec shadow-utils.spec.in shadow-970616-fix.patch shadow-970616-glibc.patch shadow-970616-rh.patch shadow-970616-utuser.patch shadow-970616.login.defs shadow-970616.useradd shadow-utils-970616.spec + mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../config.h CONFIG_CLEAN_FILES = shadow-utils.spec @@ -115,11 +115,10 @@ DIST_COMMON = README Makefile.am Makefile.in shadow-utils.spec.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best -all: Makefile - +GZIP_ENV = --best +all: all-redirect .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps redhat/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -127,7 +126,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status shadow-utils.spec: $(top_builddir)/config.status shadow-utils.spec.in - cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status + cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status tags: TAGS TAGS: @@ -139,61 +138,74 @@ subdir = redhat distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: - @$(NORMAL_INSTALL) +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: +install-exec: install-exec-am -install-data: - @$(NORMAL_INSTALL) - -install: install-exec install-data all - @: - -uninstall: +install-data-am: +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: +uninstall: uninstall-am +all-am: Makefile +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-generic +mostlyclean-am: mostlyclean-generic -clean: clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-generic clean - -rm -f config.status +clean-am: clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-generic distclean +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." -.PHONY: tags distdir info dvi installcheck install-exec install-data \ -install uninstall all installdirs mostlyclean-generic distclean-generic \ -clean-generic maintainer-clean-generic clean mostlyclean distclean \ -maintainer-clean +maintainer-clean: maintainer-clean-am + +.PHONY: tags distdir info-am info dvi-am dvi check check-am \ +installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/redhat/shadow-utils.spec b/redhat/shadow-utils.spec index 388de43a..10ce8971 100644 --- a/redhat/shadow-utils.spec +++ b/redhat/shadow-utils.spec @@ -2,11 +2,11 @@ # $Id: shadow-utils.spec.in,v 1.2 1999/06/07 16:40:45 marekm Exp $ Summary: Shadow password file utilities for Linux Name: shadow-utils -Version: 19990709 +Version: 19990827 Release: 1 Copyright: Free Group: Utilities/System -Source: ftp://ftp.ists.pwr.wroc.pl/pub/linux/shadow/shadow-19990709.tar.gz +Source: ftp://ftp.ists.pwr.wroc.pl/pub/linux/shadow/shadow-19990827.tar.gz BuildRoot: /var/tmp/shadow-utils Packager: Timo Karjalainen # Obsoletes: adduser @@ -38,7 +38,7 @@ and shadow passwords in general. %prep # This is just a few of the core utilities from the shadow suite... # packaged up for use w/PAM -%setup -n shadow-19990709 +%setup -n shadow-19990827 %build # shared lib support is untested, so... diff --git a/src/Makefile.in b/src/Makefile.in index 53251bde..fb3fdb00 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.3 from Makefile.am +# Makefile.in generated automatically by automake 1.4 from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # This Makefile.in 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. @@ -11,7 +11,7 @@ # PARTICULAR PURPOSE. -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -29,7 +29,7 @@ mandir = @mandir@ includedir = @includedir@ oldincludedir = /usr/include -DISTDIR = +DESTDIR = pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -43,7 +43,7 @@ AUTOMAKE = @AUTOMAKE@ AUTOHEADER = @AUTOHEADER@ INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS) INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ @@ -56,11 +56,13 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CPP = @CPP@ DATADIRNAME = @DATADIRNAME@ +DLLTOOL = @DLLTOOL@ GENCAT = @GENCAT@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ @@ -84,6 +86,7 @@ MAKEINFO = @MAKEINFO@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ POFILES = @POFILES@ POSUB = @POSUB@ @@ -121,14 +124,12 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@ # and installation would be much simpler (just two directories, # $prefix/bin and $prefix/sbin, no install-data hacks...) -bin_PROGRAMS = login \ - su -ubin_PROGRAMS = faillog lastlog \ - chage chfn chsh expiry gpasswd newgrp passwd -usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod \ - logoutd mkpasswd newusers \ - useradd userdel usermod grpck pwck vipw \ - grpconv grpunconv pwconv pwunconv +bin_PROGRAMS = login su + +ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd + +usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod logoutd mkpasswd newusers useradd userdel usermod grpck pwck vipw grpconv grpunconv pwconv pwunconv + EXTRA_DIST = shadowconfig.sh @@ -368,9 +369,10 @@ pwunconv_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \ ../lib/libshadow.a pwunconv_LDFLAGS = CFLAGS = @CFLAGS@ -COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ +COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ HEADERS = $(noinst_HEADERS) DIST_COMMON = Makefile.am Makefile.in @@ -379,15 +381,14 @@ DIST_COMMON = Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) TAR = tar -GZIP = --best +GZIP_ENV = --best SOURCES = login.c su.c groups.c id.c sulogin.c faillog.c lastlog.c chage.c chfn.c chsh.c expiry.c gpasswd.c newgrp.c passwd.c chpasswd.c dpasswd.c groupadd.c groupdel.c groupmod.c logoutd.c mkpasswd.c newusers.c useradd.c userdel.c usermod.c grpck.c pwck.c vipw.c grpconv.c grpunconv.c pwconv.c pwunconv.c OBJECTS = login.o su.o groups.o id.o sulogin.o faillog.o lastlog.o chage.o chfn.o chsh.o expiry.o gpasswd.o newgrp.o passwd.o chpasswd.o dpasswd.o groupadd.o groupdel.o groupmod.o logoutd.o mkpasswd.o newusers.o useradd.o userdel.o usermod.o grpck.o pwck.o vipw.o grpconv.o grpunconv.o pwconv.o pwunconv.o -all: Makefile $(PROGRAMS) $(HEADERS) - +all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .lo .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @@ -409,15 +410,15 @@ install-binPROGRAMS: $(bin_PROGRAMS) $(mkinstalldirs) $(DESTDIR)$(bindir) @list='$(bin_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ + echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) list='$(bin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \ + rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done mostlyclean-noinstPROGRAMS: @@ -443,15 +444,15 @@ install-ubinPROGRAMS: $(ubin_PROGRAMS) $(mkinstalldirs) $(DESTDIR)$(ubindir) @list='$(ubin_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed '$(transform)'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed '$(transform)'`; \ + echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done uninstall-ubinPROGRAMS: @$(NORMAL_UNINSTALL) list='$(ubin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(ubindir)/`echo $$p|sed '$(transform)'`; \ + rm -f $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done mostlyclean-usbinPROGRAMS: @@ -468,15 +469,15 @@ install-usbinPROGRAMS: $(usbin_PROGRAMS) $(mkinstalldirs) $(DESTDIR)$(usbindir) @list='$(usbin_PROGRAMS)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed '$(transform)'`"; \ - $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed '$(transform)'`; \ + echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ + $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ else :; fi; \ done uninstall-usbinPROGRAMS: @$(NORMAL_UNINSTALL) list='$(usbin_PROGRAMS)'; for p in $$list; do \ - rm -f $(DESTDIR)$(usbindir)/`echo $$p|sed '$(transform)'`; \ + rm -f $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done .c.o: @@ -648,8 +649,12 @@ pwunconv: $(pwunconv_OBJECTS) $(pwunconv_DEPENDENCIES) tags: TAGS ID: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ here=`pwd` && cd $(srcdir) \ - && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) + && mkid -f$$here/ID $$unique $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) tags=; \ @@ -677,9 +682,13 @@ subdir = src distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ - test -f $(distdir)/$$file \ - || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ - || cp -p $$d/$$file $(distdir)/$$file; \ + if test -d $$d/$$file; then \ + cp -pr $$/$$file $(distdir)/$$file; \ + else \ + test -f $(distdir)/$$file \ + || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ + || cp -p $$d/$$file $(distdir)/$$file || :; \ + fi; \ done chage.o: chage.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \ ../lib/defines.h ../lib/gshadow_.h ../lib/pwio.h \ @@ -774,70 +783,80 @@ vipw.o: vipw.c ../config.h ../lib/rcsid.h ../lib/defines.h \ ../lib/gshadow_.h ../lib/prototypes.h ../lib/pwio.h \ ../lib/shadowio.h ../lib/groupio.h ../lib/sgroupio.h -info: -dvi: -check: all - $(MAKE) -installcheck: -install-exec: install-binPROGRAMS +info-am: +info: info-am +dvi-am: +dvi: dvi-am +check-am: all-am +check: check-am +installcheck-am: +installcheck: installcheck-am +install-exec-am: install-binPROGRAMS @$(NORMAL_INSTALL) - $(MAKE) install-exec-hook + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook +install-exec: install-exec-am -install-data: install-ubinPROGRAMS install-usbinPROGRAMS +install-data-am: install-ubinPROGRAMS install-usbinPROGRAMS @$(NORMAL_INSTALL) - $(MAKE) install-data-hook - -install: install-exec install-data all - @: - -uninstall: uninstall-binPROGRAMS uninstall-ubinPROGRAMS uninstall-usbinPROGRAMS + $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-data: install-data-am +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +install: install-am +uninstall-am: uninstall-binPROGRAMS uninstall-ubinPROGRAMS \ + uninstall-usbinPROGRAMS +uninstall: uninstall-am +all-am: Makefile $(PROGRAMS) $(HEADERS) +all-redirect: all-am install-strip: - $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install + $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install installdirs: - $(mkinstalldirs) $(DATADIR)$(bindir) $(DATADIR)$(ubindir) \ - $(DATADIR)$(usbindir) + $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(ubindir) \ + $(DESTDIR)$(usbindir) mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f Makefile $(DISTCLEANFILES) + -rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f config.cache config.log stamp-h stamp-h[0-9]* - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -mostlyclean: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \ +mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \ mostlyclean-ubinPROGRAMS mostlyclean-usbinPROGRAMS \ mostlyclean-compile mostlyclean-libtool \ mostlyclean-tags mostlyclean-generic -clean: clean-binPROGRAMS clean-noinstPROGRAMS clean-ubinPROGRAMS \ - clean-usbinPROGRAMS clean-compile clean-libtool \ - clean-tags clean-generic mostlyclean +mostlyclean: mostlyclean-am -distclean: distclean-binPROGRAMS distclean-noinstPROGRAMS \ +clean-am: clean-binPROGRAMS clean-noinstPROGRAMS clean-ubinPROGRAMS \ + clean-usbinPROGRAMS clean-compile clean-libtool \ + clean-tags clean-generic mostlyclean-am + +clean: clean-am + +distclean-am: distclean-binPROGRAMS distclean-noinstPROGRAMS \ distclean-ubinPROGRAMS distclean-usbinPROGRAMS \ distclean-compile distclean-libtool distclean-tags \ - distclean-generic clean - -rm -f config.status + distclean-generic clean-am -rm -f libtool -maintainer-clean: maintainer-clean-binPROGRAMS \ +distclean: distclean-am + +maintainer-clean-am: maintainer-clean-binPROGRAMS \ maintainer-clean-noinstPROGRAMS \ maintainer-clean-ubinPROGRAMS \ maintainer-clean-usbinPROGRAMS maintainer-clean-compile \ maintainer-clean-libtool maintainer-clean-tags \ - maintainer-clean-generic distclean + maintainer-clean-generic distclean-am @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." +maintainer-clean: maintainer-clean-am + .PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ @@ -850,10 +869,12 @@ uninstall-usbinPROGRAMS install-usbinPROGRAMS mostlyclean-compile \ distclean-compile clean-compile maintainer-clean-compile \ mostlyclean-libtool distclean-libtool clean-libtool \ maintainer-clean-libtool tags mostlyclean-tags distclean-tags \ -clean-tags maintainer-clean-tags distdir info dvi installcheck \ -install-exec install-data install uninstall all installdirs \ -mostlyclean-generic distclean-generic clean-generic \ -maintainer-clean-generic clean mostlyclean distclean maintainer-clean +clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \ +check-am installcheck-am installcheck install-exec-am install-exec \ +install-data-am install-data install-am install uninstall-am uninstall \ +all-redirect all-am all installdirs mostlyclean-generic \ +distclean-generic clean-generic maintainer-clean-generic clean \ +mostlyclean distclean maintainer-clean install-exec-hook: diff --git a/src/chage.c b/src/chage.c index 3de78398..ebc204f6 100644 --- a/src/chage.c +++ b/src/chage.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: chage.c,v 1.15 1999/06/07 16:40:45 marekm Exp $") +RCSID(PKG_VER "$Id: chage.c,v 1.16 1999/08/27 19:02:51 marekm Exp $") #include #include @@ -306,10 +306,10 @@ list_fields(void) * is when the active will be disabled. */ - printf ("Password Inactive:\t"); + printf(_("Password Inactive:\t")); if (lastday <= 0 || inactdays <= 0 || maxdays >= 10000*(DAY/SCALE) || maxdays <= 0) { - printf ("Never\n"); + printf (_("Never\n")); } else { expires = changed + (maxdays + inactdays) * SCALE; print_date(expires); @@ -320,9 +320,9 @@ list_fields(void) * password expiring or not. */ - printf ("Account Expires:\t"); + printf(_("Account Expires:\t")); if (expdays <= 0) { - printf ("Never\n"); + printf (_("Never\n")); } else { expires = expdays * SCALE; print_date(expires); diff --git a/src/dpasswd.c b/src/dpasswd.c index eeb22ce5..92eb0dc4 100644 --- a/src/dpasswd.c +++ b/src/dpasswd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: dpasswd.c,v 1.9 1999/06/07 16:40:45 marekm Exp $") +RCSID(PKG_VER "$Id: dpasswd.c,v 1.10 1999/08/27 19:02:51 marekm Exp $") #include #include @@ -133,13 +133,13 @@ main(int argc, char **argv) dent.du_passwd = ""; /* XXX warning: const */ again: - if (! (cp = getpass(_("Shell password:")))) + if (! (cp = getpass(_("Shell password: ")))) exit (1); STRFCPY(pass, cp); strzero(cp); - if (! (cp = getpass(_("re-enter Shell password:")))) + if (! (cp = getpass(_("re-enter Shell password: ")))) exit (1); if (strcmp (pass, cp)) { diff --git a/src/gpasswd.c b/src/gpasswd.c index eb123510..43bd9e9e 100644 --- a/src/gpasswd.c +++ b/src/gpasswd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: gpasswd.c,v 1.14 1999/06/07 16:40:45 marekm Exp $") +RCSID(PKG_VER "$Id: gpasswd.c,v 1.15 1999/08/27 19:02:51 marekm Exp $") #include #include @@ -537,12 +537,12 @@ main(int argc, char **argv) printf(_("Changing the password for group %s\n"), group); for (retries = 0; retries < RETRIES; retries++) { - if (! (cp = getpass(_("New Password:")))) + if (! (cp = getpass(_("New Password: ")))) exit (1); STRFCPY(pass, cp); strzero(cp); - if (! (cp = getpass (_("Re-enter new password:")))) + if (! (cp = getpass (_("Re-enter new password: ")))) exit (1); if (strcmp(pass, cp) == 0) { diff --git a/src/login.c b/src/login.c index f4906cba..224dd5e8 100644 --- a/src/login.c +++ b/src/login.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: login.c,v 1.15 1999/06/07 16:40:45 marekm Exp $") +RCSID(PKG_VER "$Id: login.c,v 1.16 1999/08/27 19:02:51 marekm Exp $") #include "prototypes.h" #include "defines.h" @@ -218,7 +218,6 @@ setup_tty(void) * Add your favorite terminal modes here ... */ -#ifndef USE_SGTTY termio.c_lflag |= ISIG|ICANON|ECHO|ECHOE; termio.c_iflag |= ICRNL; @@ -261,8 +260,6 @@ setup_tty(void) * effect after the first username login */ -#else -#endif /* !BSD */ STTY(0, &termio); } diff --git a/src/logoutd.c b/src/logoutd.c index 200cc4fd..44c6b2c9 100644 --- a/src/logoutd.c +++ b/src/logoutd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: logoutd.c,v 1.13 1999/06/07 16:40:45 marekm Exp $") +RCSID(PKG_VER "$Id: logoutd.c,v 1.14 1999/08/27 19:02:51 marekm Exp $") #include #include @@ -51,59 +51,18 @@ RCSID(PKG_VER "$Id: logoutd.c,v 1.13 1999/06/07 16:40:45 marekm Exp $") static char *Prog; -static char *mesg_buf = "login time exceeded\r\n"; /* XXX warning: const */ -static int mesg_len = 21; -static int mesg_size; +#ifndef DEFAULT_HUP_MESG +#define DEFAULT_HUP_MESG "login time exceeded\r\n" +#endif #ifndef HUP_MESG_FILE #define HUP_MESG_FILE "/etc/logoutd.mesg" #endif /* local function prototypes */ -static RETSIGTYPE reload_mesg P_((int)); static int check_login P_((const struct utmp *)); int main P_((int, char **)); -/* - * reload_mesg - reload the message that is output when killing a process - */ - -static RETSIGTYPE -reload_mesg(int sig) -{ - int fd; - struct stat sb; - - signal (sig, reload_mesg); - - if (stat (HUP_MESG_FILE, &sb)) - return; - - if ((sb.st_mode & S_IFMT) != S_IFREG) - return; - - if ((fd = open (HUP_MESG_FILE, O_RDONLY)) != -1) { - if (sb.st_size + 1 > mesg_size) { - if (mesg_buf && mesg_size) - free (mesg_buf); - - mesg_len = sb.st_size; - mesg_size = mesg_len + 1; - if (! (mesg_buf = (char *) malloc (mesg_len + 1))) - goto end; - } else - mesg_len = sb.st_size; - - if (read (fd, mesg_buf, mesg_len) != mesg_len) { - mesg_len = 0; - goto end; - } - } else - return; - -end: - close (fd); -} /* * check_login - check if user (struct utmp) allowed to stay logged in @@ -140,6 +99,47 @@ check_login(const struct utmp *ut) return 1; } + +static void +send_mesg_to_tty(int tty_fd) +{ + TERMIO oldt, newt; + FILE *mesg_file, *tty_file; + int c, is_tty; + + tty_file = fdopen(tty_fd, "w"); + if (!tty_file) + return; + + is_tty = (GTTY(tty_fd, &oldt) == 0); + if (is_tty) { + /* Suggested by Ivan Nejgebauar : + set OPOST before writing the message. */ + newt = oldt; + newt.c_oflag |= OPOST; + STTY(tty_fd, &newt); + } + + mesg_file = fopen(HUP_MESG_FILE, "r"); + if (mesg_file) { + while ((c = getc(mesg_file)) != EOF) { + if (c == '\n') + putc('\r', tty_file); + putc(c, tty_file); + } + fclose(mesg_file); + } else { + fputs(DEFAULT_HUP_MESG, tty_file); + } + fflush(tty_file); + fclose(tty_file); + + if (is_tty) { + STTY(tty_fd, &oldt); + } +} + + /* * logoutd - logout daemon to enforce /etc/porttime file policy * @@ -154,6 +154,7 @@ main(int argc, char **argv) { int i; int status; + pid_t pid; struct utmp *ut; char user[sizeof(ut->ut_user) + 1]; /* terminating NUL */ char tty_name[sizeof(ut->ut_line) + 6]; /* /dev/ + NUL */ @@ -177,14 +178,19 @@ main(int argc, char **argv) setpgid(getpid(), getpid()); /* BSD || SUN || SUN4 */ #endif /* !HAVE_SETPGRP */ - reload_mesg (SIGHUP); - /* * Put this process in the background. */ - if ((i = fork ())) - exit (i < 0 ? 1:0); + pid = fork(); + if (pid > 0) { + /* parent */ + exit(0); + } else if (pid < 0) { + /* error */ + perror("fork"); + exit(1); + } #endif /* !DEBUG */ /* @@ -201,9 +207,6 @@ main(int argc, char **argv) */ while (1) { -#ifndef DEBUG - sleep(60); -#endif /* * Attempt to re-open the utmp file. The file is only @@ -233,8 +236,15 @@ main(int argc, char **argv) * keeps the scan from waiting on other ports to die. */ - if (fork() != 0) + pid = fork(); + if (pid > 0) { + /* parent */ continue; + } else if (pid < 0) { + /* failed - give up until the next scan */ + break; + } + /* child */ if (strncmp(ut->ut_line, "/dev/", 5) != 0) strcpy(tty_name, "/dev/"); @@ -245,22 +255,10 @@ main(int argc, char **argv) #ifndef O_NOCTTY #define O_NOCTTY 0 #endif - if ((tty_fd = open (tty_name, - O_WRONLY|O_NDELAY|O_NOCTTY)) != -1) { -/* Suggested by Ivan Nejgebauar : set OPOST - before writing the message. --marekm */ - TERMIO oldt, newt; - - GTTY(tty_fd, &oldt); - newt = oldt; -#ifdef OPOST - newt.c_oflag |= OPOST; -#else /* XXX - I'm too young to know bsd sgtty, sorry :). --marekm */ -#endif - STTY(tty_fd, &newt); - write (tty_fd, mesg_buf, mesg_len); - STTY(tty_fd, &oldt); - close (tty_fd); + tty_fd = open(tty_name, O_WRONLY|O_NDELAY|O_NOCTTY); + if (tty_fd != -1) { + send_mesg_to_tty(tty_fd); + close(tty_fd); sleep(10); } #ifdef USER_PROCESS /* USG_UTMP */ @@ -282,19 +280,11 @@ main(int argc, char **argv) close (tty_fd); #endif /* BSD || SUN || SUN4 */ -#if 0 - SYSLOG((LOG_NOTICE, - "logged off user `%.*s' on `%.*s'\n", - (int) sizeof(ut->ut_user), ut->ut_user, - (int) sizeof(ut->ut_line), ut->ut_line)); -#else - /* avoid gcc warnings about %.*s in syslog() */ strncpy(user, ut->ut_line, sizeof(user) - 1); user[sizeof(user) - 1] = '\0'; SYSLOG((LOG_NOTICE, "logged off user `%s' on `%s'\n", user, tty_name)); -#endif /* * This child has done all it can, drop dead. @@ -305,6 +295,9 @@ main(int argc, char **argv) endutent(); +#ifndef DEBUG + sleep(60); +#endif /* * Reap any dead babies ... */ diff --git a/src/newgrp.c b/src/newgrp.c index 523b9e20..cf22f499 100644 --- a/src/newgrp.c +++ b/src/newgrp.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: newgrp.c,v 1.13 1999/07/09 18:02:43 marekm Exp $") +RCSID(PKG_VER "$Id: newgrp.c,v 1.14 1999/08/27 19:02:51 marekm Exp $") #include #include @@ -66,7 +66,7 @@ usage(void) if (is_newgrp) fprintf (stderr, _("usage: newgrp [ - ] [ group ]\n")); else - fprintf (stderr, _("usage: sg group [ command ]\n")); + fprintf (stderr, _("usage: sg group [[-c] command ]\n")); } /* @@ -163,7 +163,15 @@ main(int argc, char **argv) exit (1); } if (argc > 0) { - command = argv[1]; + + /* skip -c if specified so both forms work: + "sg group -c command" (as in the man page) or + "sg group command" (as in the usage message). */ + + if (argc > 1 && strcmp(argv[0], "-c") == 0) + command = argv[1]; + else + command = argv[0]; cflag++; } } else { @@ -209,8 +217,6 @@ main(int argc, char **argv) for (;;) { grouplist = (GETGROUPS_T *) xmalloc(i * sizeof(GETGROUPS_T)); ngroups = getgroups(i, grouplist); - /* XXX Bug#38672 - login: newgrp/sg fails with user in 17 groups */ if (i > ngroups && !(ngroups == -1 && errno == EINVAL)) break; /* not enough room, so try allocating a larger buffer */ @@ -288,7 +294,7 @@ main(int argc, char **argv) * the decryption from the group file. */ - if (! (cp = getpass (_("Password:")))) + if (! (cp = getpass (_("Password: ")))) goto failure; /* @@ -443,6 +449,12 @@ okay: addenv(*envp++, NULL); } + /* sanitize_env() removes $HOME from the environment (maybe it + shouldn't - please tell me if you are sure that $HOME can't + cause security problems) - add it from user's passwd entry. + */ + addenv("HOME", pwd->pw_dir); + /* * exec the login shell and go away. we are trying to get * back to the previous environment which should be the diff --git a/src/passwd.c b/src/passwd.c index 1f4480d1..2ab85437 100644 --- a/src/passwd.c +++ b/src/passwd.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: passwd.c,v 1.17 1999/07/09 18:02:43 marekm Exp $") +RCSID(PKG_VER "$Id: passwd.c,v 1.18 1999/08/27 19:02:51 marekm Exp $") #include "prototypes.h" #include "defines.h" @@ -353,7 +353,7 @@ new_password(const struct passwd *pw) if (! amroot && crypt_passwd[0]) { #endif - if (!(clear = getpass(_("Old password:")))) + if (!(clear = getpass(_("Old password: ")))) return -1; cipher = pw_encrypt(clear, crypt_passwd); @@ -398,7 +398,7 @@ Please use a combination of upper and lower case letters and numbers.\n"), warned = 0; for (i = getdef_num("PASS_CHANGE_TRIES", 5); i > 0; i--) { - if (!(cp = getpass(_("New password:")))) { + if (!(cp = getpass(_("New password: ")))) { memzero(orig, sizeof orig); return -1; } @@ -421,7 +421,7 @@ Please use a combination of upper and lower case letters and numbers.\n"), warned++; continue; } - if (!(cp = getpass(_("Re-enter new password:")))) { + if (!(cp = getpass(_("Re-enter new password: ")))) { memzero(orig, sizeof orig); return -1; } diff --git a/src/sulogin.c b/src/sulogin.c index a977cc25..b987b286 100644 --- a/src/sulogin.c +++ b/src/sulogin.c @@ -30,7 +30,7 @@ #include #include "rcsid.h" -RCSID(PKG_VER "$Id: sulogin.c,v 1.9 1999/06/07 16:40:45 marekm Exp $") +RCSID(PKG_VER "$Id: sulogin.c,v 1.10 1999/08/27 19:02:51 marekm Exp $") #include "prototypes.h" #include "defines.h" @@ -94,12 +94,6 @@ main(int argc, char **argv) char **envp = environ; TERMIO termio; -#ifdef USE_SGTTY - ioctl (0, TIOCGETP, &termio); - termio.sg_flags |= (ECHO|CRMOD); - termio.sg_flags &= ~(RAW|CBREAK); - ioctl (0, TIOCSETN, &termio); -#endif #ifdef USE_TERMIO ioctl (0, TCGETA, &termio); termio.c_iflag |= (ICRNL|IXON);