diff --git a/common/include/meson.build b/common/include/meson.build index 7e512005..d970957e 100644 --- a/common/include/meson.build +++ b/common/include/meson.build @@ -1,5 +1,7 @@ libsqsh_common_headers = files( 'sqsh_data_private.h', + 'sqsh_reader_private.h', + 'sqsh_thread_private.h', ) libsqsh_common_include = include_directories('.') diff --git a/common/include/sqsh_common_private.h b/common/include/sqsh_common_private.h index 801c850f..c29c3495 100644 --- a/common/include/sqsh_common_private.h +++ b/common/include/sqsh_common_private.h @@ -36,6 +36,7 @@ #include +#include #include #include @@ -99,7 +100,7 @@ sqsh_address_ref_create(uint32_t outer_offset, uint16_t inner_offset) { SQSH_NO_UNUSED static inline uint32_t sqsh_datablock_size(uint32_t size_info) { - return size_info & ~(1 << 24); + return size_info & (uint32_t) ~(1 << 24); } SQSH_NO_UNUSED static inline bool diff --git a/libsqsh/include/sqsh_reader_private.h b/common/include/sqsh_reader_private.h similarity index 100% rename from libsqsh/include/sqsh_reader_private.h rename to common/include/sqsh_reader_private.h diff --git a/libsqsh/include/sqsh_thread_private.h b/common/include/sqsh_thread_private.h similarity index 100% rename from libsqsh/include/sqsh_thread_private.h rename to common/include/sqsh_thread_private.h diff --git a/common/meson.build b/common/meson.build index a2686387..5a0988ae 100644 --- a/common/meson.build +++ b/common/meson.build @@ -16,3 +16,8 @@ libsqsh_common = static_library( dependencies: libsqsh_common_dependencies, install: false, ) + +libsqsh_common_dep = declare_dependency( + link_with: libsqsh_common, + include_directories: libsqsh_common_include, +) diff --git a/common/src/compression_options_data.c b/common/src/data/compression_options_data.c similarity index 100% rename from common/src/compression_options_data.c rename to common/src/data/compression_options_data.c diff --git a/common/src/directory_data.c b/common/src/data/directory_data.c similarity index 100% rename from common/src/directory_data.c rename to common/src/data/directory_data.c diff --git a/common/src/fragment_data.c b/common/src/data/fragment_data.c similarity index 100% rename from common/src/fragment_data.c rename to common/src/data/fragment_data.c diff --git a/common/src/inode_data.c b/common/src/data/inode_data.c similarity index 100% rename from common/src/inode_data.c rename to common/src/data/inode_data.c diff --git a/common/src/metablock_data.c b/common/src/data/metablock_data.c similarity index 100% rename from common/src/metablock_data.c rename to common/src/data/metablock_data.c diff --git a/common/src/superblock_data.c b/common/src/data/superblock_data.c similarity index 100% rename from common/src/superblock_data.c rename to common/src/data/superblock_data.c diff --git a/common/src/xattr_data.c b/common/src/data/xattr_data.c similarity index 100% rename from common/src/xattr_data.c rename to common/src/data/xattr_data.c diff --git a/common/src/meson.build b/common/src/meson.build index 148f3503..0b3529d2 100644 --- a/common/src/meson.build +++ b/common/src/meson.build @@ -1,9 +1,11 @@ libsqsh_common_sources = files( - 'compression_options_data.c', - 'directory_data.c', - 'fragment_data.c', - 'inode_data.c', - 'metablock_data.c', - 'superblock_data.c', - 'xattr_data.c', + 'data/compression_options_data.c', + 'data/directory_data.c', + 'data/fragment_data.c', + 'data/inode_data.c', + 'data/metablock_data.c', + 'data/superblock_data.c', + 'data/xattr_data.c', + 'reader/reader.c', + 'utils/thread.c', ) diff --git a/libsqsh/src/reader/reader.c b/common/src/reader/reader.c similarity index 100% rename from libsqsh/src/reader/reader.c rename to common/src/reader/reader.c diff --git a/libsqsh/src/utils/thread.c b/common/src/utils/thread.c similarity index 100% rename from libsqsh/src/utils/thread.c rename to common/src/utils/thread.c diff --git a/libsqsh/include/meson.build b/libsqsh/include/meson.build index a9f07990..cbc91d19 100644 --- a/libsqsh/include/meson.build +++ b/libsqsh/include/meson.build @@ -4,9 +4,7 @@ libsqsh_private_headers = files( 'sqsh_extract_private.h', 'sqsh_mapper_private.h', 'sqsh_metablock_private.h', - 'sqsh_reader_private.h', 'sqsh_table_private.h', - 'sqsh_thread_private.h', 'sqsh_tree_private.h', 'sqsh_xattr_private.h', ) diff --git a/libsqsh/meson.build b/libsqsh/meson.build index 931b0e11..65e6a99b 100644 --- a/libsqsh/meson.build +++ b/libsqsh/meson.build @@ -8,6 +8,7 @@ endif libsqsh_dependencies = [ cextras_dep, + libsqsh_common_dep, ] libsqsh_c_args = [] @@ -45,11 +46,9 @@ libsqsh = both_libraries( libsqsh_sources, include_directories: [ libsqsh_private_include, - libsqsh_common_include, libsqsh_include, ], install: not meson.is_subproject(), - link_with: [libsqsh_common], c_args: libsqsh_c_args, dependencies: libsqsh_dependencies, version: meson.project_version(), diff --git a/libsqsh/src/meson.build b/libsqsh/src/meson.build index ef7df424..3996a2cd 100644 --- a/libsqsh/src/meson.build +++ b/libsqsh/src/meson.build @@ -30,7 +30,6 @@ libsqsh_sources = files( 'mapper/static_mapper.c', 'metablock/metablock_iterator.c', 'metablock/metablock_reader.c', - 'reader/reader.c', 'table/export_table.c', 'table/fragment_table.c', 'table/id_table.c', @@ -40,6 +39,5 @@ libsqsh_sources = files( 'tree/walker.c', 'utils/error.c', 'utils/posix.c', - 'utils/thread.c', 'xattr/xattr_iterator.c', )