aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml2
-rw-r--r--.github/workflows/windows-ci.yml2
-rw-r--r--CMakeLists.txt2
-rw-r--r--Makefile.am3
-rwxr-xr-xautogen.sh1
-rwxr-xr-xbuild-aux/ci_build.sh3
-rw-r--r--build-aux/manconv.sh3
-rw-r--r--build-aux/version.sh3
-rw-r--r--cmake/remove-ordinals.cmake2
-rw-r--r--cmake/tuklib_common.cmake4
-rw-r--r--cmake/tuklib_cpucores.cmake4
-rw-r--r--cmake/tuklib_integer.cmake4
-rw-r--r--cmake/tuklib_large_file_support.cmake4
-rw-r--r--cmake/tuklib_mbstr.cmake4
-rw-r--r--cmake/tuklib_physmem.cmake4
-rw-r--r--cmake/tuklib_progname.cmake4
-rw-r--r--configure.ac4
-rw-r--r--debug/Makefile.am3
-rw-r--r--debug/crc32.c2
-rw-r--r--debug/full_flush.c2
-rw-r--r--debug/hex2bin.c2
-rw-r--r--debug/known_sizes.c2
-rw-r--r--debug/memusage.c2
-rw-r--r--debug/repeat.c2
-rw-r--r--debug/sync_flush.c2
-rw-r--r--debug/translation.bash1
-rw-r--r--doc/examples/01_compress_easy.c2
-rw-r--r--doc/examples/02_decompress.c2
-rw-r--r--doc/examples/03_compress_custom.c2
-rw-r--r--doc/examples/04_compress_easy_mt.c2
-rw-r--r--doc/examples/11_file_info.c2
-rw-r--r--doc/examples/Makefile3
-rw-r--r--dos/Makefile2
-rw-r--r--dos/config.h2
-rwxr-xr-xdoxygen/update-doxygen3
-rwxr-xr-xextra/7z2lzma/7z2lzma.bash3
-rw-r--r--m4/tuklib_common.m48
-rw-r--r--m4/tuklib_cpucores.m48
-rw-r--r--m4/tuklib_integer.m48
-rw-r--r--m4/tuklib_mbstr.m48
-rw-r--r--m4/tuklib_physmem.m48
-rw-r--r--m4/tuklib_progname.m48
-rw-r--r--po/POTFILES.in2
-rw-r--r--po4a/po4a.conf2
-rwxr-xr-xpo4a/update-po3
-rw-r--r--src/Makefile.am3
-rw-r--r--src/common/common_w32res.rc2
-rw-r--r--src/common/mythread.h2
-rw-r--r--src/common/sysdefs.h2
-rw-r--r--src/common/tuklib_common.h2
-rw-r--r--src/common/tuklib_config.h2
-rw-r--r--src/common/tuklib_cpucores.c2
-rw-r--r--src/common/tuklib_cpucores.h2
-rw-r--r--src/common/tuklib_exit.c2
-rw-r--r--src/common/tuklib_exit.h2
-rw-r--r--src/common/tuklib_gettext.h2
-rw-r--r--src/common/tuklib_integer.h2
-rw-r--r--src/common/tuklib_mbstr.h2
-rw-r--r--src/common/tuklib_mbstr_fw.c2
-rw-r--r--src/common/tuklib_mbstr_width.c2
-rw-r--r--src/common/tuklib_open_stdxxx.c2
-rw-r--r--src/common/tuklib_open_stdxxx.h2
-rw-r--r--src/common/tuklib_physmem.c2
-rw-r--r--src/common/tuklib_physmem.h2
-rw-r--r--src/common/tuklib_progname.c2
-rw-r--r--src/common/tuklib_progname.h2
-rw-r--r--src/liblzma/Makefile.am3
-rw-r--r--src/liblzma/api/Makefile.am3
-rw-r--r--src/liblzma/api/lzma.h2
-rw-r--r--src/liblzma/api/lzma/base.h2
-rw-r--r--src/liblzma/api/lzma/bcj.h2
-rw-r--r--src/liblzma/api/lzma/block.h2
-rw-r--r--src/liblzma/api/lzma/check.h2
-rw-r--r--src/liblzma/api/lzma/container.h2
-rw-r--r--src/liblzma/api/lzma/delta.h2
-rw-r--r--src/liblzma/api/lzma/filter.h2
-rw-r--r--src/liblzma/api/lzma/hardware.h2
-rw-r--r--src/liblzma/api/lzma/index.h2
-rw-r--r--src/liblzma/api/lzma/index_hash.h2
-rw-r--r--src/liblzma/api/lzma/lzma12.h2
-rw-r--r--src/liblzma/api/lzma/stream_flags.h2
-rw-r--r--src/liblzma/api/lzma/version.h2
-rw-r--r--src/liblzma/api/lzma/vli.h2
-rw-r--r--src/liblzma/check/Makefile.inc4
-rw-r--r--src/liblzma/check/check.c2
-rw-r--r--src/liblzma/check/check.h2
-rw-r--r--src/liblzma/check/crc32_arm64.h2
-rw-r--r--src/liblzma/check/crc32_fast.c2
-rw-r--r--src/liblzma/check/crc32_small.c2
-rw-r--r--src/liblzma/check/crc32_table.c2
-rw-r--r--src/liblzma/check/crc32_tablegen.c2
-rw-r--r--src/liblzma/check/crc32_x86.S2
-rw-r--r--src/liblzma/check/crc64_fast.c2
-rw-r--r--src/liblzma/check/crc64_small.c2
-rw-r--r--src/liblzma/check/crc64_table.c2
-rw-r--r--src/liblzma/check/crc64_tablegen.c2
-rw-r--r--src/liblzma/check/crc64_x86.S2
-rw-r--r--src/liblzma/check/crc_common.h2
-rw-r--r--src/liblzma/check/crc_x86_clmul.h2
-rw-r--r--src/liblzma/check/sha256.c2
-rw-r--r--src/liblzma/common/Makefile.inc3
-rw-r--r--src/liblzma/common/alone_decoder.c2
-rw-r--r--src/liblzma/common/alone_decoder.h2
-rw-r--r--src/liblzma/common/alone_encoder.c2
-rw-r--r--src/liblzma/common/auto_decoder.c2
-rw-r--r--src/liblzma/common/block_buffer_decoder.c2
-rw-r--r--src/liblzma/common/block_buffer_encoder.c2
-rw-r--r--src/liblzma/common/block_buffer_encoder.h2
-rw-r--r--src/liblzma/common/block_decoder.c2
-rw-r--r--src/liblzma/common/block_decoder.h2
-rw-r--r--src/liblzma/common/block_encoder.c2
-rw-r--r--src/liblzma/common/block_encoder.h2
-rw-r--r--src/liblzma/common/block_header_decoder.c2
-rw-r--r--src/liblzma/common/block_header_encoder.c2
-rw-r--r--src/liblzma/common/block_util.c2
-rw-r--r--src/liblzma/common/common.c2
-rw-r--r--src/liblzma/common/common.h2
-rw-r--r--src/liblzma/common/easy_buffer_encoder.c2
-rw-r--r--src/liblzma/common/easy_decoder_memusage.c2
-rw-r--r--src/liblzma/common/easy_encoder.c2
-rw-r--r--src/liblzma/common/easy_encoder_memusage.c2
-rw-r--r--src/liblzma/common/easy_preset.c2
-rw-r--r--src/liblzma/common/easy_preset.h2
-rw-r--r--src/liblzma/common/file_info.c2
-rw-r--r--src/liblzma/common/filter_buffer_decoder.c2
-rw-r--r--src/liblzma/common/filter_buffer_encoder.c2
-rw-r--r--src/liblzma/common/filter_common.c2
-rw-r--r--src/liblzma/common/filter_common.h2
-rw-r--r--src/liblzma/common/filter_decoder.c2
-rw-r--r--src/liblzma/common/filter_decoder.h2
-rw-r--r--src/liblzma/common/filter_encoder.c2
-rw-r--r--src/liblzma/common/filter_encoder.h2
-rw-r--r--src/liblzma/common/filter_flags_decoder.c2
-rw-r--r--src/liblzma/common/filter_flags_encoder.c2
-rw-r--r--src/liblzma/common/hardware_cputhreads.c2
-rw-r--r--src/liblzma/common/hardware_physmem.c2
-rw-r--r--src/liblzma/common/index.c2
-rw-r--r--src/liblzma/common/index.h2
-rw-r--r--src/liblzma/common/index_decoder.c2
-rw-r--r--src/liblzma/common/index_decoder.h2
-rw-r--r--src/liblzma/common/index_encoder.c2
-rw-r--r--src/liblzma/common/index_encoder.h2
-rw-r--r--src/liblzma/common/index_hash.c2
-rw-r--r--src/liblzma/common/lzip_decoder.c2
-rw-r--r--src/liblzma/common/lzip_decoder.h2
-rw-r--r--src/liblzma/common/memcmplen.h2
-rw-r--r--src/liblzma/common/microlzma_decoder.c2
-rw-r--r--src/liblzma/common/microlzma_encoder.c2
-rw-r--r--src/liblzma/common/outqueue.c2
-rw-r--r--src/liblzma/common/outqueue.h2
-rw-r--r--src/liblzma/common/stream_buffer_decoder.c2
-rw-r--r--src/liblzma/common/stream_buffer_encoder.c2
-rw-r--r--src/liblzma/common/stream_decoder.c2
-rw-r--r--src/liblzma/common/stream_decoder.h2
-rw-r--r--src/liblzma/common/stream_decoder_mt.c2
-rw-r--r--src/liblzma/common/stream_encoder.c2
-rw-r--r--src/liblzma/common/stream_encoder_mt.c2
-rw-r--r--src/liblzma/common/stream_flags_common.c2
-rw-r--r--src/liblzma/common/stream_flags_common.h2
-rw-r--r--src/liblzma/common/stream_flags_decoder.c2
-rw-r--r--src/liblzma/common/stream_flags_encoder.c2
-rw-r--r--src/liblzma/common/string_conversion.c2
-rw-r--r--src/liblzma/common/vli_decoder.c2
-rw-r--r--src/liblzma/common/vli_encoder.c2
-rw-r--r--src/liblzma/common/vli_size.c2
-rw-r--r--src/liblzma/delta/Makefile.inc3
-rw-r--r--src/liblzma/delta/delta_common.c2
-rw-r--r--src/liblzma/delta/delta_common.h2
-rw-r--r--src/liblzma/delta/delta_decoder.c2
-rw-r--r--src/liblzma/delta/delta_decoder.h2
-rw-r--r--src/liblzma/delta/delta_encoder.c2
-rw-r--r--src/liblzma/delta/delta_encoder.h2
-rw-r--r--src/liblzma/delta/delta_private.h2
-rw-r--r--src/liblzma/liblzma.pc.in3
-rw-r--r--src/liblzma/liblzma_generic.map2
-rw-r--r--src/liblzma/liblzma_linux.map2
-rw-r--r--src/liblzma/liblzma_w32res.rc2
-rw-r--r--src/liblzma/lz/Makefile.inc3
-rw-r--r--src/liblzma/lz/lz_decoder.c2
-rw-r--r--src/liblzma/lz/lz_decoder.h2
-rw-r--r--src/liblzma/lz/lz_encoder.c2
-rw-r--r--src/liblzma/lz/lz_encoder.h2
-rw-r--r--src/liblzma/lz/lz_encoder_hash.h2
-rw-r--r--src/liblzma/lz/lz_encoder_mf.c2
-rw-r--r--src/liblzma/lzma/Makefile.inc3
-rw-r--r--src/liblzma/lzma/fastpos.h2
-rw-r--r--src/liblzma/lzma/fastpos_tablegen.c2
-rw-r--r--src/liblzma/lzma/lzma2_decoder.c2
-rw-r--r--src/liblzma/lzma/lzma2_decoder.h2
-rw-r--r--src/liblzma/lzma/lzma2_encoder.c2
-rw-r--r--src/liblzma/lzma/lzma2_encoder.h2
-rw-r--r--src/liblzma/lzma/lzma_common.h2
-rw-r--r--src/liblzma/lzma/lzma_decoder.c2
-rw-r--r--src/liblzma/lzma/lzma_decoder.h2
-rw-r--r--src/liblzma/lzma/lzma_encoder.c2
-rw-r--r--src/liblzma/lzma/lzma_encoder.h2
-rw-r--r--src/liblzma/lzma/lzma_encoder_optimum_fast.c2
-rw-r--r--src/liblzma/lzma/lzma_encoder_optimum_normal.c2
-rw-r--r--src/liblzma/lzma/lzma_encoder_presets.c2
-rw-r--r--src/liblzma/lzma/lzma_encoder_private.h2
-rw-r--r--src/liblzma/rangecoder/Makefile.inc3
-rw-r--r--src/liblzma/rangecoder/price.h2
-rw-r--r--src/liblzma/rangecoder/price_tablegen.c2
-rw-r--r--src/liblzma/rangecoder/range_common.h2
-rw-r--r--src/liblzma/rangecoder/range_decoder.h2
-rw-r--r--src/liblzma/rangecoder/range_encoder.h2
-rw-r--r--src/liblzma/simple/Makefile.inc3
-rw-r--r--src/liblzma/simple/arm.c2
-rw-r--r--src/liblzma/simple/arm64.c2
-rw-r--r--src/liblzma/simple/armthumb.c2
-rw-r--r--src/liblzma/simple/ia64.c2
-rw-r--r--src/liblzma/simple/powerpc.c2
-rw-r--r--src/liblzma/simple/riscv.c2
-rw-r--r--src/liblzma/simple/simple_coder.c2
-rw-r--r--src/liblzma/simple/simple_coder.h2
-rw-r--r--src/liblzma/simple/simple_decoder.c2
-rw-r--r--src/liblzma/simple/simple_decoder.h2
-rw-r--r--src/liblzma/simple/simple_encoder.c2
-rw-r--r--src/liblzma/simple/simple_encoder.h2
-rw-r--r--src/liblzma/simple/simple_private.h2
-rw-r--r--src/liblzma/simple/sparc.c2
-rw-r--r--src/liblzma/simple/x86.c2
-rw-r--r--src/liblzma/validate_map.sh1
-rw-r--r--src/lzmainfo/Makefile.am3
-rw-r--r--src/lzmainfo/lzmainfo.c2
-rw-r--r--src/lzmainfo/lzmainfo_w32res.rc2
-rw-r--r--src/scripts/Makefile.am3
-rw-r--r--src/xz/Makefile.am3
-rw-r--r--src/xz/args.c2
-rw-r--r--src/xz/args.h2
-rw-r--r--src/xz/coder.c2
-rw-r--r--src/xz/coder.h2
-rw-r--r--src/xz/file_io.c2
-rw-r--r--src/xz/file_io.h2
-rw-r--r--src/xz/hardware.c2
-rw-r--r--src/xz/hardware.h2
-rw-r--r--src/xz/list.c2
-rw-r--r--src/xz/list.h2
-rw-r--r--src/xz/main.c2
-rw-r--r--src/xz/main.h2
-rw-r--r--src/xz/message.c2
-rw-r--r--src/xz/message.h2
-rw-r--r--src/xz/mytime.c2
-rw-r--r--src/xz/mytime.h2
-rw-r--r--src/xz/options.c2
-rw-r--r--src/xz/options.h2
-rw-r--r--src/xz/private.h2
-rw-r--r--src/xz/signals.c2
-rw-r--r--src/xz/signals.h2
-rw-r--r--src/xz/suffix.c2
-rw-r--r--src/xz/suffix.h2
-rw-r--r--src/xz/util.c2
-rw-r--r--src/xz/util.h2
-rw-r--r--src/xz/xz_w32res.rc2
-rw-r--r--src/xzdec/Makefile.am3
-rw-r--r--src/xzdec/lzmadec_w32res.rc2
-rw-r--r--src/xzdec/xzdec.c2
-rw-r--r--src/xzdec/xzdec_w32res.rc2
-rw-r--r--tests/Makefile.am3
-rw-r--r--tests/bcj_test.c2
-rwxr-xr-xtests/code_coverage.sh1
-rw-r--r--tests/create_compress_files.c2
-rw-r--r--tests/ossfuzz/fuzz_common.h2
-rw-r--r--tests/ossfuzz/fuzz_decode_alone.c2
-rw-r--r--tests/ossfuzz/fuzz_decode_stream.c2
-rw-r--r--tests/ossfuzz/fuzz_encode_stream.c2
-rw-r--r--tests/test_bcj_exact_size.c2
-rw-r--r--tests/test_block_header.c2
-rw-r--r--tests/test_check.c2
-rwxr-xr-xtests/test_compress.sh1
-rwxr-xr-xtests/test_compress_generated_abc1
-rwxr-xr-xtests/test_compress_generated_random1
-rwxr-xr-xtests/test_compress_generated_text1
-rwxr-xr-xtests/test_compress_prepared_bcj_sparc1
-rwxr-xr-xtests/test_compress_prepared_bcj_x861
-rwxr-xr-xtests/test_files.sh1
-rw-r--r--tests/test_filter_flags.c2
-rw-r--r--tests/test_filter_str.c2
-rw-r--r--tests/test_hardware.c2
-rw-r--r--tests/test_index.c2
-rw-r--r--tests/test_index_hash.c2
-rw-r--r--tests/test_lzip_decoder.c2
-rw-r--r--tests/test_memlimit.c2
-rwxr-xr-xtests/test_scripts.sh1
-rw-r--r--tests/test_stream_flags.c2
-rwxr-xr-xtests/test_suffix.sh1
-rw-r--r--tests/test_vli.c2
-rw-r--r--tests/tests.h2
-rw-r--r--tests/tuktest.h2
-rw-r--r--windows/build.bash3
290 files changed, 588 insertions, 58 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 61345aad..95fa5af6 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# Author: Jia Tan
diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml
index e0499427..7285a78f 100644
--- a/.github/workflows/windows-ci.yml
+++ b/.github/workflows/windows-ci.yml
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# Author: Jia Tan
diff --git a/CMakeLists.txt b/CMakeLists.txt
index cbd71a3a..f30a82b6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# Very limited CMake support for building some parts of XZ Utils
diff --git a/Makefile.am b/Makefile.am
index f3a81cab..d0548580 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
# Use -n to prevent gzip from adding a timestamp to the .gz headers.
GZIP_ENV = -9n
diff --git a/autogen.sh b/autogen.sh
index 7d2c3132..eeaf656d 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/build-aux/ci_build.sh b/build-aux/ci_build.sh
index 26f17b89..73fcca30 100755
--- a/build-aux/ci_build.sh
+++ b/build-aux/ci_build.sh
@@ -1,5 +1,6 @@
#!/bin/bash
-#
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# Script meant to be used for Continuous Integration automation for POSIX
diff --git a/build-aux/manconv.sh b/build-aux/manconv.sh
index a780c7bd..0f5ee095 100644
--- a/build-aux/manconv.sh
+++ b/build-aux/manconv.sh
@@ -1,5 +1,6 @@
#!/bin/sh
-#
+# SPDX-License-Identifier: 0BSD
+
###############################################################################
#
# Wrapper for GNU groff to convert man pages to a few formats
diff --git a/build-aux/version.sh b/build-aux/version.sh
index 8709894c..bef1b33d 100644
--- a/build-aux/version.sh
+++ b/build-aux/version.sh
@@ -1,5 +1,6 @@
#!/bin/sh
-#
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# Get the version string from version.h and print it out without
diff --git a/cmake/remove-ordinals.cmake b/cmake/remove-ordinals.cmake
index 60e20be7..de85ddfd 100644
--- a/cmake/remove-ordinals.cmake
+++ b/cmake/remove-ordinals.cmake
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# remove-ordinals.cmake
diff --git a/cmake/tuklib_common.cmake b/cmake/tuklib_common.cmake
index 01d50531..a7f101fa 100644
--- a/cmake/tuklib_common.cmake
+++ b/cmake/tuklib_common.cmake
@@ -1,8 +1,12 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# tuklib_common.cmake - common functions and macros for tuklib_*.cmake files
#
# Author: Lasse Collin
#
+#############################################################################
function(tuklib_add_definitions TARGET_OR_ALL DEFINITIONS)
# DEFINITIONS may be an empty string/list but it's fine here. There is
diff --git a/cmake/tuklib_cpucores.cmake b/cmake/tuklib_cpucores.cmake
index 377ea192..e5e9c34d 100644
--- a/cmake/tuklib_cpucores.cmake
+++ b/cmake/tuklib_cpucores.cmake
@@ -1,8 +1,12 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# tuklib_cpucores.cmake - see tuklib_cpucores.m4 for description and comments
#
# Author: Lasse Collin
#
+#############################################################################
include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(CheckCSourceCompiles)
diff --git a/cmake/tuklib_integer.cmake b/cmake/tuklib_integer.cmake
index 268f73c5..7e1ed3c5 100644
--- a/cmake/tuklib_integer.cmake
+++ b/cmake/tuklib_integer.cmake
@@ -1,8 +1,12 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# tuklib_integer.cmake - see tuklib_integer.m4 for description and comments
#
# Author: Lasse Collin
#
+#############################################################################
include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(TestBigEndian)
diff --git a/cmake/tuklib_large_file_support.cmake b/cmake/tuklib_large_file_support.cmake
index 071fe47f..4ed1d091 100644
--- a/cmake/tuklib_large_file_support.cmake
+++ b/cmake/tuklib_large_file_support.cmake
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# tuklib_large_file_support.cmake
#
@@ -8,6 +11,7 @@
#
# Author: Lasse Collin
#
+#############################################################################
include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(CheckCSourceCompiles)
diff --git a/cmake/tuklib_mbstr.cmake b/cmake/tuklib_mbstr.cmake
index 17091e9f..71e16cc5 100644
--- a/cmake/tuklib_mbstr.cmake
+++ b/cmake/tuklib_mbstr.cmake
@@ -1,8 +1,12 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# tuklib_mbstr.cmake - see tuklib_mbstr.m4 for description and comments
#
# Author: Lasse Collin
#
+#############################################################################
include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(CheckSymbolExists)
diff --git a/cmake/tuklib_physmem.cmake b/cmake/tuklib_physmem.cmake
index 52179ded..e4888ebe 100644
--- a/cmake/tuklib_physmem.cmake
+++ b/cmake/tuklib_physmem.cmake
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# tuklib_physmem.cmake - see tuklib_physmem.m4 for description and comments
#
@@ -6,6 +9,7 @@
#
# Author: Lasse Collin
#
+#############################################################################
include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(CheckCSourceCompiles)
diff --git a/cmake/tuklib_progname.cmake b/cmake/tuklib_progname.cmake
index f02aa756..a1f15bde 100644
--- a/cmake/tuklib_progname.cmake
+++ b/cmake/tuklib_progname.cmake
@@ -1,8 +1,12 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# tuklib_progname.cmake - see tuklib_progname.m4 for description and comments
#
# Author: Lasse Collin
#
+#############################################################################
include("${CMAKE_CURRENT_LIST_DIR}/tuklib_common.cmake")
include(CheckSymbolExists)
diff --git a/configure.ac b/configure.ac
index 7926da68..36ceeef3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,10 @@
# -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
+# Process this file with autoconf to produce a configure script.
+#
# Author: Lasse Collin
#
###############################################################################
diff --git a/debug/Makefile.am b/debug/Makefile.am
index 2ebc0bb3..7295ee61 100644
--- a/debug/Makefile.am
+++ b/debug/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
EXTRA_DIST = \
translation.bash
diff --git a/debug/crc32.c b/debug/crc32.c
index b799b444..eed47939 100644
--- a/debug/crc32.c
+++ b/debug/crc32.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc32.c
diff --git a/debug/full_flush.c b/debug/full_flush.c
index 492e9305..79c8f150 100644
--- a/debug/full_flush.c
+++ b/debug/full_flush.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file full_flush.c
diff --git a/debug/hex2bin.c b/debug/hex2bin.c
index 3cb4bd00..45368436 100644
--- a/debug/hex2bin.c
+++ b/debug/hex2bin.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file hex2bin.c
diff --git a/debug/known_sizes.c b/debug/known_sizes.c
index 81c9cbde..3f5aada0 100644
--- a/debug/known_sizes.c
+++ b/debug/known_sizes.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file known_sizes.c
diff --git a/debug/memusage.c b/debug/memusage.c
index 6d7dcdc5..b5928955 100644
--- a/debug/memusage.c
+++ b/debug/memusage.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file memusage.c
diff --git a/debug/repeat.c b/debug/repeat.c
index 5b19181d..4830b13a 100644
--- a/debug/repeat.c
+++ b/debug/repeat.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file repeat.c
diff --git a/debug/sync_flush.c b/debug/sync_flush.c
index 61bde641..5ce2e57a 100644
--- a/debug/sync_flush.c
+++ b/debug/sync_flush.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file sync_flush.c
diff --git a/debug/translation.bash b/debug/translation.bash
index 53cbc144..8680b48d 100644
--- a/debug/translation.bash
+++ b/debug/translation.bash
@@ -1,4 +1,5 @@
#!/bin/bash
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/doc/examples/01_compress_easy.c b/doc/examples/01_compress_easy.c
index d80af757..31bcf928 100644
--- a/doc/examples/01_compress_easy.c
+++ b/doc/examples/01_compress_easy.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file 01_compress_easy.c
diff --git a/doc/examples/02_decompress.c b/doc/examples/02_decompress.c
index e874e952..a87a5d3e 100644
--- a/doc/examples/02_decompress.c
+++ b/doc/examples/02_decompress.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file 02_decompress.c
diff --git a/doc/examples/03_compress_custom.c b/doc/examples/03_compress_custom.c
index 9fd5f0db..57797b87 100644
--- a/doc/examples/03_compress_custom.c
+++ b/doc/examples/03_compress_custom.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file 03_compress_custom.c
diff --git a/doc/examples/04_compress_easy_mt.c b/doc/examples/04_compress_easy_mt.c
index d6cfcb3d..c721a661 100644
--- a/doc/examples/04_compress_easy_mt.c
+++ b/doc/examples/04_compress_easy_mt.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file 04_compress_easy_mt.c
diff --git a/doc/examples/11_file_info.c b/doc/examples/11_file_info.c
index fd8a81ee..caadd980 100644
--- a/doc/examples/11_file_info.c
+++ b/doc/examples/11_file_info.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file 11_file_info.c
diff --git a/doc/examples/Makefile b/doc/examples/Makefile
index 10f9ef8c..f5b98788 100644
--- a/doc/examples/Makefile
+++ b/doc/examples/Makefile
@@ -1,6 +1,5 @@
-#
+# SPDX-License-Identifier: 0BSD
# Author: Lasse Collin
-#
CC = c99
CFLAGS = -g
diff --git a/dos/Makefile b/dos/Makefile
index cfc9ecbc..f8ba4372 100644
--- a/dos/Makefile
+++ b/dos/Makefile
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: 0BSD
+
###############################################################################
#
# Makefile to build XZ Utils using DJGPP
diff --git a/dos/config.h b/dos/config.h
index 797f6330..49d48d60 100644
--- a/dos/config.h
+++ b/dos/config.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/* How many MiB of RAM to assume if the real amount cannot be determined. */
#define ASSUME_RAM 32
diff --git a/doxygen/update-doxygen b/doxygen/update-doxygen
index 3709704c..87dfffb2 100755
--- a/doxygen/update-doxygen
+++ b/doxygen/update-doxygen
@@ -1,5 +1,6 @@
#!/bin/sh
-#
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# Updates the Doxygen generated documentation files in the source tree.
diff --git a/extra/7z2lzma/7z2lzma.bash b/extra/7z2lzma/7z2lzma.bash
index 9d08b430..351108c8 100755
--- a/extra/7z2lzma/7z2lzma.bash
+++ b/extra/7z2lzma/7z2lzma.bash
@@ -1,5 +1,6 @@
#!/bin/bash
-#
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# 7z2lzma.bash is very primitive .7z to .lzma converter. The input file must
diff --git a/m4/tuklib_common.m4 b/m4/tuklib_common.m4
index 79fd4aa6..c8377034 100644
--- a/m4/tuklib_common.m4
+++ b/m4/tuklib_common.m4
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# SYNOPSIS
#
@@ -7,10 +10,11 @@
#
# Common checks for tuklib.
#
-# COPYING
+#############################################################################
#
-# Author: Lasse Collin
+# Author: Lasse Collin
#
+#############################################################################
AC_DEFUN_ONCE([TUKLIB_COMMON], [
AC_REQUIRE([AC_CANONICAL_HOST])
diff --git a/m4/tuklib_cpucores.m4 b/m4/tuklib_cpucores.m4
index e31597dd..a228a8fb 100644
--- a/m4/tuklib_cpucores.m4
+++ b/m4/tuklib_cpucores.m4
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# SYNOPSIS
#
@@ -17,10 +20,11 @@
# GetSystemInfo() is used on Cygwin)
# - pstat_getdynamic(): HP-UX
#
-# COPYING
+#############################################################################
#
-# Author: Lasse Collin
+# Author: Lasse Collin
#
+#############################################################################
AC_DEFUN_ONCE([TUKLIB_CPUCORES], [
AC_REQUIRE([TUKLIB_COMMON])
diff --git a/m4/tuklib_integer.m4 b/m4/tuklib_integer.m4
index e2f797f5..906ecf1e 100644
--- a/m4/tuklib_integer.m4
+++ b/m4/tuklib_integer.m4
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# SYNOPSIS
#
@@ -11,10 +14,11 @@
# - Does the hardware support fast unaligned access to 16-bit, 32-bit,
# and 64-bit integers
#
-# COPYING
+#############################################################################
#
-# Author: Lasse Collin
+# Author: Lasse Collin
#
+#############################################################################
AC_DEFUN_ONCE([TUKLIB_INTEGER], [
AC_REQUIRE([TUKLIB_COMMON])
diff --git a/m4/tuklib_mbstr.m4 b/m4/tuklib_mbstr.m4
index 2500907e..01398347 100644
--- a/m4/tuklib_mbstr.m4
+++ b/m4/tuklib_mbstr.m4
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# SYNOPSIS
#
@@ -15,10 +18,11 @@
# functions, but each function is put into a separate .c file so
# that it is possible to pick only what is strictly needed.
#
-# COPYING
+#############################################################################
#
-# Author: Lasse Collin
+# Author: Lasse Collin
#
+#############################################################################
AC_DEFUN_ONCE([TUKLIB_MBSTR], [
AC_REQUIRE([TUKLIB_COMMON])
diff --git a/m4/tuklib_physmem.m4 b/m4/tuklib_physmem.m4
index fed92ff5..b5e0b1ad 100644
--- a/m4/tuklib_physmem.m4
+++ b/m4/tuklib_physmem.m4
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# SYNOPSIS
#
@@ -29,10 +32,11 @@
# - sysinfo() works on Linux/dietlibc and probably on other Linux
# systems whose libc may lack sysconf().
#
-# COPYING
+#############################################################################
#
-# Author: Lasse Collin
+# Author: Lasse Collin
#
+#############################################################################
AC_DEFUN_ONCE([TUKLIB_PHYSMEM], [
AC_REQUIRE([TUKLIB_COMMON])
diff --git a/m4/tuklib_progname.m4 b/m4/tuklib_progname.m4
index da84481c..b70d063f 100644
--- a/m4/tuklib_progname.m4
+++ b/m4/tuklib_progname.m4
@@ -1,3 +1,6 @@
+# SPDX-License-Identifier: 0BSD
+
+#############################################################################
#
# SYNOPSIS
#
@@ -11,10 +14,11 @@
# This .m4 file is needed allow this module to use glibc's
# program_invocation_name.
#
-# COPYING
+#############################################################################
#
-# Author: Lasse Collin
+# Author: Lasse Collin
#
+#############################################################################
AC_DEFUN_ONCE([TUKLIB_PROGNAME], [
AC_REQUIRE([TUKLIB_COMMON])
diff --git a/po/POTFILES.in b/po/POTFILES.in
index e1438e0e..0ae01f52 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: 0BSD
+
# List of source files which contain translatable strings.
src/xz/args.c
src/xz/coder.c
diff --git a/po4a/po4a.conf b/po4a/po4a.conf
index 53425304..84c688c4 100644
--- a/po4a/po4a.conf
+++ b/po4a/po4a.conf
@@ -1,3 +1,5 @@
+# SPDX-License-Identifier: 0BSD
+
# To add a new language, add it to po4a_langs and run "update-po"
# to get a new .po file. After translating the .po file, run
# "update-po" again to generate the translated man pages.
diff --git a/po4a/update-po b/po4a/update-po
index 8c09ac45..988011ff 100755
--- a/po4a/update-po
+++ b/po4a/update-po
@@ -1,5 +1,6 @@
#!/bin/sh
-#
+# SPDX-License-Identifier: 0BSD
+
#############################################################################
#
# Updates xz-man.pot and the *.po files, and generates translated man pages.
diff --git a/src/Makefile.am b/src/Makefile.am
index 6089c946..10613234 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
SUBDIRS = liblzma xzdec
diff --git a/src/common/common_w32res.rc b/src/common/common_w32res.rc
index 5d616af5..97aa58ae 100644
--- a/src/common/common_w32res.rc
+++ b/src/common/common_w32res.rc
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Author: Lasse Collin
*/
diff --git a/src/common/mythread.h b/src/common/mythread.h
index baa3ec84..589901c7 100644
--- a/src/common/mythread.h
+++ b/src/common/mythread.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file mythread.h
diff --git a/src/common/sysdefs.h b/src/common/sysdefs.h
index 44c58259..5f3785b5 100644
--- a/src/common/sysdefs.h
+++ b/src/common/sysdefs.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file sysdefs.h
diff --git a/src/common/tuklib_common.h b/src/common/tuklib_common.h
index a722b66f..7554dfc8 100644
--- a/src/common/tuklib_common.h
+++ b/src/common/tuklib_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_common.h
diff --git a/src/common/tuklib_config.h b/src/common/tuklib_config.h
index 9d470ba7..b27251dc 100644
--- a/src/common/tuklib_config.h
+++ b/src/common/tuklib_config.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
// If config.h isn't available, assume that the headers required by
// tuklib_common.h are available. This is required by crc32_tablegen.c.
#ifdef HAVE_CONFIG_H
diff --git a/src/common/tuklib_cpucores.c b/src/common/tuklib_cpucores.c
index d3044e0c..c4a781ac 100644
--- a/src/common/tuklib_cpucores.c
+++ b/src/common/tuklib_cpucores.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_cpucores.c
diff --git a/src/common/tuklib_cpucores.h b/src/common/tuklib_cpucores.h
index 453597d6..edff9395 100644
--- a/src/common/tuklib_cpucores.h
+++ b/src/common/tuklib_cpucores.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_cpucores.h
diff --git a/src/common/tuklib_exit.c b/src/common/tuklib_exit.c
index 9127deb3..c84e0f67 100644
--- a/src/common/tuklib_exit.c
+++ b/src/common/tuklib_exit.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_exit.c
diff --git a/src/common/tuklib_exit.h b/src/common/tuklib_exit.h
index 70d2ec6a..d4e6b4a7 100644
--- a/src/common/tuklib_exit.h
+++ b/src/common/tuklib_exit.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_exit.h
diff --git a/src/common/tuklib_gettext.h b/src/common/tuklib_gettext.h
index 8cbf3dfc..3ef5cb72 100644
--- a/src/common/tuklib_gettext.h
+++ b/src/common/tuklib_gettext.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_gettext.h
diff --git a/src/common/tuklib_integer.h b/src/common/tuklib_integer.h
index 3eb1d511..c0004531 100644
--- a/src/common/tuklib_integer.h
+++ b/src/common/tuklib_integer.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_integer.h
diff --git a/src/common/tuklib_mbstr.h b/src/common/tuklib_mbstr.h
index 3a134d4e..4c8eeb7e 100644
--- a/src/common/tuklib_mbstr.h
+++ b/src/common/tuklib_mbstr.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_mbstr.h
diff --git a/src/common/tuklib_mbstr_fw.c b/src/common/tuklib_mbstr_fw.c
index c1024ce3..22d883b5 100644
--- a/src/common/tuklib_mbstr_fw.c
+++ b/src/common/tuklib_mbstr_fw.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_mbstr_fw.c
diff --git a/src/common/tuklib_mbstr_width.c b/src/common/tuklib_mbstr_width.c
index 5c33d522..7a8bf070 100644
--- a/src/common/tuklib_mbstr_width.c
+++ b/src/common/tuklib_mbstr_width.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_mbstr_width.c
diff --git a/src/common/tuklib_open_stdxxx.c b/src/common/tuklib_open_stdxxx.c
index f425f6c3..b93e61d3 100644
--- a/src/common/tuklib_open_stdxxx.c
+++ b/src/common/tuklib_open_stdxxx.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_open_stdxxx.c
diff --git a/src/common/tuklib_open_stdxxx.h b/src/common/tuklib_open_stdxxx.h
index 576e9f10..3ee3ade3 100644
--- a/src/common/tuklib_open_stdxxx.h
+++ b/src/common/tuklib_open_stdxxx.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_open_stdxxx.h
diff --git a/src/common/tuklib_physmem.c b/src/common/tuklib_physmem.c
index 32ecc8d9..1009df14 100644
--- a/src/common/tuklib_physmem.c
+++ b/src/common/tuklib_physmem.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_physmem.c
diff --git a/src/common/tuklib_physmem.h b/src/common/tuklib_physmem.h
index 0bad0397..f35bfbab 100644
--- a/src/common/tuklib_physmem.h
+++ b/src/common/tuklib_physmem.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_physmem.h
diff --git a/src/common/tuklib_progname.c b/src/common/tuklib_progname.c
index 8dfbbc4b..959c1270 100644
--- a/src/common/tuklib_progname.c
+++ b/src/common/tuklib_progname.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_progname.c
diff --git a/src/common/tuklib_progname.h b/src/common/tuklib_progname.h
index ed20be7c..a3d90cb1 100644
--- a/src/common/tuklib_progname.h
+++ b/src/common/tuklib_progname.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuklib_progname.h
diff --git a/src/liblzma/Makefile.am b/src/liblzma/Makefile.am
index 79afcba4..0ffc977d 100644
--- a/src/liblzma/Makefile.am
+++ b/src/liblzma/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
SUBDIRS = api
diff --git a/src/liblzma/api/Makefile.am b/src/liblzma/api/Makefile.am
index 516437fa..a7cb3c47 100644
--- a/src/liblzma/api/Makefile.am
+++ b/src/liblzma/api/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
nobase_include_HEADERS = \
lzma.h \
diff --git a/src/liblzma/api/lzma.h b/src/liblzma/api/lzma.h
index 6a0c6bb8..d55349f4 100644
--- a/src/liblzma/api/lzma.h
+++ b/src/liblzma/api/lzma.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file api/lzma.h
* \brief The public API of liblzma data compression library
diff --git a/src/liblzma/api/lzma/base.h b/src/liblzma/api/lzma/base.h
index 7408cd10..20d485b9 100644
--- a/src/liblzma/api/lzma/base.h
+++ b/src/liblzma/api/lzma/base.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/base.h
* \brief Data types and functions used in many places in liblzma API
diff --git a/src/liblzma/api/lzma/bcj.h b/src/liblzma/api/lzma/bcj.h
index db9d6fa3..7f6611fe 100644
--- a/src/liblzma/api/lzma/bcj.h
+++ b/src/liblzma/api/lzma/bcj.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/bcj.h
* \brief Branch/Call/Jump conversion filters
diff --git a/src/liblzma/api/lzma/block.h b/src/liblzma/api/lzma/block.h
index 9f6bb1e5..05b77e59 100644
--- a/src/liblzma/api/lzma/block.h
+++ b/src/liblzma/api/lzma/block.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/block.h
* \brief .xz Block handling
diff --git a/src/liblzma/api/lzma/check.h b/src/liblzma/api/lzma/check.h
index 3917c839..e7a50ed3 100644
--- a/src/liblzma/api/lzma/check.h
+++ b/src/liblzma/api/lzma/check.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/check.h
* \brief Integrity checks
diff --git a/src/liblzma/api/lzma/container.h b/src/liblzma/api/lzma/container.h
index 0c515c58..ad3f9905 100644
--- a/src/liblzma/api/lzma/container.h
+++ b/src/liblzma/api/lzma/container.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/container.h
* \brief File formats
diff --git a/src/liblzma/api/lzma/delta.h b/src/liblzma/api/lzma/delta.h
index 33b3bbc3..5ebacef8 100644
--- a/src/liblzma/api/lzma/delta.h
+++ b/src/liblzma/api/lzma/delta.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/delta.h
* \brief Delta filter
diff --git a/src/liblzma/api/lzma/filter.h b/src/liblzma/api/lzma/filter.h
index e0808b69..e86809c4 100644
--- a/src/liblzma/api/lzma/filter.h
+++ b/src/liblzma/api/lzma/filter.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/filter.h
* \brief Common filter related types and functions
diff --git a/src/liblzma/api/lzma/hardware.h b/src/liblzma/api/lzma/hardware.h
index 4c3984b8..7a1a84fc 100644
--- a/src/liblzma/api/lzma/hardware.h
+++ b/src/liblzma/api/lzma/hardware.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/hardware.h
* \brief Hardware information
diff --git a/src/liblzma/api/lzma/index.h b/src/liblzma/api/lzma/index.h
index c723d6d2..7d8a9950 100644
--- a/src/liblzma/api/lzma/index.h
+++ b/src/liblzma/api/lzma/index.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/index.h
* \brief Handling of .xz Index and related information
diff --git a/src/liblzma/api/lzma/index_hash.h b/src/liblzma/api/lzma/index_hash.h
index a486b130..68f9024e 100644
--- a/src/liblzma/api/lzma/index_hash.h
+++ b/src/liblzma/api/lzma/index_hash.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/index_hash.h
* \brief Validate Index by using a hash function
diff --git a/src/liblzma/api/lzma/lzma12.h b/src/liblzma/api/lzma/lzma12.h
index 9de0e326..05f5b66e 100644
--- a/src/liblzma/api/lzma/lzma12.h
+++ b/src/liblzma/api/lzma/lzma12.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/lzma12.h
* \brief LZMA1 and LZMA2 filters
diff --git a/src/liblzma/api/lzma/stream_flags.h b/src/liblzma/api/lzma/stream_flags.h
index 252e6a1d..a33fe468 100644
--- a/src/liblzma/api/lzma/stream_flags.h
+++ b/src/liblzma/api/lzma/stream_flags.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/stream_flags.h
* \brief .xz Stream Header and Stream Footer encoder and decoder
diff --git a/src/liblzma/api/lzma/version.h b/src/liblzma/api/lzma/version.h
index 86303387..099f42b8 100644
--- a/src/liblzma/api/lzma/version.h
+++ b/src/liblzma/api/lzma/version.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/version.h
* \brief Version number
diff --git a/src/liblzma/api/lzma/vli.h b/src/liblzma/api/lzma/vli.h
index 2174f5ba..7f3e398a 100644
--- a/src/liblzma/api/lzma/vli.h
+++ b/src/liblzma/api/lzma/vli.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/**
* \file lzma/vli.h
* \brief Variable-length integer handling
diff --git a/src/liblzma/check/Makefile.inc b/src/liblzma/check/Makefile.inc
index c38b6e9b..04cf1ffc 100644
--- a/src/liblzma/check/Makefile.inc
+++ b/src/liblzma/check/Makefile.inc
@@ -1,6 +1,6 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
+
## Note: There is no check for COND_CHECK_CRC32 because
## currently crc32 is always enabled.
diff --git a/src/liblzma/check/check.c b/src/liblzma/check/check.c
index dab4088d..7734ace1 100644
--- a/src/liblzma/check/check.c
+++ b/src/liblzma/check/check.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file check.c
diff --git a/src/liblzma/check/check.h b/src/liblzma/check/check.h
index b8dcc075..f0eb1172 100644
--- a/src/liblzma/check/check.h
+++ b/src/liblzma/check/check.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file check.h
diff --git a/src/liblzma/check/crc32_arm64.h b/src/liblzma/check/crc32_arm64.h
index 73b4f9f7..6cdb5dab 100644
--- a/src/liblzma/check/crc32_arm64.h
+++ b/src/liblzma/check/crc32_arm64.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc32_arm64.h
diff --git a/src/liblzma/check/crc32_fast.c b/src/liblzma/check/crc32_fast.c
index 068712b2..5e26914a 100644
--- a/src/liblzma/check/crc32_fast.c
+++ b/src/liblzma/check/crc32_fast.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc32.c
diff --git a/src/liblzma/check/crc32_small.c b/src/liblzma/check/crc32_small.c
index e05e9062..6a1bd661 100644
--- a/src/liblzma/check/crc32_small.c
+++ b/src/liblzma/check/crc32_small.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc32_small.c
diff --git a/src/liblzma/check/crc32_table.c b/src/liblzma/check/crc32_table.c
index 47fc3de5..fb1b6585 100644
--- a/src/liblzma/check/crc32_table.c
+++ b/src/liblzma/check/crc32_table.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc32_table.c
diff --git a/src/liblzma/check/crc32_tablegen.c b/src/liblzma/check/crc32_tablegen.c
index 341efdcd..81042e72 100644
--- a/src/liblzma/check/crc32_tablegen.c
+++ b/src/liblzma/check/crc32_tablegen.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc32_tablegen.c
diff --git a/src/liblzma/check/crc32_x86.S b/src/liblzma/check/crc32_x86.S
index babe8b92..ddc3cee6 100644
--- a/src/liblzma/check/crc32_x86.S
+++ b/src/liblzma/check/crc32_x86.S
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Speed-optimized CRC32 using slicing-by-eight algorithm
*
diff --git a/src/liblzma/check/crc64_fast.c b/src/liblzma/check/crc64_fast.c
index cd843b35..f29fe3d3 100644
--- a/src/liblzma/check/crc64_fast.c
+++ b/src/liblzma/check/crc64_fast.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc64.c
diff --git a/src/liblzma/check/crc64_small.c b/src/liblzma/check/crc64_small.c
index 4e113eef..ee4ea26f 100644
--- a/src/liblzma/check/crc64_small.c
+++ b/src/liblzma/check/crc64_small.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc64_small.c
diff --git a/src/liblzma/check/crc64_table.c b/src/liblzma/check/crc64_table.c
index 0bf07eff..6dee387a 100644
--- a/src/liblzma/check/crc64_table.c
+++ b/src/liblzma/check/crc64_table.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc64_table.c
diff --git a/src/liblzma/check/crc64_tablegen.c b/src/liblzma/check/crc64_tablegen.c
index 9975765d..2c45516b 100644
--- a/src/liblzma/check/crc64_tablegen.c
+++ b/src/liblzma/check/crc64_tablegen.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc64_tablegen.c
diff --git a/src/liblzma/check/crc64_x86.S b/src/liblzma/check/crc64_x86.S
index 6398081b..47f60818 100644
--- a/src/liblzma/check/crc64_x86.S
+++ b/src/liblzma/check/crc64_x86.S
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Speed-optimized CRC64 using slicing-by-four algorithm
*
diff --git a/src/liblzma/check/crc_common.h b/src/liblzma/check/crc_common.h
index 8da15123..856665db 100644
--- a/src/liblzma/check/crc_common.h
+++ b/src/liblzma/check/crc_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc_common.h
diff --git a/src/liblzma/check/crc_x86_clmul.h b/src/liblzma/check/crc_x86_clmul.h
index 9455868b..ae66ca9f 100644
--- a/src/liblzma/check/crc_x86_clmul.h
+++ b/src/liblzma/check/crc_x86_clmul.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file crc_x86_clmul.h
diff --git a/src/liblzma/check/sha256.c b/src/liblzma/check/sha256.c
index 07cd3372..bd0d2806 100644
--- a/src/liblzma/check/sha256.c
+++ b/src/liblzma/check/sha256.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file sha256.c
diff --git a/src/liblzma/common/Makefile.inc b/src/liblzma/common/Makefile.inc
index 74c29027..51b1aae8 100644
--- a/src/liblzma/common/Makefile.inc
+++ b/src/liblzma/common/Makefile.inc
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
liblzma_la_SOURCES += \
common/common.c \
diff --git a/src/liblzma/common/alone_decoder.c b/src/liblzma/common/alone_decoder.c
index 9ec3c21a..78af6515 100644
--- a/src/liblzma/common/alone_decoder.c
+++ b/src/liblzma/common/alone_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file alone_decoder.c
diff --git a/src/liblzma/common/alone_decoder.h b/src/liblzma/common/alone_decoder.h
index 69d44fa5..61ee24d9 100644
--- a/src/liblzma/common/alone_decoder.h
+++ b/src/liblzma/common/alone_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file alone_decoder.h
diff --git a/src/liblzma/common/alone_encoder.c b/src/liblzma/common/alone_encoder.c
index b4d57f05..21b03950 100644
--- a/src/liblzma/common/alone_encoder.c
+++ b/src/liblzma/common/alone_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file alone_encoder.c
diff --git a/src/liblzma/common/auto_decoder.c b/src/liblzma/common/auto_decoder.c
index 928a34fc..fdd520f9 100644
--- a/src/liblzma/common/auto_decoder.c
+++ b/src/liblzma/common/auto_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file auto_decoder.c
diff --git a/src/liblzma/common/block_buffer_decoder.c b/src/liblzma/common/block_buffer_decoder.c
index 31e371a6..55566cd2 100644
--- a/src/liblzma/common/block_buffer_decoder.c
+++ b/src/liblzma/common/block_buffer_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_buffer_decoder.c
diff --git a/src/liblzma/common/block_buffer_encoder.c b/src/liblzma/common/block_buffer_encoder.c
index 6ae190d5..df3b90e8 100644
--- a/src/liblzma/common/block_buffer_encoder.c
+++ b/src/liblzma/common/block_buffer_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_buffer_encoder.c
diff --git a/src/liblzma/common/block_buffer_encoder.h b/src/liblzma/common/block_buffer_encoder.h
index 38696f67..5274ac40 100644
--- a/src/liblzma/common/block_buffer_encoder.h
+++ b/src/liblzma/common/block_buffer_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_buffer_encoder.h
diff --git a/src/liblzma/common/block_decoder.c b/src/liblzma/common/block_decoder.c
index 4f7108ba..2e369d31 100644
--- a/src/liblzma/common/block_decoder.c
+++ b/src/liblzma/common/block_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_decoder.c
diff --git a/src/liblzma/common/block_decoder.h b/src/liblzma/common/block_decoder.h
index 9b78e11f..2cbf9ba6 100644
--- a/src/liblzma/common/block_decoder.h
+++ b/src/liblzma/common/block_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_decoder.h
diff --git a/src/liblzma/common/block_encoder.c b/src/liblzma/common/block_encoder.c
index 020b4c69..ce8c1de6 100644
--- a/src/liblzma/common/block_encoder.c
+++ b/src/liblzma/common/block_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_encoder.c
diff --git a/src/liblzma/common/block_encoder.h b/src/liblzma/common/block_encoder.h
index cffc0479..b7dfe9a0 100644
--- a/src/liblzma/common/block_encoder.h
+++ b/src/liblzma/common/block_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_encoder.h
diff --git a/src/liblzma/common/block_header_decoder.c b/src/liblzma/common/block_header_decoder.c
index 12cd5ae3..f0b2fbe5 100644
--- a/src/liblzma/common/block_header_decoder.c
+++ b/src/liblzma/common/block_header_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_header_decoder.c
diff --git a/src/liblzma/common/block_header_encoder.c b/src/liblzma/common/block_header_encoder.c
index 057c0ffb..45e57a26 100644
--- a/src/liblzma/common/block_header_encoder.c
+++ b/src/liblzma/common/block_header_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_header_encoder.c
diff --git a/src/liblzma/common/block_util.c b/src/liblzma/common/block_util.c
index 07f373f6..191f6d44 100644
--- a/src/liblzma/common/block_util.c
+++ b/src/liblzma/common/block_util.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file block_util.c
diff --git a/src/liblzma/common/common.c b/src/liblzma/common/common.c
index 5d1ac990..cc0e06a5 100644
--- a/src/liblzma/common/common.c
+++ b/src/liblzma/common/common.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file common.c
diff --git a/src/liblzma/common/common.h b/src/liblzma/common/common.h
index 51afc37f..20af32f6 100644
--- a/src/liblzma/common/common.h
+++ b/src/liblzma/common/common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file common.h
diff --git a/src/liblzma/common/easy_buffer_encoder.c b/src/liblzma/common/easy_buffer_encoder.c
index fefc5bbb..da610cea 100644
--- a/src/liblzma/common/easy_buffer_encoder.c
+++ b/src/liblzma/common/easy_buffer_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file easy_buffer_encoder.c
diff --git a/src/liblzma/common/easy_decoder_memusage.c b/src/liblzma/common/easy_decoder_memusage.c
index 36e51165..0c76f100 100644
--- a/src/liblzma/common/easy_decoder_memusage.c
+++ b/src/liblzma/common/easy_decoder_memusage.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file easy_decoder_memusage.c
diff --git a/src/liblzma/common/easy_encoder.c b/src/liblzma/common/easy_encoder.c
index 9cecbb9d..8dfe2961 100644
--- a/src/liblzma/common/easy_encoder.c
+++ b/src/liblzma/common/easy_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file easy_encoder.c
diff --git a/src/liblzma/common/easy_encoder_memusage.c b/src/liblzma/common/easy_encoder_memusage.c
index b3c954d1..1184ac66 100644
--- a/src/liblzma/common/easy_encoder_memusage.c
+++ b/src/liblzma/common/easy_encoder_memusage.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file easy_encoder_memusage.c
diff --git a/src/liblzma/common/easy_preset.c b/src/liblzma/common/easy_preset.c
index 41bf9f69..7908a2bb 100644
--- a/src/liblzma/common/easy_preset.c
+++ b/src/liblzma/common/easy_preset.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file easy_preset.c
diff --git a/src/liblzma/common/easy_preset.h b/src/liblzma/common/easy_preset.h
index c555e935..d0ca1a62 100644
--- a/src/liblzma/common/easy_preset.h
+++ b/src/liblzma/common/easy_preset.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file easy_preset.h
diff --git a/src/liblzma/common/file_info.c b/src/liblzma/common/file_info.c
index 74a223c3..7c85084a 100644
--- a/src/liblzma/common/file_info.c
+++ b/src/liblzma/common/file_info.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file file_info.c
diff --git a/src/liblzma/common/filter_buffer_decoder.c b/src/liblzma/common/filter_buffer_decoder.c
index 63d7f3ef..e80c582c 100644
--- a/src/liblzma/common/filter_buffer_decoder.c
+++ b/src/liblzma/common/filter_buffer_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_buffer_decoder.c
diff --git a/src/liblzma/common/filter_buffer_encoder.c b/src/liblzma/common/filter_buffer_encoder.c
index ef1b86a6..7fb8922a 100644
--- a/src/liblzma/common/filter_buffer_encoder.c
+++ b/src/liblzma/common/filter_buffer_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_buffer_encoder.c
diff --git a/src/liblzma/common/filter_common.c b/src/liblzma/common/filter_common.c
index 19ef0653..2da6bd9c 100644
--- a/src/liblzma/common/filter_common.c
+++ b/src/liblzma/common/filter_common.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_common.c
diff --git a/src/liblzma/common/filter_common.h b/src/liblzma/common/filter_common.h
index 0a3feac1..95f9fe27 100644
--- a/src/liblzma/common/filter_common.h
+++ b/src/liblzma/common/filter_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_common.h
diff --git a/src/liblzma/common/filter_decoder.c b/src/liblzma/common/filter_decoder.c
index f1d3a358..77441e54 100644
--- a/src/liblzma/common/filter_decoder.c
+++ b/src/liblzma/common/filter_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_decoder.c
diff --git a/src/liblzma/common/filter_decoder.h b/src/liblzma/common/filter_decoder.h
index c69a0eb2..e610bc1f 100644
--- a/src/liblzma/common/filter_decoder.h
+++ b/src/liblzma/common/filter_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_decoder.h
diff --git a/src/liblzma/common/filter_encoder.c b/src/liblzma/common/filter_encoder.c
index 1aa6f07b..523d3731 100644
--- a/src/liblzma/common/filter_encoder.c
+++ b/src/liblzma/common/filter_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_decoder.c
diff --git a/src/liblzma/common/filter_encoder.h b/src/liblzma/common/filter_encoder.h
index 344ca10f..88f2dafa 100644
--- a/src/liblzma/common/filter_encoder.h
+++ b/src/liblzma/common/filter_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_encoder.h
diff --git a/src/liblzma/common/filter_flags_decoder.c b/src/liblzma/common/filter_flags_decoder.c
index becbcad0..0f5d204d 100644
--- a/src/liblzma/common/filter_flags_decoder.c
+++ b/src/liblzma/common/filter_flags_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_flags_decoder.c
diff --git a/src/liblzma/common/filter_flags_encoder.c b/src/liblzma/common/filter_flags_encoder.c
index f12dc412..e1d65884 100644
--- a/src/liblzma/common/filter_flags_encoder.c
+++ b/src/liblzma/common/filter_flags_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file filter_flags_encoder.c
diff --git a/src/liblzma/common/hardware_cputhreads.c b/src/liblzma/common/hardware_cputhreads.c
index 6ae759e3..4ce852b4 100644
--- a/src/liblzma/common/hardware_cputhreads.c
+++ b/src/liblzma/common/hardware_cputhreads.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file hardware_cputhreads.c
diff --git a/src/liblzma/common/hardware_physmem.c b/src/liblzma/common/hardware_physmem.c
index ddf0ca2c..1bc34864 100644
--- a/src/liblzma/common/hardware_physmem.c
+++ b/src/liblzma/common/hardware_physmem.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file hardware_physmem.c
diff --git a/src/liblzma/common/index.c b/src/liblzma/common/index.c
index ff7f3fce..6add6a68 100644
--- a/src/liblzma/common/index.c
+++ b/src/liblzma/common/index.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file index.c
diff --git a/src/liblzma/common/index.h b/src/liblzma/common/index.h
index 3c349d43..007e1188 100644
--- a/src/liblzma/common/index.h
+++ b/src/liblzma/common/index.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file index.h
diff --git a/src/liblzma/common/index_decoder.c b/src/liblzma/common/index_decoder.c
index fbf58982..f105ff04 100644
--- a/src/liblzma/common/index_decoder.c
+++ b/src/liblzma/common/index_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file index_decoder.c
diff --git a/src/liblzma/common/index_decoder.h b/src/liblzma/common/index_decoder.h
index d877c505..5351d2f0 100644
--- a/src/liblzma/common/index_decoder.h
+++ b/src/liblzma/common/index_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file index_decoder.h
diff --git a/src/liblzma/common/index_encoder.c b/src/liblzma/common/index_encoder.c
index 4939d328..ecc299c0 100644
--- a/src/liblzma/common/index_encoder.c
+++ b/src/liblzma/common/index_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file index_encoder.c
diff --git a/src/liblzma/common/index_encoder.h b/src/liblzma/common/index_encoder.h
index 2c6e904d..29ba1106 100644
--- a/src/liblzma/common/index_encoder.h
+++ b/src/liblzma/common/index_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file index_encoder.h
diff --git a/src/liblzma/common/index_hash.c b/src/liblzma/common/index_hash.c
index c4bb6e07..caa5967c 100644
--- a/src/liblzma/common/index_hash.c
+++ b/src/liblzma/common/index_hash.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file index_hash.c
diff --git a/src/liblzma/common/lzip_decoder.c b/src/liblzma/common/lzip_decoder.c
index b229e1eb..651a0ae7 100644
--- a/src/liblzma/common/lzip_decoder.c
+++ b/src/liblzma/common/lzip_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzip_decoder.c
diff --git a/src/liblzma/common/lzip_decoder.h b/src/liblzma/common/lzip_decoder.h
index 6c696472..0e1f7beb 100644
--- a/src/liblzma/common/lzip_decoder.h
+++ b/src/liblzma/common/lzip_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzip_decoder.h
diff --git a/src/liblzma/common/memcmplen.h b/src/liblzma/common/memcmplen.h
index 05f92679..d8c42040 100644
--- a/src/liblzma/common/memcmplen.h
+++ b/src/liblzma/common/memcmplen.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file memcmplen.h
diff --git a/src/liblzma/common/microlzma_decoder.c b/src/liblzma/common/microlzma_decoder.c
index 7fe0e2a0..882cb2c8 100644
--- a/src/liblzma/common/microlzma_decoder.c
+++ b/src/liblzma/common/microlzma_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file microlzma_decoder.c
diff --git a/src/liblzma/common/microlzma_encoder.c b/src/liblzma/common/microlzma_encoder.c
index 3db9ba54..45ec0b12 100644
--- a/src/liblzma/common/microlzma_encoder.c
+++ b/src/liblzma/common/microlzma_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file microlzma_encoder.c
diff --git a/src/liblzma/common/outqueue.c b/src/liblzma/common/outqueue.c
index 39c79dfa..eb018eb4 100644
--- a/src/liblzma/common/outqueue.c
+++ b/src/liblzma/common/outqueue.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file outqueue.c
diff --git a/src/liblzma/common/outqueue.h b/src/liblzma/common/outqueue.h
index 0172436b..ae56f636 100644
--- a/src/liblzma/common/outqueue.h
+++ b/src/liblzma/common/outqueue.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file outqueue.h
diff --git a/src/liblzma/common/stream_buffer_decoder.c b/src/liblzma/common/stream_buffer_decoder.c
index 2840d5cd..c4f91fb4 100644
--- a/src/liblzma/common/stream_buffer_decoder.c
+++ b/src/liblzma/common/stream_buffer_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_buffer_decoder.c
diff --git a/src/liblzma/common/stream_buffer_encoder.c b/src/liblzma/common/stream_buffer_encoder.c
index 938f1b3b..04d58695 100644
--- a/src/liblzma/common/stream_buffer_encoder.c
+++ b/src/liblzma/common/stream_buffer_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_buffer_encoder.c
diff --git a/src/liblzma/common/stream_decoder.c b/src/liblzma/common/stream_decoder.c
index ee0722f8..7f426841 100644
--- a/src/liblzma/common/stream_decoder.c
+++ b/src/liblzma/common/stream_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_decoder.c
diff --git a/src/liblzma/common/stream_decoder.h b/src/liblzma/common/stream_decoder.h
index 6b86e412..58037153 100644
--- a/src/liblzma/common/stream_decoder.h
+++ b/src/liblzma/common/stream_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_decoder.h
diff --git a/src/liblzma/common/stream_decoder_mt.c b/src/liblzma/common/stream_decoder_mt.c
index 91b339d1..244624a4 100644
--- a/src/liblzma/common/stream_decoder_mt.c
+++ b/src/liblzma/common/stream_decoder_mt.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_decoder_mt.c
diff --git a/src/liblzma/common/stream_encoder.c b/src/liblzma/common/stream_encoder.c
index ff95dc5c..e7e5b3fc 100644
--- a/src/liblzma/common/stream_encoder.c
+++ b/src/liblzma/common/stream_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_encoder.c
diff --git a/src/liblzma/common/stream_encoder_mt.c b/src/liblzma/common/stream_encoder_mt.c
index ed6b6b77..f0fef152 100644
--- a/src/liblzma/common/stream_encoder_mt.c
+++ b/src/liblzma/common/stream_encoder_mt.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_encoder_mt.c
diff --git a/src/liblzma/common/stream_flags_common.c b/src/liblzma/common/stream_flags_common.c
index 832e1e5d..41b8dcb7 100644
--- a/src/liblzma/common/stream_flags_common.c
+++ b/src/liblzma/common/stream_flags_common.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_flags_common.c
diff --git a/src/liblzma/common/stream_flags_common.h b/src/liblzma/common/stream_flags_common.h
index b752fce0..28729dbc 100644
--- a/src/liblzma/common/stream_flags_common.h
+++ b/src/liblzma/common/stream_flags_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_flags_common.h
diff --git a/src/liblzma/common/stream_flags_decoder.c b/src/liblzma/common/stream_flags_decoder.c
index 43341317..522c98b6 100644
--- a/src/liblzma/common/stream_flags_decoder.c
+++ b/src/liblzma/common/stream_flags_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_flags_decoder.c
diff --git a/src/liblzma/common/stream_flags_encoder.c b/src/liblzma/common/stream_flags_encoder.c
index 6f8561bc..f94b5cd0 100644
--- a/src/liblzma/common/stream_flags_encoder.c
+++ b/src/liblzma/common/stream_flags_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file stream_flags_encoder.c
diff --git a/src/liblzma/common/string_conversion.c b/src/liblzma/common/string_conversion.c
index c8cfaab8..92d9032b 100644
--- a/src/liblzma/common/string_conversion.c
+++ b/src/liblzma/common/string_conversion.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file string_conversion.c
diff --git a/src/liblzma/common/vli_decoder.c b/src/liblzma/common/vli_decoder.c
index df4254bc..3254ccc3 100644
--- a/src/liblzma/common/vli_decoder.c
+++ b/src/liblzma/common/vli_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file vli_decoder.c
diff --git a/src/liblzma/common/vli_encoder.c b/src/liblzma/common/vli_encoder.c
index 99557b24..3859006a 100644
--- a/src/liblzma/common/vli_encoder.c
+++ b/src/liblzma/common/vli_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file vli_encoder.c
diff --git a/src/liblzma/common/vli_size.c b/src/liblzma/common/vli_size.c
index 65d11b9a..c8cb2ec1 100644
--- a/src/liblzma/common/vli_size.c
+++ b/src/liblzma/common/vli_size.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file vli_size.c
diff --git a/src/liblzma/delta/Makefile.inc b/src/liblzma/delta/Makefile.inc
index b161728e..e5b919e0 100644
--- a/src/liblzma/delta/Makefile.inc
+++ b/src/liblzma/delta/Makefile.inc
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
liblzma_la_SOURCES += \
delta/delta_common.c \
diff --git a/src/liblzma/delta/delta_common.c b/src/liblzma/delta/delta_common.c
index 2d01ceb9..5dbe253b 100644
--- a/src/liblzma/delta/delta_common.c
+++ b/src/liblzma/delta/delta_common.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_common.c
diff --git a/src/liblzma/delta/delta_common.h b/src/liblzma/delta/delta_common.h
index 232e308d..bd091276 100644
--- a/src/liblzma/delta/delta_common.h
+++ b/src/liblzma/delta/delta_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_common.h
diff --git a/src/liblzma/delta/delta_decoder.c b/src/liblzma/delta/delta_decoder.c
index 1e445270..10d53687 100644
--- a/src/liblzma/delta/delta_decoder.c
+++ b/src/liblzma/delta/delta_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_decoder.c
diff --git a/src/liblzma/delta/delta_decoder.h b/src/liblzma/delta/delta_decoder.h
index 7c96249a..e2268ed4 100644
--- a/src/liblzma/delta/delta_decoder.h
+++ b/src/liblzma/delta/delta_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_decoder.h
diff --git a/src/liblzma/delta/delta_encoder.c b/src/liblzma/delta/delta_encoder.c
index f11a7914..ba4a50b1 100644
--- a/src/liblzma/delta/delta_encoder.c
+++ b/src/liblzma/delta/delta_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_encoder.c
diff --git a/src/liblzma/delta/delta_encoder.h b/src/liblzma/delta/delta_encoder.h
index aff72130..735f0ed0 100644
--- a/src/liblzma/delta/delta_encoder.h
+++ b/src/liblzma/delta/delta_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_encoder.h
diff --git a/src/liblzma/delta/delta_private.h b/src/liblzma/delta/delta_private.h
index 404657d0..e54721a8 100644
--- a/src/liblzma/delta/delta_private.h
+++ b/src/liblzma/delta/delta_private.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file delta_private.h
diff --git a/src/liblzma/liblzma.pc.in b/src/liblzma/liblzma.pc.in
index d9ff749c..a432992b 100644
--- a/src/liblzma/liblzma.pc.in
+++ b/src/liblzma/liblzma.pc.in
@@ -1,6 +1,5 @@
-#
+# SPDX-License-Identifier: 0BSD
# Author: Lasse Collin
-#
prefix=@prefix@
exec_prefix=@exec_prefix@
diff --git a/src/liblzma/liblzma_generic.map b/src/liblzma/liblzma_generic.map
index 670e90c5..cc5f9eba 100644
--- a/src/liblzma/liblzma_generic.map
+++ b/src/liblzma/liblzma_generic.map
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
XZ_5.0 {
global:
lzma_alone_decoder;
diff --git a/src/liblzma/liblzma_linux.map b/src/liblzma/liblzma_linux.map
index 37cb835d..b1f0c09b 100644
--- a/src/liblzma/liblzma_linux.map
+++ b/src/liblzma/liblzma_linux.map
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
XZ_5.0 {
global:
lzma_alone_decoder;
diff --git a/src/liblzma/liblzma_w32res.rc b/src/liblzma/liblzma_w32res.rc
index da9c51bf..e225b19e 100644
--- a/src/liblzma/liblzma_w32res.rc
+++ b/src/liblzma/liblzma_w32res.rc
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Author: Lasse Collin
*/
diff --git a/src/liblzma/lz/Makefile.inc b/src/liblzma/lz/Makefile.inc
index ecb3b230..15235d7d 100644
--- a/src/liblzma/lz/Makefile.inc
+++ b/src/liblzma/lz/Makefile.inc
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
if COND_ENCODER_LZ
liblzma_la_SOURCES += \
diff --git a/src/liblzma/lz/lz_decoder.c b/src/liblzma/lz/lz_decoder.c
index 158aa08b..73bf20d9 100644
--- a/src/liblzma/lz/lz_decoder.c
+++ b/src/liblzma/lz/lz_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lz_decoder.c
diff --git a/src/liblzma/lz/lz_decoder.h b/src/liblzma/lz/lz_decoder.h
index 6059746a..65acf0b1 100644
--- a/src/liblzma/lz/lz_decoder.h
+++ b/src/liblzma/lz/lz_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lz_decoder.h
diff --git a/src/liblzma/lz/lz_encoder.c b/src/liblzma/lz/lz_encoder.c
index 2058fce1..4af23e14 100644
--- a/src/liblzma/lz/lz_encoder.c
+++ b/src/liblzma/lz/lz_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lz_encoder.c
diff --git a/src/liblzma/lz/lz_encoder.h b/src/liblzma/lz/lz_encoder.h
index 76f3788e..429836c8 100644
--- a/src/liblzma/lz/lz_encoder.h
+++ b/src/liblzma/lz/lz_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lz_encoder.h
diff --git a/src/liblzma/lz/lz_encoder_hash.h b/src/liblzma/lz/lz_encoder_hash.h
index 740694ab..8ace82b0 100644
--- a/src/liblzma/lz/lz_encoder_hash.h
+++ b/src/liblzma/lz/lz_encoder_hash.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lz_encoder_hash.h
diff --git a/src/liblzma/lz/lz_encoder_mf.c b/src/liblzma/lz/lz_encoder_mf.c
index b5d9c509..557c2612 100644
--- a/src/liblzma/lz/lz_encoder_mf.c
+++ b/src/liblzma/lz/lz_encoder_mf.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lz_encoder_mf.c
diff --git a/src/liblzma/lzma/Makefile.inc b/src/liblzma/lzma/Makefile.inc
index cbe4d800..dca6b764 100644
--- a/src/liblzma/lzma/Makefile.inc
+++ b/src/liblzma/lzma/Makefile.inc
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
EXTRA_DIST += lzma/fastpos_tablegen.c
diff --git a/src/liblzma/lzma/fastpos.h b/src/liblzma/lzma/fastpos.h
index 01be5406..d3969a75 100644
--- a/src/liblzma/lzma/fastpos.h
+++ b/src/liblzma/lzma/fastpos.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file fastpos.h
diff --git a/src/liblzma/lzma/fastpos_tablegen.c b/src/liblzma/lzma/fastpos_tablegen.c
index 9eb19fbd..cb8e3eb9 100644
--- a/src/liblzma/lzma/fastpos_tablegen.c
+++ b/src/liblzma/lzma/fastpos_tablegen.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file fastpos_tablegen.c
diff --git a/src/liblzma/lzma/lzma2_decoder.c b/src/liblzma/lzma/lzma2_decoder.c
index 5f6e3495..37ab253f 100644
--- a/src/liblzma/lzma/lzma2_decoder.c
+++ b/src/liblzma/lzma/lzma2_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma2_decoder.c
diff --git a/src/liblzma/lzma/lzma2_decoder.h b/src/liblzma/lzma/lzma2_decoder.h
index acea1eb2..cdd8b463 100644
--- a/src/liblzma/lzma/lzma2_decoder.h
+++ b/src/liblzma/lzma/lzma2_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma2_decoder.h
diff --git a/src/liblzma/lzma/lzma2_encoder.c b/src/liblzma/lzma/lzma2_encoder.c
index 9ec32cf7..e20b75b3 100644
--- a/src/liblzma/lzma/lzma2_encoder.c
+++ b/src/liblzma/lzma/lzma2_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma2_encoder.c
diff --git a/src/liblzma/lzma/lzma2_encoder.h b/src/liblzma/lzma/lzma2_encoder.h
index e488860c..29966a66 100644
--- a/src/liblzma/lzma/lzma2_encoder.h
+++ b/src/liblzma/lzma/lzma2_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma2_encoder.h
diff --git a/src/liblzma/lzma/lzma_common.h b/src/liblzma/lzma/lzma_common.h
index 6f040467..77b62955 100644
--- a/src/liblzma/lzma/lzma_common.h
+++ b/src/liblzma/lzma/lzma_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_common.h
diff --git a/src/liblzma/lzma/lzma_decoder.c b/src/liblzma/lzma/lzma_decoder.c
index a82f0da9..cf437d88 100644
--- a/src/liblzma/lzma/lzma_decoder.c
+++ b/src/liblzma/lzma/lzma_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_decoder.c
diff --git a/src/liblzma/lzma/lzma_decoder.h b/src/liblzma/lzma/lzma_decoder.h
index 38baddbc..9730f56f 100644
--- a/src/liblzma/lzma/lzma_decoder.h
+++ b/src/liblzma/lzma/lzma_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_decoder.h
diff --git a/src/liblzma/lzma/lzma_encoder.c b/src/liblzma/lzma/lzma_encoder.c
index 8779ad88..eba48a41 100644
--- a/src/liblzma/lzma/lzma_encoder.c
+++ b/src/liblzma/lzma/lzma_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_encoder.c
diff --git a/src/liblzma/lzma/lzma_encoder.h b/src/liblzma/lzma/lzma_encoder.h
index 2d3d1f3b..e8ae8079 100644
--- a/src/liblzma/lzma/lzma_encoder.h
+++ b/src/liblzma/lzma/lzma_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_encoder.h
diff --git a/src/liblzma/lzma/lzma_encoder_optimum_fast.c b/src/liblzma/lzma/lzma_encoder_optimum_fast.c
index eb95e74b..0f063d5b 100644
--- a/src/liblzma/lzma/lzma_encoder_optimum_fast.c
+++ b/src/liblzma/lzma/lzma_encoder_optimum_fast.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_encoder_optimum_fast.c
diff --git a/src/liblzma/lzma/lzma_encoder_optimum_normal.c b/src/liblzma/lzma/lzma_encoder_optimum_normal.c
index 63fb81e0..6b384fe0 100644
--- a/src/liblzma/lzma/lzma_encoder_optimum_normal.c
+++ b/src/liblzma/lzma/lzma_encoder_optimum_normal.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_encoder_optimum_normal.c
diff --git a/src/liblzma/lzma/lzma_encoder_presets.c b/src/liblzma/lzma/lzma_encoder_presets.c
index 87afd85b..e53483f9 100644
--- a/src/liblzma/lzma/lzma_encoder_presets.c
+++ b/src/liblzma/lzma/lzma_encoder_presets.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_encoder_presets.c
diff --git a/src/liblzma/lzma/lzma_encoder_private.h b/src/liblzma/lzma/lzma_encoder_private.h
index 83610833..6c79b0a0 100644
--- a/src/liblzma/lzma/lzma_encoder_private.h
+++ b/src/liblzma/lzma/lzma_encoder_private.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzma_encoder_private.h
diff --git a/src/liblzma/rangecoder/Makefile.inc b/src/liblzma/rangecoder/Makefile.inc
index 0134d1a1..9a00e6e1 100644
--- a/src/liblzma/rangecoder/Makefile.inc
+++ b/src/liblzma/rangecoder/Makefile.inc
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
EXTRA_DIST += rangecoder/price_tablegen.c
diff --git a/src/liblzma/rangecoder/price.h b/src/liblzma/rangecoder/price.h
index 9d57c111..cce6bdae 100644
--- a/src/liblzma/rangecoder/price.h
+++ b/src/liblzma/rangecoder/price.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file price.h
diff --git a/src/liblzma/rangecoder/price_tablegen.c b/src/liblzma/rangecoder/price_tablegen.c
index 65c9fa89..94a3b1f1 100644
--- a/src/liblzma/rangecoder/price_tablegen.c
+++ b/src/liblzma/rangecoder/price_tablegen.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file price_tablegen.c
diff --git a/src/liblzma/rangecoder/range_common.h b/src/liblzma/rangecoder/range_common.h
index cc0a7fba..b72b7d46 100644
--- a/src/liblzma/rangecoder/range_common.h
+++ b/src/liblzma/rangecoder/range_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file range_common.h
diff --git a/src/liblzma/rangecoder/range_decoder.h b/src/liblzma/rangecoder/range_decoder.h
index 2cb3bedd..a38e6aa3 100644
--- a/src/liblzma/rangecoder/range_decoder.h
+++ b/src/liblzma/rangecoder/range_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file range_decoder.h
diff --git a/src/liblzma/rangecoder/range_encoder.h b/src/liblzma/rangecoder/range_encoder.h
index 5dff9de1..8f62a47a 100644
--- a/src/liblzma/rangecoder/range_encoder.h
+++ b/src/liblzma/rangecoder/range_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file range_encoder.h
diff --git a/src/liblzma/simple/Makefile.inc b/src/liblzma/simple/Makefile.inc
index 416ea8ef..f42ad1ba 100644
--- a/src/liblzma/simple/Makefile.inc
+++ b/src/liblzma/simple/Makefile.inc
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
liblzma_la_SOURCES += \
simple/simple_coder.c \
diff --git a/src/liblzma/simple/arm.c b/src/liblzma/simple/arm.c
index 77d7e133..58acb2d1 100644
--- a/src/liblzma/simple/arm.c
+++ b/src/liblzma/simple/arm.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file arm.c
diff --git a/src/liblzma/simple/arm64.c b/src/liblzma/simple/arm64.c
index b8166157..0a73f6c8 100644
--- a/src/liblzma/simple/arm64.c
+++ b/src/liblzma/simple/arm64.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file arm64.c
diff --git a/src/liblzma/simple/armthumb.c b/src/liblzma/simple/armthumb.c
index 832cc77e..f1eeca9b 100644
--- a/src/liblzma/simple/armthumb.c
+++ b/src/liblzma/simple/armthumb.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file armthumb.c
diff --git a/src/liblzma/simple/ia64.c b/src/liblzma/simple/ia64.c
index 1cfa7fdb..50250140 100644
--- a/src/liblzma/simple/ia64.c
+++ b/src/liblzma/simple/ia64.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file ia64.c
diff --git a/src/liblzma/simple/powerpc.c b/src/liblzma/simple/powerpc.c
index 448da739..ba6cfbef 100644
--- a/src/liblzma/simple/powerpc.c
+++ b/src/liblzma/simple/powerpc.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file powerpc.c
diff --git a/src/liblzma/simple/riscv.c b/src/liblzma/simple/riscv.c
index eeb79fad..7b30da83 100644
--- a/src/liblzma/simple/riscv.c
+++ b/src/liblzma/simple/riscv.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file riscv.c
diff --git a/src/liblzma/simple/simple_coder.c b/src/liblzma/simple/simple_coder.c
index 05b50b53..5cbfa822 100644
--- a/src/liblzma/simple/simple_coder.c
+++ b/src/liblzma/simple/simple_coder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file simple_coder.c
diff --git a/src/liblzma/simple/simple_coder.h b/src/liblzma/simple/simple_coder.h
index 431059e1..c9ccc3f1 100644
--- a/src/liblzma/simple/simple_coder.h
+++ b/src/liblzma/simple/simple_coder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file simple_coder.h
diff --git a/src/liblzma/simple/simple_decoder.c b/src/liblzma/simple/simple_decoder.c
index 6823eb1e..d9820ee8 100644
--- a/src/liblzma/simple/simple_decoder.c
+++ b/src/liblzma/simple/simple_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file simple_decoder.c
diff --git a/src/liblzma/simple/simple_decoder.h b/src/liblzma/simple/simple_decoder.h
index fc06da91..2ae87bb8 100644
--- a/src/liblzma/simple/simple_decoder.h
+++ b/src/liblzma/simple/simple_decoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file simple_decoder.h
diff --git a/src/liblzma/simple/simple_encoder.c b/src/liblzma/simple/simple_encoder.c
index 9e17ec29..d1f35096 100644
--- a/src/liblzma/simple/simple_encoder.c
+++ b/src/liblzma/simple/simple_encoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file simple_encoder.c
diff --git a/src/liblzma/simple/simple_encoder.h b/src/liblzma/simple/simple_encoder.h
index ec4b723e..bf5edbb1 100644
--- a/src/liblzma/simple/simple_encoder.h
+++ b/src/liblzma/simple/simple_encoder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file simple_encoder.c
diff --git a/src/liblzma/simple/simple_private.h b/src/liblzma/simple/simple_private.h
index e4068dd0..7aa360ff 100644
--- a/src/liblzma/simple/simple_private.h
+++ b/src/liblzma/simple/simple_private.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file simple_private.h
diff --git a/src/liblzma/simple/sparc.c b/src/liblzma/simple/sparc.c
index a6f2f074..e8ad285a 100644
--- a/src/liblzma/simple/sparc.c
+++ b/src/liblzma/simple/sparc.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file sparc.c
diff --git a/src/liblzma/simple/x86.c b/src/liblzma/simple/x86.c
index b848f5f9..10d70e91 100644
--- a/src/liblzma/simple/x86.c
+++ b/src/liblzma/simple/x86.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file x86.c
diff --git a/src/liblzma/validate_map.sh b/src/liblzma/validate_map.sh
index 92f5daaa..5adf70b8 100644
--- a/src/liblzma/validate_map.sh
+++ b/src/liblzma/validate_map.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/src/lzmainfo/Makefile.am b/src/lzmainfo/Makefile.am
index 8fc84ac2..4dc9a91c 100644
--- a/src/lzmainfo/Makefile.am
+++ b/src/lzmainfo/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
bin_PROGRAMS = lzmainfo
diff --git a/src/lzmainfo/lzmainfo.c b/src/lzmainfo/lzmainfo.c
index bf4e29d7..2550b1f1 100644
--- a/src/lzmainfo/lzmainfo.c
+++ b/src/lzmainfo/lzmainfo.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file lzmainfo.c
diff --git a/src/lzmainfo/lzmainfo_w32res.rc b/src/lzmainfo/lzmainfo_w32res.rc
index 4ee7136c..f2ec2889 100644
--- a/src/lzmainfo/lzmainfo_w32res.rc
+++ b/src/lzmainfo/lzmainfo_w32res.rc
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Author: Lasse Collin
*/
diff --git a/src/scripts/Makefile.am b/src/scripts/Makefile.am
index 1e949cdb..29c561ca 100644
--- a/src/scripts/Makefile.am
+++ b/src/scripts/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
nodist_bin_SCRIPTS = xzdiff xzgrep xzmore xzless
dist_man_MANS = xzdiff.1 xzgrep.1 xzmore.1 xzless.1
diff --git a/src/xz/Makefile.am b/src/xz/Makefile.am
index 159865ca..847405d7 100644
--- a/src/xz/Makefile.am
+++ b/src/xz/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
bin_PROGRAMS = xz
diff --git a/src/xz/args.c b/src/xz/args.c
index c3e72b95..de84950a 100644
--- a/src/xz/args.c
+++ b/src/xz/args.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file args.c
diff --git a/src/xz/args.h b/src/xz/args.h
index 35eb1a63..e693ecd6 100644
--- a/src/xz/args.h
+++ b/src/xz/args.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file args.h
diff --git a/src/xz/coder.c b/src/xz/coder.c
index 392849ec..4efaa802 100644
--- a/src/xz/coder.c
+++ b/src/xz/coder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file coder.c
diff --git a/src/xz/coder.h b/src/xz/coder.h
index 8f7bfde4..a7feeb9c 100644
--- a/src/xz/coder.h
+++ b/src/xz/coder.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file coder.h
diff --git a/src/xz/file_io.c b/src/xz/file_io.c
index 7e8a5c79..876ee4de 100644
--- a/src/xz/file_io.c
+++ b/src/xz/file_io.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file file_io.c
diff --git a/src/xz/file_io.h b/src/xz/file_io.h
index d5dfd828..b16a8faa 100644
--- a/src/xz/file_io.h
+++ b/src/xz/file_io.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file file_io.h
diff --git a/src/xz/hardware.c b/src/xz/hardware.c
index bc2f52bd..952652fe 100644
--- a/src/xz/hardware.c
+++ b/src/xz/hardware.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file hardware.c
diff --git a/src/xz/hardware.h b/src/xz/hardware.h
index 8a5443a0..25b351e3 100644
--- a/src/xz/hardware.h
+++ b/src/xz/hardware.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file hardware.h
diff --git a/src/xz/list.c b/src/xz/list.c
index 561e63e5..6c1167ba 100644
--- a/src/xz/list.c
+++ b/src/xz/list.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file list.c
diff --git a/src/xz/list.h b/src/xz/list.h
index 5d1084a0..805880de 100644
--- a/src/xz/list.h
+++ b/src/xz/list.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file list.h
diff --git a/src/xz/main.c b/src/xz/main.c
index 26bcb997..14502573 100644
--- a/src/xz/main.c
+++ b/src/xz/main.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file main.c
diff --git a/src/xz/main.h b/src/xz/main.h
index ca2a7f32..a8a1b457 100644
--- a/src/xz/main.h
+++ b/src/xz/main.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file main.h
diff --git a/src/xz/message.c b/src/xz/message.c
index cc397d7b..46d7f0c8 100644
--- a/src/xz/message.c
+++ b/src/xz/message.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file message.c
diff --git a/src/xz/message.h b/src/xz/message.h
index 21412d26..fd3333a7 100644
--- a/src/xz/message.h
+++ b/src/xz/message.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file message.h
diff --git a/src/xz/mytime.c b/src/xz/mytime.c
index b3be80f5..7d9a27d5 100644
--- a/src/xz/mytime.c
+++ b/src/xz/mytime.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file mytime.c
diff --git a/src/xz/mytime.h b/src/xz/mytime.h
index 6810cc0b..6dfaeae9 100644
--- a/src/xz/mytime.h
+++ b/src/xz/mytime.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file mytime.h
diff --git a/src/xz/options.c b/src/xz/options.c
index beef011c..bc8bc1a6 100644
--- a/src/xz/options.c
+++ b/src/xz/options.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file options.c
diff --git a/src/xz/options.h b/src/xz/options.h
index 7c88f304..4a1314db 100644
--- a/src/xz/options.h
+++ b/src/xz/options.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file options.h
diff --git a/src/xz/private.h b/src/xz/private.h
index 50937fe1..0ab2ab4e 100644
--- a/src/xz/private.h
+++ b/src/xz/private.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file private.h
diff --git a/src/xz/signals.c b/src/xz/signals.c
index 553271c9..13cc4c2b 100644
--- a/src/xz/signals.c
+++ b/src/xz/signals.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file signals.c
diff --git a/src/xz/signals.h b/src/xz/signals.h
index 2740f49f..629335d4 100644
--- a/src/xz/signals.h
+++ b/src/xz/signals.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file signals.h
diff --git a/src/xz/suffix.c b/src/xz/suffix.c
index a8d9cc21..1d548e48 100644
--- a/src/xz/suffix.c
+++ b/src/xz/suffix.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file suffix.c
diff --git a/src/xz/suffix.h b/src/xz/suffix.h
index e45a16ce..f59e3123 100644
--- a/src/xz/suffix.h
+++ b/src/xz/suffix.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file suffix.h
diff --git a/src/xz/util.c b/src/xz/util.c
index 4405b526..0d339aed 100644
--- a/src/xz/util.c
+++ b/src/xz/util.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file util.c
diff --git a/src/xz/util.h b/src/xz/util.h
index f5f56ed6..a2fdd059 100644
--- a/src/xz/util.h
+++ b/src/xz/util.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file util.h
diff --git a/src/xz/xz_w32res.rc b/src/xz/xz_w32res.rc
index a71afa5b..e80903eb 100644
--- a/src/xz/xz_w32res.rc
+++ b/src/xz/xz_w32res.rc
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Author: Lasse Collin
*/
diff --git a/src/xzdec/Makefile.am b/src/xzdec/Makefile.am
index 4dcaf584..31a6508c 100644
--- a/src/xzdec/Makefile.am
+++ b/src/xzdec/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
# Windows resource compiler support. It's fine to use xz_CPPFLAGS
# also for lzmadec.
diff --git a/src/xzdec/lzmadec_w32res.rc b/src/xzdec/lzmadec_w32res.rc
index 7e4b9146..b4b89b1f 100644
--- a/src/xzdec/lzmadec_w32res.rc
+++ b/src/xzdec/lzmadec_w32res.rc
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Author: Lasse Collin
*/
diff --git a/src/xzdec/xzdec.c b/src/xzdec/xzdec.c
index 6f150bd7..6fd0be39 100644
--- a/src/xzdec/xzdec.c
+++ b/src/xzdec/xzdec.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file xzdec.c
diff --git a/src/xzdec/xzdec_w32res.rc b/src/xzdec/xzdec_w32res.rc
index 42c119e5..fdbb1024 100644
--- a/src/xzdec/xzdec_w32res.rc
+++ b/src/xzdec/xzdec_w32res.rc
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: 0BSD */
+
/*
* Author: Lasse Collin
*/
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 135e80bb..9cfc068b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,6 +1,5 @@
-##
+## SPDX-License-Identifier: 0BSD
## Author: Lasse Collin
-##
EXTRA_DIST = \
files \
diff --git a/tests/bcj_test.c b/tests/bcj_test.c
index c9e9caac..84abe7b3 100644
--- a/tests/bcj_test.c
+++ b/tests/bcj_test.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file bcj_test.c
diff --git a/tests/code_coverage.sh b/tests/code_coverage.sh
index 870216b6..b2e06a6a 100755
--- a/tests/code_coverage.sh
+++ b/tests/code_coverage.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/tests/create_compress_files.c b/tests/create_compress_files.c
index a8ddb83c..2106ac81 100644
--- a/tests/create_compress_files.c
+++ b/tests/create_compress_files.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file create_compress_files.c
diff --git a/tests/ossfuzz/fuzz_common.h b/tests/ossfuzz/fuzz_common.h
index 49f131cd..4537f1bd 100644
--- a/tests/ossfuzz/fuzz_common.h
+++ b/tests/ossfuzz/fuzz_common.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file fuzz_common.h
diff --git a/tests/ossfuzz/fuzz_decode_alone.c b/tests/ossfuzz/fuzz_decode_alone.c
index e0223655..1ef2f9e7 100644
--- a/tests/ossfuzz/fuzz_decode_alone.c
+++ b/tests/ossfuzz/fuzz_decode_alone.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file fuzz_decode_alone.c
diff --git a/tests/ossfuzz/fuzz_decode_stream.c b/tests/ossfuzz/fuzz_decode_stream.c
index 37e74241..158cf4d6 100644
--- a/tests/ossfuzz/fuzz_decode_stream.c
+++ b/tests/ossfuzz/fuzz_decode_stream.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file fuzz_decode_stream.c
diff --git a/tests/ossfuzz/fuzz_encode_stream.c b/tests/ossfuzz/fuzz_encode_stream.c
index bf46669d..9438263f 100644
--- a/tests/ossfuzz/fuzz_encode_stream.c
+++ b/tests/ossfuzz/fuzz_encode_stream.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file fuzz_encode_stream.c
diff --git a/tests/test_bcj_exact_size.c b/tests/test_bcj_exact_size.c
index ce9bd0f4..fa82f0d7 100644
--- a/tests/test_bcj_exact_size.c
+++ b/tests/test_bcj_exact_size.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_bcj_exact_size.c
diff --git a/tests/test_block_header.c b/tests/test_block_header.c
index 500d4b02..d8e6221f 100644
--- a/tests/test_block_header.c
+++ b/tests/test_block_header.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_block_header.c
diff --git a/tests/test_check.c b/tests/test_check.c
index e64a7c57..9d51aa0e 100644
--- a/tests/test_check.c
+++ b/tests/test_check.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_check.c
diff --git a/tests/test_compress.sh b/tests/test_compress.sh
index b091b0d4..829b4975 100755
--- a/tests/test_compress.sh
+++ b/tests/test_compress.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/tests/test_compress_generated_abc b/tests/test_compress_generated_abc
index 43c69516..b31d631c 100755
--- a/tests/test_compress_generated_abc
+++ b/tests/test_compress_generated_abc
@@ -1,3 +1,4 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
exec "$srcdir/test_compress.sh" compress_generated_abc
diff --git a/tests/test_compress_generated_random b/tests/test_compress_generated_random
index e47555d0..c20f3dac 100755
--- a/tests/test_compress_generated_random
+++ b/tests/test_compress_generated_random
@@ -1,3 +1,4 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
exec "$srcdir/test_compress.sh" compress_generated_random
diff --git a/tests/test_compress_generated_text b/tests/test_compress_generated_text
index 412ae0e9..2c8c1710 100755
--- a/tests/test_compress_generated_text
+++ b/tests/test_compress_generated_text
@@ -1,3 +1,4 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
exec "$srcdir/test_compress.sh" compress_generated_text
diff --git a/tests/test_compress_prepared_bcj_sparc b/tests/test_compress_prepared_bcj_sparc
index deb76ef6..15d870af 100755
--- a/tests/test_compress_prepared_bcj_sparc
+++ b/tests/test_compress_prepared_bcj_sparc
@@ -1,3 +1,4 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
exec "$srcdir/test_compress.sh" compress_prepared_bcj_sparc
diff --git a/tests/test_compress_prepared_bcj_x86 b/tests/test_compress_prepared_bcj_x86
index 3452d7ff..8cdd0312 100755
--- a/tests/test_compress_prepared_bcj_x86
+++ b/tests/test_compress_prepared_bcj_x86
@@ -1,3 +1,4 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
exec "$srcdir/test_compress.sh" compress_prepared_bcj_x86
diff --git a/tests/test_files.sh b/tests/test_files.sh
index 42e53d70..16cb8619 100755
--- a/tests/test_files.sh
+++ b/tests/test_files.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/tests/test_filter_flags.c b/tests/test_filter_flags.c
index 5fa6be71..b19d400a 100644
--- a/tests/test_filter_flags.c
+++ b/tests/test_filter_flags.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_filter_flags.c
diff --git a/tests/test_filter_str.c b/tests/test_filter_str.c
index 67b99e3c..9e72c597 100644
--- a/tests/test_filter_str.c
+++ b/tests/test_filter_str.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_filter_str.c
diff --git a/tests/test_hardware.c b/tests/test_hardware.c
index 9b77d14a..45763f68 100644
--- a/tests/test_hardware.c
+++ b/tests/test_hardware.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_hardware.c
diff --git a/tests/test_index.c b/tests/test_index.c
index 1f34e864..bc0757a2 100644
--- a/tests/test_index.c
+++ b/tests/test_index.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_index.c
diff --git a/tests/test_index_hash.c b/tests/test_index_hash.c
index 12ec7e70..842d5348 100644
--- a/tests/test_index_hash.c
+++ b/tests/test_index_hash.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_index_hash.c
diff --git a/tests/test_lzip_decoder.c b/tests/test_lzip_decoder.c
index 8d6ad4c4..90c5819b 100644
--- a/tests/test_lzip_decoder.c
+++ b/tests/test_lzip_decoder.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_lzip_decoder.c
diff --git a/tests/test_memlimit.c b/tests/test_memlimit.c
index 3c009d1f..7e8f8620 100644
--- a/tests/test_memlimit.c
+++ b/tests/test_memlimit.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_memlimit.c
diff --git a/tests/test_scripts.sh b/tests/test_scripts.sh
index bcef180a..9b938466 100755
--- a/tests/test_scripts.sh
+++ b/tests/test_scripts.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/tests/test_stream_flags.c b/tests/test_stream_flags.c
index 38a6a83e..3bc48be0 100644
--- a/tests/test_stream_flags.c
+++ b/tests/test_stream_flags.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_stream_flags.c
diff --git a/tests/test_suffix.sh b/tests/test_suffix.sh
index 606f0f4d..e2b34425 100755
--- a/tests/test_suffix.sh
+++ b/tests/test_suffix.sh
@@ -1,4 +1,5 @@
#!/bin/sh
+# SPDX-License-Identifier: 0BSD
###############################################################################
#
diff --git a/tests/test_vli.c b/tests/test_vli.c
index 8767f768..51487dcf 100644
--- a/tests/test_vli.c
+++ b/tests/test_vli.c
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file test_vli.c
diff --git a/tests/tests.h b/tests/tests.h
index 21d7c258..f706cab8 100644
--- a/tests/tests.h
+++ b/tests/tests.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tests.h
diff --git a/tests/tuktest.h b/tests/tuktest.h
index 011bf852..9ad55677 100644
--- a/tests/tuktest.h
+++ b/tests/tuktest.h
@@ -1,3 +1,5 @@
+// SPDX-License-Identifier: 0BSD
+
///////////////////////////////////////////////////////////////////////////////
//
/// \file tuktest.h
diff --git a/windows/build.bash b/windows/build.bash
index 52f31b0e..5ae93a2e 100644
--- a/windows/build.bash
+++ b/windows/build.bash
@@ -1,5 +1,6 @@
#!/bin/bash
-#
+# SPDX-License-Identifier: 0BSD
+
###############################################################################
#
# Build a binary package on Windows with MinGW and MSYS