]> git.tuebingen.mpg.de Git - paraslash.git/commitdiff
Merge branch 't/smaller_tarball'
authorAndre Noll <maan@systemlinux.org>
Sat, 13 Aug 2011 10:21:18 +0000 (12:21 +0200)
committerAndre Noll <maan@systemlinux.org>
Sat, 13 Aug 2011 10:24:15 +0000 (12:24 +0200)
Makefile.in
NEWS
configure.ac
ggo/makefile
web/manual.m4

index 5016b065b85d9c36dccff605b4d8e8519a745610..660c381b5815f10d7dc9cd95f28c7cdc955e2366 100644 (file)
@@ -11,6 +11,9 @@ install_sh := @install_sh@
 cmdline_dir := @cmdline_dir@
 executables := @executables@
 
+GENGETOPT := @gengetopt@
+HELP2MAN := @help2man@
+
 build_date := $(shell date)
 uname_s := $(shell uname -s 2>/dev/null || echo "UNKNOWN_OS")
 uname_rs := $(shell uname -rs)
@@ -75,14 +78,12 @@ all_ggos := $(m4_ggos) dccp_recv alsa_write oss_write fade http_recv \
        osx_write udp_recv amp_filter compress_filter file_write \
        mp3dec_filter prebuffer_filter
 ggo_generated := $(addsuffix .ggo, $(addprefix $(ggo_dir)/,$(m4_ggos)))
-cmdline_generated := $(addprefix $(cmdline_dir)/,$(addsuffix .cmdline.c, $(all_ggos)) \
-       $(addsuffix .cmdline.h, $(all_ggos)))
 
 autocrap := config.h.in configure
 tarball_pfx := @PACKAGE_TARNAME@-$(PACKAGE_VERSION)
 tarball_delete := $(addprefix $(tarball_pfx)/,\
        web versions .changelog_before_cvs .changelog_cvs .gitignore\
-       $(ggo_dir) skencil)
+       skencil)
 tarball := @PACKAGE_TARNAME@-$(PACKAGE_VERSION).tar.bz2
 
 # To put more focus on warnings, be less verbose as default
@@ -123,17 +124,17 @@ server_command_lists_ch = server_command_list.c afs_command_list.c \
        server_command_list.h afs_command_list.h
 server_command_lists_man = server_command_list.man afs_command_list.man
 man/man1/para_server.1: para_server $(server_command_lists_man) | $(man_dir)
-       @[ -z "$(Q)" ] || echo 'HELP2MAN $<'
+       @[ -z "$(Q)" ] || echo 'MAN $<'
        $(Q) opts="-h --detailed-help -N `for i in $(server_command_lists_man); do printf "%s\n" "-i $$i"; done`"; \
-       help2man $$opts ./para_server > $@
+       $(HELP2MAN) $$opts ./para_server > $@
 
 man/man1/para_audiod.1: para_audiod audiod_command_list.man | $(man_dir)
-       @[ -z "$(Q)" ] || echo 'HELP2MAN $<'
-       $(Q) help2man -h --detailed-help -N -i audiod_command_list.man ./para_audiod > $@
+       @[ -z "$(Q)" ] || echo 'MAN $<'
+       $(Q) $(HELP2MAN) -h --detailed-help -N -i audiod_command_list.man ./para_audiod > $@
 
 man/man1/%.1: % | $(man_dir)
-       @[ -z "$(Q)" ] || echo 'HELP2MAN $<'
-       $(Q) help2man -h --detailed-help -N ./$< > $@
+       @[ -z "$(Q)" ] || echo 'MAN $<'
+       $(Q) $(HELP2MAN) -h --detailed-help -N ./$< > $@
 
 man/html/%.html: man/man1/%.1
        @[ -z "$(Q)" ] || echo 'MAN2HTML $<'
@@ -284,8 +285,8 @@ clean:
 
 clean2: clean
        @[ -z "$(Q)" ] || echo 'CLEAN2'
-       $(Q) rm -rf man $(object_dir)
-       $(Q) rm -f *_command_list.*
+       $(Q) rm -rf man $(object_dir) $(cmdline_dir)
+       $(Q) rm -f *_command_list.* $(ggo_generated)
 
 distclean: clean2 test-clean
        @[ -z "$(Q)" ] || echo 'DISTCLEAN'
@@ -294,10 +295,10 @@ distclean: clean2 test-clean
        $(Q) rm -f GPATH GRTAGS GSYMS GTAGS
 
 maintainer-clean: distclean
