[haiku-commits] haiku: hrev52474 - build/jam

  • From: waddlesplash@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 2 Nov 2018 21:47:06 -0400 (EDT)

hrev52474 adds 2 changesets to branch 'master'
old head: 95e0ce2c0b8b2fcf776df4673aca37a24f23c7fe
new head: 68191643b8df48573cae3b9cd072a7845b18ee1c
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=68191643b8df+%5E95e0ce2c0b8b

----------------------------------------------------------------------------

8b4ab45439ec: BootRules: BuildMBR links as well as compiles, so pass in 
LINKFLAGS.
  
  Clang builds presently have some magic in it that is required for
  linking to work at all.

68191643b8df: build: Add HAIKU_ABSOLUTE_TOP and use it to root BootArchive.
  
  Strictly POSIX-compliant shells (like dash) do not allow sourcing
  files in the present directory without "./". The script really should
  not know or care about what directory the passed files are in,
  so now we add a jam grist to make the passed paths absolute.
  
  Fixes the build on all systems where /bin/sh is dash or a similarly
  POSIX-compliant-no-extensions shell (i.e. virtually all Linux.)

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

----------------------------------------------------------------------------

3 files changed, 11 insertions(+), 3 deletions(-)
Jamrules             | 4 ++++
build/jam/BootRules  | 4 +++-
build/jam/ImageRules | 6 ++++--

############################################################################

Commit:      8b4ab45439ec5e0962b7e9af2591af8fdcba1e5a
URL:         https://git.haiku-os.org/haiku/commit/?id=8b4ab45439ec
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sat Nov  3 01:41:53 2018 UTC

BootRules: BuildMBR links as well as compiles, so pass in LINKFLAGS.

Clang builds presently have some magic in it that is required for
linking to work at all.

----------------------------------------------------------------------------

diff --git a/build/jam/BootRules b/build/jam/BootRules
index 582e1d0361..404efdb8ca 100644
--- a/build/jam/BootRules
+++ b/build/jam/BootRules
@@ -216,5 +216,7 @@ rule BuildMBR binary : source
 actions BuildMBR
 {
        $(RM) $(1)
-       $(HAIKU_CC_$(HAIKU_PACKAGING_ARCH)) $(2) -o $(1) $(MBRFLAGS) -nostdlib 
-Xlinker --oformat=binary -Xlinker -S -Xlinker -N -Xlinker --entry=start 
-Xlinker -Ttext=0x600
+       $(HAIKU_CC_$(HAIKU_PACKAGING_ARCH)) 
$(HAIKU_LINKFLAGS_$(HAIKU_PACKAGING_ARCH)) \
+               $(2) -o $(1) $(MBRFLAGS) -nostdlib -Xlinker --oformat=binary \
+               -Xlinker -S -Xlinker -N -Xlinker --entry=start -Xlinker 
-Ttext=0x600
 }

############################################################################

Revision:    hrev52474
Commit:      68191643b8df48573cae3b9cd072a7845b18ee1c
URL:         https://git.haiku-os.org/haiku/commit/?id=68191643b8df
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sat Nov  3 01:46:22 2018 UTC

build: Add HAIKU_ABSOLUTE_TOP and use it to root BootArchive.

Strictly POSIX-compliant shells (like dash) do not allow sourcing
files in the present directory without "./". The script really should
not know or care about what directory the passed files are in,
so now we add a jam grist to make the passed paths absolute.

Fixes the build on all systems where /bin/sh is dash or a similarly
POSIX-compliant-no-extensions shell (i.e. virtually all Linux.)

----------------------------------------------------------------------------

diff --git a/Jamrules b/Jamrules
index f6cd45ce9e..f2c414d1ec 100644
--- a/Jamrules
+++ b/Jamrules
@@ -31,6 +31,10 @@ HAIKU_DOWNLOAD_DIR                                   ?= [ 
FDirName $(HAIKU_OUTPUT_DIR)
 HAIKU_OPTIONAL_BUILD_PACKAGES_DIR      ?= [ FDirName $(HAIKU_OUTPUT_DIR)
                                                                                
        build_packages ] ;
 
+# Absolutely rooted versions of some of the main directories
+HAIKU_ABSOLUTE_TOP                                     ?= [ FDirName $(PWD) 
$(HAIKU_TOP) ] ;
+HAIKU_ABSOLUTE_OUTPUT_DIR                      ?= [ FDirName 
$(HAIKU_ABSOLUTE_TOP) generated ] ;
+
 # Cache files for header scanning and jamfile caching
 HCACHEFILE = header_cache ;
 JCACHEFILE = jamfile_cache ;
diff --git a/build/jam/ImageRules b/build/jam/ImageRules
index bd1b1ce825..cbcfab7874 100644
--- a/build/jam/ImageRules
+++ b/build/jam/ImageRules
@@ -1383,7 +1383,8 @@ rule BuildNetBootArchive archive : scripts
        SEARCH on $(mainScript) = [ FDirName $(HAIKU_TOP) build scripts ] ;
 
        Depends $(archive) : $(mainScript) $(scripts) ;
-       BuildNetBootArchive1 $(archive) : $(mainScript) $(scripts) ;
+       BuildNetBootArchive1 $(archive) : $(mainScript)
+               $(scripts:R=$(HAIKU_ABSOLUTE_OUTPUT_DIR)) ;
 }
 
 actions BuildNetBootArchive1
@@ -1474,7 +1475,8 @@ rule BuildFloppyBootArchive archive : scripts
        SEARCH on $(mainScript) = [ FDirName $(HAIKU_TOP) build scripts ] ;
 
        Depends $(archive) : $(mainScript) $(scripts) ;
-       BuildFloppyBootArchive1 $(archive) : $(mainScript) $(scripts) ;
+       BuildFloppyBootArchive1 $(archive) : $(mainScript)
+               $(scripts:R=$(HAIKU_ABSOLUTE_OUTPUT_DIR)) ;
 }
 
 actions BuildFloppyBootArchive1


Other related posts:

  • » [haiku-commits] haiku: hrev52474 - build/jam - waddlesplash