Hullo List,
In tracking down another issue, I've run across a number of object files
that we appear to build but not use. Example:
g++ -o sal/unxlngx6/obj/bootstrap.o [...]
A few lines later in the build, we build this, with a few extra g++
arguments. This is the version that actually gets used elsewhere in the
build:
g++ -o sal/unxlngx6/slo/bootstrap.o [...] \
-fpic \
-DSHAREDLIB \
-D_DLL_
Question: what's the point of building the first one (if any)?
If it's not supposed to be built, I'll leave "fixing" the build system
to some other interested party as I'm not particularly keen on diving in
when I'm thick into another problem. For reference, based on my
build.log and the attached (inefficient) shell script, I believe this
list of 112 object files are all good _candidates_ for the "built but
unused" category
Thanks,
Kevin
# This list of files suggests *candidates* of unnecessary compilation. I
# don't know for sure that they aren't used after compilation, but I suspect
# so given my build.log and this rather innefficient shell/perl script combo.
$ cat get_files_of_interest.pl
#!/usr/bin/env perl
use strict;
use warnings;
while ( <STDIN> ) { # store each input line into $_
--if ( s/.* -o (\S+).*/$1/ ) { # if a substition made, then
-->--# $_ was a compile line with "-o ...." in it. i.e.
-->--# we're looking for the object file lines
-->--# Now, only print the line if the output of above was
-->--# at least two directories deep. i.e. if it at least
-->--# has a form like dir/dir/file.so or dir/dir/file.o
-->--# this will not match lines like "-o dir/file.o" or
-->--# "-o file.o"
-->--print if s|.*/(\w+/\w+/\w+\.s?o)|$1|;
--}
}
$ for i in $(./get_files_of_interest.pl < build.log | sort -u); do
COUNT=$(\grep -c "$i" build.log)
[[ "1" == "$COUNT" ]] && find . -path "*/$i"
done | sort > unused_object_files.txt
Begin files:
========================================
./bean/unxlngx6/slo/officebean_version.o
./bridges/unxlngx6/slo/java_uno_version.o
./connectivity/unxlngx6/slo/hsqldb_version.o
./connectivity/unxlngx6/slo/mozab_dflt_version.o
./connectivity/unxlngx6/slo/mozabdrv_dflt_version.o
./desktop/unxlngx6/obj/copyright_ascii_ooo.o
./desktop/unxlngx6/obj/copyright_ascii_sun.o
./desktop/unxlngx6/slo/dp_activepackages.o
./desktop/unxlngx6/slo/dp_commandenvironments.o
./desktop/unxlngx6/slo/dp_configurationbackenddb.o
./desktop/unxlngx6/slo/dp_configuration.o
./desktop/unxlngx6/slo/dp_executablebackenddb.o
./desktop/unxlngx6/slo/dp_executable.o
./desktop/unxlngx6/slo/dp_extbackenddb.o
./desktop/unxlngx6/slo/dp_extensionmanager.o
./desktop/unxlngx6/slo/dp_informationprovider.o
./desktop/unxlngx6/slo/dp_managerfac.o
./desktop/unxlngx6/slo/dp_manager.o
./desktop/unxlngx6/slo/dp_package.o
./desktop/unxlngx6/slo/dp_properties.o
./javaunohelper/unxlngx6/slo/juh_version.o
./javaunohelper/unxlngx6/slo/juhx_version.o
./jurt/unxlngx6/slo/jpipe_version.o
./sal/unxlngx6/obj/alloc_arena.o
./sal/unxlngx6/obj/alloc_cache.o
./sal/unxlngx6/obj/alloc_fini.o
./sal/unxlngx6/obj/alloc_global.o
./sal/unxlngx6/obj/bootstrap.o
./sal/unxlngx6/obj/byteseq.o
./sal/unxlngx6/obj/cipher.o
./sal/unxlngx6/obj/cmdargs.o
./sal/unxlngx6/obj/conditn.o
./sal/unxlngx6/obj/context.o
./sal/unxlngx6/obj/convertbig5hkscs.o
./sal/unxlngx6/obj/converter.o
./sal/unxlngx6/obj/converteuctw.o
./sal/unxlngx6/obj/convertgb18030.o
./sal/unxlngx6/obj/convertiso2022cn.o
./sal/unxlngx6/obj/convertiso2022jp.o
./sal/unxlngx6/obj/convertiso2022kr.o
./sal/unxlngx6/obj/convertsinglebytetobmpunicode.o
./sal/unxlngx6/obj/crc.o
./sal/unxlngx6/obj/debugbase.o
./sal/unxlngx6/obj/diagnose.o
./sal/unxlngx6/obj/digest.o
./sal/unxlngx6/obj/file_error_transl.o
./sal/unxlngx6/obj/file_misc.o
./sal/unxlngx6/obj/file_path_helper.o
./sal/unxlngx6/obj/filepath.o
./sal/unxlngx6/obj/file_stat.o
./sal/unxlngx6/obj/file_url.o
./sal/unxlngx6/obj/file_volume.o
./sal/unxlngx6/obj/hash.o
./sal/unxlngx6/obj/interlck.o
./sal/unxlngx6/obj/loadmodulerelative.o
./sal/unxlngx6/obj/locale.o
./sal/unxlngx6/obj/logfile.o
./sal/unxlngx6/obj/math.o
./sal/unxlngx6/obj/memory.o
./sal/unxlngx6/obj/module.o
./sal/unxlngx6/obj/mutex.o
./sal/unxlngx6/obj/nlsupport.o
./sal/unxlngx6/obj/pipe.o
./sal/unxlngx6/obj/printtrace.o
./sal/unxlngx6/obj/process_impl.o
./sal/unxlngx6/obj/process.o
./sal/unxlngx6/obj/profile.o
./sal/unxlngx6/obj/random.o
./sal/unxlngx6/obj/readwrite_helper.o
./sal/unxlngx6/obj/rtl_process.o
./sal/unxlngx6/obj/salinit.o
./sal/unxlngx6/obj/security.o
./sal/unxlngx6/obj/semaphor.o
./sal/unxlngx6/obj/signal.o
./sal/unxlngx6/obj/socket.o
./sal/unxlngx6/obj/strbuf.o
./sal/unxlngx6/obj/strimp.o
./sal/unxlngx6/obj/string.o
./sal/unxlngx6/obj/system.o
./sal/unxlngx6/obj/tables.o
./sal/unxlngx6/obj/tcvtbyte.o
./sal/unxlngx6/obj/tcvtmb.o
./sal/unxlngx6/obj/tcvtutf7.o
./sal/unxlngx6/obj/tcvtutf8.o
./sal/unxlngx6/obj/tempfile.o
./sal/unxlngx6/obj/tenchelp.o
./sal/unxlngx6/obj/tencinfo.o
./sal/unxlngx6/obj/textcvt.o
./sal/unxlngx6/obj/textenc.o
./sal/unxlngx6/obj/thread.o
./sal/unxlngx6/obj/time.o
./sal/unxlngx6/obj/tres.o
./sal/unxlngx6/obj/unichars.o
./sal/unxlngx6/obj/unload.o
./sal/unxlngx6/obj/uri.o
./sal/unxlngx6/obj/ustrbuf.o
./sal/unxlngx6/obj/ustring.o
./sal/unxlngx6/obj/utility.o
./sal/unxlngx6/obj/util.o
./sal/unxlngx6/obj/uuid.o
./sal/unxlngx6/obj/uunxapi.o
./setup_native/unxlngx6/slo/ulfconv.o
./soltools/unxlngx6/obj/gen_info.o
./soltools/unxlngx6/obj/gi_list.o
./soltools/unxlngx6/obj/gi_parse.o
./soltools/unxlngx6/obj/simstr.o
./soltools/unxlngx6/obj/st_gilrw.o
./soltools/unxlngx6/slo/gen_info.o
./soltools/unxlngx6/slo/gi_list.o
./soltools/unxlngx6/slo/gi_parse.o
./soltools/unxlngx6/slo/simstr.o
./soltools/unxlngx6/slo/st_gilrw.o
Context
- [Libreoffice] unnecessary build of obj/bootstrap.o? · Kevin Hunter
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.