tytso / xfstests-bld

Creates a file system / storage test appliance which can be run using KVM, GCE, and Android
GNU General Public License v2.0
67 stars 46 forks source link

Fix kbuild #61

Closed lrumancik closed 4 months ago

tytso commented 4 months ago

I was working on this in parallel with your effort. I took look at your commits, and the primary differences are (a) I support having a worktree-specific kbuild config files, which is useful if you want to have separate external build trees, and (b) there are other places where we are checking for the kbuild config file used by kvm-xfstests and gce-xfstests to find the kernel.

Note: the reason why it's handy to have separate build tree is so we can have a kbuild config like this:

BLD_DIR=/build/ext4
KERN_ARCH=x86_64
BLD_DIR_32=/build/ext4-32
BLD_DIR_ARM64=/build/ext4-arm64
DO_DPKG=yes

Then "kbuild --arch arm64", "kbuild --arch i386", etc., and kbuild will use different directories for each architectures. This allows the developer to switch between different architectures without needing to rebuilding all of the object files while developing a commit. (Note: the --arch option is also supported by install-kconfig, gce-xfstests, and kvm-xfststs for the convenience of the cross-platform developer.)

lrumancik commented 4 months ago

Oh awesome!! Let me know when it is merged so I can sync my branch to yours.

On Wed, Jul 31, 2024 at 7:42 PM tytso @.***> wrote:

I was working on this in parallel with your effort. I took look at your commits, and the primary differences are (a) I support having a worktree-specific kbuild config files, which is useful if you want to have separate external build trees, and (b) there are other places where we are checking for the kbuild config file used by kvm-xfstests and gce-xfstests to find the kernel.

Note: the reason why it's handy to have separate build tree is so we can have a kbuild config like this:

BLD_DIR=/build/ext4 KERN_ARCH=x86_64 BLD_DIR_32=/build/ext4-32 BLD_DIR_ARM64=/build/ext4-arm64 DO_DPKG=yes

Then "kbuild --arch arm64", "kbuild --arch i386", etc., and kbuild will use different directories for each architectures. This allows the developer to switch between different architectures without needing to rebuilding all of the object files while developing a commit. (Note: the --arch option is also supported by install-kconfig, gce-xfstests, and kvm-xfststs for the convenience of the cross-platform developer.)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

tytso commented 4 months ago

It's upstream now!