**Use case**
We want to use self-extracting compressor utility during build, which can be cross-compiled.
Currently self-extracting compressor utility includes appended decompressor binary, which is a base for building self-extracting executable. The problem arise from the fact that self-extracting executable usually required to be built during clickhouse build - which can be cross-compiled - so in such case additional compressor in native architecture should be built and then this compressor should compress target binaries and attach to target decompressor built in the target architecture.

**Describe the solution you'd like**
Provide --decompressor parameter so proper decompressor binary can be chosen.

**Additional context**
ref #34755

{
            strcat(file_name, path);
            strcat(file_name, "/");
        }
        strcat(file_name, input + files_pointer);
        files_pointer += file_info.name_length;
        if (file_name_len != file_info.name_length)
        {
            strcat(file_name, ".decompressed");
            have_compressed_analoge = true;
        }
        int output_fd = open(file_name, O_RDWR | O_CREAT, file_info.umask);
        if (output_fd == -1)
        {
            perror(nullptr);
            if (0 != munmap(input, info_in.st_size))
                perror(nullptr);
            return 1;
        }
        
        if (0 != ftruncate(output_fd, file_info.uncompressed_size))
        {
            perror(nullptr);
            if (0 != munmap(input, info_in.st_size))
                perror(nullptr);
            return 1;
        }
        char * output = static_cast<char*>(
            mmap(nullptr,
                file_info.uncompressed_size,