From f431dc624a04b9280ddd5a6a839adc25ad621847 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 16 May 2013 23:12:37 +0200 Subject: * buildlib/apti18n.h.in: - fix build failure when building without NLS (closes: #671587) --- buildlib/apti18n.h.in | 1 + 1 file changed, 1 insertion(+) (limited to 'buildlib') diff --git a/buildlib/apti18n.h.in b/buildlib/apti18n.h.in index 6928d626c..a9d48dd97 100644 --- a/buildlib/apti18n.h.in +++ b/buildlib/apti18n.h.in @@ -25,4 +25,5 @@ # define _(x) x # define P_(msg,plural,n) (n == 1 ? msg : plural) # define N_(x) x +# define dgettext(d, m) m #endif -- cgit v1.2.3-70-g09d2 From ac62eb38b0bca7a45835903eb421c19f4f78aca3 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 19 May 2013 15:49:24 +0200 Subject: build the en manpages in subdirectory doc/en Building manpages becames more consistent this way and it is simpler to ignore build artefacts, too. --- .gitignore | 1 + buildlib/po4a_manpage.mak | 12 ++++---- debian/changelog | 7 +++++ debian/rules | 4 +-- doc/en/makefile | 38 +++++++++++++++++++++++++ doc/makefile | 72 +++++++++++++---------------------------------- 6 files changed, 74 insertions(+), 60 deletions(-) create mode 100644 doc/en/makefile (limited to 'buildlib') diff --git a/.gitignore b/.gitignore index e66f9df3b..3e07e241b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ /doc/*/ !/doc/examples/ !/doc/po/ +!/doc/en/makefile # package building artifacts /debian/*.log diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak index 09eca0ec2..1e778cf11 100644 --- a/buildlib/po4a_manpage.mak +++ b/buildlib/po4a_manpage.mak @@ -25,6 +25,7 @@ $(LOCAL)-LIST := $(SOURCE) # Install generation hooks manpages: $($(LOCAL)-LIST) +clean: clean/$(LOCAL) veryclean: veryclean/$(LOCAL) apt-verbatim.ent: ../apt-verbatim.ent @@ -37,15 +38,16 @@ manpage-style.xsl: ../manpage-style.xsl $($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES) echo Creating man page $@ $(XSLTPROC) -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here??? - test -f $(subst .$(LC),,$@) || echo FIXME: xsltproc respect the -o flag now, workaround can be removed + test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed' mv -f $(subst .$(LC),,$@) $@ # Clean rule -.PHONY: veryclean/$(LOCAL) +.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) +clean/$(LOCAL): + rm -f $($(@F)-LIST) apt.ent apt-verbatim.ent veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) apt.ent apt-verbatim.ent apt.$(LC).8 \ - $(addsuffix .xml,$($(@F)-LIST)) \ - offline.$(LC).sgml guide.$(LC).sgml + # we are nuking the directory we are working in as it is auto-generated + rm -rf $(shell readlink -f .) HAVE_PO4A=yes endif diff --git a/debian/changelog b/debian/changelog index aa8553251..1a8604e09 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.9.8.3) UNRELEASED; urgency=low + + [ David Kalnischkies ] + * build the en manpages in subdirectory doc/en + + -- David Kalnischkies Sun, 09 Jun 2013 15:06:24 +0200 + apt (0.9.8.2) unstable; urgency=low [ Programs translations ] diff --git a/debian/rules b/debian/rules index 5051dab4f..79a6dbe0c 100755 --- a/debian/rules +++ b/debian/rules @@ -203,7 +203,7 @@ apt: build build-manpages dh_bugfiles -p$@ dh_lintian -p$@ dh_installexamples -p$@ $(BLD)/docs/examples/* - dh_installman -p$@ $(wildcard $(patsubst %,doc/%.[158],$(apt_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt_MANPAGES))) + dh_installman -p$@ $(wildcard $(patsubst %,doc/en/%.[158],$(apt_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt_MANPAGES))) dh_installcron -p$@ dh_installdocs -p$@ dh_installchangelogs -p$@ @@ -253,7 +253,7 @@ apt-utils: build build-manpages dh_installexamples -p$@ # Install the man pages.. - dh_installman -p$@ $(wildcard $(patsubst %,doc/%.[158],$(apt-utils_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt-utils_MANPAGES))) + dh_installman -p$@ $(wildcard $(patsubst %,doc/en/%.[158],$(apt-utils_MANPAGES)) $(patsubst %,doc/*/%.*.[158],$(apt-utils_MANPAGES))) dh_installchangelogs -p$@ dh_strip -p$@ diff --git a/doc/en/makefile b/doc/en/makefile new file mode 100644 index 000000000..a4fb232d4 --- /dev/null +++ b/doc/en/makefile @@ -0,0 +1,38 @@ +# -*- make -*- +BASE=../.. +SUBDIR=doc/en + +# Bring in the default rules +include ../../buildlib/defaults.mak + +# Do not use XMLTO, build the manpages directly with XSLTPROC +ifdef XSLTPROC +# generate a list of accepted man page translations +SOURCE = $(patsubst ../%.xml,%,$(wildcard ../*.?.xml)) +INCLUDES = ../apt.ent ../apt-verbatim.ent +STYLESHEET=../manpage-style.xsl + +LOCAL := manpage-$(firstword $(SOURCE)) +$(LOCAL)-LIST := $(SOURCE) + +# Install generation hooks +manpages: $($(LOCAL)-LIST) apt.8 + +$($(LOCAL)-LIST) :: % : ../%.xml $(STYLESHEET) $(INCLUDES) + echo Creating man page $@ + $(XSLTPROC) -o $@ $(STYLESHEET) $< + +apt.8: ../apt.8 + cp -a ../apt.8 apt.8 + +# Clean rule +.PHONY: clean/$(LOCAL) +veryclean: clean/$(LOCAL) +clean: clean/$(LOCAL) +clean/$(LOCAL): + -rm -rf $($(@F)-LIST) apt.8 +endif + +# Chain to the manpage rule +SOURCE = apt.8 +include $(MANPAGE_H) diff --git a/doc/makefile b/doc/makefile index be8357d80..44a22a597 100644 --- a/doc/makefile +++ b/doc/makefile @@ -1,7 +1,6 @@ # -*- make -*- BASE=.. SUBDIR=doc -SUBDIRS= $(dir $(wildcard */makefile)) # Bring in the default rules include ../buildlib/defaults.mak @@ -13,34 +12,6 @@ include $(DEBIANDOC_H) doc: manpages debiandoc -# Do not use XMLTO, build the manpages directly with XSLTPROC -ifdef XSLTPROC -# generate a list of accepted man page translations -SOURCE = $(patsubst %.xml,%,$(wildcard *.?.xml)) -INCLUDES = apt.ent apt-verbatim.ent -STYLESHEET=manpage-style.xsl - -LOCAL := manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(SOURCE) - -# Install generation hooks -manpages: $($(LOCAL)-LIST) - -$($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES) - echo Creating man page $@ - $(XSLTPROC) -o $@ $(STYLESHEET) $< - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) -endif - -# Chain to the manpage rule -SOURCE = apt.8 -include $(MANPAGE_H) - examples/sources.list: examples/sources.list.in apt-verbatim.ent sed -e 's#&stable-codename;#$(shell grep --max-count=1 '^ examples/sources.list @@ -50,42 +21,43 @@ TO = $(DOC) TARGET = binary include $(COPY_H) -.PHONY: clean clean-subdirs veryclean veryclean-subdirs all binary doc stats +.PHONY: clean clean/subdirs veryclean veryclean/subdirs manpages/subdirs debiandoc/subdirs all binary doc stats -clean: clean-subdirs -veryclean: veryclean-subdirs +clean: clean/subdirs +veryclean: veryclean/subdirs +manpages: manpages/subdirs +debiandoc: debiandoc/subdirs -clean-subdirs: - for dir in $(SUBDIRS); do\ - $(MAKE) -C $$dir clean; \ - done +DOCUMENTATIONPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po))) +DOCDIRLIST = $(addsuffix /makefile,$(DOCUMENTATIONPO)) -veryclean-subdirs: - for dir in $(SUBDIRS); do\ - rm -rf $$dir; \ +dirs: $(DOCDIRLIST) +$(DOCDIRLIST) :: %/makefile : lang.makefile + test -d $(dir $@) || mkdir $(dir $@) + sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@ + +debiandoc/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: dirs + for dir in en $(dir $(DOCDIRLIST)); do \ + $(MAKE) -C $$dir $(patsubst %/subdirs,%,$@); \ done stats: for i in po/*.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done ifdef PO4A -DOCUMENTATIONPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po))) MANPAGEPOLIST = $(addprefix manpages-translation-,$(DOCUMENTATIONPO)) DEBIANDOCPOLIST = $(addprefix debiandoc-translation-,$(DOCUMENTATIONPO)) -MANPAGEDIRLIST = $(addsuffix /makefile,$(DOCUMENTATIONPO)) +.PHONY: update-po po4a $(MANPAGEPOLIST) $(DEBIANDOCPOLIST) $(DOCDIRLIST) -.PHONY: update-po po4a $(MANPAGEPOLIST) $(MANPAGEDIRLIST) - -manpages: $(MANPAGEPOLIST) -debiandoc: $(DEBIANDOCPOLIST) -po4a: $(MANPAGEPOLIST) $(DEBIANDOCPOLIST) +po4a: manpages/subdirs debiandoc/subdirs update-po: po4a --previous --no-backups --force --no-translations \ --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf +manpages/subdirs: $(MANPAGEPOLIST) $(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a.conf # first line is for apt.8 (see Bug#696923) po4a --previous --no-backups --translate-only $(dir $<)apt.ent \ @@ -100,19 +72,13 @@ $(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a.conf $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.8.xml,%.$(subst /,,$(dir $<)).8.xml,$(wildcard *.8.xml))) \ --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf - $(MAKE) -C $(dir $<) manpages +debiandoc/subdirs: $(DEBIANDOCPOLIST) $(DEBIANDOCPOLIST) :: debiandoc-translation-% : %/makefile po4a.conf po4a --previous --no-backups --translate-only $(dir $<)apt.ent \ $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.sgml,%.$(subst /,,$(dir $<)).sgml,$(wildcard *.sgml))) \ --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf - $(MAKE) -C $(dir $<) debiandoc - -dirs: $(MANPAGEDIRLIST) -$(MANPAGEDIRLIST) :: %/makefile : lang.makefile - test -d $(dir $@) || mkdir $(dir $@) - sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@ endif ifdef DOXYGEN -- cgit v1.2.3-70-g09d2 From 564fcbf93c78deb48fa44a9a63b5602eedfa53a9 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Tue, 28 May 2013 18:48:28 +0200 Subject: depend on libapt-pkg in the libapt-inst build process MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixing parallel build in the handcrafted buildsystem is a pain, so its not enabled by default, but its works for me – sometimes Git-Dch: Ignore --- apt-inst/makefile | 1 + buildlib/library.mak | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'buildlib') diff --git a/apt-inst/makefile b/apt-inst/makefile index cfb22741a..da983df5f 100644 --- a/apt-inst/makefile +++ b/apt-inst/makefile @@ -18,6 +18,7 @@ MAJOR=1.5 MINOR=0 SLIBS=$(PTHREADLIB) -lapt-pkg APT_DOMAIN:=libapt-inst$(MAJOR) +LIBRARYDEPENDS=$(LIB)/libapt-pkg.so # Source code for the contributed non-core things SOURCE = contrib/extracttar.cc contrib/arfile.cc diff --git a/buildlib/library.mak b/buildlib/library.mak index 029e87463..ef1306b66 100644 --- a/buildlib/library.mak +++ b/buildlib/library.mak @@ -51,7 +51,7 @@ $(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR) ln -sf $( /dev/null echo Building shared library $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\ @@ -61,7 +61,7 @@ $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS) # Compilation rules vpath %.cc $(SUBDIRS) -$(OBJ)/%.opic: %.cc +$(OBJ)/%.opic: %.cc $(LIBRARYDEPENDS) echo Compiling $< to $@ $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXFLAGS) $(PICFLAGS) -o $@ $< $(DoDep) -- cgit v1.2.3-70-g09d2 From 57da1b4bd21aceced30f658993fb811a5232cff7 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 31 May 2013 18:19:09 +0200 Subject: stop building l10n if strings are unchanged The buildsystem tried to build l10n for test applications which never produced the output it expected causing it to try building it all the time. --- buildlib/copy.mak | 2 +- buildlib/podomain.mak | 7 ++++++- doc/makefile | 2 +- po/makefile | 15 +++++++++++---- test/interactive-helper/makefile | 1 + test/libapt/makefile | 1 + 6 files changed, 21 insertions(+), 7 deletions(-) (limited to 'buildlib') diff --git a/buildlib/copy.mak b/buildlib/copy.mak index e8fe43deb..3ae11a7eb 100644 --- a/buildlib/copy.mak +++ b/buildlib/copy.mak @@ -21,7 +21,7 @@ veryclean: veryclean/$(LOCAL) MKDIRS += $(dir $($(LOCAL)-LIST)) -$($(LOCAL)-LIST) : $(TO)/% : % dirs +$($(LOCAL)-LIST) : $(TO)/% : % echo Installing $< to $(@D) cp $< $(@D) diff --git a/buildlib/podomain.mak b/buildlib/podomain.mak index cca7d55be..265359abc 100644 --- a/buildlib/podomain.mak +++ b/buildlib/podomain.mak @@ -4,6 +4,8 @@ # declared domain of the make file. It also arranges to set the DOMAIN # CPPFLAG for the compilation. +ifneq ($(APT_DOMAIN),none) + MY_DOMAIN := $(PACKAGE) ifdef APT_DOMAIN $($(LOCAL)-OBJS): CPPFLAGS := $(CPPFLAGS) -DAPT_DOMAIN='"$(APT_DOMAIN)"' @@ -13,10 +15,13 @@ endif MKDIRS += $(PO_DOMAINS)/$(MY_DOMAIN) $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: SRC := $(addprefix $(SUBDIR)/,$(SOURCE)) $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list: makefile dirs - (echo $(SRC) | xargs -n1 echo) > $@ + (echo $(SRC) | xargs -n1 echo) > $@.tmp + cmp --silent $@.tmp $@ || mv $@.tmp $@ startup binary program clean update-po: $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list veryclean: veryclean/$(LOCAL) veryclean/po/$(LOCAL): LIST := $(PO_DOMAINS)/$(MY_DOMAIN)/$(LOCAL).$(TYPE)list veryclean/po/$(LOCAL): rm -f $(LIST) + +endif diff --git a/doc/makefile b/doc/makefile index 44a22a597..274fbc278 100644 --- a/doc/makefile +++ b/doc/makefile @@ -36,7 +36,7 @@ $(DOCDIRLIST) :: %/makefile : lang.makefile test -d $(dir $@) || mkdir $(dir $@) sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@ -debiandoc/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: dirs +debiandoc/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: for dir in en $(dir $(DOCDIRLIST)); do \ $(MAKE) -C $$dir $(patsubst %/subdirs,%,$@); \ done diff --git a/po/makefile b/po/makefile index ebf6c06d0..5a3c7fb67 100644 --- a/po/makefile +++ b/po/makefile @@ -30,17 +30,23 @@ GETDOMAIN = $(word 1,$(subst /, ,$(1))) # and produce the .pot file. $(POTFILES) : $(PO)/%.pot : echo "Generating POT file $@" - echo $@ : $(wildcard $(PO)/domains/$*/*.*list) $(addprefix $(BASE)/,$(shell cat $(wildcard $(PO)/domains/$*/*.srclist))) > $@.d + echo $@ : $(wildcard $(PO)/domains/$*/*.*list) $(addprefix $(BASE)/,$(shell cat $(wildcard $(PO)/domains/$*/*.srclist))) > $@.d.tmp + cmp --silent $@.d.tmp $@.d || mv $@.d.tmp $@.d # From sh source - cat $(PO)/domains/$*/*.shlist 2> /dev/null | (cd $(BASE) && xargs -n1 bash --dump-po-strings) > $(PO)/domains/$*/sh.pot + cat $(PO)/domains/$*/*.shlist 2> /dev/null | (cd $(BASE) && xargs -n1 bash --dump-po-strings) > $(PO)/domains/$*/sh.pot.tmp + cmp --silent $(PO)/domains/$*/sh.pot.tmp $(PO)/domains/$*/sh.pot || \ + mv $(PO)/domains/$*/sh.pot.tmp $(PO)/domains/$*/sh.pot # From C/C++ source cat $(PO)/domains/$*/*.srclist > $(PO)/POTFILES_$*.in $(XGETTEXT) --default-domain=$* --directory=$(BASE) \ --add-comments --foreign --keyword=_ --keyword=N_ \ --keyword=P_:1,2 \ - --files-from=$(PO)/POTFILES_$*.in -o $(PO)/domains/$*/c.pot + --files-from=$(PO)/POTFILES_$*.in -o $(PO)/domains/$*/c.pot.tmp + cmp --silent $(PO)/domains/$*/c.pot.tmp $(PO)/domains/$*/c.pot || \ + mv $(PO)/domains/$*/c.pot.tmp $(PO)/domains/$*/c.pot rm -f $(PO)/POTFILES_$*.in - $(MSGCOMM) --omit-header --more-than=0 $(PO)/domains/$*/c.pot $(PO)/domains/$*/sh.pot --output=$@ + $(MSGCOMM) --omit-header --more-than=0 $(PO)/domains/$*/c.pot $(PO)/domains/$*/sh.pot --output=$@.tmp + cmp --silent $@ $@.tmp || mv $@.tmp $@ # copy into the domain dirs to make rosetta happy rm -f $(PO)/domains/$*/*.pot cp $@ $(PO)/domains/$* @@ -93,4 +99,5 @@ ifneq ($(words $(The_DFiles)),0) include $(The_DFiles) endif +# otherwise the output is completely screwed .NOTPARALLEL: diff --git a/test/interactive-helper/makefile b/test/interactive-helper/makefile index 10d1e44ec..fa4f5fecb 100644 --- a/test/interactive-helper/makefile +++ b/test/interactive-helper/makefile @@ -1,6 +1,7 @@ # -*- make -*- BASE=../.. SUBDIR=test/interactive-helper +APT_DOMAIN=none # Bring in the default rules include ../../buildlib/defaults.mak diff --git a/test/libapt/makefile b/test/libapt/makefile index 953e455e0..1b67cba9d 100644 --- a/test/libapt/makefile +++ b/test/libapt/makefile @@ -2,6 +2,7 @@ BASE=../.. SUBDIR=test/libapt BASENAME=_libapt_test +APT_DOMAIN=none # Bring in the default rules include ../../buildlib/defaults.mak -- cgit v1.2.3-70-g09d2 From ed9ba607b47feae1a435126c5fa05ac2a3690099 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 26 Jul 2013 14:12:29 +0200 Subject: make autoconf happy by "mv configure.{in,ac}" Git-Dch: Ignore --- buildlib/configure.mak | 4 +- configure.ac | 194 +++++++++++++++++++++++++++++++++++++++++++++++++ configure.in | 194 ------------------------------------------------- debian/rules | 2 +- prepare-release | 2 +- 5 files changed, 198 insertions(+), 198 deletions(-) create mode 100644 configure.ac delete mode 100644 configure.in (limited to 'buildlib') diff --git a/buildlib/configure.mak b/buildlib/configure.mak index 68d0535b4..7052e4c56 100644 --- a/buildlib/configure.mak +++ b/buildlib/configure.mak @@ -2,7 +2,7 @@ # This make fragment is included by the toplevel make to handle configure # and setup. It defines a target called startup that when run will init -# the build directory, generate configure from configure.in, create aclocal +# the build directory, generate configure from configure.ac, create aclocal # and has rules to run config.status should one of the .in files change. # Input @@ -48,7 +48,7 @@ missing-config-files: @echo "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD" exit 100 -configure: aclocal.m4 configure.in buildlib/config.guess buildlib/config.sub +configure: aclocal.m4 configure.ac buildlib/config.guess buildlib/config.sub autoconf aclocal.m4: $(wildcard buildlib/*.m4) diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000..129be5c12 --- /dev/null +++ b/configure.ac @@ -0,0 +1,194 @@ +ad +dnl Process this file with autoconf to produce a configure script. +dnl The ONLY thing this is used for is to configure for different +dnl linux architectures and configurations, it is not used to make the +dnl code more portable + +dnl You MUST have an environment that has all the POSIX functions and +dnl some of the more populare bsd/sysv ones (like select). You'll also +dnl need a C++ compiler that is semi-standard conformant, exceptions are +dnl not used but STL is. + +dnl 'make -f Makefile startup' will generate the configure file from +dnl configure.ac correctly and can be run at any time + +AC_PREREQ(2.50) +AC_INIT(configure.ac) +AC_CONFIG_AUX_DIR(buildlib) +AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) + +PACKAGE="apt" +PACKAGE_VERSION="0.9.7.6ubuntu2" +PACKAGE_MAIL="APT Development Team " +AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") +AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION") +AC_DEFINE_UNQUOTED(PACKAGE_MAIL,"$PACKAGE_MAIL") +AC_SUBST(PACKAGE) +AC_SUBST(PACKAGE_VERSION) +AC_SUBST(PACKAGE_MAIL) + +dnl Check the archs, we want the target type. +AC_CANONICAL_SYSTEM + +dnl Check our C compiler +AC_CHECK_TOOL_PREFIX +AC_PROG_CC +AC_ISC_POSIX + +dnl check for large file support and enable it if possible +dnl do this early as other stuff might depend on it +AC_SYS_LARGEFILE + +dnl Check for other programs +AC_PROG_CXX +AC_PROG_CPP +AC_PROG_RANLIB +AC_CHECK_TOOL(AR,ar,"ar") + +dnl Checks for sockets +SAVE_LIBS="$LIBS" +LIBS="" +AC_SEARCH_LIBS(gethostbyname,nsl) +AC_SEARCH_LIBS(connect,socket) +SOCKETLIBS="$LIBS" +AC_SUBST(SOCKETLIBS) +LIBS="$SAVE_LIBS" + +dnl Checks for pthread -- disabled due to glibc bugs jgg +dnl AC_CHECK_LIB(pthread, pthread_create,[AC_DEFINE(HAVE_PTHREAD) PTHREADLIB="-lpthread"]) +AC_SUBST(PTHREADLIB) +dnl if test "$PTHREADLIB" != "-lpthread"; then +dnl AC_MSG_ERROR(failed: I need posix threads, pthread) +dnl fi + +dnl Check for BDB +saveLIBS="$LIBS" +LIBS="$LIBS -ldb" + +AC_CHECK_HEADER(db.h, + [AC_MSG_CHECKING(if we can link against BerkeleyDB) + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [#include ], + [int r, s, t; db_version(&r, &s, &t);] + )], + [AC_DEFINE(HAVE_BDB) + BDBLIB="-ldb" + AC_MSG_RESULT(yes)], + [BDBLIB="" + AC_MSG_RESULT(no)] + )] +) + +LIBS="$saveLIBS" + +AC_CHECK_LIB(curl, curl_easy_init, + [AC_CHECK_HEADER(curl/curl.h, + curl_ok=yes, + curl_ok=no)], + AC_MSG_ERROR([failed: I need CURL due https support]), +) + +AC_SUBST(BDBLIB) + +HAVE_ZLIB=no +AC_CHECK_LIB(z, gzopen, + [AC_CHECK_HEADER(zlib.h, [HAVE_ZLIB=yes], AC_MSG_ERROR([failed: zlib.h not found]))], + AC_MSG_ERROR([failed: Need libz])) +AC_SUBST(HAVE_ZLIB) +if test "x$HAVE_ZLIB" = "xyes"; then + AC_DEFINE(HAVE_ZLIB) +fi + +HAVE_BZ2=no +AC_CHECK_LIB(bz2, BZ2_bzopen,[AC_CHECK_HEADER(bzlib.h, [HAVE_BZ2=yes], [])], []) +AC_SUBST(HAVE_BZ2) +if test "x$HAVE_BZ2" = "xyes"; then + AC_DEFINE(HAVE_BZ2) +fi + +dnl Converts the ARCH to be something singular for this general CPU family +dnl This is often the dpkg architecture string. +dnl First check against the full canonical canoncial-system-type in $target +dnl and if that fails, just look for the cpu +AC_MSG_CHECKING(debian architecture) +archset="`dpkg-architecture -qDEB_HOST_ARCH`" +if test "x$archset" = "x"; then + AC_MSG_ERROR([failed: use --host= or output from dpkg-architecture]) +fi +AC_MSG_RESULT($archset) +AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset") + +dnl Single Unix Spec statvfs +AC_CHECK_FUNC(statvfs,[HAVE_STATVFS=yes]) +AC_SUBST(HAVE_STATVFS) + +dnl Arg, linux and bsd put their statfs function in different places +if test x"$HAVE_STATVFS" != x"yes"; then + AC_EGREP_HEADER(statfs,sys/vfs.h,[AC_DEFINE(HAVE_VFS_H)],[ + AC_EGREP_HEADER(statfs,sys/mount.h,[AC_DEFINE(HAVE_MOUNT_H)],[AC_MSG_ERROR(failed: Need statvfs)]) + ]) +fi + +AC_CHECK_MEMBERS([struct statfs.f_type],,, + [$ac_includes_default + #include ]) + +dnl We should use the real timegm function if we have it. +AC_CHECK_FUNC(timegm,AC_DEFINE(HAVE_TIMEGM)) +AC_SUBST(HAVE_TIMEGM) + +dnl Check the architecture +AC_C_BIGENDIAN + +dnl HP-UX sux.. +AC_MSG_CHECKING(for missing socklen_t) +AC_EGREP_HEADER(socklen_t, sys/socket.h,[AC_MSG_RESULT(no)],[ + AC_DEFINE(NEED_SOCKLEN_T_DEFINE) + NEED_SOCKLEN_T_DEFINE=yes + AC_MSG_RESULT(missing.)]) +AC_SUBST(NEED_SOCKLEN_T_DEFINE) + +dnl HP-UX needs -d_XOPEN_SOURCE_EXTENDED for h_errno +AC_MSG_CHECKING(for h_errno) +AC_EGREP_HEADER(h_errno, netdb.h, [AC_MSG_RESULT(normal)], + [CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" + AC_EGREP_HEADER(h_errno, netdb.h, + [AC_MSG_RESULT(needs _XOPEN_SOURCE_EXTENDED)], + [AC_MSG_ERROR("not found.")]) + ]) + +dnl Check for debiandoc +AC_PATH_PROG(DEBIANDOC_HTML,debiandoc2html) +AC_PATH_PROG(DEBIANDOC_TEXT,debiandoc2text) + +dnl Check for doxygen +AC_PATH_PROG(DOXYGEN, doxygen) + +dnl Check for the XSLTProc tool needed to build man pages together with po4a +AC_PATH_PROG(XSLTPROC,xsltproc) + +dnl Check for the po4a tool needed to build man pages +AC_PATH_PROG(PO4A,po4a) + +dnl Check for graphviz +AC_CHECK_PROG([HAVE_DOT], [dot], [YES], [NO]) +AC_PATH_PROG([DOT], [dot], []) +DOTDIR=$(dirname $DOT) +AC_SUBST(DOTDIR) + +ah_NUM_PROCS +ah_GCC3DEP + +dnl It used to be that the user could select translations and that could get +dnl passed to the makefiles, but now that can only work if you use special +dnl gettext approved makefiles, so this feature is unsupported by this. +ALL_LINGUAS="bg bs ca cs cy da de dz el es eu fi fr gl hu it ja ko ku nb nl nn pl pt_BR pt ro ru sk sl sv th tl uk vi zn_CN zh_TW" +AM_GNU_GETTEXT(external) +if test x"$USE_NLS" = "xyes"; then + AC_DEFINE(USE_NLS) +fi +AC_SUBST(USE_NLS) +AC_PATH_PROG(BASH, bash) + +AC_OUTPUT(environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in doc/Doxyfile:doc/Doxyfile.in,make -s dirs) diff --git a/configure.in b/configure.in deleted file mode 100644 index 4c25ba5d4..000000000 --- a/configure.in +++ /dev/null @@ -1,194 +0,0 @@ -ad -dnl Process this file with autoconf to produce a configure script. -dnl The ONLY thing this is used for is to configure for different -dnl linux architectures and configurations, it is not used to make the -dnl code more portable - -dnl You MUST have an environment that has all the POSIX functions and -dnl some of the more populare bsd/sysv ones (like select). You'll also -dnl need a C++ compiler that is semi-standard conformant, exceptions are -dnl not used but STL is. - -dnl 'make -f Makefile startup' will generate the configure file from -dnl configure.in correctly and can be run at any time - -AC_PREREQ(2.50) -AC_INIT(configure.in) -AC_CONFIG_AUX_DIR(buildlib) -AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in) - -PACKAGE="apt" -PACKAGE_VERSION="0.9.7.6ubuntu2" -PACKAGE_MAIL="APT Development Team " -AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE") -AC_DEFINE_UNQUOTED(PACKAGE_VERSION,"$PACKAGE_VERSION") -AC_DEFINE_UNQUOTED(PACKAGE_MAIL,"$PACKAGE_MAIL") -AC_SUBST(PACKAGE) -AC_SUBST(PACKAGE_VERSION) -AC_SUBST(PACKAGE_MAIL) - -dnl Check the archs, we want the target type. -AC_CANONICAL_SYSTEM - -dnl Check our C compiler -AC_CHECK_TOOL_PREFIX -AC_PROG_CC -AC_ISC_POSIX - -dnl check for large file support and enable it if possible -dnl do this early as other stuff might depend on it -AC_SYS_LARGEFILE - -dnl Check for other programs -AC_PROG_CXX -AC_PROG_CPP -AC_PROG_RANLIB -AC_CHECK_TOOL(AR,ar,"ar") - -dnl Checks for sockets -SAVE_LIBS="$LIBS" -LIBS="" -AC_SEARCH_LIBS(gethostbyname,nsl) -AC_SEARCH_LIBS(connect,socket) -SOCKETLIBS="$LIBS" -AC_SUBST(SOCKETLIBS) -LIBS="$SAVE_LIBS" - -dnl Checks for pthread -- disabled due to glibc bugs jgg -dnl AC_CHECK_LIB(pthread, pthread_create,[AC_DEFINE(HAVE_PTHREAD) PTHREADLIB="-lpthread"]) -AC_SUBST(PTHREADLIB) -dnl if test "$PTHREADLIB" != "-lpthread"; then -dnl AC_MSG_ERROR(failed: I need posix threads, pthread) -dnl fi - -dnl Check for BDB -saveLIBS="$LIBS" -LIBS="$LIBS -ldb" - -AC_CHECK_HEADER(db.h, - [AC_MSG_CHECKING(if we can link against BerkeleyDB) - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [#include ], - [int r, s, t; db_version(&r, &s, &t);] - )], - [AC_DEFINE(HAVE_BDB) - BDBLIB="-ldb" - AC_MSG_RESULT(yes)], - [BDBLIB="" - AC_MSG_RESULT(no)] - )] -) - -LIBS="$saveLIBS" - -AC_CHECK_LIB(curl, curl_easy_init, - [AC_CHECK_HEADER(curl/curl.h, - curl_ok=yes, - curl_ok=no)], - AC_MSG_ERROR([failed: I need CURL due https support]), -) - -AC_SUBST(BDBLIB) - -HAVE_ZLIB=no -AC_CHECK_LIB(z, gzopen, - [AC_CHECK_HEADER(zlib.h, [HAVE_ZLIB=yes], AC_MSG_ERROR([failed: zlib.h not found]))], - AC_MSG_ERROR([failed: Need libz])) -AC_SUBST(HAVE_ZLIB) -if test "x$HAVE_ZLIB" = "xyes"; then - AC_DEFINE(HAVE_ZLIB) -fi - -HAVE_BZ2=no -AC_CHECK_LIB(bz2, BZ2_bzopen,[AC_CHECK_HEADER(bzlib.h, [HAVE_BZ2=yes], [])], []) -AC_SUBST(HAVE_BZ2) -if test "x$HAVE_BZ2" = "xyes"; then - AC_DEFINE(HAVE_BZ2) -fi - -dnl Converts the ARCH to be something singular for this general CPU family -dnl This is often the dpkg architecture string. -dnl First check against the full canonical canoncial-system-type in $target -dnl and if that fails, just look for the cpu -AC_MSG_CHECKING(debian architecture) -archset="`dpkg-architecture -qDEB_HOST_ARCH`" -if test "x$archset" = "x"; then - AC_MSG_ERROR([failed: use --host= or output from dpkg-architecture]) -fi -AC_MSG_RESULT($archset) -AC_DEFINE_UNQUOTED(COMMON_ARCH,"$archset") - -dnl Single Unix Spec statvfs -AC_CHECK_FUNC(statvfs,[HAVE_STATVFS=yes]) -AC_SUBST(HAVE_STATVFS) - -dnl Arg, linux and bsd put their statfs function in different places -if test x"$HAVE_STATVFS" != x"yes"; then - AC_EGREP_HEADER(statfs,sys/vfs.h,[AC_DEFINE(HAVE_VFS_H)],[ - AC_EGREP_HEADER(statfs,sys/mount.h,[AC_DEFINE(HAVE_MOUNT_H)],[AC_MSG_ERROR(failed: Need statvfs)]) - ]) -fi - -AC_CHECK_MEMBERS([struct statfs.f_type],,, - [$ac_includes_default - #include ]) - -dnl We should use the real timegm function if we have it. -AC_CHECK_FUNC(timegm,AC_DEFINE(HAVE_TIMEGM)) -AC_SUBST(HAVE_TIMEGM) - -dnl Check the architecture -AC_C_BIGENDIAN - -dnl HP-UX sux.. -AC_MSG_CHECKING(for missing socklen_t) -AC_EGREP_HEADER(socklen_t, sys/socket.h,[AC_MSG_RESULT(no)],[ - AC_DEFINE(NEED_SOCKLEN_T_DEFINE) - NEED_SOCKLEN_T_DEFINE=yes - AC_MSG_RESULT(missing.)]) -AC_SUBST(NEED_SOCKLEN_T_DEFINE) - -dnl HP-UX needs -d_XOPEN_SOURCE_EXTENDED for h_errno -AC_MSG_CHECKING(for h_errno) -AC_EGREP_HEADER(h_errno, netdb.h, [AC_MSG_RESULT(normal)], - [CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" - AC_EGREP_HEADER(h_errno, netdb.h, - [AC_MSG_RESULT(needs _XOPEN_SOURCE_EXTENDED)], - [AC_MSG_ERROR("not found.")]) - ]) - -dnl Check for debiandoc -AC_PATH_PROG(DEBIANDOC_HTML,debiandoc2html) -AC_PATH_PROG(DEBIANDOC_TEXT,debiandoc2text) - -dnl Check for doxygen -AC_PATH_PROG(DOXYGEN, doxygen) - -dnl Check for the XSLTProc tool needed to build man pages together with po4a -AC_PATH_PROG(XSLTPROC,xsltproc) - -dnl Check for the po4a tool needed to build man pages -AC_PATH_PROG(PO4A,po4a) - -dnl Check for graphviz -AC_CHECK_PROG([HAVE_DOT], [dot], [YES], [NO]) -AC_PATH_PROG([DOT], [dot], []) -DOTDIR=$(dirname $DOT) -AC_SUBST(DOTDIR) - -ah_NUM_PROCS -ah_GCC3DEP - -dnl It used to be that the user could select translations and that could get -dnl passed to the makefiles, but now that can only work if you use special -dnl gettext approved makefiles, so this feature is unsupported by this. -ALL_LINGUAS="bg bs ca cs cy da de dz el es eu fi fr gl hu it ja ko ku nb nl nn pl pt_BR pt ro ru sk sl sv th tl uk vi zn_CN zh_TW" -AM_GNU_GETTEXT(external) -if test x"$USE_NLS" = "xyes"; then - AC_DEFINE(USE_NLS) -fi -AC_SUBST(USE_NLS) -AC_PATH_PROG(BASH, bash) - -AC_OUTPUT(environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in doc/Doxyfile:doc/Doxyfile.in,make -s dirs) diff --git a/debian/rules b/debian/rules index 3979bd810..05dcf813c 100755 --- a/debian/rules +++ b/debian/rules @@ -76,7 +76,7 @@ build-manpages: build/build-manpages-stamp build/environment.mak: build/configure-stamp @true -configure: configure.in +configure: configure.ac build/configure-stamp: configure dh_testdir -mkdir build diff --git a/prepare-release b/prepare-release index 73c0be602..2d8502d7f 100755 --- a/prepare-release +++ b/prepare-release @@ -39,7 +39,7 @@ if [ "$1" = 'pre-export' ]; then make update-po fi - sed -i -e "s/^PACKAGE_VERSION=\".*\"$/PACKAGE_VERSION=\"${VERSION}\"/" configure.in + sed -i -e "s/^PACKAGE_VERSION=\".*\"$/PACKAGE_VERSION=\"${VERSION}\"/" configure.ac sed -i -e "s/^$//" doc/apt-verbatim.ent elif [ "$1" = 'post-build' ]; then if [ "$DISTRIBUTION" != "UNRELEASED" ]; then -- cgit v1.2.3-70-g09d2 From 0cedc6b3fe775ccb814ee3393d4695909bcc7ece Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 26 Jul 2013 20:37:34 +0200 Subject: reenable automatic parallel build of APT It works for a while now in manual tests, now lets see how it will perform if enabled for all by default automatically. --- buildlib/defaults.mak | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'buildlib') diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak index 5b970876a..599b9ed85 100644 --- a/buildlib/defaults.mak +++ b/buildlib/defaults.mak @@ -172,12 +172,11 @@ ifeq ($(NUM_PROCS),1) PARALLEL_RUN=no endif -# mvo: commented out, lead to build failures in the arch-build target -#ifndef PARALLEL_RUN -# PARALLEL_RUN=yes -# .EXPORT: PARALLEL_RUN -# # handle recursion -# ifneq ($(NUM_PROCS),) -# MAKEFLAGS += -j $(NUM_PROCS) -# endif -#endif +ifndef PARALLEL_RUN + PARALLEL_RUN=yes + export PARALLEL_RUN + # handle recursion + ifneq ($(NUM_PROCS),) + MAKEFLAGS += -j $(NUM_PROCS) + endif +endif -- cgit v1.2.3-70-g09d2