diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2021-07-30 12:15:27 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2021-10-04 10:09:13 -0700 |
commit | de0a7c5a0b2061c86441a1822d6c3a898b0b6ba2 (patch) | |
tree | 9c3f2621a02bc24cb5a694b81fa1765a004e68c7 /benchtests | |
parent | 83b5323261bb72313bffcf37476c1b8f0847c736 (diff) | |
download | glibc-de0a7c5a0b2061c86441a1822d6c3a898b0b6ba2.zip glibc-de0a7c5a0b2061c86441a1822d6c3a898b0b6ba2.tar.gz glibc-de0a7c5a0b2061c86441a1822d6c3a898b0b6ba2.tar.bz2 |
benchtests: Building benchmarks as static executables
Building benchmarks as static executables:
=========================================
To build benchmarks as static executables, on the build system, run:
$ make STATIC-BENCHTESTS=yes bench-build
You can copy benchmark executables to another machine and run them
without copying the source nor build directories.
Diffstat (limited to 'benchtests')
-rw-r--r-- | benchtests/Makefile | 26 | ||||
-rw-r--r-- | benchtests/README | 10 |
2 files changed, 29 insertions, 7 deletions
diff --git a/benchtests/Makefile b/benchtests/Makefile index 1530939..4fcd731 100644 --- a/benchtests/Makefile +++ b/benchtests/Makefile @@ -110,11 +110,23 @@ else bench-malloc := $(filter malloc-%,${BENCHSET}) endif -$(addprefix $(objpfx)bench-,$(bench-math)): $(libm) -$(addprefix $(objpfx)bench-,$(math-benchset)): $(libm) -$(addprefix $(objpfx)bench-,$(bench-pthread)): $(shared-thread-library) -$(addprefix $(objpfx)bench-,$(bench-malloc)): $(shared-thread-library) -$(addprefix $(objpfx)bench-,pthread-locks): $(libm) +ifeq (${STATIC-BENCHTESTS},yes) ++link-benchtests = $(+link-static-tests) +link-libc-benchtests = $(link-libc-static) +libm-benchtests = $(common-objpfx)math/libm.a +thread-library-benchtests = $(static-thread-library) +else +link-libc-benchtests = $(link-libc) ++link-benchtests = $(+link-tests) +thread-library-benchtests = $(shared-thread-library) +libm-benchtests = $(libm) +endif + +$(addprefix $(objpfx)bench-,$(bench-math)): $(libm-benchtests) +$(addprefix $(objpfx)bench-,$(math-benchset)): $(libm-benchtests) +$(addprefix $(objpfx)bench-,$(bench-pthread)): $(thread-library-benchtests) +$(addprefix $(objpfx)bench-,$(bench-malloc)): $(thread-library-benchtests) +$(addprefix $(objpfx)bench-,pthread-locks): $(libm-benchtests) @@ -270,9 +282,9 @@ bench-link-targets = $(timing-type) $(binaries-bench) $(binaries-benchset) \ $(bench-link-targets): %: %.o $(objpfx)json-lib.o \ $(link-extra-libs-tests) \ - $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \ + $(sort $(filter $(common-objpfx)lib%,$(link-libc-benchtests))) \ $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit) - $(+link-tests) + $(+link-benchtests) $(bench-link-targets): LDFLAGS += $(link-bench-bind-now) diff --git a/benchtests/README b/benchtests/README index 44736d7..4d83a05 100644 --- a/benchtests/README +++ b/benchtests/README @@ -62,6 +62,16 @@ otherwise the above command may try to build the benchmark again. Benchmarks that require generated code to be executed during the build are skipped when cross-building. +Building benchmarks as static executables: +========================================= + +To build benchmarks as static executables, on the build system, run: + + $ make STATIC-BENCHTESTS=yes bench-build + +You can copy benchmark executables to another machine and run them +without copying the source nor build directories. + Running subsets of benchmarks: ============================== |