diff options
author | Yurii Shutkin <shutkin@google.com> | 2024-01-10 18:37:04 +0100 |
---|---|---|
committer | Yurii Shutkin <shutkin@google.com> | 2024-01-18 12:45:59 +0000 |
commit | 27d8fb491c79745589321c81c7a6e4d83e75acc3 (patch) | |
tree | 706d1817bd2f9664539daf10f4c2410c5fbdc7d1 /lib | |
parent | 0d613851ec906e2f0711375381b115d6e2e54855 (diff) | |
download | common-27d8fb491c79745589321c81c7a6e4d83e75acc3.tar.gz |
libc: move libc rand to separate module to speedup rebuilds
rand.c depends on a module seed define that is randomly
changed every build, so moving rand.c into a separate module
saves rebuild time as the rest libc stays untouched.
Change-Id: Id2ebf3489e107c43c4d07048bea50b505de3d87a
Test: build
Bug: 319455354
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/rand/rand.c (renamed from lib/libc/rand.c) | 0 | ||||
-rw-r--r-- | lib/libc/rand/rules.mk | 21 | ||||
-rw-r--r-- | lib/libc/rules.mk | 13 |
3 files changed, 23 insertions, 11 deletions
diff --git a/lib/libc/rand.c b/lib/libc/rand/rand.c index 74ab2c97..74ab2c97 100644 --- a/lib/libc/rand.c +++ b/lib/libc/rand/rand.c diff --git a/lib/libc/rand/rules.mk b/lib/libc/rand/rules.mk new file mode 100644 index 00000000..bad5b9b3 --- /dev/null +++ b/lib/libc/rand/rules.mk @@ -0,0 +1,21 @@ + +# compile libc rand as a separate module as it is build +# every time due to randomly changing module define + +LOCAL_DIR := $(GET_LOCAL_DIR) + +MODULE := $(LOCAL_DIR) + +# Generate a random 32-bit seed for the RNG +KERNEL_LIBC_RANDSEED_HEX := $(shell xxd -l4 -g0 -p /dev/urandom) +KERNEL_LIBC_RANDSEED := 0x$(KERNEL_LIBC_RANDSEED_HEX)U + +MODULE_DEFINES += \ + KERNEL_LIBC_RANDSEED=$(KERNEL_LIBC_RANDSEED) \ + +$(info KERNEL_LIBC_RANDSEED = $(KERNEL_LIBC_RANDSEED)) + +MODULE_SRCS += \ + $(LOCAL_DIR)/rand.c \ + +include make/module.mk diff --git a/lib/libc/rules.mk b/lib/libc/rules.mk index ed35164e..9b0b5f9e 100644 --- a/lib/libc/rules.mk +++ b/lib/libc/rules.mk @@ -3,21 +3,13 @@ LOCAL_DIR := $(GET_LOCAL_DIR) MODULE := $(LOCAL_DIR) MODULE_DEPS := \ - lib/io + lib/io \ + lib/libc/rand ifndef WITH_CUSTOM_MALLOC MODULE_DEPS += lib/heap endif -# Generate a random 32-bit seed for the RNG -KERNEL_LIBC_RANDSEED_HEX := $(shell xxd -l4 -g0 -p /dev/urandom) -KERNEL_LIBC_RANDSEED := 0x$(KERNEL_LIBC_RANDSEED_HEX)U - -MODULE_DEFINES += \ - KERNEL_LIBC_RANDSEED=$(KERNEL_LIBC_RANDSEED) \ - -$(info KERNEL_LIBC_RANDSEED = $(KERNEL_LIBC_RANDSEED)) - GLOBAL_INCLUDES += $(LOCAL_DIR)/include_common MODULE_SRCS += \ @@ -26,7 +18,6 @@ MODULE_SRCS += \ $(LOCAL_DIR)/ctype.c \ $(LOCAL_DIR)/errno.c \ $(LOCAL_DIR)/printf.c \ - $(LOCAL_DIR)/rand.c \ $(LOCAL_DIR)/strtol.c \ $(LOCAL_DIR)/strtoll.c \ $(LOCAL_DIR)/stdio.c \ |