From f3de2dbaf657f9040a4da448c57267de0fef7d33 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sat, 6 Aug 2016 21:03:43 +0200 Subject: CMake: Add basic CMake build system Introduce an initial CMake buildsystem. This build system can build a fully working apt system without translation or documentation. The FindBerkelyDB module is from kdelibs, with some small adjustements to also look in db5 directories. Initial work on this CMake build system started in 2009, and was resumed in August 2016. --- apt-pkg/CMakeLists.txt | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 apt-pkg/CMakeLists.txt (limited to 'apt-pkg') diff --git a/apt-pkg/CMakeLists.txt b/apt-pkg/CMakeLists.txt new file mode 100644 index 000000000..ec78f49c4 --- /dev/null +++ b/apt-pkg/CMakeLists.txt @@ -0,0 +1,46 @@ +# Include apt-pkg directly, as some files have #include +include_directories(${PROJECT_BINARY_DIR}/include/apt-pkg) + +add_definitions("-DAPT_PKG_EXPOSE_STRING_VIEW") + +# Set the version of the library +execute_process(COMMAND awk -v ORS=. "/^\#define APT_PKG_M/ {print \$3}" + COMMAND sed "s/\\.\$//" + INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/contrib/macros.h + OUTPUT_VARIABLE MAJOR OUTPUT_STRIP_TRAILING_WHITESPACE) +execute_process(COMMAND grep "^#define APT_PKG_RELEASE" + COMMAND cut -d " " -f 3 + INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/contrib/macros.h + OUTPUT_VARIABLE MINOR OUTPUT_STRIP_TRAILING_WHITESPACE) + +message(STATUS "Building libapt-pkg ${MAJOR} (release ${MINOR})") +set(APT_PKG_MAJOR ${MAJOR} PARENT_SCOPE) # exporting for methods/CMakeLists.txt + +# Definition of the C++ files used to build the library +file(GLOB_RECURSE library "*.cc") +file(GLOB_RECURSE headers "*.h") + +# Create a library using the C++ files +add_library(apt-pkg SHARED ${library}) +add_dependencies(apt-pkg apt-pkg-versionscript) +# Link the library and set the SONAME +target_include_directories(apt-pkg + PRIVATE ${ZLIB_INCLUDE_DIRS} + ${BZIP2_INCLUDE_DIRS} + ${LZMA_INCLUDE_DIRS} + ${LZ4_INCLUDE_DIRS}) +target_link_libraries(apt-pkg + PRIVATE -lutil -ldl -lresolv + ${CMAKE_THREAD_LIBS_INIT} + ${ZLIB_LIBRARIES} + ${BZIP2_LIBRARIES} + ${LZMA_LIBRARIES} + ${LZ4_LIBRARIES}) +set_target_properties(apt-pkg PROPERTIES VERSION ${MAJOR}.${MINOR}) +set_target_properties(apt-pkg PROPERTIES SOVERSION ${MAJOR}) +add_version_script(apt-pkg) + +# Install the library and the header files +install(TARGETS apt-pkg LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(FILES ${headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/apt-pkg) +flatify(${PROJECT_BINARY_DIR}/include/apt-pkg/ "${headers}") -- cgit v1.2.3-70-g09d2 From 8c1dbbef35bea4082eacfe4e626e7726b9e84349 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 8 Aug 2016 14:56:53 +0200 Subject: CMake: Check for ptsname_r() again This was dropped in autotools as I found no use of the HAVE_PTSNAME_R macro. Turns out it was typoed as HAVE_PTS_NAME_R. Fix the #ifdef and add checks to CMake for it. Closes: #833674 --- CMake/config.h.in | 3 +++ CMakeLists.txt | 1 + apt-pkg/deb/dpkgpm.cc | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'apt-pkg') diff --git a/CMake/config.h.in b/CMake/config.h.in index 3afd9123c..e929646fa 100644 --- a/CMake/config.h.in +++ b/CMake/config.h.in @@ -34,6 +34,9 @@ #cmakedefine HAVE_SETRESUID #cmakedefine HAVE_SETRESGID +/* Check for ptsname_r() */ +#cmakedefine HAVE_PTSNAME_R + /* Define the arch name string */ #define COMMON_ARCH "${COMMON_ARCH}" diff --git a/CMakeLists.txt b/CMakeLists.txt index 254e34869..7e432bca3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,6 +102,7 @@ check_function_exists(getresuid HAVE_GETRESUID) check_function_exists(getresgid HAVE_GETRESGID) check_function_exists(setresuid HAVE_SETRESUID) check_function_exists(setresgid HAVE_SETRESGID) +check_function_exists(ptsname_r HAVE_PTSNAME_R) check_function_exists(timegm HAVE_TIMEGM) test_big_endian(WORDS_BIGENDIAN) diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc index c1b9a28f4..ccfc77d6a 100644 --- a/apt-pkg/deb/dpkgpm.cc +++ b/apt-pkg/deb/dpkgpm.cc @@ -1086,7 +1086,7 @@ void pkgDPkgPM::StartPtyMagic() /*{{{*/ _error->Errno("unlockpt", "Unlocking the slave of master fd %d failed!", d->master); else { -#ifdef HAVE_PTS_NAME_R +#ifdef HAVE_PTSNAME_R char slave_name[64]; // 64 is used by bionic if (ptsname_r(d->master, slave_name, sizeof(slave_name)) != 0) #else -- cgit v1.2.3-70-g09d2 From c85c4bed0a4b32ee2dcbd86ea819e39f3d8beb84 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 9 Aug 2016 17:40:01 +0200 Subject: Get rid of the old buildsystem Bye, bye, old friend. --- COMPILING | 84 ------------- Makefile | 53 --------- README.make | 112 ------------------ apt-inst/makefile | 26 ---- apt-pkg/makefile | 37 ------ apt-private/makefile | 21 ---- buildlib/apti18n.h.in | 30 ----- buildlib/config.h.in | 60 ---------- buildlib/configure.mak | 62 ---------- buildlib/copy.mak | 31 ----- buildlib/defaults.mak | 185 ----------------------------- buildlib/docbook.mak | 75 ------------ buildlib/environment.mak.in | 85 ------------- buildlib/fail.mak | 20 ---- buildlib/install-sh | 250 --------------------------------------- buildlib/library.mak | 77 ------------ buildlib/libversion.mak | 14 --- buildlib/makefile.in | 46 ------- buildlib/manpage.mak | 30 ----- buildlib/netdb.h.in | 6 - buildlib/po4a_manpage.mak | 74 ------------ buildlib/podomain.mak | 27 ----- buildlib/program.mak | 60 ---------- buildlib/python.mak | 68 ----------- buildlib/staticlibrary.mak | 60 ---------- buildlib/statvfs.h.in | 13 -- buildlib/tools.m4 | 110 ----------------- cmdline/makefile | 119 ------------------- configure.ac | 218 ---------------------------------- doc/en/makefile | 37 ------ doc/lang.makefile | 11 -- doc/makefile | 113 ------------------ dselect/makefile | 17 --- ftparchive/makefile | 21 ---- methods/makefile | 110 ----------------- po/LINGUAS | 7 -- po/makefile | 114 ------------------ test/Makefile | 16 --- test/integration/makefile | 10 -- test/interactive-helper/makefile | 53 --------- test/libapt/makefile | 84 ------------- vendor/makefile | 58 --------- vendor/vendor.makefile | 28 ----- 43 files changed, 2732 deletions(-) delete mode 100644 COMPILING delete mode 100644 Makefile delete mode 100644 README.make delete mode 100644 apt-inst/makefile delete mode 100644 apt-pkg/makefile delete mode 100644 apt-private/makefile delete mode 100644 buildlib/apti18n.h.in delete mode 100644 buildlib/config.h.in delete mode 100644 buildlib/configure.mak delete mode 100644 buildlib/copy.mak delete mode 100644 buildlib/defaults.mak delete mode 100644 buildlib/docbook.mak delete mode 100644 buildlib/environment.mak.in delete mode 100644 buildlib/fail.mak delete mode 100644 buildlib/install-sh delete mode 100644 buildlib/library.mak delete mode 100644 buildlib/libversion.mak delete mode 100644 buildlib/makefile.in delete mode 100644 buildlib/manpage.mak delete mode 100644 buildlib/netdb.h.in delete mode 100644 buildlib/po4a_manpage.mak delete mode 100644 buildlib/podomain.mak delete mode 100644 buildlib/program.mak delete mode 100644 buildlib/python.mak delete mode 100644 buildlib/staticlibrary.mak delete mode 100644 buildlib/statvfs.h.in delete mode 100644 buildlib/tools.m4 delete mode 100644 cmdline/makefile delete mode 100644 configure.ac delete mode 100644 doc/en/makefile delete mode 100644 doc/lang.makefile delete mode 100644 doc/makefile delete mode 100644 dselect/makefile delete mode 100644 ftparchive/makefile delete mode 100644 methods/makefile delete mode 100644 po/LINGUAS delete mode 100644 po/makefile delete mode 100644 test/Makefile delete mode 100644 test/integration/makefile delete mode 100644 test/interactive-helper/makefile delete mode 100644 test/libapt/makefile delete mode 100644 vendor/makefile delete mode 100644 vendor/vendor.makefile (limited to 'apt-pkg') diff --git a/COMPILING b/COMPILING deleted file mode 100644 index 93e628037..000000000 --- a/COMPILING +++ /dev/null @@ -1,84 +0,0 @@ -General Information -~~~~~~~~~~~~~~~~~~~ -To compile this you need a couple things - - A working POSIX system with working POSIX gcc, g++, make (GNU), - ar, sh, awk and sed in the path - - GNU Make 3.74 or so, -- normal UNIX make will NOT work - * Note 3.77 is broken. - - A working ANSI C++ compiler, this is not g++ 2.7.* - g++ 2.8 works OK and newer egcs work well also. Nobody has tried it - on other compilers :< You will need a properly working STL as well. - - A C library with the usual POSIX functions and a BSD socket layer. - If your OS conforms to the Single Unix Spec then you are fine: - http://www.opengroup.org/onlinepubs/7908799/index.html - - Refer to the Build-Depends information in debian/control for - additional requirements (some of which are Debian-specific) - -** NOTICE ** -The C++ global constructors do not link correctly when using non-shared -libraries. This is probably the correct behavior of the linker, but I have -not yet had time to devise a work around for it. The correct thing to -do is add a reference to debSystem in apt-pkg/init.cc, -assert(&debSystem == 0) would be fine for instance. - -Guidelines -~~~~~~~~~~ -I am not interested in making 'ultra portable code'. I will accept patches -to make the code that already exists conform more to SUS or POSIX, but -I don't really care if your not-SUS OS doesn't work. It is simply too -much work to maintain patches for dysfunctional OSs. I highly suggest you -contact your vendor and express interest in a conforming C library. - -That said, there are lots of finicky problems that must be dealt with even -between the supported OS's. Primarily the path I choose to take is to put -a shim header file in build/include that transparently adds the required -functionality. Patches to make autoconf detect these cases and generate the -required shims are OK. - -Current shims: - * sys/statvfs.h to convert from BSD/old-glibc statfs to SUS statvfs - * rfc2553 hostname resolution (methods/rfc*), shims to normal gethostbyname. - The more adventurous could steal the KAME IPv6 enabled resolvers for those - OS's with IPv6 support but no rfc2553 (why?) - * define _XOPEN_EXTENDED_SOURCE to bring in h_errno on HP-UX - * socklen_t shim in netdb.h if the OS does not have socklen_t - -The only completely non-shimmed OS is Linux with glibc2.1, glibc2.0 requires -the first three shims. - -Platform Notes -~~~~~~~~~~~~~~ -Debian GNU Linux 2.1 'slink' -Debian GNU Linux 'potato' -Debian GNU Linux 'woody' - * All Archs - - Works flawlessly - - You will want to have docbook-xml and docbook2man installed to get - best results. - - No IPv6 Support in glibc's < 2.1. - -Sun Solaris - SunOS cab101 5.7 Generic_106541-04 sun4u sparc - SunOS csu201 5.8 Generic_108528-04 sun4u sparc - - Works fine - - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution - -OpenBSD - OpenBSD gsb086 2.5 CMPUT#0 i386 unknown - OpenBSD csu101 2.7 CMPUT#1 i386 unknown - - OS needs 'ranlib' to generate the symbol table after 'ar'.. (not using - GNU ar with the gnu tool chain :<) - - '2.5' does not have RFC 2553 hostname resolution, but '2.7' does - - Testing on '2.7' suggests the OS has a bug in its handling of - ftruncate on files that have been written via mmap. It fills the page - that crosses the truncation boundary with 0's. - -HP-UX - HP-UX nyquist B.10.20 C 9000/780 2016574337 32-user license - - Evil OS, does not conform very well to SUS - 1) snprintf exists but is not prototyped, ignore spurious warnings - 2) No socklen_t - 3) Requires -D_XOPEN_SOURCE_EXTENDED for h_errno - configure should fix the last two (see above) - - Note, no IPv6 Support, OS lacks RFC 2553 hostname resolution - diff --git a/Makefile b/Makefile deleted file mode 100644 index 7680f0842..000000000 --- a/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -# -*- make -*- - -# This is the top level make file for APT, it recurses to each lower -# level make file and runs it with the proper target -ifndef NOISY -.SILENT: -endif - -.PHONY: default -default: startup all - -.PHONY: fast headers library clean veryclean all binary program doc test update-po -all headers library clean veryclean binary program doc manpages docbook test update-po startup dirs: - $(MAKE) -C vendor $@ - $(MAKE) -C apt-pkg $@ - $(MAKE) -C apt-inst $@ - $(MAKE) -C apt-private $@ - $(MAKE) -C methods $@ - $(MAKE) -C cmdline $@ - $(MAKE) -C ftparchive $@ - $(MAKE) -C dselect $@ - $(MAKE) -C doc $@ - $(MAKE) -C po $@ - # FIXME: -C test has issue swith parallel builds, investigate! - -$(MAKE) -C test $@ - -fast: - $(MAKE) -C vendor all - $(MAKE) -C apt-pkg all - $(MAKE) -C apt-inst all - $(MAKE) -C apt-private all - $(MAKE) -C methods all - $(MAKE) -C cmdline all - $(MAKE) -C ftparchive all - $(MAKE) -C test all - -all headers library clean veryclean binary program doc manpages docbook test update-po: startup dirs - -dirs: startup - -# Some very common aliases -.PHONY: maintainer-clean dist-clean distclean pristine sanity -maintainer-clean dist-clean distclean pristine sanity: veryclean -veryclean: clean - -# The startup target builds the necessary configure scripts. It should -# be used after a CVS checkout. -CONVERTED=environment.mak include/config.h include/apti18n.h build/doc/Doxyfile makefile -include buildlib/configure.mak -$(BUILDDIR)/include/config.h: buildlib/config.h.in -$(BUILDDIR)/include/apti18n.h: buildlib/apti18n.h.in -$(BUILDDIR)/environment.mak: buildlib/environment.mak.in -$(BUILDDIR)/makefile: buildlib/makefile.in diff --git a/README.make b/README.make deleted file mode 100644 index db5f36e94..000000000 --- a/README.make +++ /dev/null @@ -1,112 +0,0 @@ -The Make System -~~~ ~~~~ ~~~~~~ -To compile this program you require GNU Make. In fact you probably need -GNU Make 3.76.1 or newer. The makefiles contained make use of many -GNU Make specific features and will not run on other makes. - -The make system has a number of interesting properties that are not found -in other systems such as automake or the GNU makefile standards. In -general some semblance of expectedness is kept so as not to be too -surprising. Basically the following will work as expected: - - ./configure - make - or - cd build - ../configure - make - -There are a number of other things that are possible that may make software -development and software packaging simpler. The first of these is the -environment.mak file. When configure is run it creates an environment.mak -file in the build directory. This contains -all- configurable parameters -for all of the make files in all of the subdirectories. Changing one -of these parameters will have an immediate effect. The use of makefile.in -and configure substitutions across build makefiles is not used at all. - -Furthermore, the make system runs with a current directory equal to the -source directory regardless of the destination directory. This means -#include "" and #include <> work as expected and more importantly -running 'make' in the source directory will work as expected. The -environment variable or make parameter 'BUILD' sets the build directory. -It may be an absolute path or a path relative to the top level directory. -By default build-arch/ then build/ will be used with a fall back to ./ This -means you can get all the advantages of a build directory without having to -cd into it to edit your source code! - -The make system also performs dependency generation on the fly as the -compiler runs. This is extremely fast and accurate. There is however -one failure condition that occurs when a header file is erased. In -this case you should run make clean to purge the .o and .d files to -rebuild. - -The final significant deviation from normal make practices is -in how the build directory is managed. It is not nearly a mirror of -the source directory but is logically divided in the following manner - bin/ - methods/ - doc/ - examples/ - include/ - apt-pkg/ - obj/ - apt-pkg/ - cmdline/ - [...] -Only .o and .d files are placed in the obj/ subdirectory. The final compiled -binaries are placed in bin, published headers for inter-component linking -are placed in include/ and documentation is generated into doc/. This means -all runnable programs are within the bin/ directory, a huge benefit for -debugging inter-program relationships. The .so files are also placed in -bin/ for simplicity. - -By default make is put into silent mode. During operation there should be -no shell or compiler messages only status messages from the makefiles, -if any pop up that indicates there may be a problem with your environment. -For debugging you can disable this by setting NOISY=1, ala - make NOISY=1 - -Using the makefiles -~~~~~ ~~~ ~~~~~~~~~ -The makefiles for the components are really simple. The complexity is hidden -within the buildlib/ directory. Each makefile defines a set of make variables -for the bit it is going to make then includes a makefile fragment from -the buildlib/. This fragment generates the necessary rules based on the -originally defined variables. This process can be repeated as many times as -necessary for as many programs or libraries as are in the directory. - -Many of the make fragments have some useful properties involving sub -directories and other interesting features. They are more completely -described in the fragment code in buildlib. Some tips on writing fragments -are included in buildlib/defaults.mak - -The fragments are NEVER processed by configure, so if you make changes to -them they will have an immediate effect. - -Autoconf -~~~~~~~~ -Straight out of CVS you have to initialize autoconf. This requires -automake (I really don't know why) and autoconf and requires doing - aclocal -I buildlib - autoconf -[Alternatively you can run make startup in the top level build dir] - -Autoconf is configured to do some basic system probes for optional and -required functionality and generate an environment.mak and include/config.h -from it's findings. It will then write a 'makefile' and run make dirs to -create the output directory tree. - -It is not my belief that autoconf should be used to generate substantial -source code markup to escape OS problems. If an OS problem does crop up -it can likely be corrected by installing the correct files into the -build include/ dir and perhaps writing some replacement code and -linking it in. To the fullest extent possible the source code should conform -to standards and not cater to broken systems. - -Autoconf will also write a makefile into the top level of the build dir, -this simply acts as a wrapper to the main top level make in the source tree. -There is one big warning, you can't use both this make file and the -ones in the top level tree. Make is not able to resolve rules that -go to the same file through different paths and this will confuse the -depends mechanism. I recommend always using the makefiles in the -source directory and exporting BUILD. diff --git a/apt-inst/makefile b/apt-inst/makefile deleted file mode 100644 index 5601cd9e6..000000000 --- a/apt-inst/makefile +++ /dev/null @@ -1,26 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=apt-inst - -# Header location -SUBDIRS = contrib deb -HEADER_TARGETDIRS = apt-pkg - -# Bring in the default rules -include ../buildlib/defaults.mak - -# The library name and version (indirectly used from init.h) -include ../buildlib/libversion.mak - -# The library name -LIBRARY=apt-inst -MAJOR=2.0 -MINOR=0 -SLIBS=$(PTHREADLIB) -lapt-pkg -APT_DOMAIN:=libapt-inst$(MAJOR) -LIBRARYDEPENDS=$(LIB)/libapt-pkg.so - -SOURCE = $(sort $(wildcard *.cc */*.cc)) -HEADERS = $(addprefix apt-pkg/,$(notdir $(sort $(wildcard *.h */*.h)))) - -include $(LIBRARY_H) diff --git a/apt-pkg/makefile b/apt-pkg/makefile deleted file mode 100644 index 789d3f2fd..000000000 --- a/apt-pkg/makefile +++ /dev/null @@ -1,37 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=apt-pkg - -# Header location -SUBDIRS = deb edsp contrib -HEADER_TARGETDIRS = apt-pkg - -# Bring in the default rules -include ../buildlib/defaults.mak - -# The library name and version (indirectly used from init.h) -include ../buildlib/libversion.mak - -CPPFLAGS+=-DAPT_PKG_EXPOSE_STRING_VIEW -LIBRARY=apt-pkg -MAJOR=$(LIBAPTPKG_MAJOR) -MINOR=$(LIBAPTPKG_RELEASE) -SLIBS=$(PTHREADLIB) $(INTLLIBS) -lutil -ldl -lresolv -ifeq ($(HAVE_ZLIB),yes) -SLIBS+= -lz -endif -ifeq ($(HAVE_BZ2),yes) -SLIBS+= -lbz2 -endif -ifeq ($(HAVE_LZMA),yes) -SLIBS+= -llzma -endif -ifeq ($(HAVE_LZ4),yes) -SLIBS+= -llz4 -endif -APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR) - -SOURCE = $(sort $(wildcard *.cc */*.cc)) -HEADERS = $(addprefix apt-pkg/,$(notdir $(sort $(wildcard *.h */*.h)))) - -include $(LIBRARY_H) diff --git a/apt-private/makefile b/apt-private/makefile deleted file mode 100644 index 1934db160..000000000 --- a/apt-private/makefile +++ /dev/null @@ -1,21 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=apt-private - -# Header location -HEADER_TARGETDIRS = apt-private - -# Bring in the default rules -include ../buildlib/defaults.mak - -# The library name -LIBRARY=apt-private -MAJOR=0.0 -MINOR=0 -SLIBS=$(PTHREADLIB) -lapt-pkg -CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden - -SOURCE = $(sort $(wildcard *.cc)) -HEADERS = $(addprefix apt-private/,$(sort $(wildcard *.h))) - -include $(LIBRARY_H) diff --git a/buildlib/apti18n.h.in b/buildlib/apti18n.h.in deleted file mode 100644 index 2202c5b19..000000000 --- a/buildlib/apti18n.h.in +++ /dev/null @@ -1,30 +0,0 @@ -// -*- mode: cpp; mode: fold -*- -// $Id: apti18n.h.in,v 1.6 2003/01/11 07:18:18 jgg Exp $ -/* Internationalization macros for apt. This header should be included last - in each C file. */ - -// Set by autoconf -#undef USE_NLS - -#ifdef USE_NLS -// apt will use the gettext implementation of the C library -#include -#include -# ifdef APT_DOMAIN -# define _(x) dgettext(APT_DOMAIN,x) -# define P_(msg,plural,n) dngettext(APT_DOMAIN,msg,plural,n) -# else -# define _(x) gettext(x) -# define P_(msg,plural,n) ngettext(msg,plural,n) -# endif -# define N_(x) x -#else -// apt will not use any gettext -# define setlocale(a, b) -# define textdomain(a) -# define bindtextdomain(a, b) -# define _(x) x -# define P_(msg,plural,n) (n == 1 ? msg : plural) -# define N_(x) x -# define dgettext(d, m) m -#endif diff --git a/buildlib/config.h.in b/buildlib/config.h.in deleted file mode 100644 index 71c05c1cd..000000000 --- a/buildlib/config.h.in +++ /dev/null @@ -1,60 +0,0 @@ -/* Define if your processor stores words with the most significant - byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN - -/* Define if we have the timegm() function */ -#undef HAVE_TIMEGM - -/* Define if we have the zlib library for gzip */ -#undef HAVE_ZLIB - -/* Define if we have the bz2 library for bzip2 */ -#undef HAVE_BZ2 - -/* Define if we have the lzma library for lzma/xz */ -#undef HAVE_LZMA - -/* Define if we have the lz4 library for lz4 */ -#undef HAVE_LZ4 - -/* These two are used by the statvfs shim for glibc2.0 and bsd */ -/* Define if we have sys/vfs.h */ -#undef HAVE_VFS_H -#undef HAVE_STRUCT_STATFS_F_TYPE - -/* Define if we have sys/mount.h */ -#undef HAVE_MOUNT_H - -/* Define if we have enabled pthread support */ -#undef HAVE_PTHREAD - -/* If there is no socklen_t, define this for the netdb shim */ -#undef NEED_SOCKLEN_T_DEFINE - -/* Check for getresuid() function and similar ones */ -#undef HAVE_GETRESUID -#undef HAVE_GETRESGID -#undef HAVE_SETRESUID -#undef HAVE_SETRESGID - -/* Define to the size of the filesize containing structures */ -#undef _FILE_OFFSET_BITS - -/* Define the arch name string */ -#undef COMMON_ARCH - -/* The package name string */ -#undef PACKAGE - -/* The version number string */ -#undef PACKAGE_VERSION - -/* The mail address to reach upstream */ -#undef PACKAGE_MAIL - -#define APT_8_CLEANER_HEADERS -#define APT_9_CLEANER_HEADERS -#define APT_10_CLEANER_HEADERS - -/* unrolling is faster combined with an optimizing compiler */ -#define SHA2_UNROLL_TRANSFORM diff --git a/buildlib/configure.mak b/buildlib/configure.mak deleted file mode 100644 index e1a511544..000000000 --- a/buildlib/configure.mak +++ /dev/null @@ -1,62 +0,0 @@ -# -*- make -*- - -# 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.ac, create aclocal -# and has rules to run config.status should one of the .in files change. - -# Input -# BUILDDIR - The build directory -# CONVERTED - List of files output by configure $(BUILD) is prepended -# The caller must provide depends for these files -# It would be a fairly good idea to run this after a cvs checkout. -BUILDDIR=build - -.PHONY: startup missing-config-files -startup: $(BUILDDIR)/configure-stamp $(addprefix $(BUILDDIR)/,$(CONVERTED)) - -# use the files provided from the system instead of carry around -# and use (most of the time outdated) copycats -ifeq (file-okay,$(shell test -r buildlib/config.sub && echo 'file-okay')) -buildlib/config.sub: -else - ifeq (file-okay,$(shell test -r /usr/share/misc/config.sub && echo 'file-okay')) -buildlib/config.sub: - ln -sf /usr/share/misc/config.sub buildlib/config.sub - else -buildlib/config.sub: missing-config-files - endif -endif - -ifeq (file-okay,$(shell test -r buildlib/config.guess && echo 'file-okay')) -buildlib/config.guess: -else - ifeq (file-okay,$(shell test -r /usr/share/misc/config.guess && echo 'file-okay')) -buildlib/config.guess: - ln -sf /usr/share/misc/config.guess buildlib/config.guess - else -buildlib/config.guess: missing-config-files - endif -endif - -missing-config-files: - @echo "APT needs 'config.guess' and 'config.sub' in buildlib/ for configuration." - @echo "On Debian systems these are available in the 'autotools-dev' package." - @echo - @echo "The latest versions can be acquired from the upstream git repository:" - @echo "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD" - @echo "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD" - exit 100 - -configure: aclocal.m4 configure.ac - autoconf - -aclocal.m4: $(wildcard buildlib/*.m4) - aclocal -I buildlib - -$(BUILDDIR)/configure-stamp: configure buildlib/config.guess buildlib/config.sub - /usr/bin/test -e '$(BUILDDIR)' || mkdir '$(BUILDDIR)' - (HERE="`pwd`"; cd '$(BUILDDIR)' && "$$HERE/configure") - touch '$(BUILDDIR)/configure-stamp' - -$(addprefix $(BUILDDIR)/,$(CONVERTED)): $(BUILDDIR)/configure-stamp diff --git a/buildlib/copy.mak b/buildlib/copy.mak deleted file mode 100644 index 3ae11a7eb..000000000 --- a/buildlib/copy.mak +++ /dev/null @@ -1,31 +0,0 @@ -# -*- make -*- - -# This installs arbitrary files into a directory - -# Input -# $(SOURCE) - The documents to use -# $(TO) - The directory to put them in -# $(TARGET) - The global target to add the local target as a dependency -# to. -# All output is writtin to files in the build/$(TO) directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := copy-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(addprefix $(TO)/,$(SOURCE)) - -# Install generation hooks -$(TARGET): $($(LOCAL)-LIST) -veryclean: veryclean/$(LOCAL) - -MKDIRS += $(dir $($(LOCAL)-LIST)) - -$($(LOCAL)-LIST) : $(TO)/% : % - echo Installing $< to $(@D) - cp $< $(@D) - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak deleted file mode 100644 index 783cc11b0..000000000 --- a/buildlib/defaults.mak +++ /dev/null @@ -1,185 +0,0 @@ -# -*- make -*- - -# This file configures the default environment for the make system -# The way it works is fairly simple, each module is defined in it's -# own *.mak file. It expects a set of variables to be set to values -# for it to operate as expected. When included the module generates -# the requested rules based on the contents of its control variables. - -# This works out very well and allows a good degree of flexibility. -# To accommodate some of the features we introduce the concept of -# local variables. To do this we use the 'Computed Names' feature of -# gmake. Each module declares a LOCAL scope and access it with, -# $($(LOCAL)-VAR) -# This works very well but it is important to remember that within -# a rule the LOCAL var is unavailable, it will have to be constructed -# from the information in the rule invocation. For stock rules like -# clean this is simple, we use a local clean rule called clean/$(LOCAL) -# and then within the rule $(@F) gets back $(LOCAL)! Other rules will -# have to use some other mechanism (filter perhaps?) The reason such -# lengths are used is so that each directory can contain several 'instances' -# of any given module. I notice that the very latest gmake has the concept -# of local variables for rules. It is possible this feature in conjunction -# with the generated names will provide a very powerful solution indeed! - -# A build directory is used by default, all generated items get put into -# there. However unlike automake this is not done with a VPATH build -# (vpath builds break the distinction between #include "" and #include <>) -# but by explicitly setting the BUILD variable. Make is invoked from -# within the source itself which is much more compatible with compilation -# environments. -ifndef NOISY -.SILENT: -endif - -# Search for the build directory -ifdef BUILD -BUILD_POSSIBLE := $(BUILD) $(BASE)/$(BUILD) -else -BUILD_POSSIBLE := $(BASE) $(BASE)/build-$(shell uname -m) $(BASE)/build -endif - -BUILDX:= $(foreach i,$(BUILD_POSSIBLE),$(wildcard $(i)/environment.mak*)) - -ifeq ($(words $(BUILDX)),0) - -# Check for a busted wildcard function. We use this function in several -# places, it must work. -ifeq ($(words $(wildcard *)),0) -error-all/environment.mak: - echo You have a broken version of GNU Make - upgrade. - error-out-and-die -else -error-all/environment.mak: - echo Can not find the build directory in $(BUILD_POSSIBLE) -- use BUILD= - error-out-and-die -endif - -# Force include below to come to the error target -BUILDX := error-all -else -BUILDX:= $(patsubst %/,%,$(firstword $(dir $(BUILDX)))) -endif - -override BUILD := $(BUILDX) - -# Base definitions -INCLUDE := $(BUILD)/include -BIN := $(BUILD)/bin -LIB := $(BIN) -OBJ := $(BUILD)/obj/$(SUBDIR) -DEP := $(OBJ) -DOC := $(BUILD)/docs -PO := $(BUILD)/po -LOCALE := $(BUILD)/locale -PO_DOMAINS := $(BUILD)/po/domains - -# Module types -LIBRARY_H = $(BASE)/buildlib/library.mak -DOCBOOK_H = $(BASE)/buildlib/docbook.mak -MANPAGE_H = $(BASE)/buildlib/manpage.mak -PROGRAM_H = $(BASE)/buildlib/program.mak -PYTHON_H = $(BASE)/buildlib/python.mak -COPY_H = $(BASE)/buildlib/copy.mak -PO4A_MANPAGE_H = $(BASE)/buildlib/po4a_manpage.mak -FAIL_H = $(BASE)/buildlib/fail.mak -PODOMAIN_H = $(BASE)/buildlib/podomain.mak - -include $(BUILD)/environment.mak - -ifdef STATICLIBS -LIBRARY_H += $(BASE)/buildlib/staticlibrary.mak -endif - -ifdef ONLYSTATICLIBS -LIBRARY_H = $(BASE)/buildlib/staticlibrary.mak -endif - -# Source location control -# SUBDIRS specifies sub components of the module that -# may be located in subdirectories of the source dir. -# This should be declared before including this file -SUBDIRS+= - -# Header file control. -# TARGETDIRS indicates all of the locations that public headers -# will be published to. -# This should be declared before including this file -HEADER_TARGETDIRS+= - -# Options -CPPFLAGS+= -I$(INCLUDE) -LDFLAGS+= -L$(LIB) - -# Directors to create -MKDIRS := $(BIN) - -# Phony rules. Other things hook these by appending to the dependency -# list -.PHONY: headers library clean veryclean all binary program doc dirs -.PHONY: maintainer-clean dist-clean distclean pristine sanity -all: dirs binary doc -binary: library program -maintainer-clean dist-clean distclean pristine sanity: veryclean -startup headers library clean veryclean program test update-po manpages docbook: - -veryclean: - echo Very Clean done for $(SUBDIR) -clean: - echo Clean done for $(SUBDIR) -dirs: - mkdir -p $(patsubst %/,%,$(sort $(MKDIRS))) - -# Header file control. We want all published interface headers to go -# into the build directory from their source dirs. We setup some -# search paths here -vpath %.h $(SUBDIRS) -$(INCLUDE)/%.h $(addprefix $(INCLUDE)/,$(addsuffix /%.h,$(HEADER_TARGETDIRS))) : %.h - cp $< $@ - -# Dependency generation. We want to generate a .d file using gnu cpp. -# For GNU systems the compiler can spit out a .d file while it is compiling, -# this is specified with the INLINEDEPFLAG. Other systems might have a -# makedep program that can be called after compiling, that's illustrated -# by the DEPFLAG case. -# Compile rules are expected to call this macro after calling the compiler -ifdef GCC3DEP -DFILE = $(DEP)/$(basename $(@F)).d -else -DFILE = $(basename $(@F)).d -endif -ifdef INLINEDEPFLAG - define DoDep - sed -e "1s/.*:/$(subst /,\\/,$@):/" $(DFILE) > $(DEP)/$(@F).d - #sed -e "1s/.*:/$(subst /,\\/,$@):/" $(DEP)/$(basename $(@F)).d > $(DEP)/$(@F).d - -rm -f $(basename $(@F)).d - endef -else - ifdef DEPFLAG - define DoDep - $(CXX) $(DEPFLAG) $(CPPFLAGS) -o $@ $< - sed -e "1s/.*:/$(subst /,\\/,$@):/" $(basename $(@F)).d > $(DEP)/$(@F).d - -rm -f $(basename $(@F)).d - endef - else - define DoDep - endef - endif -endif - -# Automatic -j support -ifeq ($(NUM_PROCS),1) - PARALLEL_RUN=no -endif - -ifndef PARALLEL_RUN - PARALLEL_RUN=yes - export PARALLEL_RUN - # handle recursion - ifneq ($(NUM_PROCS),) - MAKEFLAGS += -j $(NUM_PROCS) - endif -endif - -# This makes sorting predictable -export LC_COLLATE=C.UTF-8 diff --git a/buildlib/docbook.mak b/buildlib/docbook.mak deleted file mode 100644 index 6aa3ca0d2..000000000 --- a/buildlib/docbook.mak +++ /dev/null @@ -1,75 +0,0 @@ -# -*- make -*- - -# This processes DocBook XML to produce html and plain text output - -# Input -# $(SOURCE) - The documents to use - -# All output is written to files in the build doc directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := docbook-$(firstword $(SOURCE)) -$(LOCAL)-HTML := $(addsuffix .html,$(addprefix $(DOC)/,$(basename $(SOURCE)))) -$(LOCAL)-TEXT := $(addsuffix .text,$(addprefix $(DOC)/,$(basename $(SOURCE)))) -INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent - -docbook: - - -#--------- - -# Rules to build HTML documentations -ifdef XSLTPROC - -DOCBOOK_HTML_STYLESHEET := docbook-html-style.xsl - -# Install generation hooks -docbook: $($(LOCAL)-HTML) -veryclean: veryclean/html/$(LOCAL) - -vpath %.dbk $(SUBDIRS) -vpath $(DOCBOOK_HTML_STYLESHEET) $(SUBDIRS) -$(DOC)/%.html: %.dbk $(DOCBOOK_HTML_STYLESHEET) $(INCLUDES) - echo Creating html for $< to $@ - -rm -rf $@ - mkdir -p $@ - $(DOCBOOK) \ - --stringparam base.dir $@/ \ - --stringparam l10n.gentext.default.language $(LC) \ - $( $@ || exit 198 - -# Clean rule -.PHONY: veryclean/text/$(LOCAL) -veryclean/text/$(LOCAL): - -rm -rf $($(@F)-TEXT) - -endif diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in deleted file mode 100644 index 2ac3d6847..000000000 --- a/buildlib/environment.mak.in +++ /dev/null @@ -1,85 +0,0 @@ -# This file contains everything that autoconf guessed for your system. -# if you want you can edit it, just don't re-run configure. - -PACKAGE = @PACKAGE@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PACKAGE_MAIL = @PACKAGE_MAIL@ - -# C++ compiler options -CC = @CC@ -CPPFLAGS+= @CPPFLAGS@ @DEFS@ -D_REENTRANT -D_FORTIFY_SOURCE=2 -CXX = @CXX@ -CXXSTD = -std=c++11 -CXXFLAGS+= @CXXFLAGS@ -Wall -Wextra -CXXFLAGS+= -Wcast-align -Wlogical-op -Wredundant-decls -Wmissing-declarations -Wunsafe-loop-optimizations -CXXFLAGS+= -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -Wmissing-include-dirs -Wnoexcept -Wsign-promo -Wundef -# suggests methods which already have such an attribute -#CXXFLAGS+= -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn -# sanitize options to be enabled for testing -#CXXFLAGS+= -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr -# a bit too pedantic to be run by default -#CXXFLAGS+= -Wpedantic -Wno-long-long -Wno-vla -Wno-variadic-macros -# hide inlines -CXXFLAGS+= -fvisibility-inlines-hidden -NUM_PROCS = @NUM_PROCS@ - -# Linker stuff -PICFLAGS+= -fPIC -DPIC -LFLAGS+= @LDFLAGS@ -LEFLAGS+= -SOCKETLIBS:= @SOCKETLIBS@ -AR:=@AR@ -RANLIB:=@RANLIB@ - -# Dep generation - this only works for gnu stuff -GCC3DEP = @GCC3DEP@ -INLINEDEPFLAG = -MD - -DOXYGEN = @DOXYGEN@ -W3M = @W3M@ - -# xsltproc for the man pages and documentation -XSLTPROC := @XSLTPROC@ - -# DocBook XML -DOCBOOK = $(XSLTPROC) --nonet --novalid --xinclude -DOCBOOK2TEXT = $(W3M) -o display_charset=UTF-8 -no-graph -T text/html \ - -cols 78 -dump - -# po4a for the man pages -PO4A := @PO4A@ - -# Gettext settings -GMSGFMT = @GMSGFMT@ -XGETTEXT = @XGETTEXT@ -MSGCOMM:=$(dir $(XGETTEXT))/msgcomm -MSGMERGE:=$(dir $(XGETTEXT))/msgmerge -BASH = @BASH@ - -# Various library checks -PTHREADLIB = @PTHREADLIB@ -PYTHONLIB = @PYTHONLIB@ -PYTHONVER = @PYTHONVER@ -PYTHONPREFIX = @PYTHONPREFIX@ -PYTHONEXECPREFIX = @PYTHONEXECPREFIX@ -PYTHONINCLUDE = @PYTHONINCLUDE@ -BDBLIB = @BDBLIB@ -INTLLIBS = @INTLLIBS@ - -# Shim Headerfile control -HAVE_STATVFS = @HAVE_STATVFS@ -HAVE_ZLIB = @HAVE_ZLIB@ -HAVE_BZ2 = @HAVE_BZ2@ -HAVE_LZMA = @HAVE_LZMA@ -HAVE_LZ4 = @HAVE_LZ4@ -NEED_SOCKLEN_T_DEFINE = @NEED_SOCKLEN_T_DEFINE@ - -# Shared library things -HOST_OS = @host_os@ -ifneq ($(words $(filter gnu% linux-gnu% kfreebsd-gnu% %-gnu,$(HOST_OS))),0) - SONAME_MAGIC=-Wl,-soname -Wl, - LFLAGS_SO= -else - # Do not know how to create shared libraries here. - ONLYSTATICLIBS = yes -endif diff --git a/buildlib/fail.mak b/buildlib/fail.mak deleted file mode 100644 index fc187766d..000000000 --- a/buildlib/fail.mak +++ /dev/null @@ -1,20 +0,0 @@ -# -*- make -*- - -# This prints a failure message but does not abort the make - -# Input -# $(MESSAGE) - The message to show -# $(PROGRAM) - The program/library/whatever. - -# See defaults.mak for information about LOCAL - -LOCAL := $(PROGRAM) -$(LOCAL)-MSG := $(MESSAGE) - -# Install hooks -program: $(PROGRAM) - -.PHONY: $(PROGRAM) -$(PROGRAM) : - echo $($@-MSG) - diff --git a/buildlib/install-sh b/buildlib/install-sh deleted file mode 100644 index ebc66913e..000000000 --- a/buildlib/install-sh +++ /dev/null @@ -1,250 +0,0 @@ -#! /bin/sh -# -# install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). -# -# Copyright 1991 by the Massachusetts Institute of Technology -# -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. - - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - - -# put in absolute paths if you don't have them in your path; or use env. vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd="$cpprog" - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd="$stripprog" - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; - - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done - -if [ x"$src" = x ] -then - echo "install: no input file specified" - exit 1 -else - true -fi - -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d $dst ]; then - instcmd=: - else - instcmd=mkdir - fi -else - -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f $src -o -d $src ] - then - true - else - echo "install: $src does not exist" - exit 1 - fi - - if [ x"$dst" = x ] - then - echo "install: no destination specified" - exit 1 - else - true - fi - -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic - - if [ -d $dst ] - then - dst="$dst"/`basename $src` - else - true - fi -fi - -## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` - -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script - -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' -' -IFS="${IFS-${defaultIFS}}" - -oIFS="${IFS}" -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" - shift - - if [ ! -d "${pathcomp}" ] ; - then - $mkdirprog "${pathcomp}" - else - true - fi - - pathcomp="${pathcomp}/" -done -fi - -if [ x"$dir_arg" != x ] -then - $doit $instcmd $dst && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi -else - -# If we're going to rename the final executable, determine the name now. - - if [ x"$transformarg" = x ] - then - dstfile=`basename $dst` - else - dstfile=`basename $dst $transformbasename | - sed $transformarg`$transformbasename - fi - -# don't allow the sed command to completely eliminate the filename - - if [ x"$dstfile" = x ] - then - dstfile=`basename $dst` - else - true - fi - -# Make a temp file name in the proper directory. - - dsttmp=$dstdir/#inst.$$# - -# Move or copy the file name to the temp name - - $doit $instcmd $src $dsttmp && - - trap "rm -f ${dsttmp}" 0 && - -# and set any options; do chmod last to preserve setuid bits - -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. - - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && - -# Now rename the file to the real destination. - - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile - -fi && - - -exit 0 diff --git a/buildlib/library.mak b/buildlib/library.mak deleted file mode 100644 index 7b12384c4..000000000 --- a/buildlib/library.mak +++ /dev/null @@ -1,77 +0,0 @@ -# -*- make -*- - -# This creates a shared library. - -# Input -# $(SOURCE) - The source code to use -# $(HEADERS) - Exported header files and private header files -# $(LIBRARY) - The name of the library without lib or .so -# $(MAJOR) - The major version number of this library -# $(MINOR) - The minor version number of this library -# $(APT_DOMAIN) - The text domain for this library - -# All output is writtin to .opic files in the build directory to -# signify the PIC output. - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := lib$(LIBRARY).so.$(MAJOR).$(MINOR) -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS)) -$(LOCAL)-SONAME := lib$(LIBRARY).so.$(MAJOR) -$(LOCAL)-VERSIONSCRIPT := $(LIB)/lib$(LIBRARY)-$(MAJOR)-$(MINOR).symver -$(LOCAL)-SLIBS := $(SLIBS) -$(LOCAL)-LIBRARY := $(LIBRARY) - -TYPE = src -include $(PODOMAIN_H) - -# Install the command hooks -headers: $($(LOCAL)-HEADERS) -library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY).so.$(MAJOR) -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(LIB) $(dir $($(LOCAL)-HEADERS)) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) $($(@F)-VERSIONSCRIPT) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so* - -# Build rules for the two symlinks -.PHONY: $(LIB)/lib$(LIBRARY).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so -$(LIB)/lib$(LIBRARY).so.$(MAJOR): $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR) - ln -sf $( $@ - -# The binary build rule -$(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS) $(LIBRARYDEPENDS) $($(LOCAL)-VERSIONSCRIPT) - -rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null - echo Building shared library $@ - $(CXX) $(CXXSTD) $(CXXFLAGS) $(LDFLAGS) -Wl,--version-script=$($(@F)-VERSIONSCRIPT) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\ - -o $@ $(SONAME_MAGIC)$($(@F)-SONAME) -shared \ - $(filter %.opic,$^) \ - $($(@F)-SLIBS) - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.opic: %.cc $(LIBRARYDEPENDS) - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) $(PICFLAGS) -o $@ '$(abspath $<)' - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/buildlib/libversion.mak b/buildlib/libversion.mak deleted file mode 100644 index 1b1855be3..000000000 --- a/buildlib/libversion.mak +++ /dev/null @@ -1,14 +0,0 @@ -# -*- make -*- -# Version number of libapt-pkg. -# Please increase MAJOR with each ABI break, -# with each non-ABI break to the lib, please increase RELEASE. -# The versionnumber is extracted from apt-pkg/macros.h - see also there. -LIBAPTPKG_MAJOR=$(shell awk -v ORS='.' '/^\#define APT_PKG_M/ {print $$3}' $(BASE)/apt-pkg/contrib/macros.h | sed 's/\.$$//') -LIBAPTPKG_RELEASE=$(shell grep '^\#define APT_PKG_RELEASE' $(BASE)/apt-pkg/contrib/macros.h | cut -d ' ' -f 3) - -# Version number of libapt-inst -# Please increase MAJOR with each ABI break, -# with each non-ABI break to the lib, please increase MINOR. -# The versionnumber is extracted from apt-inst/makefile - see also there. -LIBAPTINST_MAJOR=$(shell grep '^MAJOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2) -LIBAPTINST_MINOR=$(shell grep '^MINOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2) diff --git a/buildlib/makefile.in b/buildlib/makefile.in deleted file mode 100644 index 66144cfc6..000000000 --- a/buildlib/makefile.in +++ /dev/null @@ -1,46 +0,0 @@ -# -*- make -*- - -# This is the build directory make file, it sets the build directory -# and runs the src makefile. -ifndef NOISY -.SILENT: -endif -include environment.mak - -SRCDIR=@top_srcdir@ -BUILD:=$(shell pwd) -export BUILD - -# Chain to the parent make to do the actual building -.PHONY: headers library clean veryclean all binary program doc \ - veryclean/local -all headers library clean veryclean binary program doc: - $(MAKE) -C $(SRCDIR) -f Makefile $@ - -# Purge everything. -.PHONY: maintainer-clean dist-clean pristine sanity distclean -maintainer-clean dist-clean pristine sanity distclean: - -rm -rf $(DIRS) - -rm -f config.cache config.log config.status environment.mak makefile - -# Create the required directories and build the shims -# The configure script fills in below, and then we do the right things.. -# This cannot go in the configure script since the directories have not yet -# been created.. In any event I like the idea that you can change environment.mak -# and run make dirs and have the shims updated. -.PHONY: dirs -dirs: - $(MAKE) -C $(SRCDIR) -f Makefile $@ -ifeq ($(HAVE_STATVFS),yes) - @rm -f include/statvfs.h > /dev/null 2>&1 -else - @cp -p $(SRCDIR)/buildlib/statvfs.h.in include/statvfs.h - ln -sf . include/sys -endif -ifeq ($(NEED_SOCKLEN_T_DEFINE),yes) - @cp -p $(SRCDIR)/buildlib/netdb.h.in include/netdb.h -else - @rm -f include/netdb.h > /dev/null 2>&1 -endif - rm -f include/python - ln -sf $(PYTHONINCLUDE) include/python diff --git a/buildlib/manpage.mak b/buildlib/manpage.mak deleted file mode 100644 index 063841d86..000000000 --- a/buildlib/manpage.mak +++ /dev/null @@ -1,30 +0,0 @@ -# -*- make -*- - -# This installs man pages into the doc directory - -# Input -# $(SOURCE) - The documents to use - -# All output is written to files in the build doc directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(addprefix $(DOC)/,$(SOURCE)) - -# Install generation hooks -doc: manpages -manpages: $($(LOCAL)-LIST) -veryclean: veryclean/$(LOCAL) - -MKDIRS += $(DOC) - -$($(LOCAL)-LIST) : $(DOC)/% : % - echo Installing man page $< to $(@D) - cp $< $(@D) - -# Clean rule -.PHONY: veryclean/$(LOCAL) -veryclean/$(LOCAL): - -rm -rf $($(@F)-LIST) diff --git a/buildlib/netdb.h.in b/buildlib/netdb.h.in deleted file mode 100644 index 0fa60e157..000000000 --- a/buildlib/netdb.h.in +++ /dev/null @@ -1,6 +0,0 @@ -/* Fix broken unixen. */ -#include -#ifdef NEED_SOCKLEN_T_DEFINE - #define socklen_t size_t -#endif -#include_next diff --git a/buildlib/po4a_manpage.mak b/buildlib/po4a_manpage.mak deleted file mode 100644 index df12e115c..000000000 --- a/buildlib/po4a_manpage.mak +++ /dev/null @@ -1,74 +0,0 @@ -# -*- make -*- - -# This handles man pages with po4a. We convert to the respective -# output in the source directory then copy over to the final dest. This -# means po4a is only needed if compiling from bzr - -# Input -# $(LC) - The language code of the translation - -# See defaults.mak for information about LOCAL - -# generate a list of accepted man page translations -SOURCE = $(patsubst %.xml,%,$(wildcard *.$(LC).?.xml)) -INCLUDES = apt.ent apt-verbatim.ent apt-vendor.ent - -manpages: - -%.xsl: ../%.xsl - cp -a $< . - -# Do not use XMLTO, build the manpages directly with XSLTPROC -ifdef XSLTPROC - -STYLESHEET=manpage-style.xsl - -LOCAL := po4a-manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(SOURCE) - -# Install generation hooks -manpages: $($(LOCAL)-LIST) -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -apt-verbatim.ent: ../apt-verbatim.ent - cp -a ../apt-verbatim.ent . - -apt-vendor.ent: ../apt-vendor.ent - cp -a ../apt-vendor.ent . - -$($(LOCAL)-LIST) :: % : %.xml $(STYLESHEET) $(INCLUDES) - echo Creating man page $@ - $(XSLTPROC) \ - --stringparam l10n.gentext.default.language $(LC) \ - -o $@ $(STYLESHEET) $< || exit 200 # why xsltproc doesn't respect the -o flag here??? - test -f $(subst .$(LC),,$@) || echo 'FIXME: xsltproc respects the -o flag now, workaround can be removed' - mv -f $(subst .$(LC),,$@) $@ - -# Clean rule -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - rm -f $($(@F)-LIST) apt.ent apt-verbatim.ent -veryclean/$(LOCAL): - # we are nuking the directory we are working in as it is auto-generated - rm -rf '$(abspath .)' - -HAVE_PO4A=yes -endif - -# take care of the rest -INCLUDES := - -ifndef HAVE_PO4A -# Strip from the source list any man pages we don't have compiled already -SOURCE := $(wildcard $(SOURCE)) -endif - -# Chain to the manpage rule -ifneq ($(words $(SOURCE)),0) -include $(MANPAGE_H) -endif - -# DocBook XML Documents -SOURCE := $(wildcard *.$(LC).dbk) -include $(DOCBOOK_H) diff --git a/buildlib/podomain.mak b/buildlib/podomain.mak deleted file mode 100644 index 265359abc..000000000 --- a/buildlib/podomain.mak +++ /dev/null @@ -1,27 +0,0 @@ -# -*- make -*- - -# This creates the file listing used by xgettext and friends based on the -# 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)"' -MY_DOMAIN := $(APT_DOMAIN) -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) > $@.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/buildlib/program.mak b/buildlib/program.mak deleted file mode 100644 index 1b4a5719a..000000000 --- a/buildlib/program.mak +++ /dev/null @@ -1,60 +0,0 @@ -# -*- make -*- - -# This creates a program - -# Input -# $(SOURCE) - The source code to use -# $(PROGRAM) - The name of the program -# $(SLIBS) - Shared libs to link against -# $(LIB_MAKES) - Shared library make files to depend on - to ensure we get -# remade when the shared library version increases. - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := $(PROGRAM) -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .o.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-BIN := $(BIN)/$(PROGRAM) -$(LOCAL)-SLIBS := $(SLIBS) -$(LOCAL)-MKS := $(addprefix $(BASE)/,$(LIB_MAKES)) - -# Install the command hooks -program: $(BIN)/$(PROGRAM) -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -TYPE = src -include $(PODOMAIN_H) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(BIN) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-BIN) - -# The convience binary build rule -.PHONY: $(PROGRAM) -$(PROGRAM): $($(LOCAL)-BIN) - -# The binary build rule -$($(LOCAL)-BIN): $($(LOCAL)-OBJS) $($(LOCAL)-MKS) - echo Building program $@ - $(CXX) $(CXXSTD) $(CXXFLAGS) $(LDFLAGS) $(LFLAGS) -o $@ $(filter %.o,$^) $($(@F)-SLIBS) $(LEFLAGS) - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.o: %.cc - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) -o $@ '$(abspath $<)' - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/buildlib/python.mak b/buildlib/python.mak deleted file mode 100644 index 25349daa0..000000000 --- a/buildlib/python.mak +++ /dev/null @@ -1,68 +0,0 @@ -# -*- make -*- - -# This creates a python shared module. - -# Input -# $(SOURCE) - The source code to use -# $(MODULE) - The name of the module without module or .so - -# All output is writtin to .opic files in the build directory to -# signify the PIC output. - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := $(MODULE)module.so -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-SLIBS := $(SLIBS) -$(LOCAL)-MODULE := $(MODULE) - -# Install the command hooks -library: $(LIB)/$(MODULE)module.so -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(LIB) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-HEADERS) $(LIB)/$($(@F)-MODULE)module.so* - -# The binary build rule. -ifdef PYTHONLIB -ifndef ONLYSTATICLIBS -$(LIB)/$(MODULE)module.so: $($(LOCAL)-OBJS) - -rm -f $(LIB)/$($(@F)-MODULE)module.so* 2> /dev/null - echo Building shared Python module $@ - $(CXX) $(CXXSTD) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\ - -o $@ -shared \ - $(filter %.opic,$^) \ - $($(@F)-SLIBS) $(PYTHONLIB) -else -.PHONY: $(LIB)/$(MODULE)module.so -$(LIB)/$(MODULE)module.so: - echo Don't know how to make a python module here, not building $@ -endif # ifndef ONLYSTATICLIBS -else -.PHONY: $(LIB)/$(MODULE)module.so -$(LIB)/$(MODULE)module.so: - echo No python support, not building $@ -endif # ifdef PYTHONLIB - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.opic: %.cc - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) $(PICFLAGS) -o $@ '$(abspath $<)' - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/buildlib/staticlibrary.mak b/buildlib/staticlibrary.mak deleted file mode 100644 index e81770e8a..000000000 --- a/buildlib/staticlibrary.mak +++ /dev/null @@ -1,60 +0,0 @@ -# -*- make -*- - -# This creates a static library. - -# Input -# $(SOURCE) - The source code to use -# $(HEADERS) - Exported header files and private header files -# $(LIBRARY) - The name of the library without lib or .so - -# All output is writtin to .o files in the build directory - -# See defaults.mak for information about LOCAL - -# Some local definitions -LOCAL := lib$(LIBRARY).a -$(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .o.d,$(notdir $(basename $(SOURCE))))) -$(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS)) -$(LOCAL)-LIB := $(LIB)/lib$(LIBRARY).a - -# Install the command hooks -headers: $($(LOCAL)-HEADERS) -library: $($(LOCAL)-LIB) -clean: clean/$(LOCAL) -veryclean: veryclean/$(LOCAL) - -# Make Directories -MKDIRS += $(OBJ) $(DEP) $(LIB) $(dir $($(LOCAL)-HEADERS)) - -# The clean rules -.PHONY: clean/$(LOCAL) veryclean/$(LOCAL) -clean/$(LOCAL): - -rm -f $($(@F)-OBJS) $($(@F)-DEP) -veryclean/$(LOCAL): clean/$(LOCAL) - -rm -f $($(@F)-HEADERS) $($(@F)-LIB) - -# Build rules for the two symlinks -.PHONY: $($(LOCAL)-LIB) - -# The binary build rule -$($(LOCAL)-LIB): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS) - echo Building library $@ - -rm $@ > /dev/null 2>&1 - $(AR) cq $@ $(filter %.o,$^) -ifneq ($(words $(RANLIB)),0) - $(RANLIB) $@ -endif - -# Compilation rules -vpath %.cc $(SUBDIRS) -$(OBJ)/%.o: %.cc - echo Compiling $< to $@ - $(CXX) -c $(INLINEDEPFLAG) $(CPPFLAGS) $(CXXSTD) $(CXXFLAGS) -o $@ '$(abspath $<)' - $(DoDep) - -# Include the dependencies that are available -The_DFiles = $(wildcard $($(LOCAL)-DEP)) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif diff --git a/buildlib/statvfs.h.in b/buildlib/statvfs.h.in deleted file mode 100644 index d0ec238ad..000000000 --- a/buildlib/statvfs.h.in +++ /dev/null @@ -1,13 +0,0 @@ -/* Compatibility for systems with out Single Unix Spec statvfs */ -#include - -#ifdef HAVE_VFS_H -#include -#endif - -#ifdef HAVE_MOUNT_H -#include -#include -#endif - -#define statvfs statfs diff --git a/buildlib/tools.m4 b/buildlib/tools.m4 deleted file mode 100644 index 433d5ca32..000000000 --- a/buildlib/tools.m4 +++ /dev/null @@ -1,110 +0,0 @@ -AC_DEFUN([ah_HAVE_GETCONF], - [AC_ARG_WITH(getconf, - [ --with-getconf Enable automagical buildtime configuration], - [if test "$withval" = "yes"; then - AC_PATH_PROG(GETCONF, getconf) - elif test ! "$withval" = "no";then - AC_MSG_CHECKING([getconf]) - AC_MSG_RESULT([$withval]) - GETCONF=$withval - fi], - [AC_PATH_PROG(GETCONF, getconf)] - ) - AC_SUBST(GETCONF) -]) - -dnl ah_GET_CONF(variable, value ..., [default]) -AC_DEFUN([ah_GET_GETCONF], - [AC_REQUIRE([ah_HAVE_GETCONF]) - if test ! -z "$GETCONF";then - old_args="[$]@" - set -- $2 - while eval test -z \"\$$1\" -a ! -z \"[$]1\";do - eval $1=`$GETCONF "[$]1" 2>/dev/null` - shift - done - fi - if eval test -z \"\$$1\" -o \"\$$1\" = "-1";then - eval $1="$3" - fi -]) -AC_DEFUN([ah_NUM_CPUS], - [AC_MSG_CHECKING([number of cpus]) - AC_ARG_WITH(cpus, - [ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)], - [ - if test "$withval" = "yes"; then - ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1) - elif test ! "$withval" = "no";then - NUM_CPUS=$withval - elif test "$withval" = "no";then - NUM_CPUS=1 - fi], - [ah_GET_GETCONF(NUM_CPUS, SC_NPROCESSORS_ONLN _NPROCESSORS_ONLN, 1)] - ) - ah_NUM_CPUS_msg="$NUM_CPUS" - if test "$NUM_CPUS" = "0"; then - # broken getconf, time to bitch. - ah_NUM_CPUS_msg="found 0 cpus. Has someone done a lobotomy?" - NUM_CPUS=1 - fi - if test $NUM_CPUS = 1 ;then - default_PROC_MULTIPLY=1 - else - default_PROC_MULTIPLY=2 - fi - AC_MSG_RESULT([$ah_NUM_CPUS_msg]) - AC_SUBST(NUM_CPUS) -]) -AC_DEFUN([ah_PROC_MULTIPLY], - [AC_REQUIRE([ah_NUM_CPUS]) - AC_MSG_CHECKING([processor multiplier]) - AC_ARG_WITH(proc-multiply, - [ --with-proc-multiply Multiply this * number of cpus for parallel making(default 2).], - [if test "$withval" = "yes"; then - PROC_MULTIPLY=$default_PROC_MULTIPLY - elif test ! "$withval" = "no";then - PROC_MULTIPLY=$withval - fi], - [PROC_MULTIPLY=$default_PROC_MULTIPLY] - ) - AC_MSG_RESULT([$PROC_MULTIPLY]) - AC_SUBST(PROC_MULTIPLY) -]) - -AC_DEFUN([ah_NUM_PROCS], - [AC_REQUIRE([ah_PROC_MULTIPLY]) - AC_REQUIRE([ah_NUM_CPUS]) - AC_MSG_CHECKING([number of processes to run during make]) - AC_ARG_WITH(procs, - [ --with-procs The number of processes to run in parallel during make(num_cpus * multiplier).], - [if test "$withval" = "yes"; then - NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY` - elif test ! "$withval" = "no";then - NUM_PROCS=$withval - fi], - [NUM_PROCS=`expr $NUM_CPUS \* $PROC_MULTIPLY`] - ) - AC_MSG_RESULT([$NUM_PROCS]) - AC_SUBST(NUM_PROCS) -]) - -AC_DEFUN([ah_GCC3DEP],[ - AC_MSG_CHECKING(if $CXX -MD works) - touch gcc3dep.cc - ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc - rm -f gcc3dep.cc gcc3dep_test.o - if test -e gcc3dep.d; then - rm -f gcc3dep.d - GCC_MD=input - GCC3DEP= - elif test -e gcc3dep_test.d; then - rm -f gcc3dep_test.d - GCC_MD=output - GCC3DEP=yes - else - AC_MSG_ERROR(no) - fi - AC_MSG_RESULT([yes, for $GCC_MD]) - AC_SUBST(GCC3DEP) -]) diff --git a/cmdline/makefile b/cmdline/makefile deleted file mode 100644 index 8b79ce05f..000000000 --- a/cmdline/makefile +++ /dev/null @@ -1,119 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=cmdline - -# Bring in the default rules -include ../buildlib/defaults.mak - -# The apt program -PROGRAM=apt -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt.cc -include $(PROGRAM_H) - -# The apt-cache program -PROGRAM=apt-cache -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-cache.cc -include $(PROGRAM_H) - -# The apt-get program -PROGRAM=apt-get -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-get.cc -include $(PROGRAM_H) - -# The apt-config program -PROGRAM=apt-config -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-config.cc -include $(PROGRAM_H) - -# The apt-cdrom program -PROGRAM=apt-cdrom -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-cdrom.cc -include $(PROGRAM_H) - -# The apt-mark program -PROGRAM=apt-mark -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-mark.cc -include $(PROGRAM_H) - -# The apt-helper -PROGRAM=apt-helper -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -lresolv -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-helper.cc -include $(PROGRAM_H) - -# The apt-report-mirror-failure program -#SOURCE=apt-report-mirror-failure -#TO=$(BIN) -#TARGET=program -#include $(COPY_H) - -# -# the following programs are shipped in apt-utils -# -APT_DOMAIN:=apt-utils - -# The apt-sortpkgs program -PROGRAM=apt-sortpkgs -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-sortpkgs.cc -include $(PROGRAM_H) - -# The apt-extracttemplates program -PROGRAM=apt-extracttemplates -SLIBS = -lapt-pkg -lapt-inst -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-inst/makefile apt-private/makefile -SOURCE = apt-extracttemplates.cc -include $(PROGRAM_H) - -# The internal solver/planner acting as an external -PROGRAM=apt-internal-solver -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-internal-solver.cc -include $(PROGRAM_H) - -PROGRAM=apt-internal-planner -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-internal-planner.cc -include $(PROGRAM_H) - -# This just dumps out the state -PROGRAM=apt-dump-solver -SLIBS = -lapt-pkg -lapt-private $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-private/makefile -SOURCE = apt-dump-solver.cc -include $(PROGRAM_H) - -# The apt-key program -apt-key: apt-key.in - sed -e "s#&keyring-filename;#$(shell ../vendor/getinfo keyring-filename)#" \ - -e "s#&keyring-removed-filename;#$(shell ../vendor/getinfo keyring-removed-filename)#" \ - -e "s#&keyring-master-filename;#$(shell ../vendor/getinfo keyring-master-filename)#" \ - -e "s#&keyring-uri;#$(shell ../vendor/getinfo keyring-uri)#" \ - -e "s#&keyring-package;#$(shell ../vendor/getinfo keyring-package)#" $< > $@ - chmod 755 $@ - -SOURCE=apt-key -TO=$(BIN) -TARGET=program -include $(COPY_H) - -clean: clean/apt-key - -clean/apt-key: - rm -f apt-key diff --git a/configure.ac b/configure.ac deleted file mode 100644 index c1e61da66..000000000 --- a/configure.ac +++ /dev/null @@ -1,218 +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 popular 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.68]) -AC_INIT -AC_CONFIG_SRCDIR([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="1.3~pre3+cmake2" -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_TARGET - -dnl Check our C compiler - -AC_PROG_CC -AC_SEARCH_LIBS([strerror],[cposix]) - -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 -AC_CHECK_LIB(pthread, pthread_create,[AC_DEFINE(HAVE_PTHREAD) PTHREADLIB="-lpthread"]) -AC_SUBST(PTHREADLIB) -if test "$PTHREADLIB" != "-lpthread"; then - AC_MSG_ERROR(failed: I need posix threads, pthread) -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_LANG_PUSH([C++]) -AC_CHECK_HEADER(gtest/gtest.h,, - AC_MSG_WARN([failed: I need gtest (packaged as libgtest-dev) for unit testing]), -) -AC_LANG_POP([C++]) - - -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_LZ4=no -AC_CHECK_LIB(lz4, LZ4F_createCompressionContext,[AC_CHECK_HEADER(lz4frame.h, [HAVE_LZ4=yes], [])], []) -AC_SUBST(HAVE_LZ4) -if test "x$HAVE_LZ4" = "xyes"; then - AC_DEFINE(HAVE_LZ4) -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 - -HAVE_LZMA=no -AC_CHECK_LIB(lzma, lzma_easy_encoder,[AC_CHECK_HEADER(lzma.h, [HAVE_LZMA=yes], [])], []) -AC_SUBST(HAVE_LZMA) -if test "x$HAVE_LZMA" = "xyes"; then - AC_DEFINE(HAVE_LZMA) -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 setuid checking function -AC_CHECK_FUNCS(getresuid getresgid setresuid setresgid) -AC_SUBST(HAVE_GETRESUID) -AC_SUBST(HAVE_GETRESGID) -AC_SUBST(HAVE_SETRESUID) -AC_SUBST(HAVE_SETRESGID) - -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) -AC_PATH_PROG(W3M, w3m) - -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 - -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_CONFIG_FILES([environment.mak:buildlib/environment.mak.in makefile:buildlib/makefile.in doc/Doxyfile:doc/Doxyfile.in]) -AC_OUTPUT diff --git a/doc/en/makefile b/doc/en/makefile deleted file mode 100644 index 8659de6f6..000000000 --- a/doc/en/makefile +++ /dev/null @@ -1,37 +0,0 @@ -# -*- 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 apt-vendor.ent -STYLESHEET=../manpage-style.xsl - -LOCAL := manpage-$(firstword $(SOURCE)) -$(LOCAL)-LIST := $(SOURCE) - -apt-vendor.ent: ../../vendor/current/apt-vendor.ent - ln -sf '$(abspath $^)' $@ - -# Install generation hooks -manpages: $($(LOCAL)-LIST) - -$($(LOCAL)-LIST) :: % : ../%.xml $(STYLESHEET) $(INCLUDES) - echo Creating man page $@ - $(XSLTPROC) -o $@ $(STYLESHEET) $< - -# Clean rule -.PHONY: clean/$(LOCAL) -veryclean: clean/$(LOCAL) -clean: clean/$(LOCAL) -clean/$(LOCAL): - -rm -rf $($(@F)-LIST) apt-vendor.ent -endif - -# Chain to the manpage rule -include $(MANPAGE_H) diff --git a/doc/lang.makefile b/doc/lang.makefile deleted file mode 100644 index 9fdc6ea70..000000000 --- a/doc/lang.makefile +++ /dev/null @@ -1,11 +0,0 @@ -# -*- make -*- -BASE=../.. -SUBDIR=doc/@@LANG@@ - -# Bring in the default rules -include ../../buildlib/defaults.mak - -# Language Code of this translation -LC=@@LANG@@ - -include $(PO4A_MANPAGE_H) diff --git a/doc/makefile b/doc/makefile deleted file mode 100644 index 785c0b125..000000000 --- a/doc/makefile +++ /dev/null @@ -1,113 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=doc - -# Bring in the default rules -include ../buildlib/defaults.mak - -# DocBook XML Documents -SOURCE = $(wildcard *.dbk) -LC = en -include $(DOCBOOK_H) - -doc: manpages docbook - -examples/sources.list: ../vendor/current/sources.list - ln -sf '$(abspath $^)' $@ - -apt-vendor.ent: ../vendor/current/apt-vendor.ent - ln -sf '$(abspath $^)' $@ - -# Examples -SOURCE = examples/apt.conf examples/sources.list examples/configure-index examples/apt-https-method-example.conf -TO = $(DOC) -TARGET = binary -include $(COPY_H) - -.PHONY: clean clean/subdirs veryclean veryclean/subdirs manpages/subdirs docbook/subdirs all binary doc stats - -clean: clean/subdirs clean/examples -veryclean: veryclean/subdirs clean/examples -manpages: apt-vendor.ent manpages/subdirs -docbook: apt-vendor.ent docbook/subdirs - -DOCUMENTATIONPO = $(patsubst %.po,%,$(notdir $(wildcard po/*.po))) -DOCDIRLIST = $(addsuffix /makefile,$(DOCUMENTATIONPO)) - -dirs: $(DOCDIRLIST) -$(DOCDIRLIST) :: %/makefile : lang.makefile - test -d $(dir $@) || mkdir $(dir $@) - sed "s#@@LANG@@#$(subst /,,$(dir $@))#" $< > $@ - -docbook/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: - for dir in en $(dir $(DOCDIRLIST)); do \ - $(MAKE) -C $$dir $(patsubst %/subdirs,%,$@); \ - done - -clean/examples: - rm -f examples/sources.list - rm -f apt-vendor.ent - -stats: - for i in po/*.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done - -ifdef PO4A -MANPAGEPOLIST = $(addprefix manpages-translation-,$(DOCUMENTATIONPO)) -DOCBOOKPOLIST = $(addprefix docbook-translation-,$(DOCUMENTATIONPO)) - -.PHONY: update-po po4a $(MANPAGEPOLIST) $(DOCBOOKPOLIST) $(DOCDIRLIST) - -po4a: manpages/subdirs docbook/subdirs - -update-po: - po4a --previous --no-backups --force --no-translations \ - --msgmerge-opt --add-location=file \ - --porefs noline,wrap \ - --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ - --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf - sed -n '/^#$$/,$$p' po/apt-doc.pot > po/apt-doc.pot.headerfree - #cat po/apt-doc.pot > po/apt-doc.pot.headerfree - cat po/header.pot.txt po/apt-doc.pot.headerfree > po/apt-doc.pot - rm -f po/apt-doc.pot.headerfree - -manpages/subdirs: $(MANPAGEPOLIST) -$(MANPAGEPOLIST) :: manpages-translation-% : %/makefile po4a.conf - po4a --previous --no-backups --translate-only $(dir $<)apt.ent \ - --msgmerge-opt --add-location=file \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.1.xml,%.$(subst /,,$(dir $<)).1.xml,$(wildcard *.1.xml))) \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.2.xml,%.$(subst /,,$(dir $<)).2.xml,$(wildcard *.2.xml))) \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.3.xml,%.$(subst /,,$(dir $<)).3.xml,$(wildcard *.3.xml))) \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.4.xml,%.$(subst /,,$(dir $<)).4.xml,$(wildcard *.4.xml))) \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.5.xml,%.$(subst /,,$(dir $<)).5.xml,$(wildcard *.5.xml))) \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.6.xml,%.$(subst /,,$(dir $<)).6.xml,$(wildcard *.6.xml))) \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.7.xml,%.$(subst /,,$(dir $<)).7.xml,$(wildcard *.7.xml))) \ - $(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 - -docbook/subdirs: $(DOCBOOKPOLIST) -$(DOCBOOKPOLIST) :: docbook-translation-% : %/makefile po4a.conf - po4a --previous --no-backups --translate-only $(dir $<)apt.ent \ - --msgmerge-opt --add-location=file \ - $(patsubst %,--translate-only $(dir $<)%,$(patsubst %.dbk,%.$(subst /,,$(dir $<)).dbk,$(wildcard *.dbk))) \ - --package-name='$(PACKAGE)-doc' --package-version='$(PACKAGE_VERSION)' \ - --msgid-bugs-address='$(PACKAGE_MAIL)' po4a.conf -endif - -ifdef DOXYGEN -DOXYGEN_SOURCES = $(shell find $(BASE)/apt-pkg -not -name .\\\#* -and \( -name \*.cc -or -name \*.h \) ) - -clean: doxygen-clean - -doxygen-clean: - rm -fr $(BUILD)/doc/doxygen - rm -f $(BUILD)/doc/doxygen-stamp - -$(BUILD)/doc/doxygen-stamp: $(DOXYGEN_SOURCES) $(BUILD)/doc/Doxyfile - rm -fr $(BUILD)/doc/doxygen - mkdir $(BUILD)/doc/doxygen # some versions seem to not create this directory #628799 - $(DOXYGEN) $(BUILD)/doc/Doxyfile - touch $(BUILD)/doc/doxygen-stamp - -docbook: $(BUILD)/doc/doxygen-stamp -endif diff --git a/dselect/makefile b/dselect/makefile deleted file mode 100644 index fab72b264..000000000 --- a/dselect/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=dselect - -# Bring in the default rules -include ../buildlib/defaults.mak - -# DSelect interfacing directory -SOURCE = desc.apt install names setup update -TO = $(BUILD)/scripts/dselect -TARGET = program -include $(COPY_H) - -# LOCAL = dselect -SOURCE = install update -TYPE = sh -include $(PODOMAIN_H) diff --git a/ftparchive/makefile b/ftparchive/makefile deleted file mode 100644 index c80487c3f..000000000 --- a/ftparchive/makefile +++ /dev/null @@ -1,21 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=ftparchive - -# Bring in the default rules -include ../buildlib/defaults.mak - -# The apt-ftparchive program -ifdef BDBLIB -APT_DOMAIN:=apt-utils -PROGRAM=apt-ftparchive -SLIBS = -lapt-pkg -lapt-inst -lapt-private $(BDBLIB) $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile apt-inst/makefile apt-private/makefile -SOURCE = apt-ftparchive.cc cachedb.cc writer.cc contents.cc override.cc \ - multicompress.cc sources.cc byhash.cc -include $(PROGRAM_H) -else -PROGRAM=apt-ftparchive -MESSAGE="Must have libdb to build apt-ftparchive" -include $(FAIL_H) -endif # ifdef BDBLIB diff --git a/methods/makefile b/methods/makefile deleted file mode 100644 index 3274e9279..000000000 --- a/methods/makefile +++ /dev/null @@ -1,110 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=methods - -# Bring in the default rules -include ../buildlib/defaults.mak -BIN := $(BIN)/methods - -include ../buildlib/libversion.mak -APT_DOMAIN := apt - -# The file method -PROGRAM=file -SLIBS = -lapt-pkg $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = file.cc -include $(PROGRAM_H) - -# The copy method -PROGRAM=copy -SLIBS = -lapt-pkg $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = copy.cc -include $(PROGRAM_H) - -# The store method -PROGRAM=store -SLIBS = -lapt-pkg $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = store.cc -include $(PROGRAM_H) - -# The gpgv method -PROGRAM=gpgv -SLIBS = -lapt-pkg $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = gpgv.cc -include $(PROGRAM_H) - -# The cdrom method -PROGRAM=cdrom -SLIBS = -lapt-pkg $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = cdrom.cc -include $(PROGRAM_H) - -# The http method -PROGRAM=http -SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) -lresolv -LIB_MAKES = apt-pkg/makefile -SOURCE = http.cc http_main.cc rfc2553emu.cc connect.cc server.cc -include $(PROGRAM_H) - -# The https method -PROGRAM=https -SLIBS = -lapt-pkg -lcurl $(INTLLIBS) -lresolv -LIB_MAKES = apt-pkg/makefile -SOURCE = https.cc server.cc -include $(PROGRAM_H) - -# The ftp method -PROGRAM=ftp -SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) -lresolv -LIB_MAKES = apt-pkg/makefile -SOURCE = ftp.cc rfc2553emu.cc connect.cc -include $(PROGRAM_H) - -# The rred method -PROGRAM=rred -SLIBS = -lapt-pkg $(SOCKETLIBS) $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = rred.cc -include $(PROGRAM_H) - -# The rsh method -PROGRAM=rsh -SLIBS = -lapt-pkg $(INTLLIBS) -LIB_MAKES = apt-pkg/makefile -SOURCE = rsh.cc -include $(PROGRAM_H) - -# The mirror method -PROGRAM=mirror -SLIBS = -lapt-pkg $(SOCKETLIBS) -lresolv -LIB_MAKES = apt-pkg/makefile -SOURCE = mirror.cc http.cc rfc2553emu.cc connect.cc server.cc -include $(PROGRAM_H) - -# SSH method symlink -binary: $(BIN)/ssh -veryclean: clean-$(BIN)/ssh - -$(BIN)/ssh: - echo "Installing ssh method link" - ln -fs rsh $(BIN)/ssh -clean-$(BIN)/ssh: - -rm $(BIN)/ssh - -# create compat links for all compressors -COMPRESSORS=gzip bzip2 lzma xz - -binary: $(addprefix $(BIN)/,$(COMPRESSORS)) -veryclean: $(addprefix clean-$(BIN)/,$(COMPRESSORS)) - -$(addprefix $(BIN)/,$(COMPRESSORS)): $(BIN)/store - echo "Installing $(notdir $@) method link" - ln -fs store $@ - -$(addprefix clean-$(BIN)/,$(COMPRESSORS)): - -rm $(BIN)/$(notdir $@) diff --git a/po/LINGUAS b/po/LINGUAS deleted file mode 100644 index 6d77cf856..000000000 --- a/po/LINGUAS +++ /dev/null @@ -1,7 +0,0 @@ -## If a language isn't listed here but a po file is available the build will fail. -## If a language is disabled deliberately, list it in a line starting with a single '#' - -ar ast bg bs ca cs cy da de dz el es eu fi fr gl hu it ja km ko ku lt mr nb ne nl nn pl pt pt_BR ro ru sk sl sv th tl tr uk vi zh_CN zh_TW - -## disabled by translator request #313283: -# he diff --git a/po/makefile b/po/makefile deleted file mode 100644 index f42d476a3..000000000 --- a/po/makefile +++ /dev/null @@ -1,114 +0,0 @@ -# -*- make -*- - -# This will compile the gettext message catalogues. - -# The other make files drop file lists in build/po/domains/DOMAIN/* which -# is then picked up by this make file to define all the domains and all the -# source files that compose each domain. It then produces the POT files -# and then filters the PO files through the per-domain POT file to create -# the input to msgformat, which is then dumped into a locale directory. - -BASE=.. -SUBDIR=po - -# Bring in the default rules -include ../buildlib/defaults.mak - -CATALOGS := $(addsuffix .gmo, $(shell sed -e '/^\#/ d' -e '/^$$/ d' LINGUAS | tr '\n' ' ')) -DOMAINS := $(sort $(notdir $(wildcard $(PO_DOMAINS)/*))) -POTFILES := $(addsuffix .pot,$(addprefix $(PO)/,$(DOMAINS))) - -# Construct a list of all mo files for all domains under $(PO_DOMAINS) -MOFILES := $(patsubst %.gmo,%.mo,$(CATALOGS)) -MOFILES := $(foreach D,$(DOMAINS),$(addprefix $(PO_DOMAINS)/$(D)/,$(MOFILES))) -LANG_POFILES := $(patsubst %.mo,%.po,$(MOFILES)) -LINGUAS := $(patsubst %.gmo,%,$(CATALOGS)) - -GETDOMAIN = $(word 1,$(subst /, ,$(1))) - -# Generate the list of files from the bits the other make files dropped -# 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.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.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 | sort > $(PO)/POTFILES_$*.in - $(XGETTEXT) --default-domain=$* --directory=$(BASE) \ - --add-comments --foreign --keyword=_ --keyword=N_ \ - --add-location=file \ - --keyword=P_:1,2 \ - --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=$@.tmp - cmp --silent $@ $@.tmp || mv $@.tmp $@ - # copy into the domain dirs to make rosetta happy - rm -f $(PO)/domains/$*/*.pot - cp $@ $(PO)/domains/$* - -# Filter the complete translation with the domain specific file to produce -# only the subtext needed for this domain -# We cannot express the dependencies required for this directly with a pattern -# rule, so we use the .d hack. -$(LANG_POFILES) : $(PO_DOMAINS)/%.po : $(POTFILES) - printf "%s " "Generating $@" - echo $@ : $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot > $(PO)/$(call GETDOMAIN,$*)_$(notdir $@).d - $(MSGMERGE) --add-location=file $(notdir $@) $(PO)/$(call GETDOMAIN,$*).pot -o $@ - -$(MOFILES) : $(PO_DOMAINS)/%.mo : $(PO_DOMAINS)/%.po - printf "%s: " "Generating $(LOCALE)/$(notdir $*)/LC_MESSAGES/$(call GETDOMAIN,$*).mo" - $(GMSGFMT) --statistics -o $@ $< - mkdir -p $(LOCALE)/$(notdir $*)/LC_MESSAGES/ - cp $@ $(LOCALE)/$(notdir $*)/LC_MESSAGES/$(call GETDOMAIN,$*).mo - -stats: all-linguas-enabled - for i in *.pot *.po; do echo -n "$$i: "; msgfmt --output-file=/dev/null --statistics $$i; done - -binary: $(POTFILES) $(MOFILES) all-linguas-enabled - -$(PACKAGE)-all.pot: $(POTFILES) - # we create our partial pot files without a header to avoid changing dates in *.mo files, - # but we want a header for our master-pot file, so we use a dummy pot with nothing but the header - $(XGETTEXT) --default-domain=$(PO)/$(PACKAGE)-dummy.pot --foreign --language=c \ - -o $(PO)/$(PACKAGE)-dummy.pot --force-po --package-name='$(PACKAGE)' \ - --package-version='$(PACKAGE_VERSION)' --msgid-bugs-address='$(PACKAGE_MAIL)' /dev/null - $(MSGCOMM) --more-than=0 $(PO)/$(PACKAGE)-dummy.pot $(POTFILES) --output=$(PACKAGE)-all.pot - rm -f $(PO)/$(PACKAGE)-dummy.pot - -.PHONY: update-po all-linguas-enabled -update-po: $(PACKAGE)-all.pot all-linguas-enabled - for lang in ${LINGUAS}; do \ - echo "Updating $$lang.po"; \ - $(MSGMERGE) $$lang.po $(PACKAGE)-all.pot -o $$lang.new.po; \ - cmp $$lang.new.po $$lang.po || cp $$lang.new.po $$lang.po; \ - rm -f $$lang.new.po; \ - done - -all-linguas-enabled: LINGUAS -ifdef NOISY - echo "Available Translations: $(shell ls *.po | cut -d'.' -f 1 | sort | tr '\n' ' ')" - echo "Mentioned Translations: $(shell sed -e '/^\#\#/ d' -e '/^$$/ d' -e 's/# //' LINGUAS | tr ' ' '\n' | sort | tr '\n' ' ')" - echo "Build Translations: $(shell echo "$(LINGUAS)" | tr ' ' '\n' | sort | tr '\n' ' ')" -endif - test "$(shell ls *.po | cut -d'.' -f 1 | sort | tr '\n' ' ')" = \ - "$(shell sed -e '/^\#\#/ d' -e '/^$$/ d' -e 's/# //' LINGUAS | tr ' ' '\n' | sort | tr '\n' ' ')" || \ - ( echo "ERROR: Not all available translations are mentioned in po/LINGUAS!"; exit 100) - -clean: clean/local -clean/local: - rm -f $(MOFILES) $(LANG_POFILES) $(PO)/*.d - -# Include the dependencies that are available -The_DFiles = $(wildcard $(PO)/*.d) -ifneq ($(words $(The_DFiles)),0) -include $(The_DFiles) -endif - -# otherwise the output is completely screwed -.NOTPARALLEL: diff --git a/test/Makefile b/test/Makefile deleted file mode 100644 index 35a0a51e3..000000000 --- a/test/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -*- make -*- - -# This is the top level test makefile for APT, it recurses to each lower -# level make file and runs it with the proper target -ifndef NOISY -.SILENT: -endif - -.PHONY: startup headers library clean veryclean all binary program doc test update-po -startup all clean veryclean binary program dirs test update-po manpages docbook: - $(MAKE) -C libapt $@ - $(MAKE) -C interactive-helper $@ - -# Some very common aliases -.PHONY: maintainer-clean dist-clean distclean pristine sanity -maintainer-clean dist-clean distclean pristine sanity: veryclean diff --git a/test/integration/makefile b/test/integration/makefile deleted file mode 100644 index fb12fe9a8..000000000 --- a/test/integration/makefile +++ /dev/null @@ -1,10 +0,0 @@ -# -*- make -*- -BASE=../.. -SUBDIR=test/integration - -# Bring in the default rules -include ../../buildlib/defaults.mak - -.PHONY: test -test: - ./run-tests diff --git a/test/interactive-helper/makefile b/test/interactive-helper/makefile deleted file mode 100644 index 096767c41..000000000 --- a/test/interactive-helper/makefile +++ /dev/null @@ -1,53 +0,0 @@ -# -*- make -*- -BASE=../.. -SUBDIR=test/interactive-helper -APT_DOMAIN=none - -# Bring in the default rules -include ../../buildlib/defaults.mak - -# Program for testing methods -PROGRAM=mthdcat -SLIBS = -SOURCE = mthdcat.cc -include $(PROGRAM_H) - -# Program for testing the tar/deb extractor -PROGRAM=testdeb -SLIBS = -lapt-pkg -lapt-inst -LIB_MAKES = apt-pkg/makefile apt-inst/makefile -SOURCE = testdeb.cc -include $(PROGRAM_H) - -# Program for testing tar extraction -PROGRAM=extract-control -SLIBS = -lapt-pkg -lapt-inst -LIB_MAKES = apt-pkg/makefile apt-inst/makefile -SOURCE = extract-control.cc -include $(PROGRAM_H) - -# Program for testing udevcdrom -PROGRAM=test_udevcdrom -SLIBS = -lapt-pkg -LIB_MAKES = apt-pkg/makefile -SOURCE = test_udevcdrom.cc -include $(PROGRAM_H) - -PROGRAM=test_fileutl -SLIBS = -lapt-pkg -LIB_MAKES = apt-pkg/makefile -SOURCE = test_fileutl.cc -include $(PROGRAM_H) - -# Program for checking rpm versions -#PROGRAM=rpmver -#SLIBS = -lapt-pkg -lrpm -#SOURCE = rpmver.cc -#include $(PROGRAM_H) - -# very simple webserver for APT testing -PROGRAM=aptwebserver -SLIBS = -lapt-pkg -lpthread -LIB_MAKES = apt-pkg/makefile -SOURCE = aptwebserver.cc -include $(PROGRAM_H) diff --git a/test/libapt/makefile b/test/libapt/makefile deleted file mode 100644 index 5ff9cf68a..000000000 --- a/test/libapt/makefile +++ /dev/null @@ -1,84 +0,0 @@ -# -*- make -*- -BASE=../.. -SUBDIR=test/libapt -BASENAME=_libapt_test -APT_DOMAIN=none - -# Bring in the default rules -include ../../buildlib/defaults.mak - -.PHONY: test -ifeq (file-okay,$(shell $(CC) -I $(BASE)/build/include -M gtest_runner.cc >/dev/null 2>&1 && echo 'file-okay')) -test: $(BIN)/gtest$(BASENAME) - MALLOC_PERTURB_=21 MALLOC_CHECK_=2 LD_LIBRARY_PATH=$(LIB) $(BIN)/gtest$(BASENAME) - -$(BIN)/gtest$(BASENAME): $(LIB)/gtest.a - -PROGRAM = gtest${BASENAME} -SLIBS = -lapt-pkg -lapt-private -lapt-inst -pthread $(LIB)/gtest.a -LIB_MAKES = apt-pkg/makefile apt-private/makefile apt-inst/makefile -SOURCE = gtest_runner.cc $(wildcard *-helpers.cc *_test.cc) -include $(PROGRAM_H) - - -MKDIRS += $(OBJ) $(LIB) -LOCAL=gtest -SOURCE=gtest-all -gtest-OBJS := $(addprefix $(OBJ)/,$(addsuffix .o,$(SOURCE))) - -# The rest of the file is based on the example found in -# /usr/share/doc/libgtest-dev/examples/make/Makefile -GTEST_DIR = /usr/src/gtest - -# Flags passed to the preprocessor. -# Set Google Test's header directory as a system directory, such that -# the compiler doesn't generate warnings in Google Test headers. -#CPPFLAGS += -isystem $(GTEST_DIR)/include - -# Flags passed to the C++ compiler. -CXXFLAGS += -pthread -# disable some flags for gtest again -CXXFLAGS+= -Wno-missing-declarations -CXXFLAGS+= -Wno-missing-field-initializers -CXXFLAGS+= -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn -CXXFLAGS+= -Wno-undef - -# All Google Test headers. Usually you shouldn't change this definition. -GTEST_HEADERS = /usr/include/gtest/*.h \ - /usr/include/gtest/internal/*.h - -# House-keeping build targets. -.PHONY: clean/gtest veryclean/gtest -clean: clean/gtest -clean/gtest: - rm -f $(gtest-OBJS) -veryclean: veryclean/gtest -veryclean/gtest: clean/gtest - rm -f $(LIB)/gtest.a - -# Usually you shouldn't tweak such internal variables, indicated by a -# trailing _. -GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS) - -# Builds gtest.a -# For simplicity and to avoid depending on Google Test's -# implementation details, the dependencies specified below are -# conservative and not optimized. This is fine as Google Test -# compiles fast and for ordinary users its source rarely changes. -$(gtest-OBJS): $(GTEST_SRCS_) - echo Compiling $@ - $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c -o $@ $(GTEST_DIR)/src/$(notdir $(basename $@)).cc - -$(LIB)/gtest.a: $(OBJ)/gtest-all.o - echo Building static library $@ - -rm -f $@ - $(AR) $(ARFLAGS) $@ $^ - -else -test: - @echo "APT uses Googles C++ testing framework for its unit tests" - @echo "On Debian systems this is available in the 'libgtest-dev' package." - @echo "Please install it before attempting to run the unit tests." - $(CC) -I $(BASE)/build/include -M gtest_runner.cc - exit 100 -endif diff --git a/vendor/makefile b/vendor/makefile deleted file mode 100644 index 966c3d080..000000000 --- a/vendor/makefile +++ /dev/null @@ -1,58 +0,0 @@ -# -*- make -*- -BASE=.. -SUBDIR=vendor - -# Bring in the default rules -include ../buildlib/defaults.mak - -all headers library binary program doc manpages docbook test update-po startup dirs: current -all: all/subdirs -binary: binary/subdirs -doc: doc/subdirs -clean: clean/subdirs -veryclean: veryclean/subdirs -dirs: dirs/subdirs -manpages: manpages/subdirs - -all/subdirs binary/subdirs doc/subdirs dirs/subdirs manpages/subdirs clean/subdirs veryclean/subdirs: - test ! -e current/makefile || $(MAKE) -C current $(patsubst %/subdirs,%,$@) - test ! -e current/makefile.auto || $(MAKE) -C current -f makefile.auto $(patsubst %/subdirs,%,$@) - -current: - rm -f $@ - # search for an exact match to use the correct sources.list example - find -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2 | while read DISTRO; do \ - if dpkg-vendor --is $$DISTRO; then \ - ln -s $$DISTRO $@; \ - break; \ - fi; \ - done - # if we haven't found a specific, look for a deriving - # we do ubuntu and debian last as those are the biggest families - # and would therefore potentially 'shadow' smaller families - # (especially debian as it sorts quiet early) - if ! test -e $@; then \ - find -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 2 | while read DISTRO; do \ - if [ "$$DISTRO" = 'debian' -o "$$DISTRO" = 'ubuntu' ]; then continue; fi; \ - if dpkg-vendor --derives-from $$DISTRO; then \ - ln -s $$DISTRO $@; \ - break; \ - fi; \ - done; \ - test -e $@ || \ - (dpkg-vendor --derives-from ubuntu && cp ln -s ubuntu $@ ) || \ - ln -s debian $@; \ - fi - if test ! -e current/makefile; then \ - sed "s#@@VENDOR@@#$(notdir $(shell readlink -f current))#" vendor.makefile > current/makefile.auto; \ - fi - -.PHONY: clean veryclean all binary vendor - -clean: clean/current -clean/current: clean/subdirs - rm -f current/makefile.auto current - -veryclean: veryclean/current -veryclean/current: veryclean/subdirs - rm -f current/makefile.auto current diff --git a/vendor/vendor.makefile b/vendor/vendor.makefile deleted file mode 100644 index 32de3b0d5..000000000 --- a/vendor/vendor.makefile +++ /dev/null @@ -1,28 +0,0 @@ -# -*- make -*- -BASE=../.. -SUBDIR=vendor/@@VENDOR@@ - -# Bring in the default rules -include ../../buildlib/defaults.mak - -doc binary manpages: sources.list - -sources.list: sources.list.in ../../doc/apt-verbatim.ent - while read line; do \ - if [ "$${line}" = '&sourceslist-list-format;' ]; then \ - $(BASE)/vendor/getinfo vendor sourceslist-list-format ; \ - else \ - echo "$${line}"; \ - fi \ - done < $< | sed -e 's#&debian-stable-codename;#$(shell ../getinfo debian-stable-codename)#g' \ - -e 's#&debian-oldstable-codename;#$(shell ../getinfo debian-oldstable-codename)#g' \ - -e 's#&debian-testing-codename;#$(shell ../getinfo debian-testing-codename)#g' \ - -e 's#&ubuntu-codename;#$(shell ../getinfo ubuntu-codename)#g' \ - -e 's#¤t-codename;#$(shell ../getinfo current-codename)#g' \ - > $@ - -clean: clean/sources.list -veryclean: clean/sources.list - -clean/sources.list: - rm -f sources.list -- cgit v1.2.3-70-g09d2