Hi All,
I want to know how to avoid building of shared library in
android and start building static library in place
.actually My ppc
Traget M/c doesnt support shared libraries.so I want bypass it and
build a static lib .can anybody guide me on this? please reply.
Regards,
DJ
but it is not building these static lib,it is simply skipping building of these static libs
and throwing the error as
"no rule to make libc.so needed by sqlite3 " which is nothing but target executable.can you guide me on this?
please replyRegards,
DJ
Hi
yes, your understanding is correct I want to build Android binaries for a platform where shared libraries are not supported by Linux.
so as per your instructions i have changed this "include $(BUILD_SHARED_LIBRARY)" to "include $(BUILD_STATIC_LIBRARY)";
in external/sqlite/dist/Android.mk file for libsqlite module.
also the shared lib it requires that are nothing but
i have changed this
LOCAL_SHARED_LIBRARIES += liblog \
libicuuc \
libicui18nto
LOCAL_STATIC_LIBRARIES += liblog \
libicuuc \
libicui18n
Hi david
I did the same thing as you told i.e changing Android.mk of liblog,libicuuc,libicu18n to build static library.
and include static_library.mk in each of this makfile ,after that my assumption was make should go to template file andshould build static library,but it is hitting the error as
make: *** No rule to make target `out/target/product/generic/obj/lib/libsqlite.so', needed by
`out/target/product/generic/obj/EXECUTABLES/sqlite3_intermediates/LINKED/sqlite3'. Stop.
i.e it is skipping these libraries and directly jumping to build sqlite3 as device command line tool.
Also i dont want make to build any of the bionic library because i have my own libc.a,libstdc++.a and libdl.a libraries i
want to give path of these sys libraries while building any of the static library.
I am confused where to give the path for these libraries now?
also for libsqlite it is checking for liblog.so and in turn for liblog.so it is checking for libc.so ,this i come to know byobserving log file,but nowhere in makefile of liblog.so it is stating libc.so,so that i can prevent building of this
library,and give the path of my archives.
also for shared libraries they have written dynamic_binary.mk to collect all the dependencies but for static libraries no
file to collect the dependencies.
can you guide me on this?
Regards,
DJ.
Hi david
I did the same thing as you told i.e changing Android.mk of liblog,libicuuc,libicu18n to build static library.
and include static_library.mk in each of this makfile ,after that my assumption was make should go to template file andshould build static library,but it is hitting the error as
make: *** No rule to make target `out/target/product/generic/obj/lib/libsqlite.so', needed by
`out/target/product/generic/obj/EXECUTABLES/sqlite3_intermediates/LINKED/sqlite3'. Stop.
i.e it is skipping these libraries and directly jumping to build sqlite3 as device command line tool.
Also i dont want make to build any of the bionic library because i have my own libc.a,libstdc++.a and libdl.a libraries i
want to give path of these sys libraries while building any of the static library.
I am confused where to give the path for these libraries now?