Code Review: Enable build info to trigger when HEAD commit ID changes

4 views
Skip to first unread message

Davide Libenzi

unread,
Dec 21, 2015, 2:26:50 PM12/21/15
to Akaros
https://github.com/brho/akaros/compare/master...dlibenzi:build_info_depend


The following changes since commit 548361ec318c5381bc13eb7d9fa7e6f59d7081f1:

  Created a new Makefrag-user-app helper for building binaries (2015-12-21 12:56:49 -0500)

are available in the git repository at:

  g...@github.com:dlibenzi/akaros build_info_depend

for you to fetch changes up to 80646b957221e5d3d2a7fea9722510fc2cbfd66e:

  Enable build info rebuild upon HEAD commit ID change (2015-12-21 11:24:36 -0800)

----------------------------------------------------------------
Davide Libenzi (1):
      Enable build info rebuild upon HEAD commit ID change

 .gitignore      |  2 +-
 kern/src/Kbuild | 15 +++++++++++----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/.gitignore b/.gitignore
index 20c022f..2c8ba61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,7 +19,7 @@ ros-project.tmproj
 kern/boot
 kern/include/arch
 kern/src/arch
-kern/src/build_info.c
+kern/src/build_info.*
 kern/src/error.c
 user/parlib/include/arch
 Documentation/doxygen/rosdoc
diff --git a/kern/src/Kbuild b/kern/src/Kbuild
index c3af054..f4cb602 100644
--- a/kern/src/Kbuild
+++ b/kern/src/Kbuild
@@ -7,7 +7,14 @@ $(src)/error.c: $(AKAROS_ROOT)/include/ros/errno.h
  @echo "};"                             >> $(@)
  @echo "const int MAX_ERRNO = sizeof(errno_strings)/sizeof(errno_strings[0]);" >> $(@)
 
-$(src)/build_info.c:
+$(src)/build_info.cid:
+ @echo `git rev-parse HEAD` > $(src)/build_info.cid.tmp
+ @if [ ! -f $(src)/build_info.cid ] || \
+ [ `cmp -s $(src)/build_info.cid $(src)/build_info.cid.tmp` -ne 0 ]; then \
+ cp $(src)/build_info.cid.tmp $(src)/build_info.cid; fi;
+ @rm -f $(src)/build_info.cid.tmp
+
+$(src)/build_info.c: $(src)/build_info.cid
 ifeq ($(BUILD_INFO_FILE),)
  @echo "/* Automatically generated. DO NOT EDIT! */" > $(@)
  @echo "" >> $(@)
@@ -17,17 +24,17 @@ ifeq ($(BUILD_INFO_FILE),)
  >> $(@)
  @echo "const char build_info_host[] = { \"`hostname`\" };"\
  >> $(@)
- @echo "const char build_info_commitid[] = { \"`git rev-parse HEAD`\" };"\
+ @echo "const char build_info_commitid[] = { \"`cat $(src)/build_info.cid`\" };"\
  >> $(@)
  @echo "const char build_info_version[] = { \"$(KERNELVERSION)\" };"\
  >> $(@)
  @echo "const char build_info_version_name[] = { \"$(VERNAME)\" };"\
  >> $(@)
 else
- @cp $(BUILD_INFO_FILE) $(@)
+ cp $(BUILD_INFO_FILE) $(@)
 endif
 
-clean-files += build_info.c error.c
+clean-files += build_info.c build_info.cid error.c
 
 obj-y += alarm.o
 obj-y += apipe.o

barret rhoden

unread,
Feb 11, 2016, 10:54:55 AM2/11/16
to aka...@googlegroups.com
On 2015-12-21 at 11:26 'Davide Libenzi' via Akaros wrote:
> https://github.com/brho/akaros/compare/master...dlibenzi:build_info_depend
>
>
> The following changes since commit
> 548361ec318c5381bc13eb7d9fa7e6f59d7081f1:
>
> Created a new Makefrag-user-app helper for building binaries
> (2015-12-21 12:56:49 -0500)
>
> are available in the git repository at:
>
> g...@github.com:dlibenzi/akaros build_info_depend

Merged to master at 9e91aa5eaf9c..bb86973eacc2 (from, to]

You can see the entire diff with 'git diff' or at
https://github.com/brho/akaros/compare/9e91aa5eaf9c...bb86973eacc2

Reply all
Reply to author
Forward
0 new messages