summaryrefslogtreecommitdiff
path: root/solenv/gbuild
AgeCommit message (Collapse)Author
2012-05-23make gbuild deliver more robust in when using HARDLINKBjoern Michaelsen
2012-05-21SdiTarget.mk: need explicit rule to get object files rebuiltMichael Stahl
Without this, when changing sdi file, the objects that include the generated header are only rebuilt at the second make invocation. Change-Id: Idd52a12dd162ec780da3a3b9f24d3bdd9b408a33
2012-05-20make adding a bunch of files a bit easierDavid Tardon
Change-Id: I97e6d26a33e18f0303742c930478a8ebac13a7b0
2012-05-17DragonFly: use -O2 as default CFLAGSFrançois Tigeot
Change-Id: Ifb9f4627c15d5f1410af2b87bf2e2f39c945671c
2012-05-17fix spurious delivery of rdb files (better way)David Tardon
The only task of the UnoApi class is to deliver a RDB file and all the stuff related to it (i.e., the IDL files and the generated headers). For that purpose, order-only dependecies are sufficient. Change-Id: Ibe0a58d1e8ceaad62ff71773e372fb8dfb921fbd
2012-05-17Revert "fix spurious re-delivery of RDB files:"David Tardon
This reverts commit 07c0b800d9d70857882238204820f75b8dc98b26.
2012-05-17remove duplicated dependencyDavid Tardon
Change-Id: I4cfe3ce7b7dab5d3fb2d3ddfa28f0fa263593667
2012-05-16gbuild: fix build executable dependencies:Michael Stahl
Rules that invoke generated executables should have dependencies on those executables.
2012-05-16further spurious dep-file rebuild fixes:Michael Stahl
With the way dep-file generation was changed for LinkTargets in 8b5a984d45005d3df1c89eae897d6e04612625d8, it is necessary to change all other dep-file generation the same way, because the LinkTarget dep-files are outdated wrt. the object dep-files after an initial make run, and hence if any other dep-file depends in any way (even build-order) on a generated Executable, say by depending on the corresponding target file, then the PHONY entries in the outdated LinkTarget dep-files for the executable and its linked libraries cause all these objects to be recompiled. It is not a problem that there is a rule with the dep-file as target, and another rule for the corresponding actual target that writes the dep-file as a side-effect, without dependecy between the targets: because make does processing in 2 phases, first building all included makefiles, second all other targets, it is guaranteed that the 2 commands don't race to overwrite the dep-file because (when there is no dependency between them) they will not be executed in the same phase. The only problem here is that this will probably make IDL processing a lot slower on Windows, writing all those dummy dep-files.
2012-05-16fix LinkTarget dep-target dependencies:Michael Stahl
The LinkTarget dep-target depends on the LinkTarget headers target, which appears unnecessary and harmful because since commit 8b5a984d45005d3df1c89eae897d6e04612625d8 the initial dep files always contain PHONY deps anyway; also the PHONY deps cause spurious re-builds here because e.g. the tools library depends on a tools package that depends on a tools custom target that depends on some executable that depends on libuno_sal that depends on its objects which depend on this PHONY thing so all that stuff is spuriously re-compiled in make subsequentcheck after a build from scratch, breaking tests because being subsequent they don't expect libraries to change under them. Also, link target shouldn't depend on its dep target.
2012-05-16fix spurious re-delivery of RDB files:Michael Stahl
The OUTDIR RDB depends on Packages for IDL and headers, the latter of which depends on the WORKDIR RDB, hence preserving timestamps here leads to spurious re-delivery because the OUTDIR RDB always has older timestamp than the headers Package.
2012-05-15Explicitly initialize target-specific variablesStephan Bergmann
...so they do not erroneously inherit values from other targets. Change-Id: I6c84cecad4ea858b77d5d83eb93938c397aed076
2012-05-14TDE integrationNorbert Thiebaud
Change-Id: I6f468005c8d8d99d9251a9c4fe4629b98bc4aa5e
2012-05-11TypoStephan Bergmann
Change-Id: Ia7d13e9e91f12a6f98eb51ed7d92ff14a5c8454d
2012-05-11Argh, make the use of -fvisibility=hidden actually happenTor Lillqvist
Move initialisations of gb_CFLAGS and gb_CXXFLAGS earlier, like in unxgcc.mk. Change-Id: I2382edad42f0f52bcbb062ec6930e2cfe12ec8ca
2012-05-10Make visibility tests work as intended on Mac OS XTor Lillqvist
If the tests detect that visibiliy works, then use it also in gbuild. In the old build system, -fvisibility=hidden was already being used on Mac OS X if HAVE_GCC_VISIBILITY_FEATURE had been detected. In configure.in, let's not hardcode the -shared, -fpic and -Wl,-z,defs options or the .so suffix used in visibility-related tests. Factor them out and use platform-specific options. Done just for Mac OS X so far. Using the Linux options for Mac OS X caused visibility tests to silently and misleadingly fail. Yes, it is silly to now define some platform-specific options in three places: configure.in, solenv/inc/* for the old build system, and solenv/gbuild/platform/* for gbuild. At least with my Xcode3 installation, I need to pass an -isysroot flag pointing to the SDK when running $CC -E, otherwise headers weren't found. This was then misinterpreted as the visibility tests failing. Pass -DHAVE_GCC_VISIBILITY_FEATURE to the compiler if configure detected visibility working. In that case also pass -fvisibility=hidden. HAVE_GCC_VISIBILITY_FEATURE being defined is supposed to mean that the -fvisibility=hidden option is used, I think. Pass also -fvisibility-inlines-hidden if that was detected to work. Change-Id: I I I58d566fcb07584246e91f45e683ce9b31208edba
2012-05-09fix gb_Helper_abbreviate_dirs_native $ quotingMichael Stahl
2012-05-09Add usp10 here, tooTor Lillqvist
Change-Id: Ice9bf5cbd894950ef3db5fb32778c83bc4ab5baa
2012-05-09gbuild: remove gb_Helper_abbreviate_dirs_nativeMatúš Kukan
Change-Id: I0a3ad6553692fc21eaf96cf35e9c343b4d716c21
2012-05-09gbuild: use mixed paths on cygwinMatúš Kukan
make 3.82 understands mixed paths, so use them. This allows us to get rid of evil in BuildDirs.mk. Hopefully, life will be simpler now. Change-Id: I I I641f28c6af1948963f7004f8071af62e21caabb3
2012-05-08No need to load the Uniscribe DLL dynamically; just use directlyTor Lillqvist
Change-Id: I706593f0017d440b486f698d1158f070df4e8b2e
2012-05-08gbuild: tie optimization into selective --enable-debug:Michael Stahl
Let --enable-debug determine whether optimization should be disabled, which works also for debug=t due to the setup in gbuild.mk. Also clean up uses of gb_COMPILEROPTFLAGS: this is now always set to optimization settings, and gb_COMPILERNOOPTFLAGS used in debug case, which should not make a difference because the only actual difference was that on MSVC the debug OPTFLAGS were empty, but -Od is documented as the default for this.
2012-05-08dis-entangle --enable-symbols and --enable-debug:Michael Stahl
OOo used to use debug level this way: 0 is default for product build 1 for --enable-dbgutil 2 for environment variable debug=t, regardless of dbgutil setting in LO these have now morphed into: 0 is default for product build 1 for environment variable debug=t 2 for --enable-dbgutil (at some intermediate stage in the past) 1 for --enable-dbgutil (today) This has caused a lot of confusion and some things were not converted properly, including a check in LinkTarget.mk. Developers should use --enable-debug to get useful information, including full debug info and assertions. --enable-symbols is not intended for developers, but for people who need their builds to be able to produce useful stack traces; --enable-symbols is for example set unconditionally in the Fedora RPM spec, and for this purpose disabling of inlining is not wanted. It is unlikely that somebody wants symbols for only part of the build, and consequently a different mechanism is used to set the corresponding flags: they are set into global gb_LinkTarget_C{,XX}FLAGS. So move the selective symbol feature back to --enable-debug. (this substantially reverts db8df57acd601ed084bd0122683e1bd066a4f143)
2012-05-08gbuild: add CFLAGS to generated C objects as wellMichael Stahl
(was broken by ebed42c38ae91147633c47873307e07984bc62c1)
2012-05-08gbuild: selective symbols for Objective C(++)Michael Stahl
2012-05-08gbuild: replace gb_LinkTarget_set_objcflags with add_objcflagsMichael Stahl
2012-05-08gbuild: fix CFLAGS/CXXFLAGS:Michael Stahl
GNU coding standards say that user should be able to override the build system's default flags with CFLAGS/CXXFLAGS environment vars; also these ended up twice on the command line due to historic accident.
2012-05-08gbuild: refactor selective symbols again:Michael Stahl
The previous commit works but results in a ~0.4 second slowdown on tail_build, which is completely unacceptable; seems that at the cost of another ugly global variable in Module.mk we can get the performance back and then some, so refactor this again...
2012-05-08gbuild: refactor the selective symbols supportMichael Stahl
so it doesn't use wildcard but instead the actually registered LinkTargets.
2012-05-06fix subtle flex problems on MacOSDavid Ostrovsky
Change-Id: Id3d8313eabcef926b3ab3c121597f7b8cb5e0124
2012-05-05propmerge is not executable, only a scriptMatúš Kukan
Change-Id: I35c88dc5ffe1b4082d0ef9611dd2c698c0d4217e
2012-05-04do not handle description-* as special caseDavid Tardon
2012-05-04fdo#49136 install description-*.txtDavid Tardon
2012-05-04fix executable path for cross-compilationDavid Tardon
2012-05-04fix executable path for cross-compilationDavid Tardon
2012-05-04fix for cross-compilationDavid Tardon
2012-05-03revert delivery of soffice.bin.manifestDavid Tardon
Okay, I give up. This obviously still does not work on Windows, but it does on MinGW when I try to simulate it. Change-Id: I9f2d7114df0498d5cc3a71431aacc7e49a5a78fd
2012-05-03add --not-as-needed linker option on unxgcc platformDavid Ostrovsky
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>: Ubuntu changed ld to assume --as-needed by default, but there are places in LO that implicitly depend on --no-as-needed, like test_smoketest lib that is an empty wrapper around smoketest lib, or UNO executables having to link against all URE published libs so that LO extensions are guaranteed to find the URE libs. Change-Id: I88fc79766ffb4a4ca8ead05bb9033c686120cf2c
2012-05-02do not announce exec build twiceDavid Tardon
Change-Id: If9c68f2bf423d23a53b2e0fa570c9ba55924b289
2012-05-02make sure manual override on cmdline enables symbolsLuboš Luňák
so that e.g. 'make dbglevel=2' works even if --enable-symbols disabled it for the specific target Change-Id: If2fff3ef8e42c3b35545b5d8101ef87380412cc7
2012-05-02let make know about all files created by LinkTargetDavid Tardon
Change-Id: Id8af5f63b7a249949286ed35d26d8f4e71a52742
2012-05-02help description added for recently introduced gmake LEXFLAGS optionDavid Ostrovsky
Change-Id: Ie94ba4b3a774ab947574c74837ecbc932bb3b621
2012-05-02fdo#49183 link resources to executablesDavid Tardon
Change-Id: I5dd5cec5d4c66a65154d965c8c707f8a585880d6
2012-05-01Wno-error hack is really for MacOSX only...Norbert Thiebaud
This need to be fixed in a more elegant way, by allowing per-add flags for all kind of target... so the hack will be pushed in the 'user' .mk files rather than directly in gbuild Change-Id: I8b1bfd52d86253b1a2da4376702d6b788cad71b9
2012-05-01hack to allow warnings in lexer on MacOSXNorbert Thiebaud
2012-05-01build: cleaning up previously converted idlc moduleDavid Ostrovsky
Change-Id: Ic90495f677dc42c0430492548deaa9f9b10e4d44
2012-04-29Simply just set gb_DEBUG_CFLAGS as we want it here, tooTor Lillqvist
Change-Id: Ib239b00dc938c014dd707da9551aaee291932895
2012-04-29create dep files in an atomic wayBjoern Michaelsen
Change-Id: Ia7766ed57ae8c317e1070db4ed1246855cabd960
2012-04-29build gbuild directly from build.pl and fix libcmis and respect GMAKE_OPTIONSBjoern Michaelsen
2012-04-28more reliable override for enabling symbolsLuboš Luňák