diff --git a/GNUmakefile b/GNUmakefile index 881fcc076c6..2f569df144a 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -2,7 +2,7 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -# This Makefile does an out-of-source CMake build in ../build_`OS`_`CPU` +# This Makefile does an out-of-source CMake build in ../build_`OS` # eg: # ../build_linux_i386 # This is for users who like to configure & build blender with a single command. @@ -35,7 +35,7 @@ Other Convenience Targets * deps: Build library dependencies (intended only for platform maintainers). The existence of locally build dependencies overrides the pre-built dependencies from subversion. - These must be manually removed from '../lib/' to go back to using the pre-compiled libraries. + These must be manually removed from 'lib/' to go back to using the pre-compiled libraries. Project Files Generate project files for development environments. @@ -165,6 +165,16 @@ OS:=$(shell uname -s) OS_NCASE:=$(shell uname -s | tr '[A-Z]' '[a-z]') CPU:=$(shell uname -m) +# Use our OS and CPU architecture naming conventions. +ifeq ($(CPU),x86_64) + CPU:=x64 +endif +ifeq ($(OS_NCASE),darwin) + OS_LIBDIR:=macos +else + OS_LIBDIR:=$(OS_NCASE) +endif + # Source and Build DIR's BLENDER_DIR:=$(shell pwd -P) @@ -186,26 +196,13 @@ ifndef DEPS_BUILD_DIR endif ifndef DEPS_INSTALL_DIR - DEPS_INSTALL_DIR:=$(shell dirname "$(BLENDER_DIR)")/lib/$(OS_NCASE) - - # Add processor type to directory name, except for darwin x86_64 - # which by convention does not have it. - ifeq ($(OS_NCASE),darwin) - ifneq ($(CPU),x86_64) - DEPS_INSTALL_DIR:=$(DEPS_INSTALL_DIR)_$(CPU) - endif - else - DEPS_INSTALL_DIR:=$(DEPS_INSTALL_DIR)_$(CPU) - endif + DEPS_INSTALL_DIR:=$(shell dirname "$(BLENDER_DIR)")/lib/$(OS_LIBDIR)_$(CPU) endif # Set the LIBDIR, an empty string when not found. -LIBDIR:=$(wildcard ../lib/${OS_NCASE}_${CPU}) +LIBDIR:=$(wildcard $(BLENDER_DIR)/lib/${OS_LIBDIR}_${CPU}) ifeq (, $(LIBDIR)) - LIBDIR:=$(wildcard ../lib/${OS_NCASE}_${CPU}_glibc_228) -endif -ifeq (, $(LIBDIR)) - LIBDIR:=$(wildcard ../lib/${OS_NCASE}) + LIBDIR:=$(wildcard $(BLENDER_DIR)/lib/${OS_LIBDIR}) endif # Find the newest Python version bundled in `LIBDIR`. diff --git a/source/blender/blenkernel/intern/anim_visualization.cc b/source/blender/blenkernel/intern/anim_visualization.cc index ac10946a2bf..24415a7084d 100644 --- a/source/blender/blenkernel/intern/anim_visualization.cc +++ b/source/blender/blenkernel/intern/anim_visualization.cc @@ -139,8 +139,9 @@ bMotionPath *animviz_verify_motionpaths(ReportList *reports, return nullptr; } - const int expected_length = avs->path_ef - avs->path_sf; - BLI_assert(expected_length > 0); /* Because the `if` above. */ + /* Adding 1 because the avs range is inclusive on both ends. */ + const int expected_length = (avs->path_ef - avs->path_sf) + 1; + BLI_assert(expected_length > 1); /* Because the `if` above. */ /* If there is already a motionpath, just return that, provided its settings * are ok (saves extra free+alloc). */ @@ -157,7 +158,7 @@ bMotionPath *animviz_verify_motionpaths(ReportList *reports, /* Only reuse a path if it was already a valid path, and of the expected length. */ if (mpath->start_frame != mpath->end_frame && mpath->length == expected_length) { mpath->start_frame = avs->path_sf; - mpath->end_frame = avs->path_ef; + mpath->end_frame = avs->path_ef + 1; return mpath; } @@ -171,7 +172,7 @@ bMotionPath *animviz_verify_motionpaths(ReportList *reports, /* Copy mpath settings from the viz settings. */ mpath->start_frame = avs->path_sf; - mpath->end_frame = avs->path_ef; + mpath->end_frame = avs->path_ef + 1; mpath->length = expected_length; if (avs->path_bakeflag & MOTIONPATH_BAKE_HEADS) { diff --git a/source/blender/draw/engines/overlay/overlay_motion_path.cc b/source/blender/draw/engines/overlay/overlay_motion_path.cc index 62ae88800eb..4c8ea7ff497 100644 --- a/source/blender/draw/engines/overlay/overlay_motion_path.cc +++ b/source/blender/draw/engines/overlay/overlay_motion_path.cc @@ -93,7 +93,7 @@ static void motion_path_get_frame_range_to_draw(bAnimVizSettings *avs, } else { start = avs->path_sf; - end = avs->path_ef; + end = avs->path_ef + 1; } if (start > end) { diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h index 21bebd01555..b15758caecb 100644 --- a/source/blender/makesdna/DNA_action_types.h +++ b/source/blender/makesdna/DNA_action_types.h @@ -57,9 +57,9 @@ typedef struct bMotionPath { /** The number of cached verts. */ int length; - /** For drawing paths, the start frame number. */ + /** For drawing paths, the start frame number. Inclusive.*/ int start_frame; - /** For drawing paths, the end frame number. */ + /** For drawing paths, the end frame number. Exclusive. */ int end_frame; /** Optional custom color. */ @@ -113,7 +113,7 @@ typedef struct bAnimVizSettings { short path_bakeflag; char _pad[4]; - /** Start and end frames of path-calculation range. */ + /** Start and end frames of path-calculation range. Both are inclusive.*/ int path_sf, path_ef; /** Number of frames before/after current frame to show. */ int path_bc, path_ac;