btrfs_shell: Support AVLTree

This commit is contained in:
hyche 2017-07-01 00:10:27 +07:00
parent 370ee09fe5
commit 9f9ba0bdc1
4 changed files with 33 additions and 14 deletions

View File

@ -6,7 +6,12 @@
#define _KERNEL_UTIL_AVL_TREE_BASE_H
#include <SupportDefs.h>
#ifndef FS_SHELL
# include <SupportDefs.h>
#else
# include <algorithm>
# include "fssh_api_wrapper.h"
#endif
class AVLTreeIterator;

View File

@ -7,6 +7,7 @@
// This needs to be included before the fs_shell wrapper
#include <zlib.h>
#include <new>
#include <util/AVLTree.h>
#include "fssh_api_wrapper.h"
#include "fssh_auto_deleter.h"
@ -18,6 +19,7 @@
#include <util/AutoLock.h>
#include <util/SinglyLinkedList.h>
#include <util/Stack.h>
#include <util/AVLTree.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <ByteOrder.h>

View File

@ -6,22 +6,26 @@
#include <util/AVLTreeBase.h>
#include <algorithm>
#include <KernelExport.h>
#ifndef FS_SHELL
# include <algorithm>
# include <KernelExport.h>
#endif
#ifdef _KERNEL_MODE
# define CHECK_FAILED(message...) panic(message)
#else
# include <stdio.h>
# include <OS.h>
# define CHECK_FAILED(message...) \
do { \
fprintf(stderr, message); \
fprintf(stderr, "\n"); \
debugger("AVLTreeBase check failed"); \
} while (false)
# ifndef FS_SHELL
# include <stdio.h>
# include <OS.h>
# define CHECK_FAILED(message...) \
do { \
fprintf(stderr, message); \
fprintf(stderr, "\n"); \
debugger("AVLTreeBase check failed"); \
} while (false)
# else
# define CHECK_FAILED(message...) dprintf(message)
# endif
#endif

View File

@ -33,6 +33,7 @@ if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) {
UseHeaders [ FDirName $(HAIKU_TOP) headers build os support ] : true ;
}
UsePrivateKernelHeaders ;
UsePrivateHeaders shared storage fs_shell ;
UseHeaders [ FDirName $(HAIKU_TOP) headers private ] : true ;
UseHeaders [ FDirName $(HAIKU_TOP) src tools fs_shell ] ;
@ -49,7 +50,11 @@ local btrfsSources =
kernel_interface.cpp
;
BuildPlatformMergeObject <build>btrfs.o : $(btrfsSources) ;
local utilitySources =
AVLTreeBase.cpp
;
BuildPlatformMergeObject <build>btrfs.o : $(btrfsSources) $(utilitySources) ;
BuildPlatformMain <build>btrfs_shell
:
@ -60,3 +65,6 @@ BuildPlatformMain <build>btrfs_shell
<build>fs_shell.a $(libHaikuCompat) $(HOST_LIBSUPC++) $(HOST_LIBSTDC++)
$(HOST_LIBROOT) $(fsShellCommandLibs)
;
SEARCH on [ FGristFiles $(utilitySources) ]
+= [ FDirName $(HAIKU_TOP) src system kernel util ] ;