Thanks! That's helpful. If I do figure out a way to make this work, what is
the best way to add tests for Bazel build configurations? If you have a
sample commit, that would be great.

On Tue, Feb 6, 2024 at 4:09 AM 'Victor Gomes' via v8-dev <
[email protected]> wrote:

>
>
> On Tue, Feb 6, 2024 at 1:02 PM Jakob Kummerow <[email protected]>
> wrote:
>
>> On Mon, Feb 5, 2024 at 11:42 PM 'Elliott Brossard' via v8-dev <
>> [email protected]> wrote:
>>
>>> https://github.com/v8/v8/blob/main/bazel/defs.bzl sets `linkstatic` to
>>> `True` for all of the library targets, and there is no option to create
>>> shared objects for the libraries instead (as far as I can tell). If I
>>> naively patch `defs.bzl` to have `linkstatic = False`, I get the following
>>> link errors:
>>>
>>> ```
>>> ld.lld: error: undefined reference due to --no-allow-shlib-undefined:
>>> v8_Default_embedded_blob_code_
>>> >>> referenced by
>>> bazel-out/k8-fastbuild/bin/_solib_k8/libexternal_Sv8_Slibv8_Ulibshared_Uicu.so
>>>
>>> ld.lld: error: undefined reference due to --no-allow-shlib-undefined:
>>> v8_Default_embedded_blob_code_size_
>>> >>> referenced by
>>> bazel-out/k8-fastbuild/bin/_solib_k8/libexternal_Sv8_Slibv8_Ulibshared_Uicu.so
>>>
>>> ld.lld: error: undefined reference due to --no-allow-shlib-undefined:
>>> v8_Default_embedded_blob_data_
>>> >>> referenced by
>>> bazel-out/k8-fastbuild/bin/_solib_k8/libexternal_Sv8_Slibv8_Ulibshared_Uicu.so
>>>
>>> ld.lld: error: undefined reference due to --no-allow-shlib-undefined:
>>> v8_Default_embedded_blob_data_size_
>>> >>> referenced by
>>> bazel-out/k8-fastbuild/bin/_solib_k8/libexternal_Sv8_Slibv8_Ulibshared_Uicu.so
>>> collect2: error: ld returned 1 exit status
>>> ```
>>>
>>> I think (please correct me if I'm wrong) that the gn-based build does
>>> support generating shared objects for the various V8 libraries instead, and
>>> I see references e.g. to defines like `BUILDING_V8_SHARED` in
>>> https://github.com/v8/v8/blob/main/BUILD.gn. I'm not interested in
>>> cross-version stability, just the ability to link dynamically in order to
>>> have smaller test binaries involving V8, but I'm wondering:
>>> * Is it true that the gn build supports dynamic linking? I'm having
>>> trouble deciphering this from the docs/sources.
>>>
>>
>> Yes, definitely. I use it all the time.
>> The GN build supports everything. The Bazel build is known to support
>> only a subset of configuration options.
>>
>>
>>> * Is dynamic linking with the Bazel build on the roadmap? I don't see
>>> any related mentions on the issue tracker
>>> <https://issues.chromium.org/issues?q=is:open>.
>>>
>>
>> I don't know.
>>
> No, we don't have dynamic linking on the roadmap.
>
>>
>> If you have time/interest to figure out how to support dynamic-linking
>> (aka shared-library aka component) builds with the Bazel build, we would
>> probably accept patches (as long as they're not too intrusive or add too
>> much maintenance burden going forward).
>>
> +1 to that.
>
>>
>> --
>> --
>> v8-dev mailing list
>> [email protected]
>> http://groups.google.com/group/v8-dev
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "v8-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/v8-dev/CAKSzg3QPEzjX0sLmguPG%3DXNYby61%3Dp6w%2B4f4LR3Y1zcNDgUhDA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/v8-dev/CAKSzg3QPEzjX0sLmguPG%3DXNYby61%3Dp6w%2B4f4LR3Y1zcNDgUhDA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> --
> Victor
>
> --
> --
> v8-dev mailing list
> [email protected]
> http://groups.google.com/group/v8-dev
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "v8-dev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/v8-dev/BccObkPEGm4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/v8-dev/CAGFuzY1w1Gu4hzvORTq6c%3D5ZvJMkpZ4h1UYHrGhK071BngYcTw%40mail.gmail.com
> <https://groups.google.com/d/msgid/v8-dev/CAGFuzY1w1Gu4hzvORTq6c%3D5ZvJMkpZ4h1UYHrGhK071BngYcTw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- 
You received this message because you are subscribed to the Google Groups 
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-dev/CAG%2B85iqAtU3cR9s0HYeUjzXaXMTR4N2cy-pDjyyhV93mHGne3A%40mail.gmail.com.

Reply via email to