Age | Commit message (Collapse) | Author |
|
-Werror is generally suppressed in Bison-generated C/C++ code (as in all other
generated code) to silence warnings from the Bison skeleton code. And the Clang
plugins suppress warnings in generated WORKDIR code based on the presumed source
location (i.e., taking #line directives into account). So introduce a new
PLUGIN_WARNINGS_AS_ERRORS mode where warnings from Clang plugins are reported as
errors even if -Werror is suppressed. That way, any warnings in the Bison
skeleton code still do not lead to compilation errors, while (at least plugin-
emitted) warnings in the genuine source code do.
Unfortunately this cannot also be enabled for Flex source code, as at least
Flex 2.5.39 generates poor code that does not properly prefix all skeleton code
with appropriate #line directives, so that some skeleton code would be mistaken
for genunie source code, and compilation would fail due to errors.
Also, %glr-parser Bison input appears to generate no #line directives at all (at
least with Bison 3.0.4), so all of connectivity/source/parse/sqlbison.y is
considered generated code and plugin warnings are still suppressed throughout.
Change-Id: Id746e81cbfa5f77628b0a34c7b82780948e7db08
|
|
Change-Id: I717d3289d63787cd8148d480783092868a60873b
|
|
Change-Id: I59af9f5a9d0d3e189280f98bb18e522dc9ebf2fb
|
|
Compilation of the link target's source files does not require the
external project to be built, just unpacked, unless the project
generates some needed headers during configure/build.
Change-Id: I2c9947cf13ce86878d2649829052551fc54f3883
|
|
- improvements to the plugin to find more method calls
- improvements to python script to remove more false+
- fix the FORCE_COMPILE_ALL build flag to include code in
the $WORKDIR
Change-Id: I4d6015dcb9b9d60c26f0bcee8abad807177a7836
Reviewed-on: https://gerrit.libreoffice.org/19064
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I5d983fee8d5cd313fbd0d6ece800fa8b80d81b35
|
|
COMPILER_PLUGIN_TOOL has two effects:
1) It makes LinkTarget aware that no object code will be generated by
the compiler (as the compiler is just a tool, not a real compiler), so
e.g. it's expected that no dependency output will be generated.
2) It puts some of the clang plugins into rewriter mode.
When using some external compiler tool (like a wrapper around
clang-rename), then 1) is wanted, but not 2), i.e. getting rid of the
dependency generation part is wanted, but none of the rewriter plugins
should be activated. So add COMPILER_EXTERNAL_TOOL that does 1) without
2).
Change-Id: I83c21da5763a62d654f93c574d89573cdc7c2138
|
|
We are lucky, saxparser(expwrap) is only needed to build localedata* libs
which are only runtime dependencies, and can be built *after* libmerged.
So, simplify and move runtime deps to CppunitTest.
This reverts commits 59cea45ec247df1acb691308c940ff97673e4c48
and partially 5e45637568ceefee21fe329a5254881963fecd7a
Change-Id: I1a1fb4a48fd1a22a9b3a48f0eb0f123649c113b0
|
|
as those are fake, just textfiles with dll extension that signtool
doesn't like.
Also made the text more descriptive "invalid" is ambiguous,
"invalid - merged lib" states the reason why the file is a dummy.
Change-Id: I31801fd0c3aa593549fac5e6275189e18bbc0010
Reviewed-on: https://gerrit.libreoffice.org/15444
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
|
|
Change-Id: I7566dcf21aae6b800adb58d8c94e350bb0da720c
|
|
Change-Id: Ia6395282916011d75a4fa01aa12e96d866621411
|
|
Change-Id: Iaa65658aed6bb4abb20a4d95dc9c6caf7c1c764b
|
|
...to harmonize the mechanisms to not define LIBO_INTERNAL_ONLY for extension
code and CppunitTest_odk_checkapi. (It also needs to revert any -Wundef, as the
config_host/config_*.h files will not be included, so the HAVE_* macros will be
undefined.)
This obsoletes the need for RTL_DISABLE_FAST_STRING.
Change-Id: If5eacba80c349efb90762aade8f2ea6d2db7e314
|
|
Only gb_Library_use_libraries stays because I think it's a good idea to see
dependent libraries (potential candidates for merging) and hopefully the
list does not change often anyway.
This commit extends b6be3d3db3ffbc4c1a4528a8dc17aa95084e12ca
Change-Id: I2682456f53cb2e8d7ea63eae15f8979a3c828401
|
|
Instead, automatically get the externals when parsing other makefiles.
This commit fixes the build and hopefully avoids problems in future
because people didn't know they had to add externals for libmerged too.
Similar should be done for other functions like add_libs...
Change-Id: I5aea4c43f4b6838092ada81c310ef1100f241108
|
|
Change-Id: I7974ee3119e0959cec09eefd5d5e6dcf87e9bd51
|
|
Change-Id: I7b028ff3af6c5cd6c48b4cf6095a16b57745db8c
|
|
Change-Id: I1ab4e23b0539f8d39974787f226e57a21f96e959
Reviewed-on: https://gerrit.libreoffice.org/12164
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
to be used by odk/ checkapi test
Change-Id: I6bbb508cc6950a63218e8e4f3364306c7c79b087
|
|
Change-Id: Ia5ccf924979fc3c72ce585af46a7443733be2ad3
|
|
The LinkTarget command builds the LinkTarget's dep-file as well as an
optimization so the next make does not restart; in this case the
dep-file is not the target so it will not be deleted by make in case the
build is interrupted, and the next make can choke on the partially
written .d file.
Change-Id: I13b1884f1a974b7ce10b00e1df1d0f30222f4790
|
|
Change-Id: I835bd56123acfbfb53e0d3d86e5d66b929b3181f
|
|
Change-Id: I6c186ba7ca27166a272327bcfe6a94c391c3514f
|
|
Change-Id: Ib3c5d8f3921801f143447d8e01463905d80ac319
|
|
Change-Id: If469348f2385ef8009cf5a33f66f22d4a0e65070
|
|
There is still libsvxlo.so <- libmergedlo.so dependency dropped,
but that does not break the build and I can't find the source.
Change-Id: I151375cad5d7365c309d9403810750b6cd2c5efb
|
|
... otherwise it will get inherited from Executables to StaticLibraries
and then mt.exe will be unhappy and complain.
Change-Id: Ic9cc32ea3d0fb5d1fe91c1e9efa354fdf30c8264
|
|
Change-Id: If1d0d5294af87f2b780deadb21d12a6ee90dead6
|
|
Can actually error out early in some cases of partial build with missing
deps from other modules; probably better than trying to build
(Static)Library with bogus vars.
Change-Id: I4e2cbd42d3c84b9bc87607d263f3d80ba7914302
|
|
Since commit 8b5a984d45005d3df1c89eae897d6e04612625d8 it is no longer
the case that objects get build only via a dependency from
Linktarget's dep_target, relying on the variables set on dep_target;
now objects only get built via dependency from LinkTarget itself.
So there is no need to set these variables on dep_target any more.
Change-Id: Id0a831342ae6cfcff3bebe7010ece923f0262703
|
|
It is not obvious to me why that was ever needed.
Change-Id: I3df679b41f0685ab288294fa3fadfede093f6f69
|
|
... since no external link targets not with gbuild should be used via
gb_LinkTarget_use_library/static_library.
Change-Id: I1c3188dbbe2eaa2f5acfb8944a79ad3b67a95998
|
|
Change-Id: Icc07e06e0ea7a7e5094d758a9aba0415449f706f
|
|
... it is an abbreviation of "Solar Version".
Since nobody can remember that:
remove OUTDIR OUTDIR_FOR_BUILD SOLARVER SOLARVERSION solarpath
and any mention thereof.
Change-Id: Idb3031c4f25a76ac05b22ec67e3ca3e1e8e512ad
Reviewed-on: https://gerrit.libreoffice.org/6515
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
|
..and create gb_BUILD_HELPER_LIBS in instdir, so that they are found
when gb_BUILD_HELPER_TOOLS link against them.
Altough it's ugly - we don't want them in instdir otherwise.
Change-Id: Ia946eceeaf7eada0c3b42379e95af9bdbf52957f
|
|
... for --enable-selective-debuginfo, use the right argument for that.
Change-Id: I34bc1f473e02d8f7038478afadc8de24780ae88a
|
|
- StaticLibrary and CppunitTest have all files in one directory
- Executable may have the executable itself in a different one
- Library may have files in up to 3 directories
... so create 2 directories (which may be the same) in
gb_LinkTarget_LinkTarget and a 3rd one in gb_Library__Library_impl.
This allows to get rid of the "mkdir LinkTarget/pdb/..." thing in
the header target rule, which was always ugly since it did not
get rebuilt when deleting it (or whole LinkTarget dir) from workdir.
Oh and the pattern dependency causes trouble:
$(WORKDIR)/LinkTarget/% : $(call gb_LinkTarget_get_headers_target,%)
... for files in ExtensionLibrary; it would be possible to put
ExtensionLibrary somewhere else of course but actually this pattern
dependency is unnecessary since we get the same thing whenever any
object is added to a link target and there shouldn't be link targets
without objects anyway.
Furthermore directory dependencies must be on the headers_target because
MSVC will write a PDB file when compiling objects.
Change-Id: Icd92e8768d6aafb094a4144f90165aa5ff233647
|
|
LIBS is apparently used by autotools build system and passed to
configure at least in mythes and hunspell, where the LinkTarget variable
could cause problems by inheritance.
Change-Id: Ia267dd0a24c96914208869d7b47552b44a701735
|
|
... because this is the time of day when one thinks, wouldn't life
simply be more awesome if there were a SHLXTHDL layer?
Change-Id: I02df8a8bf9d7d641ea060e2cfef6643fe2202353
|
|
Refactor everything to find and link libraries directly in INSTDIR.
- add gb_LinkTarget_get_linksearchpath_for_layer, and use it to set up
-L paths for T_LDFLAGS in such a way that only allowed libraries
can be linked against; i.e. it's not possible to link URE
linktargets against OOO or not-installed libraries
- gb_Library_get_target is now same as the gb_LinkTarget_get_target
(TODO: this needs cleanup)
- since a pattern rule won't work for linking libraries in INSTDIR,
add a separate per-file rule for every INSTDIR lib
- pattern rule can't find link target in the clean target any more
so add a LINKTARGET variable
- disable gb_Library_add_auxtarget, no auxtargets need to be copied
- tweak the call to gb_Library_Library_platform to pass in a path
in sdk/lib for the versioned URE libs
- fix the Library clean target
- add LAYER parameter to gb_LinkTarget_LinkTarget
- adjust platform link commands
- MSVC link command now uses explicit -manifestfile and -pdb
parameters to keep misc. files out of INSTDIR
- remove gb_Helper_OUTDIR_FOR_BUILDLIBDIR
- adjust Extension, CppunitTest, JunitTest, PythonTest, Gallery,
various CustomTargets to search INSTDIR
- remove SDK library symlinks and import libs from odk/Package_lib
- on Mac OS X, put .dylib symlinks into sdk/lib even though those
are not packaged and would be created by the SDK configury;
we need these to be somewhere for linking anyway
- add a (unfortunately cyclic) dependency on Package ure_install to sal
Change-Id: I70d88742f8c8232ad7b9521416275c67b64fe6cf
|
|
Change-Id: I625291ea86c1c3caf7fa5400e380defa6d0d0bc8
|
|
If there is a SOVERSION then the versioned library is a real file and
the unversioned one just a symlink; better to have the real file be the
target.
- add gb_Library_UDK_MAJORVER variable for SOVERSION
- remove version parameter of gb_Library_set_soversion_script;
instead hardcode the SOVERSION since it must be included in the
file name in gb_Library_FILENAMES anyway
- store the unversioned symlink in the ILIBTARGET variable
- via new gb_Library_get_workdir_target_versionlink function
- removed gb_Helper_install call that resulted in both versioned
and unversioned libs in instdir
Change-Id: I2c6f1698f0e39fdb2c07964d43ed9485cbca0b30
|
|
... instead of the import lib. If the DLL is an auxtarget, it cannot
be deleted without annoying errors, and we want to be able to rm -r
$(INSTIDR) and build incrementally from there.
- replace DLLTARGET -> ILIBTARGET
- replace gb_Library_DLLFILENAMES -> gb_Library_FILENAMES
- replace gb_Library_FILENAMES -> gb_Library_ILIBFILENAMES
- replace gb_Library_get_dllname -> gb_Library_get_filename
- replace gb_Library_get_filename -> gb_Library_get_ilibfilename
- replace gb_CppunitTest_get_libfilename -> gb_CppunitTest_get_ilibfilename
- replace gb_LinkTarget_set_dlltarget -> gb_LinkTarget_set_ilibtarget
Change-Id: I92a2f061a653b9b5941f3232d729987b1317b6f8
|
|
If the link targets are not in workdir then 2 different aspects are
needed: the previously used location relative to workdir's LinkTarget
dir (for all the misc. related targets), and the full target file.
Adding an additional parameter to all LinkTarget functions would be
quite annoying, especially since it would need passing through all the
gb_LinkTarget__use functions in RepositoryExternal.mk; instead encode
both into the linktarget itself, and modify the functions
gb_LinkTarget_get_target to return the target and all others to return
the workdir linktargetname.
- replace gb_Library_get_linktargetname with either:
* gb_Library__get_workdir_linktargetname
* gb_Library__get_linktarget_target
* gb_Library_get_linktarget
- similar for gb_Executable_get_linktargetname
- similar for gb_StaticLibrary_get_linktargetname
- similar for gb_CppunitTest__get_linktargetname
- add calls to gb_LinkTarget__get_workdir_linktargetname where needed
Change-Id: I917ad7957fee50ec2517a9f9cc9ff452c8d97d1b
|
|
Change-Id: Ib22df5811ab07e93a9d7e987b66b12506265bf96
|
|
Change-Id: Ic0a2fd3c1adeb55ec27f6a2eb4709be598120fba
|
|
Change-Id: Idce74274169970bdd35869578cc0046fe502e614
|
|
...via unoidl-write and the new source-format registry provicers, instead of
using idlc to produce .urd files, regmerge to merge them into legacy .rdb files,
and unoidl-write to translate those to new UNOIDL .rdb files.
gb_UnoApi and gb_InternalUnoApi ctors take an additional argument now that is
the path (below $(SRCDIR)) of the source-format registry from which to obtain
UNOIDL entity definitions. It can either be an .idl file (in which case no
*_add_idlfiles calls should be used and the resulting .rdb will contain all the
entities from that one .idl file; used in some tests to conveniently define all
test-specific entities in a single file) or a directory denoting the root of an
.idl file tree (in which case *_add_idlfiles calls specify the entites to
include in the resulting .idl file). (In the first case, the generated .rdb
file needs to depend on that single .idl file, so the gb_UnoApiTarget ctor
contains a dependency on that additional argument, which happens, as a side
effect, to trigger rebuilds in the second, tree-based case when addition/removal
of .idl files in the tree causes updates of directory time-stamps.)
UnoApiPartTarget and all the dependency-tracking logic based on .urd files in
solenv/gbuild/UnoApiTarget.mk is gone. Generation of an .rdb file now depends
on its source registry (see previous paragraph) and all the .idl files specified
with *_add_idlfiles (in the second, tree-based case above).
A consequence of that is that gb_UnoApi_add_idlfile, -_nohdl, and -_noheader all
do the same now. I left them in for now anyway, maybe they become relevant
again when the use of cppumaker is changed to read directly from a source-format
registry instead of going via a .rdb registry.
The legacy tools idlc, regcompare, regmerge, and regview are still contained in
the URE or SDK for now.
cb344cd59e1ddb7c6db66dbd9263b4755969d4ba "Revert 'Looks like idlc resolved
typedefs inside sequence<...>'" is re-reverted as now "the current offapi.rdb is
generated via unoidl-write instead of idlc."
Change-Id: I3d9d92f17326bc9f49dd934c85aab6a17951d06d
|
|
...for checking compatibility with the reference rdbs. unoidl-check is no
longer based on the legacy registry format, but can process all the various new
UNOIDL registry formats. regcompare is still included in the SDK for now.
(gb_UnoApi[Target]_set_reference_rdbfile now takes a non-empty sequence of rdb
files, any necessary dependencies of the final rdf file preceding it just like
it is required on the unoidl-check command line. Also, executing the
unoidl-check now properly depends on those rdb files.)
TODO: unoidl-check is too conservative for now and flags some changes as
incompatible that are not.
Change-Id: I92e4c69403c5e3fcb31707c98c65a2f509592dd4
|
|
...that can also generate an .rdb containing a specific set of entities,
intended to replace idlc (when reading directly from .idl source registries).
Change-Id: I630ce4640828979d7952dc24dbbef80a42a8140a
|