1 # Process this file with autoconf to produce a configure script.
3 m4_pattern_forbid([^_?DPKG_])
6 AC_INIT([dpkg], m4_esyscmd([build-aux/get-version]),
7 [debian-dpkg@lists.debian.org], [dpkg],
8 [https://wiki.debian.org/Teams/Dpkg])
10 AC_SUBST([PACKAGE_COPYRIGHT_HOLDER], ['Dpkg Developers'])
11 AC_SUBST([PACKAGE_VCS_TYPE], [git])
12 AC_SUBST([PACKAGE_VCS_URL], [https://git.dpkg.org/git/dpkg/dpkg.git])
13 AC_SUBST([PACKAGE_VCS_WEB], [https://git.dpkg.org/cgit/dpkg/dpkg.git])
14 AC_SUBST([PACKAGE_BUG_WEB], [https://bugs.debian.org/src:dpkg])
15 AC_SUBST([PACKAGE_CPAN_NAME], [Dpkg])
16 AC_CONFIG_SRCDIR([lib/dpkg/dpkg.h])
17 AC_CONFIG_MACRO_DIR([m4])
18 AC_CONFIG_AUX_DIR([build-aux])
20 AC_USE_SYSTEM_EXTENSIONS
28 [tar-ustar no-dist-gzip dist-xz]
30 AM_SILENT_RULES([yes])
32 # Require at least this gettext version, but will take any later version too.
33 AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.8])
34 # XXX: We cannot remove the following macro due to backwards compatibility
35 # reasons. The above macro is set unconditionally to the minimal version
36 # required, and the below is set to 0.19.6, the first version introducing
37 # the AM_GNU_GETTEXT_REQUIRE_VERSION macro.
38 AM_GNU_GETTEXT_VERSION([0.19.6])
39 AM_GNU_GETTEXT([external])
40 DPKG_DIST_CHECK([test "$GMSGFMT" = ":" && test "$USE_NLS" = "yes"],
41 [gettext required when NLS support enabled])
43 # Shared libraries are disabled on purpose, currently there is no ABI stability
44 # guarantee, and it will be broken at will. The infrastructure is in place just
45 # to be able to test that its future activation will work.
47 LT_INIT([disable-shared])
48 DPKG_BUILD_SHARED_LIBS
50 DPKG_LINKER_VERSION_SCRIPT
52 # Allow compilation without optional programs
53 DPKG_BUILD_PROG([dselect])
54 DPKG_BUILD_PROG([start-stop-daemon])
55 DPKG_BUILD_PROG([update-alternatives])
57 DPKG_BUILD_RELEASE_DATE
60 # Allow alternate directories
61 DPKG_WITH_DIR([devlibdir], [${libdir}],
62 [dpkg development library directory [LIBDIR]])
63 DPKG_WITH_DIR([pkgconfdir], [${sysconfdir}/${PACKAGE_TARNAME}],
64 [dpkg configuration directory [SYSCONFDIR/dpkg]])
65 DPKG_WITH_DIR([docspecdir], [${docdir}/spec],
66 [dpkg specifications directory [DOCDIR/spec]])
67 DPKG_WITH_DIR([methodsdir], [${libexecdir}/${PACKAGE_TARNAME}/methods],
68 [dpkg download methods directory [LIBEXECDIR/dpkg/methods]])
69 DPKG_WITH_DIR([admindir], [${localstatedir}/lib/${PACKAGE_TARNAME}],
70 [dpkg database directory [LOCALSTATEDIR/lib/dpkg]])
71 DPKG_WITH_DIR([backupsdir], [${localstatedir}/backups],
72 [dpkg database backups directory [LOCALSTATEDIR/backups]])
73 DPKG_WITH_DIR([logdir], [${localstatedir}/log],
74 [system logging directory [LOCALSTATEDIR/log]])
75 DPKG_WITH_DIR([pkgconfigdir], [${devlibdir}/pkgconfig],
76 [pkg-config .pc fragments directory [DEVLIBDIR/pkgconfig]])
77 DPKG_WITH_DIR([aclocaldir], [${datadir}/aclocal],
78 [aclocal m4 fragments files directory [DATADIR/aclocal]])
79 DPKG_WITH_DIR([polkitactionsdir], [${datadir}/polkit-1/actions],
80 [polkit .policy actions directory [DATADIR/polkit-1/actions]])
81 DPKG_WITH_DIR([bashcompletionsdir], [${datadir}/bash-completion/completions],
82 [bash completions directory [DATADIR/bash-completion/completions]])
83 DPKG_WITH_DIR([zshcompletionsdir], [${datadir}/zsh/vendor-completions],
84 [zsh vendor completions directory [DATADIR/zsh/vendor-completions]])
86 # Set default dpkg-deb values
87 DPKG_DEB_COMPRESSOR([xz])
89 # Checks for programs.
100 AC_CHECK_PROGS([DOXYGEN], [doxygen])
101 AC_CHECK_PROG([HAVE_DOT], [dot], [YES], [NO])
108 # Checks for operating system services and capabilities.
111 # Checks for libraries.
119 AS_IF([test "x$build_dselect" = "xyes"], [
122 AS_IF([test "x$build_start_stop_daemon" = "xyes"], [
128 # Checks for header files.
147 # The glibc project has deprecated the <sys/sysctl.h> header and emits
148 # warnings on its usage, and removed it in 2.32. The Linux kernel removed
149 # support for it in 5.5.
151 # On other systems, we need to check whether to use it.
157 DPKG_CHECK_HEADER_SYS_PROCFS
158 AC_CHECK_HEADERS([sys/proc.h], [], [], [
159 #ifdef HAVE_SYS_PARAM_H
160 #include <sys/param.h>
164 AS_IF([test "x$build_dselect" = "xyes"], [
166 AC_CHECK_HEADERS([cxxabi.h])
170 # Checks for typedefs, structures, and compiler characteristics.
179 DPKG_TYPE_STRUCT_PSINFO
180 DPKG_DECL_SYS_SIGLIST
181 DPKG_DECL_SYS_ERRLIST
183 # Checks for library functions.
185 DPKG_FUNC_C99_SNPRINTF
187 DPKG_CHECK_DECL([offsetof], [stddef.h])
188 DPKG_CHECK_DECL([makedev], [sys/types.h])
189 DPKG_CHECK_DECL([WCOREDUMP], [sys/wait.h])
190 DPKG_CHECK_DECL([TIOCNOTTY], [sys/ioctl.h])
191 DPKG_CHECK_DECL([O_NOFOLLOW], [fcntl.h])
192 DPKG_CHECK_DECL([F_ALLOCSP64], [fcntl.h])
193 DPKG_CHECK_DECL([F_PREALLOCATE], [fcntl.h])
194 DPKG_CHECK_DECL([P_tmpdir], [stdio.h])
196 DPKG_CHECK_COMPAT_FUNCS([\
210 AC_CHECK_FUNCS([memcpy lchown],
211 [], [AC_MSG_ERROR([missing required function])])
227 AS_IF([test "x$build_dselect" = "xyes"], [
229 AC_CHECK_FUNCS([__cxa_pure_virtual])
234 DPKG_USE_DISK_PREALLOCATE
236 # Checks for the build machinery.
237 AC_DEFINE([LIBDPKG_VOLATILE_API], [1], [Acknowledge the volatility of the API.])
238 DPKG_COMPILER_WARNINGS
239 DPKG_COMPILER_SANITIZER
240 DPKG_COMPILER_ANALYZER
241 DPKG_COMPILER_OPTIMIZATIONS
242 DPKG_LINKER_OPTIMIZATIONS
244 AC_DEFINE([PACKAGE_RELEASE], [PACKAGE_VERSION " (" ARCHITECTURE ")"],
245 [Define the project release information, version and architecture])
247 AC_CONFIG_TESTDIR([src/at])
248 AM_MISSING_PROG([AUTOM4TE], [autom4te])
253 dselect/methods/Makefile
254 dselect/po/Makefile.in
266 scripts/po/Makefile.in
271 AC_CONFIG_HEADERS([config.h])
274 # Print the current configuration
279 cpu name . . . . . . . . . . : ${cpu_type}
280 os name . . . . . . . . . . . : ${os_type}
281 arch name . . . . . . . . . . : ${dpkg_arch}
282 arch bits . . . . . . . . . . : ${dpkg_arch_bits}
283 arch endian . . . . . . . . . : ${dpkg_arch_endian}
284 char bits . . . . . . . . . . : ${dpkg_char_bits}
285 char sign . . . . . . . . . . : ${dpkg_char_sign}
286 sizeof(short) . . . . . . . . : ${ac_cv_sizeof_short}
287 sizeof(int) . . . . . . . . . : ${ac_cv_sizeof_int}
288 sizeof(long) . . . . . . . . : ${ac_cv_sizeof_long}
289 sizeof(long long) . . . . . . : ${ac_cv_sizeof_long_long}
290 sizeof(float) . . . . . . . . : ${ac_cv_sizeof_float}
291 sizeof(double) . . . . . . . : ${ac_cv_sizeof_double}
292 sizeof(long double) . . . . . : ${ac_cv_sizeof_long_double}
293 sizeof(void *) . . . . . . . : ${ac_cv_sizeof_void_p}
294 sizeof(off_t) . . . . . . . . : ${ac_cv_sizeof_off_t}
295 sizeof(time_t) . . . . . . . : ${ac_cv_sizeof_time_t}
296 alignof(max_align_t) . . . . : ${ac_cv_alignof_max_align_t}
299 native language support . . . : $USE_NLS
300 unicode support . . . . . . . : $USE_UNICODE
301 development documentation . . : $build_devel_docs
302 code coverage . . . . . . . . : $enable_coverage
303 build shared libraries . . . : $enable_shared
304 mmap loaders . . . . . . . . : $enable_mmap
305 disk pre-allocation . . . . . : $enable_disk_preallocate
306 default dpkg-deb compressor . : $with_deb_compressor
307 default shell interpreter . . : $DPKG_SHELL
308 default pager program . . . . : $DPKG_PAGER
311 devlibdir . . . . . . . . . . : $devlibdir
312 pkgconfdir . . . . . . . . . : $pkgconfdir
313 docspecdir . . . . . . . . . : $docspecdir
314 methodsdir . . . . . . . . . : $methodsdir
315 admindir . . . . . . . . . . : $admindir
316 backupsdir . . . . . . . . . : $backupsdir
317 logdir . . . . . . . . . . . : $logdir
318 pkg-config dir . . . . . . . : $pkgconfigdir
319 aclocal dir . . . . . . . . : $aclocaldir
320 polkit actions dir . . . . . : $polkitactionsdir
321 bash completions dir . . . . : $bashcompletionsdir
322 zsh completions dir . . . . . : $zshcompletionsdir
323 perl interpreter . . . . . . : $PERL
324 perl libdir . . . . . . . . . : $PERL_LIBDIR
327 update-alternatives . . . . . : $build_update_alternatives
328 start-stop-daemon . . . . . . : $build_start_stop_daemon
329 dselect . . . . . . . . . . . : $build_dselect
332 librt . . . . . . . . . . . . : $have_librt
333 libsocket . . . . . . . . . . : ${have_libsocket:-no}
334 libps . . . . . . . . . . . . : ${have_libps:-no}
335 libkvm . . . . . . . . . . . : ${have_libkvm:-no}
336 libselinux . . . . . . . . . : $have_libselinux
337 libmd . . . . . . . . . . . . : $have_libmd
338 libz . . . . . . . . . . . . : $have_libz_impl
339 liblzma . . . . . . . . . . . : $have_liblzma
340 libzstd . . . . . . . . . . . : $have_libzstd
341 libbz2 . . . . . . . . . . . : $have_libbz2
342 libcurses . . . . . . . . . . : ${have_libcurses:-no}