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

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Wed, 21 Nov 2018 19:18:18 -0500 (EST)

hrev52572 adds 2 changesets to branch 'master'
old head: 32bcb26dfc0f7c5f9caae2b3ab18280eb5bc1275
new head: da693d1fdc35cce39b7eca0d8178ff470d37cc5b
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=da693d1fdc35+%5E32bcb26dfc0f

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

633e29aeb6f7: Jamrules: Add a hard requirement on the new Jambase.
  
  And remove the overridden rules that were migrated back to it.

da693d1fdc35: configure: Change default ARFLAGS to use deterministic mode.
  
  Jambase now expects this (and its defaults were changed); and this
  is already the default on most systems, so adding this should
  silence the "D is now the default mode" warning.

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

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

4 files changed, 19 insertions(+), 41 deletions(-)
Jamfile                      |  5 -----
Jamrules                     | 12 ++++++++++++
build/jam/OverriddenJamRules | 39 +++++----------------------------------
configure                    |  4 ++--

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

Commit:      633e29aeb6f703dc1d66b78b96122598626d8380
URL:         https://git.haiku-os.org/haiku/commit/?id=633e29aeb6f7
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Nov 22 00:09:04 2018 UTC

Jamrules: Add a hard requirement on the new Jambase.

And remove the overridden rules that were migrated back to it.

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

diff --git a/Jamfile b/Jamfile
index bb773d34cc..092c533f8a 100644
--- a/Jamfile
+++ b/Jamfile
@@ -1,8 +1,3 @@
-if ! [ Match "(.*)-haiku-(.*)" : $(JAMVERSION) ] {
-       Exit "You can only build Haiku with Haiku's Jam, not Perforce Jam or"
-               "some other variant (you are using $(JAMVERSION))." ;
-}
-
 SubDir HAIKU_TOP ;
 
 NotFile doc_files ;
diff --git a/Jamrules b/Jamrules
index 85a859d6c9..f242565d9c 100644
--- a/Jamrules
+++ b/Jamrules
@@ -1,5 +1,17 @@
 # Haiku Jamrules
 