-       rm -f $(ggo_generated) *.tar.bz2 \
+       rm -f *.tar.bz2 \
                config.h configure \
                config.h.in skencil/*.pdf skencil/*.ps
-       rm -rf web_sync $(cmdline_dir)
+       rm -rf web_sync
 
 install: all man
        mkdir -p $(BINDIR) $(MANDIR)
@@ -305,19 +306,17 @@ install: all man
        $(install_sh) -m 644 $(man_pages) $(MANDIR)
        mkdir -p $(VARDIR) >/dev/null 2>&1 || true # not fatal, so don't complain
 
-$(tarball): $(cmdline_generated)
+$(tarball):
        rm -rf $(tarball_pfx).tar.bz2 $(tarball_pfx)
        git archive --format=tar --prefix=$(tarball_pfx)/ HEAD \
                | tar --delete $(tarball_delete) > $(tarball_pfx).tar
-       mkdir -p $(tarball_pfx)/$(cmdline_dir)
+       mkdir -p $(tarball_pfx)
        ./GIT-VERSION-GEN > $(tarball_pfx)/VERSION
        cp -r $(autocrap) $(tarball_pfx)
-       cp -r $(cmdline_generated) $(tarball_pfx)/$(cmdline_dir)
        tar rf $(tarball_pfx).tar $(tarball_pfx)/*
-       rm -rf $(tarball_pfx)
        bzip2 -9 $(tarball_pfx).tar
-       rm -f $(tarball_pfx).tar
        ls -l $(tarball_pfx).tar.bz2
+       rm -rf $(tarball_pfx)
 %.ps: %.sk
        sk2ps $< > $@
 %.pdf: %.ps
diff --git a/NEWS b/NEWS
index 49747ccb64326c52f5a3e542c73bf4785dd76953..40c30bf9ea19c70095c489d5a6cd41c7c29e9b03 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,9 @@ are the highlights of this release.
          writers is now treated as a regular expression. This allows
          to replace 5 lines in the config file (one for each audio
          format) by one single line. See the manual for details.
+       - The *.cmdline.[ch] files are no longer contained in the released
+         tarballs. This reduces the size of the tarballs but requires
+         gengetopt to build the tarball.
        - Compiles cleanly also with llvm/clang.
        - Corrupt mp3 files are handled more gracefully.
        - sched: Optimized zero timeouts.
index 79aaee63b3f159e20941f137b4b8d279823f7bf0..6415668b50560d6ec89af8ec192544c1c3775735 100644 (file)
@@ -23,6 +23,14 @@ fi
 
 AC_C_BIGENDIAN()
 
+AC_PATH_PROG([gengetopt], [gengetopt])
+test -z "$gengetopt" && AC_MSG_ERROR(
+       [gengetopt is required to build this package])
+
+AC_PATH_PROG([help2man], [help2man])
+test -z "$help2man" && AC_MSG_ERROR(
+       [help2man is required to build this package])
+
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_INSTALL
index d5a1d645cd79db1b177e2f46cd67dbffe765cecf..bcc172b204855ca037a04bf4bfd9269f581eab69 100644 (file)
@@ -4,7 +4,7 @@ $(cmdline_dir):
 
 $(cmdline_dir)/%_recv.cmdline.h $(cmdline_dir)/%_recv.cmdline.c: $(ggo_dir)/%_recv.ggo | $(cmdline_dir)
        @[ -z "$(Q)" ] || echo 'GGO $<'
-       $(Q) gengetopt $(module_ggo_opts) \
+       $(Q) $(GENGETOPT) $(module_ggo_opts) \
                --output-dir=$(cmdline_dir) \
                --set-package=$(subst .ggo,,$(<F)) \
                --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
@@ -13,7 +13,7 @@ $(cmdline_dir)/%_recv.cmdline.h $(cmdline_dir)/%_recv.cmdline.c: $(ggo_dir)/%_re
 
 $(cmdline_dir)/%_filter.cmdline.h $(cmdline_dir)/%_filter.cmdline.c: $(ggo_dir)/%_filter.ggo | $(cmdline_dir)
        @[ -z "$(Q)" ] || echo 'GGO $<'
-       $(Q) gengetopt $(module_ggo_opts) \
+       $(Q) $(GENGETOPT) $(module_ggo_opts) \
                --output-dir=$(cmdline_dir) \
                --set-package=$(subst .ggo,,$(<F)) \
                --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
@@ -21,7 +21,7 @@ $(cmdline_dir)/%_filter.cmdline.h $(cmdline_dir)/%_filter.cmdline.c: $(ggo_dir)/
                --func-name=$(subst _filter.ggo,,$(<F))_cmdline_parser < $<
 $(cmdline_dir)/%_write.cmdline.h $(cmdline_dir)/%_write.cmdline.c: $(ggo_dir)/%_write.ggo | $(cmdline_dir)
        @[ -z "$(Q)" ] || echo 'GGO $<'
-       $(Q) gengetopt -S $(module_ggo_opts) \
+       $(Q) $(GENGETOPT) -S $(module_ggo_opts) \
                --output-dir=$(cmdline_dir) \
                --set-package=$(subst .ggo,,$(<F)) \
                --arg-struct-name=$(subst .ggo,,$(<F))_args_info \
@@ -45,7 +45,7 @@ endef
 
 $(cmdline_dir)/%.cmdline.h $(cmdline_dir)/%.cmdline.c: $(ggo_dir)/%.ggo | $(cmdline_dir)
        @[ -z "$(Q)" ] || echo 'GGO $<'
-       $(Q) gengetopt $(ggo-opts) < $<
+       $(Q) $(GENGETOPT) $(ggo-opts) < $<
 
 $(ggo_dir)/server.ggo $(ggo_dir)/audiod.ggo: \
        $(ggo_dir)/loglevel.m4 $(ggo_dir)/color.m4 \
index 7163bb7b8d700788795ce23ef8110fb90a1154a5..6bddbf11a7f28824d871530812d879e72ac9ec44 100644 (file)
@@ -223,6 +223,10 @@ In any case you'll need
        distro, but you might have to install the development package
        (libssl-dev or libgcrypt-dev on debian systems) as well.
 
+       - XREFERENCE(ftp://ftp.gnu.org/pub/gnu/gengetopt/, gengetopt)
+       is needed to generate the C code for the command line parsers
+       of all paraslash executables.
+
        - XREFERENCE(ftp://ftp.gnu.org/pub/gnu/help2man, help2man)
        is used to create the man pages.
 
@@ -1804,11 +1808,6 @@ branches, below), the git source code management tool is used for
 paraslash development. It is necessary for cloning the git repository
 and for getting updates.
 
-ftp://ftp.gnu.org/pub/gnu/gengetopt/ (gengetopt). The C code for
-the command line parsers of all paraslash executables is generated
-by gengetopt. The generated C files are shipped in the tarballs but
-are not contained in the git repository.
-
 ftp://ftp.gnu.org/pub/gnu/m4/ (m4). Some input files for gengetopt
 are generated from templates by the m4 macro processor.