diff --git a/src/add-ons/kernel/file_systems/bfs/Jamfile b/src/add-ons/kernel/file_systems/bfs/Jamfile index b8842b9fab..8d78cf7bfd 100644 --- a/src/add-ons/kernel/file_systems/bfs/Jamfile +++ b/src/add-ons/kernel/file_systems/bfs/Jamfile @@ -7,6 +7,11 @@ SubDir HAIKU_TOP src add-ons kernel file_systems bfs ; #BFS_BIG_ENDIAN_ONLY ; + if $(DEBUG) = 0 { + # the gcc on BeOS doesn't compile BFS correctly with -O2 or more + OPTIM = -O1 ; + } + defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) ; SubDirC++Flags $(defines) ; diff --git a/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile b/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile index 40fc156d84..329a3ab981 100644 --- a/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile +++ b/src/add-ons/kernel/file_systems/udf/drive_setup_addon/Jamfile @@ -1,5 +1,8 @@ SubDir HAIKU_TOP src add-ons kernel file_systems udf drive_setup_addon ; +# save original optimization level +oldOPTIM = $(OPTIM) ; + # set some additional defines { local defines = @@ -12,6 +15,9 @@ SubDir HAIKU_TOP src add-ons kernel file_systems udf drive_setup_addon ; if $(DEBUG) { #defines += DEBUG ; + } else { + # the gcc on BeOS doesn't compile BFS correctly with -O2 or more + OPTIM = -O1 ; } defines = [ FDefines $(defines) ] ; @@ -49,3 +55,7 @@ actions ignore InstallUDFDS } InstallUDFDS install : i-udf-ds ; + +# restore original optimization level +OPTIM = $(oldOPTIM) ; + diff --git a/src/tests/add-ons/kernel/file_systems/bfs/r5/Jamfile b/src/tests/add-ons/kernel/file_systems/bfs/r5/Jamfile index 882568e2ff..7a22934a15 100644 --- a/src/tests/add-ons/kernel/file_systems/bfs/r5/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/bfs/r5/Jamfile @@ -2,6 +2,9 @@ SubDir HAIKU_TOP src tests add-ons kernel file_systems bfs r5 ; SetSubDirSupportedPlatformsBeOSCompatible ; +# save original optimization level +oldOPTIM = $(OPTIM) ; + # set some additional defines { local defines = @@ -24,6 +27,11 @@ SetSubDirSupportedPlatformsBeOSCompatible ; bfsAddOnName = obfs ; } + if $(DEBUG) = 0 { + # the gcc on BeOS doesn't compile BFS correctly with -O2 or more + OPTIM = -O1 ; + } + defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) ; SubDirC++Flags $(defines) -fno-rtti ; @@ -67,3 +75,6 @@ actions ignore InstallBFS } InstallBFS install : obfs ; + +# restore original optimization level +OPTIM = $(oldOPTIM) ; diff --git a/src/tests/add-ons/kernel/file_systems/udf/r5/Jamfile b/src/tests/add-ons/kernel/file_systems/udf/r5/Jamfile index 53c24abf51..d94a504fa7 100644 --- a/src/tests/add-ons/kernel/file_systems/udf/r5/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/udf/r5/Jamfile @@ -3,6 +3,9 @@ SubDir HAIKU_TOP src tests add-ons kernel file_systems udf r5 ; SetSubDirSupportedPlatformsBeOSCompatible ; SubDirC++Flags -fno-rtti ; +# save original optimization level +oldOPTIM = $(OPTIM) ; + # set some additional defines { local defines = @@ -11,6 +14,11 @@ SubDirC++Flags -fno-rtti ; defines += COMPILE_FOR_R5 ; + if $(DEBUG) = 0 { + # the gcc on BeOS doesn't compile BFS correctly with -O2 or more + OPTIM = -O1 ; + } + defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) ; SubDirC++Flags $(defines) ; @@ -54,3 +62,8 @@ actions ignore InstallUDF } InstallUDF install : udf ; + +# restore original optimization level +OPTIM = $(oldOPTIM) ; + +SubInclude HAIKU_TOP src tests add-ons kernel file_systems udf r5 drive_setup_addon ; diff --git a/src/tests/add-ons/kernel/file_systems/udf/r5/drive_setup_addon/Jamfile b/src/tests/add-ons/kernel/file_systems/udf/r5/drive_setup_addon/Jamfile index e8829295c8..8289920b43 100644 --- a/src/tests/add-ons/kernel/file_systems/udf/r5/drive_setup_addon/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/udf/r5/drive_setup_addon/Jamfile @@ -2,6 +2,9 @@ SubDir HAIKU_TOP src tests add-ons kernel file_systems udf r5 drive_setup_addon SetSubDirSupportedPlatformsBeOSCompatible ; +# save original optimization level +oldOPTIM = $(OPTIM) ; + # set some additional defines { local defines = @@ -14,6 +17,9 @@ SetSubDirSupportedPlatformsBeOSCompatible ; if $(DEBUG) { #defines += DEBUG ; + } else { + # the gcc on BeOS doesn't compile BFS correctly with -O2 or more + OPTIM = -O1 ; } defines = [ FDefines $(defines) ] ; @@ -51,3 +57,7 @@ actions ignore InstallUDFDS } InstallUDFDS install : i-udf-ds ; + +# restore original optimization level +OPTIM = $(oldOPTIM) ; + diff --git a/src/tests/add-ons/kernel/file_systems/userlandfs/bfs/Jamfile b/src/tests/add-ons/kernel/file_systems/userlandfs/bfs/Jamfile index 28128f82c8..b42a2d0349 100644 --- a/src/tests/add-ons/kernel/file_systems/userlandfs/bfs/Jamfile +++ b/src/tests/add-ons/kernel/file_systems/userlandfs/bfs/Jamfile @@ -11,6 +11,11 @@ SEARCH_SOURCE += $(bfsTop) ; USER=1 ; + if $(DEBUG) = 0 { + # the gcc on BeOS doesn't compile BFS correctly with -O2 or more + OPTIM = -O1 ; + } + defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) ; SubDirC++Flags $(defines) -fno-rtti ; diff --git a/src/tools/bfs_shell/Jamfile b/src/tools/bfs_shell/Jamfile index 0c02396e7d..bd8fb28849 100644 --- a/src/tools/bfs_shell/Jamfile +++ b/src/tools/bfs_shell/Jamfile @@ -12,6 +12,11 @@ DEFINES += HAIKU_BUILD_COMPATIBILITY_H ; FS_SHELL ; + if $(DEBUG) = 0 { + # the gcc on BeOS doesn't compile BFS correctly with -O2 or more + OPTIM = -O1 ; + } + defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) -Wno-multichar ; SubDirC++Flags $(defines) -Wno-multichar -fno-rtti ;