+# Make sure we are on a sane version of Jam.
+if ! [ Match "(.*)-haiku-(.*)" : $(JAMVERSION) ] {
+       Exit "You can only build Haiku with Haiku's Jam, not Perforce Jam or"
+               "some other variant (you are using $(JAMVERSION))." ;
+}
+
+# Make sure we are on a recent Jambase.
+if $(JAMBASEDATE) < 2018 {
+       Exit "Your Jambase is too old ($(JAMBASEDATE)); please update it 
(likely"
+               "by updating Jam itself.)" ;
+}
+
 # Make sure HAIKU_TOP is a relative path (and prefer it to be the current or
 # parent directory.)
 #
diff --git a/build/jam/OverriddenJamRules b/build/jam/OverriddenJamRules
index 0aaf6f8fa6..d887932c64 100644
--- a/build/jam/OverriddenJamRules
+++ b/build/jam/OverriddenJamRules
@@ -1,15 +1,3 @@
-# Overridden to allow spaces in file names.
-actions Chmod1
-{
-       $(CHMOD) "$(MODE)" "$(1)"
-}
-
-# Overridden to allow spaces in file names.
-actions piecemeal together existing Clean
-{
-       $(RM) "$(>)"
-}
-
 
#-------------------------------------------------------------------------------
 # Link rule/action are overwritten as they don't handle linking files who's 
name
 # contain spaces very well. Also adds resources and version to executable.
@@ -196,7 +184,6 @@ rule As
                includesSeparator = $(HOST_INCLUDES_SEPARATOR) ;
                localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ;
                systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ;
-
        } else {
                flags = [ on $(1) return 
$(TARGET_ASFLAGS_$(TARGET_PACKAGING_ARCH))
                        $(ASFLAGS) ] ;
@@ -380,7 +367,6 @@ rule C++
                        includesSeparator = $(HOST_INCLUDES_SEPARATOR) ;
                        localIncludesOption = $(HOST_LOCAL_INCLUDES_OPTION) ;
                        systemIncludesOption = $(HOST_SYSTEM_INCLUDES_OPTION) ;
-
                } else {
                        # warning flags
                        if $(WARNINGS) != 0 {
@@ -462,8 +448,7 @@ rule LibraryFromObjects
 
                # library depends on its member objects
 
-               if $(KEEPOBJS)
-               {
+               if $(KEEPOBJS) {
                        LocalDepends obj : $(_s) ;
                }
 
@@ -474,8 +459,7 @@ rule LibraryFromObjects
                # For compatibility, we only do this if the library doesn't
                # already have a path.
 
-               if ! $(_l:D)
-               {
+               if ! $(_l:D) {
                        # locate the library only, if it hasn't been located yet
                        local dir = $(LOCATE[1]) ;
                        if ! $(dir) {
@@ -487,16 +471,13 @@ rule LibraryFromObjects
                        MakeLocate $(_l)($(_s:BS)) : $(dir) ;
                }
 
-               if $(NOARSCAN)
-               {
+               if $(NOARSCAN) {
                        # If we can't scan the library to timestamp its 
contents,
                        # we have to just make the library depend directly on 
the
                        # on-disk object files.
 
                        Depends $(_l) : $(_s) ;
-               }
-               else
-               {
+               } else {
                        # If we can scan the library, we make the library depend
                        # on its members and each member depend on the on-disk
                        # object file.
@@ -511,9 +492,6 @@ rule LibraryFromObjects
 
                LocalClean clean : $(_l) ;
 
-               # bonefish: Not needed on the supported platforms. Maybe 
later...
-               # if $(CRELIB) { CreLib $(_l) : $(_s[1]) ; }
-
                Archive $(_l) : $(_s) ;
 
                if $(RANLIB) { Ranlib $(_l) ; }
@@ -573,8 +551,7 @@ rule MakeLocate
 {
        local dir = $(2[1]) ;
 
-       if $(dir)
-       {
+       if $(dir) {
                if ! $(dir:G) {
                        dir = $(dir:G=dir) ;
                }
@@ -740,9 +717,3 @@ rule SubInclude
        # restore SUBDIR_TOKENS
        SUBDIR_TOKENS = $(oldSubDirTokens) ;
 }
-
-
-actions File
-{
-       $(CP) "$(>)" "$(<)"
-}

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

Revision:    hrev52572
Commit:      da693d1fdc35cce39b7eca0d8178ff470d37cc5b
URL:         https://git.haiku-os.org/haiku/commit/?id=da693d1fdc35
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Thu Nov 22 00:10:20 2018 UTC

configure: Change default ARFLAGS to use deterministic mode.

Jambase now expects this (and its defaults were changed); and this
is already the default on most systems, so adding this should
silence the "D is now the default mode" warning.

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

diff --git a/configure b/configure
index 701684a800..6e976b04f4 100755
--- a/configure
+++ b/configure
@@ -117,7 +117,7 @@ environment variables:
                               Defaults to "".
   HAIKU_ARFLAGS_<arch>        The flags passed to HAIKU_AR for target
                               architecture <arch> for archiving. Defaults to
-                              "cru".
+                              "crD".
   HAIKU_UNARFLAGS_<arch>      The flags passed to HAIKU_AR for target
                               architecture <arch> for unarchiving. Defaults to
                               "x".
@@ -980,7 +980,7 @@ else
                set_default_value HAIKU_CXXFLAGS_$targetArch    ""
                set_default_value HAIKU_LINKFLAGS_$targetArch   ""
                set_default_value HAIKU_LDFLAGS_$targetArch             ""
-               set_default_value HAIKU_ARFLAGS_$targetArch             cru
+               set_default_value HAIKU_ARFLAGS_$targetArch             crD
                set_default_value HAIKU_UNARFLAGS_$targetArch   x
 
                # Override the cross tools variables, if the tools were built 
or a


Other related posts: