Hi,

I have tried to use prebuilt static library with the new Soong build 
system, but the module that uses the prebuilt static lib fails to compile. 

cc_prebuilt_library_static {
    name: "my_static_lib",
    defaults: ["my-static-lib-defaults"],
    compile_multilib: "both",
    multilib: {
        lib32: {
            srcs: ["prebuilts/static-lib/lib/my_static_lib.a"],
        },
        lib64: {
            srcs: ["prebuilts/static-lib/lib64/my_static_lib.a"],
        },
    },
}

For example use it from system.core/debuggerd.

// Core implementation, linked into libdebuggerd_handler and the dynamic 
linker.
cc_library_static {
    name: "libdebuggerd_handler_core",
    defaults: ["debuggerd_defaults"],
    srcs: ["handler/debuggerd_handler.cpp"],

    whole_static_libs: [
        "libc_logging",
        "libdebuggerd",
        "my_static_lib",
    ],
    include_dirs: ["vendor/lepe/my_static_lib/include"],
    export_include_dirs: ["include"],
}


Build log:

FAILED: 
out/soong/.intermediates/system/core/debuggerd/crasher/static_crasher/android_arm64_armv8-a_core/static_crasher64
 

prebuilts/clang/host/linux-x86/clang-3859424/bin/clang++ 
out/soong/.intermediates/bionic/libc/crtbegin_static/android_arm64_armv8-a_core/crtbegin_static.o
 
@out/soong/.intermediates/system/core/debuggerd/crasher/static_crasher/android_arm64_armv8-a_core/static_crasher64.rsp
 
out/soong/.intermediates/system/core/debuggerd/libdebuggerd_handler/android_arm64_armv8-a_static_core/libdebuggerd_handler.a
 
out/soong/.intermediates/system/core/base/libbase/android_arm64_armv8-a_static_core/libbase.a
 
out/soong/.intermediates/system/core/liblog/liblog/android_arm64_armv8-a_static_core/liblog.a
 
out/soong/.intermediates/bionic/libc/seccomp/libseccomp_policy/android_arm64_armv8-a_static_core/libseccomp_policy.a
 
out/soong/.intermediates/external/libcxx/libc++_static/android_arm64_armv8-a_static_core/libc++_static.a
 
out/soong/.intermediates/bionic/libm/libm/android_arm64_armv8-a_static_core/libm.a
 
out/soong/.intermediates/bionic/libc/libc/android_arm64_armv8-a_static_core/libc.a
 
out/soong/.intermediates/bionic/libdl/libdl/android_arm64_armv8-a_static_core/libdl.a
 
-Wl,--start-group 
out/soong/.intermediates/bionic/libc/libc/android_arm64_armv8-a_static_core/libc.a
 
out/soong/.intermediates/external/compiler-rt/libcompiler_rt-extras/android_arm64_armv8-a_static_core/libcompiler_rt-extras.a
 
out/soong/.intermediates/build/soong/libatomic/android_arm64_armv8-a_static_core/libatomic.a
 
out/soong/.intermediates/build/soong/libgcc/android_arm64_armv8-a_static_core/libgcc.a
 
-Wl,--end-group 
out/soong/.intermediates/bionic/libc/crtend_android/android_arm64_armv8-a_core/obj/bionic/libc/arch-common/bionic/crtend.o
 
-o 
out/soong/.intermediates/system/core/debuggerd/crasher/static_crasher/android_arm64_armv8-a_core/static_crasher64
 
-target aarch64-linux-android 
-Bprebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin
 
-Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now 
-Wl,--build-id=md5 -Wl,--warn-shared-textrel -Wl,--fatal-warnings 
-Wl,-maarch64linux -Wl,--hash-style=gnu -Wl,--fix-cortex-a53-843419 
-fuse-ld=gold -Wl,--icf=safe -Wl,--no-undefined-version  -static -nostdlib 
-Bstatic -Wl,--gc-sections
system/core/debuggerd/handler/debuggerd_handler.cpp:376: error: undefined 
reference to 'MY_STATIC_LIB::do_something(void)'
clang.real: error: linker command failed with exit code 1 (use -v to see 
invocation)

my_static_lib.a is not included when compiling. I had to replace it with 
cc_library_static 
and add the source files.

Is not cc_prebuilt_library_static supported?

/Michael

-- 
-- 
You received this message because you are subscribed to the "Android Building" 
mailing list.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-building?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"Android Building" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to