builder,pref: Allow thirdparty objects compilation with CPP compiler #19124
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
As I was working on a binding for an external CPP library, I was hit by:
This PR enable one to bind and build such binding, by keeping the
#flag @VEXEROOT/thirdparty/path/to/object.o
compatibilty.Kind regards,
🤖 Generated by Copilot at 231859a
This pull request adds support for custom C++ compilers in V and enables compiling third party modules that use C++ code. It modifies the
Preferences
struct, thecc.v
andpref.v
files, and adds a-c++
flag to choose the compiler.🤖 Generated by Copilot at 231859a
vlib/v/builder/cc.v
(link)no_std
preference (link)thirdparty_object_args
function (link, link)thirdparty_object_args
function based on OS,no_std
preference, and file type (link)build_thirdparty_obj_file
function (link)build_thirdparty_obj_file
function (link)default_ccompiler
function invlib/v/pref/default.v
(link)default_cpp_compiler
function toPreferences
struct invlib/v/pref/default.v
(link)cppcompiler
field toPreferences
struct invlib/v/pref/pref.v
(link)-c++
option to command line parser invlib/v/pref/pref.v
(link)