* cleanup patches
* fix polyseed patch
* Fix iOS builds
* fix polyseed dependencies
* fix polyseed patch for macOS
* update ledger patch
* update wownero patches and version
* update checksums
* wip"
* update gitmodules
* update boost build script
* update build_single.sh
* vix verbosey_copy
* fix __clear_cache bug on wownero
* update randomwow
* migrate build system
* fix cross compilation issues
* some more build issue
* update polyseed
* cleanup cmakelists
* fix toolchain.cmake.in
* add ssp
* another attempt at building windows on CI
* fix package name
* migrate mirror to my own hosting
* change download mirror priority (fallback first)
* link ssp in monero module as well by using CMAKE_{C,CXX}_FLAGS
* fix android builds
* update polyseed source
* 13 -> trixie
* fix package name conflicts, update runner to sid
* update boost to 1_84_0, disable patch that's no longer needed
* switch to ubuntu:24.04
* add POLYSEED_STATIC to toolchain.cmake.in in order to properly link
* drop patches
* fixes to darwin
* link missing wowner-seed library
* a litte bit more of experiments
* build locale only on windows
* update iconv
* update definitions
* update ci builds
* update my progress
* ios fix, update depends, ci
* multithread build system
* fix android, mingw and linux build issues
* remove dependency check
* update Dockerfile to include pigz
* show a message when pigz is missing
* fix devcontainer mingw setup (missing ENV)
* update android build runner
* sailfishos dropped (you better go behave yourself and run actual linux programs)
* fiz pigz issues
* install llvm-ranlib for android
* fix iOS build issues
* fix dummy ledger patch
* fix macos and darwin
* fix macos ci
* fix macos build command
* install autoconf
* add automake
* add libtool
* macos fixes, wownero fixes, idk what else, please help me
* fix wownero iOS build
* Cleanup patches
* add try-catch into monero code
* fix error handling
* update checksums
38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
Don't build object files twice
|
|
|
|
When passed --enable-static and --enable-shared, icu will generate
|
|
both a shared and a static version of its libraries.
|
|
|
|
However, in order to do so, it builds each and every object file
|
|
twice: once with -fPIC (for the shared library), and once without
|
|
-fPIC (for the static library). While admittedly building -fPIC for a
|
|
static library generates a slightly suboptimal code, this is what all
|
|
the autotools-based project are doing. They build each object file
|
|
once, and they use it for both the static and shared libraries.
|
|
|
|
icu builds the object files for the shared library as .o files, and
|
|
the object files for static library as .ao files. By simply changing
|
|
the suffix of object files used for static libraries to ".o", we tell
|
|
icu to use the ones built for the shared library (i.e, with -fPIC),
|
|
and avoid the double build of icu.
|
|
|
|
On a fast build server, this brings the target icu build from
|
|
3m41.302s down to 1m43.926s (approximate numbers: some other builds
|
|
are running on the system at the same time).
|
|
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
|
|
Index: b/source/config/mh-linux
|
|
===================================================================
|
|
--- a/source/config/mh-linux
|
|
+++ b/source/config/mh-linux
|
|
@@ -38,7 +38,7 @@
|
|
## Shared object suffix
|
|
SO = so
|
|
## Non-shared intermediate object suffix
|
|
-STATIC_O = ao
|
|
+STATIC_O = o
|
|
|
|
## Compilation rules
|
|
%.$(STATIC_O): $(srcdir)/%.c
|