Skip to content

Commit 4541028

Browse files
boost patch 2
1 parent bd0f25b commit 4541028

2 files changed

Lines changed: 64 additions & 22 deletions

File tree

.github/workflows/ci.yml

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,8 @@ jobs:
124124
dep-opts: ""
125125
config-opts: "--with-gui=qt5 --disable-tests"
126126
goal: deploy
127-
sdk: 10.8
128-
sdk-shasum: "709b84adde0fbd1c15de4c9dadb36b3b8c65f9bb7f8a7152f0cf33ab7c3f57af"
127+
sdk: 10.11
128+
sdk-shasum: "bec9d089ebf2e2dd59b1a811a38ec78ebd5da18cbbcd6ab39d1e59f64ac5033f"
129129

130130
runs-on: ubuntu-22.04
131131
container:
@@ -179,24 +179,36 @@ jobs:
179179
path: ./depends/sdk-sources
180180
key: ${{ matrix.name }}-${{ env.cache-name }}-${{ hashFiles('.github/workflows/ci.yml') }}
181181

182+
# - name: Install SDK
183+
# if: ${{ matrix.sdk }}
184+
# shell: bash
185+
# env:
186+
# SDK_URL: https://github.com/phracker/MacOSX-SDKs/releases/download/10.15
187+
# sdk-filename: MacOSX${{ matrix.sdk }}.sdk.tar.xz
188+
# run: |
189+
# set -euo pipefail
190+
# mkdir -p ./depends/sdk-sources ./depends/SDKs
191+
# echo "📦 Downloading macOS SDK ${{ matrix.sdk }} from phracker…"
192+
# curl -L --fail \
193+
# "$SDK_URL/${{ env.sdk-filename }}" \
194+
# -o "depends/sdk-sources/${{ env.sdk-filename }}"
195+
# echo "🔐 Verifying checksum…"
196+
# echo "${{ matrix.sdk-shasum }} depends/sdk-sources/${{ env.sdk-filename }}" | sha256sum -c
197+
# echo "📂 Extracting SDK…"
198+
# tar -C depends/SDKs -xf "depends/sdk-sources/${{ env.sdk-filename }}"
199+
# echo "✅ SDK installed: depends/SDKs/${{ env.sdk-filename }}"
200+
182201
- name: Install SDK
183202
if: ${{ matrix.sdk }}
184-
shell: bash
185203
env:
186-
SDK_URL: https://github.com/phracker/MacOSX-SDKs/releases/download/10.15
187-
sdk-filename: MacOSX${{ matrix.sdk }}.sdk.tar.xz
204+
sdk-filename: MacOSX${{ matrix.sdk }}.sdk.tar.gz
188205
run: |
189-
set -euo pipefail
190-
mkdir -p ./depends/sdk-sources ./depends/SDKs
191-
echo "📦 Downloading macOS SDK ${{ matrix.sdk }} from phracker…"
192-
curl -L --fail \
193-
"$SDK_URL/${{ env.sdk-filename }}" \
194-
-o "depends/sdk-sources/${{ env.sdk-filename }}"
195-
echo "🔐 Verifying checksum…"
206+
mkdir -p ./depends/sdk-sources
207+
mkdir -p ./depends/SDKs
208+
echo "${{ matrix.sdk-shasum }} depends/sdk-sources/${{ env.sdk-filename }}" | sha256sum -c || \
209+
curl --location --fail $SDK_URL/${{ env.sdk-filename }} -o depends/sdk-sources/${{ env.sdk-filename }} &&\
196210
echo "${{ matrix.sdk-shasum }} depends/sdk-sources/${{ env.sdk-filename }}" | sha256sum -c
197-
echo "📂 Extracting SDK…"
198-
tar -C depends/SDKs -xf "depends/sdk-sources/${{ env.sdk-filename }}"
199-
echo "✅ SDK installed: depends/SDKs/${{ env.sdk-filename }}"
211+
tar -C depends/SDKs -xf depends/sdk-sources/${{ env.sdk-filename }}
200212
201213
- name: Dependency cache
202214
uses: actions/cache@v4

depends/packages/boost.mk

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,65 @@ $(package)_sha256_hash=83bfc1507731a0906e387fc28b7ef5417d591429e51e788417fe9ff02
77
define $(package)_set_vars
88
$(package)_config_opts_release=variant=release
99
$(package)_config_opts_debug=variant=debug
10+
11+
# Common Boost build configuration
1012
$(package)_config_opts=--layout=tagged --build-type=complete --user-config=user-config.jam
1113
$(package)_config_opts+=threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1
14+
15+
# Linux native build
1216
$(package)_config_opts_linux=threadapi=pthread runtime-link=shared
13-
$(package)_config_opts_darwin=--toolset=darwin-4.2.1 runtime-link=shared
17+
18+
# IMPORTANT: macOS must NOT use darwin toolset!
19+
# Boost darwin toolset is incompatible with Linux cross-compile.
20+
$(package)_config_opts_darwin=--toolset=gcc runtime-link=shared
21+
22+
# Windows builds
1423
$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static
1524
$(package)_config_opts_x86_64_mingw32=address-model=64
1625
$(package)_config_opts_i686_mingw32=address-model=32
26+
27+
# 32-bit Linux
1728
$(package)_config_opts_i686_linux=address-model=32 architecture=x86
29+
30+
# Boost toolset assignments
1831
$(package)_toolset_$(host_os)=gcc
1932
$(package)_archiver_$(host_os)=$($(package)_ar)
20-
$(package)_toolset_darwin=darwin
21-
$(package)_archiver_darwin=$($(package)_libtool)
33+
34+
# Mac fallback variables (not used but required to exist)
35+
$(package)_toolset_darwin=gcc
36+
$(package)_archiver_darwin=$($(package)_ar)
37+
38+
boost_toolset_darwin=$($(package)_toolset_darwin)
39+
boost_archiver_darwin=$($(package)_archiver_darwin)
40+
2241
$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test
42+
2343
$(package)_cxxflags=-std=c++11 -fvisibility=hidden
2444
$(package)_cxxflags_linux=-fPIC
2545
endef
2646

47+
# ==========================================================
48+
# PREPROCESS: Create Boost user-config.jam
49+
# IMPORTANT: Always use 'gcc' toolset but inject Clang compiler
50+
# ==========================================================
2751
define $(package)_preprocess_cmds
28-
echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
52+
echo "using gcc : : $($(package)_cxx) \
53+
: <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" \
54+
<linkflags>\"$($(package)_ldflags)\" \
55+
<archiver>\"$($(package)_ar)\" \
56+
<ranlib>\"$(host_RANLIB)\" \
57+
<striper>\"$(host_STRIP)\" \
58+
;" > user-config.jam
2959
endef
3060

3161
define $(package)_config_cmds
3262
./bootstrap.sh --without-icu --with-libraries=$(boost_config_libraries)
3363
endef
3464

3565
define $(package)_build_cmds
36-
./b2 -d2 -j2 -d1 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) stage
66+
./b2 -d2 -j$(JOBS) --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) stage
3767
endef
3868

3969
define $(package)_stage_cmds
40-
./b2 -d0 -j4 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) install
41-
endef
70+
./b2 -d0 -j$(JOBS) --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) install
71+
endef

0 commit comments

Comments
 (0)