###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
include Config
-VER = 1_55_0
+VER = 1_83_0
THISAPP = boost_$(VER)
DL_FILE = $(THISAPP).tar.gz
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
-CFLAGS += -fno-strict-aliasing
-CXXFLAGS += -fno-strict-aliasing
+# The compiler uses a lot of memory to compile boost, hence we reduce
+# the total number of processes a little bit to be able to build on
+# smaller machines
+MAX_PARALLELISM = $(shell echo $$(( $(SYSTEM_MEMORY) / 512)))
CONFIGURE_OPTIONS = \
--prefix=/usr \
--layout=tagged \
- --without-mpi \
+ --without-chrono \
+ --without-context \
+ --without-coroutine \
+ --without-date_time \
+ --without-fiber \
--without-graph_parallel \
+ --without-mpi \
+ --without-program_options \
--build-dir=serial \
- cflags="$(CFLAGS)" \
- cxxflags="$(CXXFLAGS)" \
variant=release \
threading=single,multi \
debug-symbols=off \
- pch=off
-
-MAKETUNING = -j2
+ pch=off \
+ link=shared \
+ cflags="$(CFLAGS)" \
+ cxxflags="$(CXXFLAGS)"
###############################################################################
# Top-level Rules
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 93780777cfbf999a600f62883bd54b17
+$(DL_FILE)_BLAKE2 = e347417c6a98d14fc55d4792cbf29e3fac983e7951ace7e1526b69dbd97a2757b8ed148321dc4d864c37307829359dff52428572c9f20ec4058d6e26d991fd7a
install : $(TARGET)
download :$(patsubst %,$(DIR_DL)/%,$(objects))
-md5 : $(subst %,%_MD5,$(objects))
+b2 : $(subst %,%_BLAKE2,$(objects))
###############################################################################
-# Downloading, checking, md5sum
+# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
-$(subst %,%_MD5,$(objects)) :
- @$(MD5)
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
###############################################################################
# Installation Details
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
- cd $(DIR_APP) && ./bootstrap.sh --with-toolset=gcc
+ cd $(DIR_APP) && ./bootstrap.sh --with-toolset=gcc --with-python=python3
cd $(DIR_APP) && ./b2 -d+2 -q $(MAKETUNING) $(CONFIGURE_OPTIONS) stage
- cd $(DIR_APP) && ./b2 $(MAKETUNING) $(CONFIGURE_OPTIONS) install
+ cd $(DIR_APP) && ./b2 $(CONFIGURE_OPTIONS) install
@rm -rf $(DIR_APP)
@$(POSTBUILD)