|
|
@@ -2,8 +2,7 @@
|
|
|
|
|
|
This file will be named `boost_macos_x86_64.tar.xz`, and `boost_macos_arm64.tar.xz`, however it includes all need subset of homebrew, not just only Boost. That is because such naming scheme is used by build docker's entry point.
|
|
|
|
|
|
-First, make full copy of homebrew (that is located in `/opt/homebrew` folder on arm (M1), or in `/usr/local` on intel
|
|
|
-systems)
|
|
|
+First, make full copy of homebrew (that is located in `/opt/homebrew` folder on arm (M1), or in `/usr/local` on intel systems).
|
|
|
|
|
|
Go to `Cellar` folder, and cleanup it from non-necessary packages.
|
|
|
You need:
|
|
|
@@ -15,81 +14,52 @@ You need:
|
|
|
* unixodbc
|
|
|
* zstd
|
|
|
|
|
|
-You can go deeper and cleanup boost libraries. Leave `context`, `coroutine`, `fiber`, `program_options`, `stacktrace` and `system`; also `headers` (it doesn't has binary lib, but `boost_headers-*` in `lib/cmake` folder is necessary).
|
|
|
-Also, remove folder `Cellar/boost/1.78.0_1/include`, and replace it with symlink to `../../../../cache/common/boost/include`.
|
|
|
+In each package we need only `lib` and `include` subfolders, all the rest (like `bin`, `share`, and free files) we can safety drop.
|
|
|
+
|
|
|
+You can go deeper and cleanup boost libraries. Leave `context`, `coroutine`, `fiber`, `filesystem`, `program_options`, `stacktrace` and `system`; also `headers` (it doesn't have binary lib, but `boost_headers-*` in `lib/cmake` folder is necessary). You can drop all lib/*.dylib, as we use only statically linked boost libraries.
|
|
|
|
|
|
Just keep folders with these names (or, starting with these names). Openssl could be `[email protected]`, or `openssl@3` - first
|
|
|
one is dependency for mysql-client, second one is standalone. It has sense to keep [email protected] to avoid duplicates of
|
|
|
the same lib with two different versions.
|
|
|
|
|
|
The walk thorough 'include', 'lib', and 'opt' folders; cleanup all dead symlinks (as you remove folders from Cellar -
|
|
|
-references from these folders will became dead). Finally inspect content of `Cellar`; you may remove `bin` and `share` folders in the packages; we need only `lib`, and `include`.
|
|
|
+references from these folders will became dead).
|
|
|
+
|
|
|
+Finally, go to folder `Cellar/boost/1.80.0/` and replace `include`, with symlink to `../../../../cache/common/boost/include`.
|
|
|
+
|
|
|
+Below is the example how final folder tree may look. Notice, that is not necessary actual tree, but just provides you the idea how it should look.
|
|
|
|
|
|
```
|
|
|
.
|
|
|
├── Cellar
|
|
|
│ ├── boost
|
|
|
-│ │ └── 1.78.0_1
|
|
|
+│ │ └── 1.80.0
|
|
|
│ │ ├── include -> ../../../../cache/common/boost/include
|
|
|
-│ │ ├── INSTALL_RECEIPT.json
|
|
|
-│ │ ├── lib
|
|
|
-│ │ └── README.md
|
|
|
+│ │ └── lib
|
|
|
│ ├── mysql-client
|
|
|
│ │ └── 8.0.28
|
|
|
│ │ ├── include
|
|
|
-│ │ ├── INSTALL_RECEIPT.json
|
|
|
-│ │ ├── lib
|
|
|
-│ │ ├── LICENSE
|
|
|
-│ │ └── README
|
|
|
+│ │ └── lib
|
|
|
│ ├── [email protected]
|
|
|
│ │ └── 1.1.1n
|
|
|
-│ │ ├── AUTHORS
|
|
|
-│ │ ├── CHANGES
|
|
|
│ │ ├── include
|
|
|
-│ │ ├── INSTALL_RECEIPT.json
|
|
|
-│ │ ├── lib
|
|
|
-│ │ ├── LICENSE
|
|
|
-│ │ ├── NEWS
|
|
|
-│ │ └── README
|
|
|
+│ │ └── lib
|
|
|
│ ├── openssl@3
|
|
|
│ │ └── 3.0.2
|
|
|
-│ │ ├── AUTHORS.md
|
|
|
-│ │ ├── CHANGES.md
|
|
|
│ │ ├── include
|
|
|
-│ │ ├── INSTALL_RECEIPT.json
|
|
|
-│ │ ├── lib
|
|
|
-│ │ ├── LICENSE.txt
|
|
|
-│ │ ├── NEWS.md
|
|
|
-│ │ └── README.md
|
|
|
+│ │ └── lib
|
|
|
│ ├── postgresql
|
|
|
│ │ └── 14.2_1
|
|
|
-│ │ ├── COPYRIGHT
|
|
|
-│ │ ├── HISTORY
|
|
|
-│ │ ├── homebrew.mxcl.postgresql.plist
|
|
|
-│ │ ├── homebrew.postgresql.service
|
|
|
│ │ ├── include
|
|
|
-│ │ ├── INSTALL_RECEIPT.json
|
|
|
-│ │ ├── lib
|
|
|
-│ │ └── README
|
|
|
+│ │ └── lib
|
|
|
│ ├── unixodbc
|
|
|
│ │ └── 2.3.9_1
|
|
|
-│ │ ├── AUTHORS
|
|
|
-│ │ ├── ChangeLog
|
|
|
-│ │ ├── COPYING
|
|
|
│ │ ├── include
|
|
|
-│ │ ├── INSTALL_RECEIPT.json
|
|
|
-│ │ ├── lib
|
|
|
-│ │ ├── NEWS
|
|
|
-│ │ └── README
|
|
|
+│ │ └── lib
|
|
|
│ └── zstd
|
|
|
│ └── 1.5.2
|
|
|
-│ ├── CHANGELOG
|
|
|
-│ ├── COPYING
|
|
|
│ ├── include
|
|
|
-│ ├── INSTALL_RECEIPT.json
|
|
|
-│ ├── lib
|
|
|
-│ ├── LICENSE
|
|
|
-│ └── README.md
|
|
|
+│ └── lib
|
|
|
├── include
|
|
|
│ ├── autotest.h -> ../Cellar/unixodbc/2.3.9_1/include/autotest.h
|
|
|
│ ├── boost -> ../Cellar/boost/1.78.0_1/include/boost
|
|
|
@@ -102,27 +72,27 @@ references from these folders will became dead). Finally inspect content of `Cel
|
|
|
│ └── zstd.h -> ../Cellar/zstd/1.5.2/include/zstd.h
|
|
|
├── lib
|
|
|
│ ├── cmake
|
|
|
-│ │ ├── Boost-1.78.0
|
|
|
-│ │ ├── boost_context-1.78.0
|
|
|
-│ │ ├── boost_coroutine-1.78.0
|
|
|
-│ │ ├── BoostDetectToolset-1.78.0.cmake -> ../../Cellar/boost/1.78.0_1/lib/cmake/BoostDetectToolset-1.78.0.cmake
|
|
|
-│ │ ├── boost_fiber-1.78.0
|
|
|
-│ │ ├── boost_headers-1.78.0
|
|
|
-│ │ ├── boost_program_options-1.78.0
|
|
|
-│ │ ├── boost_stacktrace_addr2line-1.78.0
|
|
|
-│ │ ├── boost_stacktrace_basic-1.78.0
|
|
|
-│ │ ├── boost_stacktrace_noop-1.78.0
|
|
|
-│ │ ├── boost_system-1.78.0
|
|
|
+│ │ ├── Boost-1.80.0
|
|
|
+│ │ ├── boost_context-1.80.0
|
|
|
+│ │ ├── boost_coroutine-1.80.0
|
|
|
+│ │ ├── BoostDetectToolset-1.80.0.cmake -> ../../Cellar/boost/1.80.0/lib/cmake/BoostDetectToolset-1.80.0.cmake
|
|
|
+│ │ ├── boost_fiber-1.80.0
|
|
|
+│ │ ├── boost_headers-1.80.0
|
|
|
+│ │ ├── boost_program_options-1.80.0
|
|
|
+│ │ ├── boost_stacktrace_addr2line-1.80.0
|
|
|
+│ │ ├── boost_stacktrace_basic-1.80.0
|
|
|
+│ │ ├── boost_stacktrace_noop-1.80.0
|
|
|
+│ │ ├── boost_system-1.80.0
|
|
|
│ │ └── zstd -> ../../Cellar/zstd/1.5.2/lib/cmake/zstd
|
|
|
-│ ├── libboost_context-mt.a -> ../Cellar/boost/1.78.0_1/lib/libboost_context-mt.a
|
|
|
-│ ├── libboost_context-mt.dylib -> ../Cellar/boost/1.78.0_1/lib/libboost_context-mt.dylib
|
|
|
+│ ├── libboost_context-mt.a -> ../Cellar/boost/1.80.0/lib/libboost_context-mt.a
|
|
|
+│ ├── libboost_context-mt.dylib -> ../Cellar/boost/1.80.0/lib/libboost_context-mt.dylib
|
|
|
...
|
|
|
│ ├── libzstd.dylib -> ../Cellar/zstd/1.5.2/lib/libzstd.dylib
|
|
|
│ ├── pkgconfig
|
|
|
│ └── postgresql -> ../Cellar/postgresql/14.2_1/lib/postgresql
|
|
|
└── opt
|
|
|
- ├── boost -> ../Cellar/boost/1.78.0_1
|
|
|
- ├── [email protected] -> ../Cellar/boost/1.78.0_1
|
|
|
+ ├── boost -> ../Cellar/boost/1.80.0
|
|
|
+ ├── [email protected] -> ../Cellar/boost/1.80.0
|
|
|
├── mysql-client -> ../Cellar/mysql-client/8.0.28
|
|
|
├── [email protected] -> ../Cellar/mysql-client/8.0.28
|
|
|
├── openssl -> ../Cellar/openssl@3/3.0.2
|
|
|
@@ -144,5 +114,5 @@ tar -cf - Cellar include lib opt | xz -9 -f > boost_macos_ARCH.tar.xz
|
|
|
```
|
|
|
( where `ARCH` is `arm64` on M1 machine, or `x86_64` on intel. )
|
|
|
|
|
|
-Both archives (`boost_macos_x86_64.tar.xz`, and `boost_macos_arm64.tar.xz`) are results. They occupy about 11M each.
|
|
|
+Both archives (`boost_macos_x86_64.tar.xz`, and `boost_macos_arm64.tar.xz`) are results. They occupy about 9M each.
|
|
|
They're stored in `/work/cross/sysroots` folder on our dev server, and also available online to build docker from `https://repo.manticoresearch.com/repository/sysroots/boost_178/`.
|