aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorYurii Shutkin <shutkin@google.com>2024-01-10 18:37:04 +0100
committerYurii Shutkin <shutkin@google.com>2024-01-18 12:45:59 +0000
commit27d8fb491c79745589321c81c7a6e4d83e75acc3 (patch)
tree706d1817bd2f9664539daf10f4c2410c5fbdc7d1 /lib
parent0d613851ec906e2f0711375381b115d6e2e54855 (diff)
downloadcommon-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.mk21
-rw-r--r--lib/libc/rules.mk13
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 \