build2/macros.build2
Matthew Krupcale d48191929d Update to v0.14.0
* .gitignore, sources: Update to v0.14.0
 * bpkg-openssl-3-pkeyutl.patch, libbutl-openssl-info-overloads.patch: add patches for OpenSSL v3.0 support [1]
 * build2-disable-test-cc-modules-ppc64le.patch: add patch to disable failing C++ modules tests on PPC64LE
 * build2.spec:
    - Update to v0.14.0
    - Re-enable bootstrap required for this releas
    - Update comments on libbutl license
    - Use config.install.etc for specifying system configuration file directory
    - Use config.install.scope to prevent installing statically built, bundled libodb [2,3]
 * libbuild2-config.install.scope-no-update-for-install.patch: add patch to make config.install.scope not apply during update-for-install pre-operation [3]
 * macros.build2:
    - Use config.install.legal for specifying system configuration file directory

[1] https://lists.build2.org/archives/users/2021-November/000923.html
[2] https://lists.build2.org/archives/announce/2021/000021.html
[3] https://lists.build2.org/archives/users/2021-November/000919.html
2022-01-23 18:41:57 -05:00

67 lines
3.4 KiB
Plaintext

%__build2 %{_bindir}/b
# Define compilation and linker options:
# - Build only shared libraries by default
# - Disable automatic prerequisite library rpaths
# - cc.* configuration is for C-common, applying to both C and C++
%__build2_build_config \\\
config.bin.lib=shared \\\
config.bin.rpath.auto=false \\\
config.bin.rpath_link.auto=false \\\
config.c.coptions="%{build_cflags}" \\\
config.cxx.coptions="%{build_cxxflags}" \\\
config.cc.loptions="%{build_ldflags}"
# Define basic installation configuration. Note that this does not include:
# %%{_libexecdir} %%{_exec_prefix}/libexec
# %%{_sharedstatedir} /var/lib
# %%{_datadir} %%{_prefix}/share
# %%{_infodir} /usr/share/info
# %%{_localstatedir} /var
# config.install.data and config.install.libexec seems to default to a value
# like %%{_datadir}/${project} and %%{_libexecdir}/${project} so that data files
# are not installed directly in %%{_datadir} or %%{_libexecdir}
# By specifying the installation location, the default file install mode will be
# 644, so we should set mode 755 for executable target install directories
# explicitly
%__build2_install_config \\\
config.install.root=%{_prefix} \\\
config.install.exec_root=%{_exec_prefix} \\\
config.install.bin=%{_bindir} \\\
config.install.sbin=%{_sbindir} \\\
config.install.include=%{_includedir} \\\
config.install.lib=%{_libdir} \\\
config.install.etc=%{_sysconfdir} \\\
config.install.man=%{_mandir} \\\
config.install.legal=%{_defaultlicensedir}/"<project>" \\\
config.install.pkgconfig=%{_libdir}/pkgconfig \\\
config.install.bin.mode=755 \\\
config.install.sbin.mode=755 \\\
config.install.lib.mode=755 \\\
config.install.chroot=%{?buildroot}
%__build2_config \\\
%{__build2_build_config} \\\
%{__build2_install_config}
# Performs the default operation, update, on a target
%build2 \
%{__build2} \\\
%{__build2_build_config} \\\
%{nil}
# Configures all operations on a target
%build2_configure \
%{__build2} configure: \\\
%{__build2_config} \\\
%{nil}
# Performs the update and install operations on a target
%build2_install \
%{__build2} install: \\\
%{__build2_config} \\\
%{nil}
# Performs the update and test operations on a target
%build2_test \
%{__build2} test: \\\
%{__build2_build_config} \\\
%{nil}