diff options
Diffstat (limited to 'fastjar')
-rw-r--r-- | fastjar/ChangeLog | 37 | ||||
-rw-r--r-- | fastjar/Makefile.am | 19 | ||||
-rw-r--r-- | fastjar/Makefile.in | 136 | ||||
-rw-r--r-- | fastjar/aclocal.m4 | 33 | ||||
-rw-r--r-- | fastjar/config.h.in | 3 | ||||
-rwxr-xr-x | fastjar/configure | 237 | ||||
-rw-r--r-- | fastjar/configure.in | 6 | ||||
-rw-r--r-- | fastjar/jargrep.c | 82 | ||||
-rw-r--r-- | fastjar/jargrep.h | 6 | ||||
-rw-r--r-- | fastjar/jartool.c | 243 |
10 files changed, 580 insertions, 222 deletions
diff --git a/fastjar/ChangeLog b/fastjar/ChangeLog index 05ef458..26089d8 100644 --- a/fastjar/ChangeLog +++ b/fastjar/ChangeLog @@ -1,3 +1,40 @@ +2002-01-09 Tom Tromey <tromey@redhat.com> + + For PR libgcj/5303: + * jargrep.h: Removed RCS keywords. + (GVERSION): Removed. + * configure, Makefile.in, config.h.in: Rebuilt. + * configure.in: Added AM_MAINTAINER_MODE. + Don't look for getopt.h. Use `fastjar' as package name. + * Makefile.am (INCLUDES): Look in ../include. + (LIBIBERTY): New macro. + (jar_LDADD): Use it. + (jar_DEPENDENCIES): Likewise. + (grepjar_LDADD): Likewise. + (grepjar_DEPENDENCIES): Likewise. + * jargrep.c: Removed RCS keywords. Always include getopt.h. + (LONG_OPT): New macro. + (OPT_HELP): Likewise. + (main): Use getopt_long. Let getopt print invalid argument + message. Handle --help. Use version(). + (version): New function. + (optarg, optind): Don't declare. + (option_vec): New global. + (help): New function. + (Usage): Updated to GNU standards. + * jartool.c: Removed RCS keywords. Include getopt.h. + (LONG_OPT): New macro. + (OPT_HELP): Likewise. + (options): New global. + (help): New function. + (usage): Print a single line. + (version): New function. + (expand_options): New function. + (main): Use getopt_long and expand_options. Fail if `-u' + specified. Changed handling of -f, -m, -V options. + (OPTION_STRING): New macro. + (version_string): Removed. + 2001-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org> PR bootstrap/5117 diff --git a/fastjar/Makefile.am b/fastjar/Makefile.am index 795575d..734786b 100644 --- a/fastjar/Makefile.am +++ b/fastjar/Makefile.am @@ -38,14 +38,19 @@ AM_MAKEFLAGS = \ "RANLIB=$(RANLIB)" \ "DESTDIR=$(DESTDIR)" -INCLUDES = -I. -I$(top_srcdir) $(ZINCS) +INCLUDES = -I. -I$(top_srcdir) $(ZINCS) -I$(top_srcdir)/../include + +LIBIBERTY = ../libiberty/libiberty.a bin_PROGRAMS = jar grepjar -jar_SOURCES = jartool.c dostime.c compress.c pushback.c jartool.h zipfile.h dostime.h compress.h pushback.h -jar_LDADD = $(ZLIBS) -jar_DEPENDENCIES = $(ZDEPS) -grepjar_SOURCES = jargrep.c dostime.c compress.c pushback.c jartool.h zipfile.h dostime.h compress.h pushback.h -grepjar_LDADD = $(ZLIBS) -grepjar_DEPENDENCIES = $(ZDEPS) +jar_SOURCES = jartool.c dostime.c compress.c pushback.c jartool.h \ +zipfile.h dostime.h compress.h pushback.h +jar_LDADD = $(ZLIBS) $(LIBIBERTY) +jar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) + +grepjar_SOURCES = jargrep.c dostime.c compress.c pushback.c jartool.h \ +zipfile.h dostime.h compress.h pushback.h +grepjar_LDADD = $(ZLIBS) $(LIBIBERTY) +grepjar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) AM_CFLAGS = @fastjar_warn_cflags@ diff --git a/fastjar/Makefile.in b/fastjar/Makefile.in index aab9249..83f1e1f 100644 --- a/fastjar/Makefile.in +++ b/fastjar/Makefile.in @@ -67,6 +67,7 @@ CC = @CC@ CHMOD = @CHMOD@ CP = @CP@ EXEEXT = @EXEEXT@ +MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ PACKAGE = @PACKAGE@ RM = @RM@ @@ -77,18 +78,58 @@ ZINCS = @ZINCS@ ZLIBS = @ZLIBS@ fastjar_warn_cflags = @fastjar_warn_cflags@ -AM_MAKEFLAGS = "AR_FLAGS=$(AR_FLAGS)" "CC_FOR_BUILD=$(CC_FOR_BUILD)" "CFLAGS=$(CFLAGS)" "CXXFLAGS=$(CXXFLAGS)" "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" "INSTALL=$(INSTALL)" "INSTALL_DATA=$(INSTALL_DATA)" "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" "JC1FLAGS=$(JC1FLAGS)" "LDFLAGS=$(LDFLAGS)" "LIBCFLAGS=$(LIBCFLAGS)" "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" "MAKE=$(MAKE)" "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" "PICFLAG=$(PICFLAG)" "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" "SHELL=$(SHELL)" "exec_prefix=$(exec_prefix)" "infodir=$(infodir)" "libdir=$(libdir)" "prefix=$(prefix)" "AR=$(AR)" "AS=$(AS)" "CC=$(CC)" "CXX=$(CXX)" "LD=$(LD)" "LIBCFLAGS=$(LIBCFLAGS)" "NM=$(NM)" "PICFLAG=$(PICFLAG)" "RANLIB=$(RANLIB)" "DESTDIR=$(DESTDIR)" +AM_MAKEFLAGS = \ + "AR_FLAGS=$(AR_FLAGS)" \ + "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ + "CFLAGS=$(CFLAGS)" \ + "CXXFLAGS=$(CXXFLAGS)" \ + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ + "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \ + "INSTALL=$(INSTALL)" \ + "INSTALL_DATA=$(INSTALL_DATA)" \ + "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ + "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ + "JC1FLAGS=$(JC1FLAGS)" \ + "LDFLAGS=$(LDFLAGS)" \ + "LIBCFLAGS=$(LIBCFLAGS)" \ + "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ + "MAKE=$(MAKE)" \ + "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \ + "PICFLAG=$(PICFLAG)" \ + "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \ + "SHELL=$(SHELL)" \ + "exec_prefix=$(exec_prefix)" \ + "infodir=$(infodir)" \ + "libdir=$(libdir)" \ + "prefix=$(prefix)" \ + "AR=$(AR)" \ + "AS=$(AS)" \ + "CC=$(CC)" \ + "CXX=$(CXX)" \ + "LD=$(LD)" \ + "LIBCFLAGS=$(LIBCFLAGS)" \ + "NM=$(NM)" \ + "PICFLAG=$(PICFLAG)" \ + "RANLIB=$(RANLIB)" \ + "DESTDIR=$(DESTDIR)" + + +INCLUDES = -I. -I$(top_srcdir) $(ZINCS) -I$(top_srcdir)/../include + +LIBIBERTY = ../libiberty/libiberty.a +bin_PROGRAMS = jar grepjar +jar_SOURCES = jartool.c dostime.c compress.c pushback.c jartool.h \ +zipfile.h dostime.h compress.h pushback.h -INCLUDES = -I. -I$(top_srcdir) $(ZINCS) +jar_LDADD = $(ZLIBS) $(LIBIBERTY) +jar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) -bin_PROGRAMS = jar grepjar -jar_SOURCES = jartool.c dostime.c compress.c pushback.c jartool.h zipfile.h dostime.h compress.h pushback.h -jar_LDADD = $(ZLIBS) -jar_DEPENDENCIES = $(ZDEPS) -grepjar_SOURCES = jargrep.c dostime.c compress.c pushback.c jartool.h zipfile.h dostime.h compress.h pushback.h -grepjar_LDADD = $(ZLIBS) -grepjar_DEPENDENCIES = $(ZDEPS) +grepjar_SOURCES = jargrep.c dostime.c compress.c pushback.c jartool.h \ +zipfile.h dostime.h compress.h pushback.h + +grepjar_LDADD = $(ZLIBS) $(LIBIBERTY) +grepjar_DEPENDENCIES = $(ZDEPS) $(LIBIBERTY) AM_CFLAGS = @fastjar_warn_cflags@ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -118,27 +159,29 @@ configure.in install-defs.sh.in install-sh missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best +DEP_FILES = .deps/compress.P .deps/dostime.P .deps/jargrep.P \ +.deps/jartool.P .deps/pushback.P SOURCES = $(jar_SOURCES) $(grepjar_SOURCES) OBJECTS = $(jar_OBJECTS) $(grepjar_OBJECTS) all: all-redirect .SUFFIXES: .SUFFIXES: .S .c .o .s -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) - cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) + cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) cd $(top_builddir) \ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status -$(ACLOCAL_M4): configure.in +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in cd $(srcdir) && $(ACLOCAL) config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) +$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) config.h: stamp-h @@ -151,7 +194,7 @@ stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status && CONFIG_FILES= CONFIG_HEADERS=config.h \ $(SHELL) ./config.status @echo timestamp > stamp-h 2> /dev/null -$(srcdir)/config.h.in: $(srcdir)/stamp-h.in +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in @if test ! -f $@; then \ rm -f $(srcdir)/stamp-h.in; \ $(MAKE) $(srcdir)/stamp-h.in; \ @@ -196,9 +239,6 @@ uninstall-binPROGRAMS: rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ done -.c.o: - $(COMPILE) -c $< - .s.o: $(COMPILE) -c $< @@ -290,16 +330,53 @@ distdir: $(DISTFILES) -rm -rf $(distdir) mkdir $(distdir) -chmod 777 $(distdir) + here=`cd $(top_builddir) && pwd`; \ + top_distdir=`cd $(distdir) && pwd`; \ + distdir=`cd $(distdir) && pwd`; \ + cd $(top_srcdir) \ + && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$d/$$file $(distdir)/$$file; \ + 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 + +DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :) + +-include $(DEP_FILES) + +mostlyclean-depend: + +clean-depend: + +distclean-depend: + -rm -rf .deps + +maintainer-clean-depend: + +%.o: %.c + @echo '$(COMPILE) -c $<'; \ + $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-cp .deps/$(*F).pp .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm .deps/$(*F).pp + +%.lo: %.c + @echo '$(LTCOMPILE) -c $<'; \ + $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $< + @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \ + < .deps/$(*F).pp > .deps/$(*F).P; \ + tr ' ' '\012' < .deps/$(*F).pp \ + | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \ + >> .deps/$(*F).P; \ + rm -f .deps/$(*F).pp info-am: info: info-am dvi-am: @@ -340,25 +417,27 @@ distclean-generic: maintainer-clean-generic: mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \ - mostlyclean-compile mostlyclean-tags \ + mostlyclean-compile mostlyclean-tags mostlyclean-depend \ mostlyclean-generic mostlyclean: mostlyclean-am clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \ - clean-generic mostlyclean-am + clean-depend clean-generic mostlyclean-am clean: clean-am distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \ - distclean-tags distclean-generic clean-am + distclean-tags distclean-depend distclean-generic \ + clean-am distclean: distclean-am -rm -f config.status maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \ maintainer-clean-compile maintainer-clean-tags \ - maintainer-clean-generic distclean-am + maintainer-clean-depend 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." @@ -370,10 +449,11 @@ mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ mostlyclean-compile distclean-compile clean-compile \ maintainer-clean-compile tags mostlyclean-tags 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 \ +clean-tags maintainer-clean-tags distdir mostlyclean-depend \ +distclean-depend clean-depend maintainer-clean-depend 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 \ mostlyclean-generic distclean-generic clean-generic \ maintainer-clean-generic clean mostlyclean distclean maintainer-clean diff --git a/fastjar/aclocal.m4 b/fastjar/aclocal.m4 index f23ba29..29f008d 100644 --- a/fastjar/aclocal.m4 +++ b/fastjar/aclocal.m4 @@ -125,3 +125,36 @@ for am_file in <<$1>>; do done<<>>dnl>>) changequote([,]))]) +# Add --enable-maintainer-mode option to configure. +# From Jim Meyering + +# serial 1 + +AC_DEFUN(AM_MAINTAINER_MODE, +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT($USE_MAINTAINER_MODE) + AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) + +# Define a conditional. + +AC_DEFUN(AM_CONDITIONAL, +[AC_SUBST($1_TRUE) +AC_SUBST($1_FALSE) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi]) + diff --git a/fastjar/config.h.in b/fastjar/config.h.in index 7cb0882..d1c71b0 100644 --- a/fastjar/config.h.in +++ b/fastjar/config.h.in @@ -34,9 +34,6 @@ /* Define if you have the <fcntl.h> header file. */ #undef HAVE_FCNTL_H -/* Define if you have the <getopt.h> header file. */ -#undef HAVE_GETOPT_H - /* Define if you have the <ndir.h> header file. */ #undef HAVE_NDIR_H diff --git a/fastjar/configure b/fastjar/configure index 9889316..1ffe8f6 100755 --- a/fastjar/configure +++ b/fastjar/configure @@ -12,6 +12,9 @@ ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer" +ac_help="$ac_help --with-system-zlib use installed libz" # Initialize some variables set by options. @@ -30,6 +33,7 @@ program_suffix=NONE program_transform_name=s,x,x, silent= site= +sitefile= srcdir= target=NONE verbose= @@ -144,6 +148,7 @@ Configuration: --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages + --site-file=FILE use FILE as the site file --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX @@ -314,6 +319,11 @@ EOF -site=* | --site=* | --sit=*) site="$ac_optarg" ;; + -site-file | --site-file | --site-fil | --site-fi | --site-f) + ac_prev=sitefile ;; + -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) + sitefile="$ac_optarg" ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) @@ -479,12 +489,16 @@ fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" +if test -z "$sitefile"; then + if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi fi +else + CONFIG_SITE="$sitefile" fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then @@ -554,7 +568,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # 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:558: checking for a BSD compatible install" >&5 +echo "configure:572: 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 @@ -607,7 +621,7 @@ 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:611: checking whether build environment is sane" >&5 +echo "configure:625: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -664,7 +678,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:668: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:682: 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 @@ -691,7 +705,7 @@ else fi -PACKAGE=fastar +PACKAGE=fastjar VERSION=0.92-gcc @@ -710,7 +724,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:714: checking for working aclocal" >&5 +echo "configure:728: 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. @@ -723,7 +737,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:727: checking for working autoconf" >&5 +echo "configure:741: 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. @@ -736,7 +750,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:740: checking for working automake" >&5 +echo "configure:754: 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. @@ -749,7 +763,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:753: checking for working autoheader" >&5 +echo "configure:767: 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. @@ -762,7 +776,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:766: checking for working makeinfo" >&5 +echo "configure:780: 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. @@ -782,7 +796,7 @@ fi # 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:786: checking for $ac_word" >&5 +echo "configure:800: 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 @@ -812,7 +826,7 @@ 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:816: checking for $ac_word" >&5 +echo "configure:830: 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 @@ -863,7 +877,7 @@ fi # 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:867: checking for $ac_word" >&5 +echo "configure:881: 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 @@ -895,7 +909,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:899: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:913: 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. @@ -906,12 +920,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 910 "configure" +#line 924 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:929: \"$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 @@ -937,12 +951,12 @@ 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:941: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:955: 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:946: checking whether we are using GNU C" >&5 +echo "configure:960: 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 @@ -951,7 +965,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:955: \"$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:969: \"$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 @@ -970,7 +984,7 @@ 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:974: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:988: 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 @@ -1013,7 +1027,7 @@ fi # 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:1017: checking for a BSD compatible install" >&5 +echo "configure:1031: 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 @@ -1068,7 +1082,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # Extract the first word of "rm", so it can be a program name with args. set dummy rm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1072: checking for $ac_word" >&5 +echo "configure:1086: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1104,7 +1118,7 @@ fi # Extract the first word of "cp", so it can be a program name with args. set dummy cp; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1108: checking for $ac_word" >&5 +echo "configure:1122: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1140,7 +1154,7 @@ fi # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1144: checking for $ac_word" >&5 +echo "configure:1158: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1176,7 +1190,7 @@ fi # Extract the first word of "chmod", so it can be a program name with args. set dummy chmod; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1180: checking for $ac_word" >&5 +echo "configure:1194: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1210,12 +1224,12 @@ else fi echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:1214: checking for Cygwin environment" >&5 +echo "configure:1228: checking for Cygwin environment" >&5 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1219 "configure" +#line 1233 "configure" #include "confdefs.h" int main() { @@ -1226,7 +1240,7 @@ int main() { return __CYGWIN__; ; return 0; } EOF -if { (eval echo configure:1230: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1244: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_cygwin=yes else @@ -1243,19 +1257,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6 CYGWIN= test "$ac_cv_cygwin" = yes && CYGWIN=yes echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:1247: checking for mingw32 environment" >&5 +echo "configure:1261: checking for mingw32 environment" >&5 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1252 "configure" +#line 1266 "configure" #include "confdefs.h" int main() { return __MINGW32__; ; return 0; } EOF -if { (eval echo configure:1259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1273: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_mingw32=yes else @@ -1274,7 +1288,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:1278: checking for executable suffix" >&5 +echo "configure:1292: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1284,10 +1298,10 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:1288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:1302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in - *.c | *.o | *.obj) ;; + *.c | *.o | *.obj | *.ilk | *.pdb) ;; *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; esac done @@ -1305,6 +1319,30 @@ echo "$ac_t""${ac_cv_exeext}" 1>&6 ac_exeext=$EXEEXT +echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 +echo "configure:1324: checking whether to enable maintainer-specific portions of Makefiles" >&5 + # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval="$enable_maintainer_mode" + USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6 + + +if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + MAINT=$MAINTAINER_MODE_TRUE + + + if test "$GCC" = yes; then fastjar_warn_cflags='-W -Wall -pedantic -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings' fi @@ -1315,12 +1353,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:1319: checking for $ac_hdr that defines DIR" >&5 +echo "configure:1357: 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 <<EOF -#line 1324 "configure" +#line 1362 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_hdr> @@ -1328,7 +1366,7 @@ int main() { DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:1332: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -1353,7 +1391,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:1357: checking for opendir in -ldir" >&5 +echo "configure:1395: 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 @@ -1361,7 +1399,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <<EOF -#line 1365 "configure" +#line 1403 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1372,7 +1410,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:1376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1414: \"$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 @@ -1394,7 +1432,7 @@ fi else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:1398: checking for opendir in -lx" >&5 +echo "configure:1436: 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 @@ -1402,7 +1440,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <<EOF -#line 1406 "configure" +#line 1444 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1413,7 +1451,7 @@ int main() { opendir() ; return 0; } EOF -if { (eval echo configure:1417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1455: \"$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 @@ -1436,7 +1474,7 @@ fi fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1440: checking how to run the C preprocessor" >&5 +echo "configure:1478: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1451,13 +1489,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1455 "configure" +#line 1493 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1499: \"$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 : @@ -1468,13 +1506,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1472 "configure" +#line 1510 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1478: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1516: \"$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 : @@ -1485,13 +1523,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 1489 "configure" +#line 1527 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1533: \"$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 : @@ -1516,12 +1554,12 @@ fi echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1520: checking for ANSI C header files" >&5 +echo "configure:1558: 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 <<EOF -#line 1525 "configure" +#line 1563 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -1529,7 +1567,7 @@ else #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1533: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1571: \"$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* @@ -1546,7 +1584,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 -#line 1550 "configure" +#line 1588 "configure" #include "confdefs.h" #include <string.h> EOF @@ -1564,7 +1602,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 -#line 1568 "configure" +#line 1606 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -1585,7 +1623,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext <<EOF -#line 1589 "configure" +#line 1627 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1596,7 +1634,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:1600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1620,12 +1658,12 @@ EOF fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:1624: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:1662: 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 <<EOF -#line 1629 "configure" +#line 1667 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -1633,7 +1671,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:1637: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1675: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -1653,21 +1691,21 @@ EOF fi -for ac_hdr in fcntl.h unistd.h sys/param.h getopt.h stdlib.h +for ac_hdr in fcntl.h unistd.h sys/param.h stdlib.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1661: checking for $ac_hdr" >&5 +echo "configure:1699: 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 -#line 1666 "configure" +#line 1704 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1671: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1709: \"$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* @@ -1695,12 +1733,12 @@ done echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:1699: checking for off_t" >&5 +echo "configure:1737: 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 <<EOF -#line 1704 "configure" +#line 1742 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -1728,12 +1766,12 @@ EOF fi echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:1732: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:1770: 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 <<EOF -#line 1737 "configure" +#line 1775 "configure" #include "confdefs.h" #include <sys/types.h> #include <time.h> @@ -1741,7 +1779,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:1745: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -1763,7 +1801,7 @@ fi echo $ac_n "checking size of char""... $ac_c" 1>&6 -echo "configure:1767: checking size of char" >&5 +echo "configure:1805: checking size of char" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_char'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1771,7 +1809,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 1775 "configure" +#line 1813 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -1782,7 +1820,7 @@ main() exit(0); } EOF -if { (eval echo configure:1786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_char=`cat conftestval` else @@ -1802,7 +1840,7 @@ EOF echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:1806: checking size of short" >&5 +echo "configure:1844: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1810,7 +1848,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 1814 "configure" +#line 1852 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -1821,7 +1859,7 @@ main() exit(0); } EOF -if { (eval echo configure:1825: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else @@ -1841,7 +1879,7 @@ EOF echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:1845: checking size of int" >&5 +echo "configure:1883: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1849,7 +1887,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 1853 "configure" +#line 1891 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -1860,7 +1898,7 @@ main() exit(0); } EOF -if { (eval echo configure:1864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else @@ -1880,7 +1918,7 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:1884: checking size of long" >&5 +echo "configure:1922: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1888,7 +1926,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 1892 "configure" +#line 1930 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -1899,7 +1937,7 @@ main() exit(0); } EOF -if { (eval echo configure:1903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else @@ -1919,7 +1957,7 @@ EOF echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:1923: checking size of long long" >&5 +echo "configure:1961: checking size of long long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1927,7 +1965,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 1931 "configure" +#line 1969 "configure" #include "confdefs.h" #include <stdio.h> main() @@ -1938,7 +1976,7 @@ main() exit(0); } EOF -if { (eval echo configure:1942: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_long=`cat conftestval` else @@ -1959,14 +1997,14 @@ EOF echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:1963: checking whether byte ordering is bigendian" >&5 +echo "configure:2001: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext <<EOF -#line 1970 "configure" +#line 2008 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -1977,11 +2015,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1981: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext <<EOF -#line 1985 "configure" +#line 2023 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -1992,7 +2030,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:1996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -2012,7 +2050,7 @@ if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 2016 "configure" +#line 2054 "configure" #include "confdefs.h" main () { /* Are we little or big endian? From Harbison&Steele. */ @@ -2025,7 +2063,7 @@ main () { exit (u.c[sizeof (long) - 1] == 1); } EOF -if { (eval echo configure:2029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -2062,7 +2100,7 @@ ZINCS= use_zlib=maybe if test "$with_system_zlib" = yes; then echo $ac_n "checking for deflate in -lz""... $ac_c" 1>&6 -echo "configure:2066: checking for deflate in -lz" >&5 +echo "configure:2104: checking for deflate in -lz" >&5 ac_lib_var=`echo z'_'deflate | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2070,7 +2108,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lz $LIBS" cat > conftest.$ac_ext <<EOF -#line 2074 "configure" +#line 2112 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -2081,7 +2119,7 @@ int main() { deflate() ; return 0; } EOF -if { (eval echo configure:2085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2123: \"$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 @@ -2266,6 +2304,9 @@ s%@CP@%$CP%g s%@STRIP@%$STRIP%g s%@CHMOD@%$CHMOD%g s%@EXEEXT@%$EXEEXT%g +s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g +s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g +s%@MAINT@%$MAINT%g s%@fastjar_warn_cflags@%$fastjar_warn_cflags%g s%@CPP@%$CPP%g s%@ZLIBS@%$ZLIBS%g diff --git a/fastjar/configure.in b/fastjar/configure.in index 5b98acf..a3e8e90 100644 --- a/fastjar/configure.in +++ b/fastjar/configure.in @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(jartool.h) -AM_INIT_AUTOMAKE(fastar, 0.92-gcc) +AM_INIT_AUTOMAKE(fastjar, 0.92-gcc) AM_CONFIG_HEADER(config.h) dnl Checks for programs. @@ -12,6 +12,8 @@ AC_PATH_PROG(STRIP, strip, /usr/bin/strip, $PATH:/bin:/usr/bin:/usr/local/bin) AC_PATH_PROG(CHMOD, chmod, /bin/chmod, $PATH:/bin:/usr/bin:/usr/local/bin) AC_EXEEXT +AM_MAINTAINER_MODE + dnl Add warning flags if we are using gcc. if test "$GCC" = yes; then fastjar_warn_cflags='-W -Wall -pedantic -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings' @@ -22,7 +24,7 @@ dnl Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_STRUCT_TM -AC_CHECK_HEADERS(fcntl.h unistd.h sys/param.h getopt.h stdlib.h) +AC_CHECK_HEADERS(fcntl.h unistd.h sys/param.h stdlib.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_TYPE_OFF_T diff --git a/fastjar/jargrep.c b/fastjar/jargrep.c index a1ea4bf..4c934a3 100644 --- a/fastjar/jargrep.c +++ b/fastjar/jargrep.c @@ -1,5 +1,6 @@ /* jargrep.c - main functions for jargrep utility + Copyright (C) 2002 Free Software Foundation Copyright (C) 1999, 2000 Bryan Burns Copyright (C) 2000 Cory Hollingsworth @@ -21,9 +22,24 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: jargrep.c,v 1.4 2000/12/15 18:45:09 tromey Exp $ +/* Id: jargrep.c,v 1.5 2002/01/03 04:57:56 rodrigc Exp + +Log: jargrep.c,v +Revision 1.5 2002/01/03 04:57:56 rodrigc +2001-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org> + + PR bootstrap/5117 + * configure.in (AC_CHECK_HEADERS): Check for stdlib.h. + * Makefile.am: Move grepjar to bin_PROGRAMS. + * config.h.in: Regenerated. + * Makefile.in: Regenerated. + * aclocal.m4: Regenerated. + * jargrep.c: Eliminate some signed/unsigned and default + uninitialized warnings. Use HAVE_STDLIB_H instead of + STDC_HEADERS macro. + * jartool.c: Likewise. + * compress.c: Likewise. -$Log: jargrep.c,v $ Revision 1.4 2000/12/15 18:45:09 tromey * jargrep.c: Include getopt.h if it exists. (optind): Declare. @@ -105,14 +121,12 @@ will test some other platforms later. #include "zipfile.h" #include "zlib.h" #include "compress.h" -#ifdef HAVE_GETOPT_H #include <getopt.h> -#endif -#define Usage "Usage: %s [-bcinsw] <-e regexp | regexp> file(s)\n" +void version(void); +void help(const char *name); -extern char *optarg; -extern int optind; +#define Usage "Usage: %s [-bcinsw] <-e PATTERN | PATTERN> FILE ...\n" /* Function name: opt_valid @@ -632,6 +646,18 @@ static void jargrep(regex_t *exp, regex_t *nl_exp, const char *jarfile, int opti } } +/* This is used to mark options with no short value. */ +#define LONG_OPT(Num) ((Num) + 128) + +#define OPT_HELP LONG_OPT (0) + +static const struct option option_vec[] = +{ + { "help", no_argument, NULL, OPT_HELP }, + { "version", no_argument, NULL, 'V' }, + { NULL, no_argument, NULL, 0 } +}; + /* Funtion Name: main args: argc number of in coming args. @@ -650,7 +676,8 @@ int main(int argc, char **argv) { regex_t *nl_exp = NULL; char *regexpstr = NULL; - while((c = getopt(argc, argv, "bce:insVw")) != -1) { + while((c = getopt_long(argc, argv, "bce:insVw", + option_vec, NULL)) != -1) { switch(c) { case 'b': options |= JG_PRINT_BYTEOFFSET; @@ -679,13 +706,15 @@ int main(int argc, char **argv) { options |= JG_INVERT; break; case 'V': - printf("%s\n", GVERSION); - exit(0); + version (); + break; case 'w': options |= JG_WORD_EXPRESSIONS; break; + case OPT_HELP: + help(argv[0]); + break; default: - fprintf(stderr, "Unknown option -%c\n", c); fprintf(stderr, Usage, argv[0]); exit(1); } @@ -726,3 +755,34 @@ int main(int argc, char **argv) { return retval; } + +void help(const char *filename) +{ + printf (Usage, filename); + printf ("\ +\n\ +Search files in a jar file for a pattern.\n\ +\n\ + -b print byte offset of match\n\ + -c print number of matches\n\ + -i compare case-insensitively\n\ + -n print line number of each match\n\ + -s suppress error messages\n\ + -w force PATTERN to match only whole words\n\ + -e PATTERN use PATTERN as regular exprssion\n\ +"); + + exit (0); +} + +void version () +{ + printf("grepjar (%s) %s\n\n", PACKAGE, VERSION); + printf("Copyright 1999, 2000, 2001 Bryan Burns\n"); + printf("Copyright 2000 Cory Hollingsworth\n"); + printf("Copyright 2002 Free Software Foundation\n"); + printf("\ +This is free software; see the source for copying conditions. There is NO\n\ +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"); + exit (0); +} diff --git a/fastjar/jargrep.h b/fastjar/jargrep.h index 0fd786b..bc69b41 100644 --- a/fastjar/jargrep.h +++ b/fastjar/jargrep.h @@ -1,5 +1,6 @@ /* jargrep.h - header file for jargrep utility + Copyright (C) 2002 Free Software Foundation Copyright (C) 2000 Cory Hollingsworth This program is free software; you can redistribute it and/or @@ -17,9 +18,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/*$Id: jargrep.h,v 1.3 2000/09/13 14:02:02 cory Exp $ -*/ - #define JG_PRINT_BYTEOFFSET 0x00000001 #define JG_PRINT_COUNT 0x00000002 #define JG_IGNORE_CASE 0x00000004 @@ -27,5 +25,3 @@ #define JG_SUPRESS_ERROR 0x00000010 #define JG_INVERT 0x00000020 #define JG_WORD_EXPRESSIONS 0x00000040 - -#define GVERSION "jargrep version 0.1 (09/12/2000)" diff --git a/fastjar/jartool.c b/fastjar/jartool.c index 25ce2ab..dd71592 100644 --- a/fastjar/jartool.c +++ b/fastjar/jartool.c @@ -1,5 +1,6 @@ /* jartool.c - main functions for fastjar utility + Copyright (C) 2002 Free Software Foundation Copyright (C) 1999, 2000, 2001 Bryan Burns This program is free software; you can redistribute it and/or @@ -17,9 +18,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: jartool.c,v 1.9 2001/10/12 00:49:42 bryce Exp $ +/* + Revision 1.10 2002/01/03 04:57:56 rodrigc + 2001-01-02 Craig Rodrigues <rodrigc@gcc.gnu.org> + + PR bootstrap/5117 + * configure.in (AC_CHECK_HEADERS): Check for stdlib.h. + * Makefile.am: Move grepjar to bin_PROGRAMS. + * config.h.in: Regenerated. + * Makefile.in: Regenerated. + * aclocal.m4: Regenerated. + * jargrep.c: Eliminate some signed/unsigned and default + uninitialized warnings. Use HAVE_STDLIB_H instead of + STDC_HEADERS macro. + * jartool.c: Likewise. + * compress.c: Likewise. - $Log: jartool.c,v $ Revision 1.9 2001/10/12 00:49:42 bryce * jatool.c (extract_jar): Account for null termination when determining whether to expand "filename". @@ -217,6 +231,8 @@ #include <time.h> #endif +#include <getopt.h> + #include "jartool.h" #include "zipfile.h" #include "dostime.h" @@ -234,8 +250,6 @@ #endif -static char version_string[] = VERSION; - #ifndef errno extern int errno; #endif @@ -245,6 +259,8 @@ extern int errno; #endif void usage(const char*); +void help(const char *); +void version(void); void add_entry(struct zipentry *); void init_headers(void); @@ -258,6 +274,7 @@ int make_manifest(int, const char*); static void init_args(char **, int); static char *get_next_arg (void); static char *jt_strdup (char*); +static void expand_options (int *argcp, char ***argvp); /* global variables */ ub1 file_header[30]; @@ -281,19 +298,37 @@ zipentry *ziptail; /* tail of the linked list */ int number_of_entries; /* number of entries in the linked list */ +/* This is used to mark options with no short value. */ +#define LONG_OPT(Num) ((Num) + 128) + +#define OPT_HELP LONG_OPT (0) + +/* This holds all options except `-C', which is handled specially. */ +#define OPTION_STRING "-ctxuvVf:m:0ME@" + +static const struct option options[] = +{ + { "help", no_argument, NULL, OPT_HELP }, + { "version", no_argument, NULL, 'V' }, + { NULL, no_argument, NULL, 0 } +}; + int main(int argc, char **argv){ - char mfile[256]; + char *mfile = NULL; int action = ACTION_NONE; int manifest = TRUE; - int manifest_file = FALSE; - int file = FALSE; - int file_first = FALSE; + int opt; - int i, j; + int j; int jarfd = -1; + /* These are used to collect file names and `-C' options for the + second pass through the command line. */ + int new_argc; + char **new_argv; + do_compress = TRUE; verbose = FALSE; @@ -306,8 +341,18 @@ int main(int argc, char **argv){ j = strlen(argv[1]); - for(i = 0; i < j; i++){ - switch(argv[1][i]){ + new_argc = 0; + new_argv = (char **) malloc (argc * sizeof (char *)); + + expand_options (&argc, &argv); + while ((opt = getopt_long (argc, argv, OPTION_STRING, + options, NULL)) != -1) { + switch(opt){ + case 1: + /* File name or unparsed option, due to RETURN_IN_ORDER. In + particular `-C' is handled here and not elsewhere. */ + new_argv[new_argc++] = optarg; + break; case 'c': action = ACTION_CREATE; break; @@ -324,17 +369,13 @@ int main(int argc, char **argv){ verbose = TRUE; break; case 'V': - printf("%s\n", version_string); + version(); exit(0); case 'f': - file = TRUE; - if(!manifest_file) - file_first = TRUE; - else - file_first = FALSE; + jarfile = optarg; break; case 'm': - manifest_file = TRUE; + mfile = optarg; break; case '0': do_compress = FALSE; @@ -342,8 +383,11 @@ int main(int argc, char **argv){ case 'M': manifest = FALSE; break; - case '-': + + case OPT_HELP: + help(argv[0]); break; + /* The following options aren't supported by the original jar tool. */ case 'E': use_explicit_list_only = TRUE; @@ -352,16 +396,25 @@ int main(int argc, char **argv){ read_names_from_stdin = TRUE; break; default: - fprintf(stderr, "Illegal option: %c\n", argv[1][i]); usage(argv[0]); } } + /* We might have seen `--'. In this case we want to make sure that + all following options are handled as file names. */ + while (optind < argc) + new_argv[new_argc++] = argv[optind++]; + if(action == ACTION_NONE){ fprintf(stderr, "One of options -{ctxu} must be specified.\n"); usage(argv[0]); } + if(action == ACTION_UPDATE){ + fprintf(stderr, "%s: `-u' mode unimplemented.\n", argv[0]); + exit(1); + } + /* Verify unsupported combinations and warn of the use of non standard features */ if(verbose && use_explicit_list_only) @@ -374,32 +427,9 @@ int main(int argc, char **argv){ usage(argv[0]); } - i = 2; - - /* get the jarfile and manifest file (if any) */ - if(file && file_first){ - if(i >= argc) - usage(argv[0]); - - jarfile = jt_strdup (argv[i++]); - } - if(manifest_file){ - if(i >= argc) - usage(argv[0]); - - strncpy(mfile, argv[i++], 256); - } - - if(file && !file_first){ - if(i >= argc) - usage(argv[0]); - - jarfile = jt_strdup (argv[i++]); - } - /* create the jarfile */ if(action == ACTION_CREATE){ - if(file){ + if(jarfile){ jarfd = open(jarfile, O_CREAT | O_BINARY | O_WRONLY | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); @@ -425,7 +455,7 @@ int main(int argc, char **argv){ } } else if(action == ACTION_LIST || action == ACTION_EXTRACT){ - if(file){ + if(jarfile){ jarfd = open(jarfile, O_RDONLY | O_BINARY); if(jarfd < 0){ @@ -447,7 +477,7 @@ int main(int argc, char **argv){ const char *arg; init_headers(); - if((action == ACTION_UPDATE) && file) { + if((action == ACTION_UPDATE) && jarfile) { if((jarfd = open(jarfile, O_RDWR | O_BINARY)) < 0) { fprintf(stderr, "Error opening %s for reading!\n", jarfile); perror(jarfile); @@ -460,12 +490,12 @@ int main(int argc, char **argv){ /* Add the META-INF/ directory and the manifest */ - if(manifest && manifest_file) + if(manifest && mfile) make_manifest(jarfd, mfile); else if(manifest) make_manifest(jarfd, NULL); - init_args (argv, i); + init_args (new_argv, new_argc); /* now we add the files to the archive */ while ((arg = get_next_arg ())){ @@ -495,9 +525,9 @@ int main(int argc, char **argv){ fprintf(stderr, "Error closing jar archive!\n"); } } else if(action == ACTION_LIST){ - list_jar(jarfd, &argv[i], (argc - i)); + list_jar(jarfd, &new_argv[0], new_argc); } else if(action == ACTION_EXTRACT){ - extract_jar(jarfd, &argv[i], (argc - i)); + extract_jar(jarfd, &new_argv[0], new_argc); } exit(0); @@ -1830,26 +1860,47 @@ int consume(pb_file *pbf, int amt){ } void usage(const char *filename){ - fprintf(stderr, "\ + fprintf(stderr, "Try `%s --help' for more information.\n", filename); + exit (1); +} + +void version () +{ + printf("jar (%s) %s\n\n", PACKAGE, VERSION); + printf("Copyright 1999, 2000, 2001 Bryan Burns\n"); + printf("Copyright 2002 Free Software Foundation\n"); + printf("\ +This is free software; see the source for copying conditions. There is NO\n\ +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"); + exit (0); +} + +void help(const char *filename) +{ + printf("\ Usage: %s {ctxuV}[vfm0ME@] [jar-file] [manifest-file] [-C dir] files ...\n\ -Options\n\ - -c create new archive\n\ - -t list table of contents for archive\n\ - -x extract named (or all) files from archive\n\ +\n\ +Store many files together in a single `jar' file.\n\ +\n\ + -c create new archive\n\ + -t list table of contents for archive\n\ + -x extract named (or all) files from archive\n\ + -u update existing archive\n\ ", filename); - fprintf(stderr, "\ - -u update existing archive\n\ - -V display version information\n\ - -v generate verbose output on standard output\n\ - -f specify archive file name\n\ - -m include manifest information from specified manifest file\n\ - -0 store only; use no ZIP compression\n\ - -M Do not create a manifest file for the entries\n\ - -C change to the specified directory and include the following file\n\ - -E don't include the files found in a directory\n\ - -@ Read names from stdin\n\ + printf("\n\ + -@ read names from stdin\n\ + -0 store only; use no ZIP compression\n\ + -C DIR FILE change to the specified directory and include\n\ + the following file\n\ + -E don't include the files found in a directory\n\ + -f FILE specify archive file name\n\ + --help print this help, then exit\n\ + -m FILE include manifest information from specified manifest file\n\ + -M Do not create a manifest file for the entries\n\ + -v generate verbose output on standard output\n\ + -V, --version display version information\n\ "); - fprintf(stderr, "\ + printf("\n\ If any file is a directory then it is processed recursively.\n\ The manifest file name and the archive file name needs to be specified\n\ in the same order the 'm' and 'f' flags are specified.\n\ @@ -1861,7 +1912,7 @@ Example 2: use an existing manifest file 'mymanifest' and archive all the\n\ jar cvfm classes.jar mymanifest -C foo/ .\n\ "); - exit(1); + exit(0); } static char * @@ -1874,3 +1925,59 @@ jt_strdup(s) strcpy(result, s); return result; } + +/* Convert "tar-style" first argument to a form expected by getopt. + This idea and the code comes from GNU tar. This can allocate a new + argument vector. This might leak some memory, but we don't care. */ +static void +expand_options (int *argcp, char ***argvp) +{ + int argc = *argcp; + char **argv = *argvp; + + if (argc > 1 && argv[1][0] != '-') + { + char buf[3]; + char **new_argv; + int new_argc; + char *p; + char **in, **out; + + buf[0] = '-'; + buf[2] = '\0'; + + new_argc = argc - 1 + strlen (argv[1]); + new_argv = (char **) malloc (new_argc * sizeof (char *)); + in = argv; + out = new_argv; + + *out++ = *in++; + for (p = *in++; *p; ++p) + { + char *opt; + buf[1] = *p; + *out++ = jt_strdup (buf); + /* If the option takes an argument, move the next argument + to just after this option. */ + opt = strchr (OPTION_STRING, *p); + if (opt && opt[1] == ':') + { + if (in < argv + argc) + *out++ = *in++; + else + { + fprintf(stderr, "%s: option `%s' requires an argument.\n", + argv[0], buf); + usage(argv[0]); + } + } + } + + /* Copy remaining options. */ + while (in < argv + argc) + *out++ = *in++; + + *argcp = new_argc; + *argvp = new_argv; + } +} |