Skip to content

ar-compatible command for zig cc #7915

@motiejus

Description

@motiejus

When using zig cc when trying to compile xz, I get the following:

$ AR="zig build-lib" LD="zig build-lib" CC="zig cc" ./configure
<...>
$ make
<...>
libtool: link: zig build-lib cr .libs/liblzma.a  liblzma_la-tuklib_physmem.o liblzma_la-tuklib_cpucores.o liblzma_la-common.o liblzma_la-block_util.o liblzma_la-easy_preset.o liblzma_la-filter_common.o liblzma_la-hardware_physmem.o liblzma_la-index.o liblzma_la-stream_flags_common.o liblzma_la-vli_size.o liblzma_la-hardware_cputhreads.o liblzma_la-alone_encoder.o liblzma_la-block_buffer_encoder.o liblzma_la-block_encoder.o liblzma_la-block_header_encoder.o liblzma_la-easy_buffer_encoder.o liblzma_la-easy_encoder.o liblzma_la-easy_encoder_memusage.o liblzma_la-filter_buffer_encoder.o liblzma_la-filter_encoder.o liblzma_la-filter_flags_encoder.o liblzma_la-index_encoder.o liblzma_la-stream_buffer_encoder.o liblzma_la-stream_encoder.o liblzma_la-stream_flags_encoder.o liblzma_la-vli_encoder.o liblzma_la-outqueue.o liblzma_la-stream_encoder_mt.o liblzma_la-alone_decoder.o liblzma_la-auto_decoder.o liblzma_la-block_buffer_decoder.o liblzma_la-block_decoder.o liblzma_la-block_header_decoder.o liblzma_la-easy_decoder_memusage.o liblzma_la-filter_buffer_decoder.o liblzma_la-filter_decoder.o liblzma_la-filter_flags_decoder.o liblzma_la-index_decoder.o liblzma_la-index_hash.o liblzma_la-stream_buffer_decoder.o liblzma_la-stream_decoder.o liblzma_la-stream_flags_decoder.o liblzma_la-vli_decoder.o liblzma_la-check.o liblzma_la-crc32_table.o liblzma_la-crc32_fast.o liblzma_la-crc64_table.o liblzma_la-crc64_fast.o liblzma_la-sha256.o liblzma_la-lz_encoder.o liblzma_la-lz_encoder_mf.o liblzma_la-lz_decoder.o liblzma_la-lzma_encoder_presets.o liblzma_la-lzma_encoder.o liblzma_la-lzma_encoder_optimum_fast.o liblzma_la-lzma_encoder_optimum_normal.o liblzma_la-fastpos_table.o liblzma_la-lzma_decoder.o liblzma_la-lzma2_encoder.o liblzma_la-lzma2_decoder.o liblzma_la-price_table.o liblzma_la-delta_common.o liblzma_la-delta_encoder.o liblzma_la-delta_decoder.o liblzma_la-simple_coder.o liblzma_la-simple_encoder.o liblzma_la-simple_decoder.o liblzma_la-x86.o liblzma_la-powerpc.o liblzma_la-ia64.o liblzma_la-arm.o liblzma_la-armthumb.o liblzma_la-sparc.o
error: unrecognized file extension of parameter 'cr'

Autotools are running zig build-lib with command cr, which it does not understand, thus failing.

It would be good to expose a compatible interface to ar, so zig cc is easier to integrate to existing toolchains.

Barring other issues, once this is resolved, xz can be built only with gnu make and zig.

Metadata

Metadata

Assignees

No one assigned

    Labels

    contributor friendlyThis issue is limited in scope and/or knowledge of Zig internals.enhancementSolving this issue will likely involve adding new logic or components to the codebase.zig ccZig as a drop-in C compiler feature

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions