[ZBX-24009] The autoconf configure template makes improper use of AC_ARG_WITH and AC_ARG_ENABLE macros Created: 2024 Jan 15  Updated: 2024 Mar 15

Status: Open
Project: ZABBIX BUGS AND ISSUES
Component/s: Installation (I)
Affects Version/s: 7.0.0beta1
Fix Version/s: None

Type: Problem report Priority: Major
Reporter: Juris Lambda Assignee: Rostislav Palivoda
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Sub-task

 Description   

The main Zabbix repository contains all Zabbix product component and library source code, and relies on a single autoconf (part of the GNU Build System) generated configuration script to interrogate the build environment and generate the final build system description for building all the components. Collectively, these components, in autoconf terminology, are referred to as packages.

Historically, the enabling of building a particular component in Zabbix has been decided via a set of --enable-* flags, passed to the configure script.

This is generally incorrect, as the the --enable-*/--disable-* flags (defined via the AC_ARG_ENABLE macro) are used to specify weather a feature of a package should be enabled for a particular build. An example of this in Zabbix would be the --enable-ipv6 flag, which specifies whether IPv6 relevant code should be enabled in network-related libraries and the agent, proxy and server applications.

Instead, specifying the packages to be built should be done using the --with-*/--without-* flags (defined via the AC_ARG_WITH macro).

As any reasonable and robust build system (which the GNU Build System is), this is necessary for the correct configuration and decoupling of nested packages (which the main Zabbix repository effectively does, as each library and application, is a separate package). This includes both "project local" and third-party packages that have been brought into the source tree in some fashion.


Generated at Sat Jun 29 21:42:56 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.