Skip to content

Using compile cache can break linking certain library builds #1180

Open
@tobil4sk

Description

@tobil4sk

When compiling a Build.xml like this, the build fails on mac while linking the default target with HXCPP_COMPILE_CACHE enabled:

<xml>
	<files id="lib">
		<cache value="true" asLibrary="true" />
		<file name="lib.c" />
	</files>

	<target id="default" output="lib${DBG}" tool="linker" toolid="static_link">
		<files id="lib" />
	</target>
</xml>
fatal error: /Applications/Xcode_15.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file list file: obj/darwin64/all_objs is empty

The problem is that the lib files are cached by hxcpp in a static library, and apart from that there are no object files. This means there is an empty all_objs file generated, which libtool doesn't seem to like. On other platforms (with different static linking tools) this is not an issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions