summaryrefslogtreecommitdiff
path: root/solenv/gbuild/platform
AgeCommit message (Collapse)Author
2013-10-07Try again to use -O2 but keep -Oy- this timeTor Lillqvist
Change-Id: Iee396f289df4dc4134c30e6b6b1126d2745c1f6f
2013-10-02Need to list all places we have libs here, tooTor Lillqvist
They are no longer simply in solver. Change-Id: Ibf00854a8a17d97357748caf14e7323e029dfd44
2013-10-01gbuild: fix dependencies in gb_SrsPartTarget__command_depMichael Stahl
Use -MP to output dummy rules for included files so build doesn't break when an included file is removed. Change-Id: Ib230cfa5d5da71c7f5c15af5bdaa5004e6b7a122
2013-09-27gbuild: remove unused gb_CppunitTest_LIBDIRMatúš Kukan
Change-Id: I42ffe7c32d249bdd9cfa03800e78c431df0bb52f
2013-09-27gbuild: remove now unused gb_Library_OUTDIRLOCATIONMatúš Kukan
Change-Id: I696b550b495d1bf6549e3c54a3157d467a7ead8d
2013-09-25Start hacking --enable-canonical-installation-tree-structure back into shapeTor Lillqvist
Had been totaly broken by the recent changes. (Which is fine, it is just an experimental hack anyway, I am not sure whether it will ever be used in anger. Just a pet peeve of mine, I dislike seeing libraries, configuration files, resources etc mixed together in one "program" folder, especially on OS X, where the convention is to have app-specific dylibs and frameworks in "Frameworks", and resource files in "Resources". But this is not any requirement as such; there are apps in the Mac App Store that blatantly "break" this convention.) Basically, replace uses of gb_PROGRAMDIRNAME and gb_Package_PROGRAMDIRNAME with more specific LIBO_FOO_FOLDER, which for normal builds all expand to the same "program" anyway. Change-Id: I16c2b3351caa00e251e229aafbccb8346042d3c1
2013-09-23Duplicate "-Wl,-rpath-link," typoStephan Bergmann
Change-Id: I4d1feb61db753b150ec112579f5c493f9d1c1140
2013-09-23Fixes for cross-compilation on OS X (to iOS)Tor Lillqvist
Introduce SDKDIRNAME as a configury variable and use it instead of the gbuild gb_Package_SDKDIRNAME. Then we can easily construct the SDKDIRNAME_FOR_BUILD variant that is needed to find the specially named SDK in instdir on OS X when cross-compiling. Move the version number section in configure.ac earlier. Change-Id: Iee3db1a50ad4c7a9f91bbc5e0d0b01d76a76f701
2013-09-23gbuild: try to fix linking with default --as-neededMichael Stahl
As reported by Jbfaure, linking npsoplugin library fails on Ubuntu because of unresolved libdl symbols from a StaticLibrary. It turns out that --start-group/--end-group only affects static libraries, so reorder the link command again to put the StaticLibrary first. (regression from f861ae6acdbde8acc9560366d344852391d17b8d) Change-Id: Icd31faace8bf7764fee97cd93c3ecd0caad85947
2013-09-23Try to fix cross-compilationTor Lillqvist
Add more FOO_FOR_BUILD variables and some gb_Foo_for_build functions. Get rid of gb_INSTROOT and gb_DEVINSTALLROOT, just use INSTROOT. Change-Id: Iee531b02d14fae41edb68ad589a5dec829a60255
2013-09-22fdo#69601: quick fix for wrong cli_cppuhelper.dll in instsetMichael Stahl
This needs more investigation to find proper solution but the problem is probably that URE/bin/cli_cppuhelper.dll is not signed by "sn.exe". Change-Id: I318293603be838c41d09791136697de74091d37d
2013-09-22make the PythonTest run on WNTMichael Stahl
- fix the PATH - file url needs to start with file:///X:/ (three slashes, literal :) Change-Id: I0d16d1e946fd06ba5523961c23c3b46872c0c050
2013-09-22gbuild: drop mkdir -p calls from gb_LinkTarget__commandMichael Stahl
... should be obsoleted by previous commit. Change-Id: I378de1465d293a60dc20c545770f029c8f71bd50
2013-09-22gbuild: clean up naming of PDB files for MSVCMichael Stahl
There are 2 of these, one is written to by cl.exe and read by link.exe and the second one written by link.exe. Name the second one as the linktargetname with .pdb appended, no need to substitue 5 different crazy suffixes. Change-Id: I2decad898ed1292b069bdda3124ce6f6c3667108
2013-09-22gbuild: MSVC: ignore LIBS for static librariesMichael Stahl
Not sure if it causes actual problems but all other platforms ignore LIBS on static libraries already when linking. Change-Id: I8a5ff4b2243b625827f82b0f64f007cea7c9d7c5
2013-09-22gbuild: remove static libraries from OUTDIRMichael Stahl
Refactor to find and link static libraries directly in WORKDIR. - gb_StaticLibrary_get_target is now same as the gb_LinkTarget_get_target - fix the StaticLibrary clean target Change-Id: Icf29d32d6487747a2e39d4599ceebccfead04667
2013-09-22gbuild: rename LinkTarget variable LIBSMichael Stahl
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
2013-09-22gbuild: change linking order on ELF platformsMichael Stahl
If there are static libraries in $(LIBS) then things get really annoying if they depend on other static libs that are StaticLibraries, e.g. orcus and boost_system. So reorder this to include $(LIBS) in the --start-group --end-group and hope that doesn't break anything. Hopefully $(LIBS) does not need -Wl$(COMMA)--no-as-needed, that should only be required for $(LINKEDLIBS). Change-Id: Ie15239a0fb7b5295f85941150e2c60912be73bfb
2013-09-22gbuild: remove executables from OUTDIR and WORKDIRMichael Stahl
Call and link executables directly in INSTDIR. - gb_Library_get_target is now same as the gb_LinkTarget_get_target - disable gb_Library_add_auxtarget, no auxtargets need to be copied - adjust paths of all external executables to OUTDIR_FOR_BUILD for now - use lazy assignment instead of := in AllLangResTarget because it's read before Executable - link.exe generates an import library for lots of executables because they export symbols, especially since commit 0ffab9363d527d55b12b9b09d7136ca1c9d171e0 "force 'main' to always be DLLPUBLIC." Change-Id: I3e1ee7425dd430bb83c7cd59e265869a0541b38d
2013-09-22gbuild: add a SHLXTHDL layer for librariesMichael Stahl
... 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
2013-09-22gbuild: remove libraries from OUTDIR and WORKDIRMichael Stahl
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
2013-09-22gbuild: remove SOVERSION variable since it is hardcoded anywayMichael Stahl
Change-Id: I625291ea86c1c3caf7fa5400e380defa6d0d0bc8
2013-09-22gbuild: make the versioned library the linktarget on UnixesMichael Stahl
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
2013-09-22gbuild: make the DLL the LinkTarget of Library and CppunitTestMichael Stahl
... 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
2013-09-22gbuild: deduplicate gb_Library_get_exports_targetMichael Stahl
and remove comment obsoleted by 170668d83911c12475eccf69eba5e191863d4a56 Change-Id: Iba8db6214e04480eaf45bcd069ccd8b41fd25874
2013-09-22gbuild: refactor LinkTarget representationMichael Stahl
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
2013-09-22PoC: no libs in solverBjoern Michaelsen
Change-Id: I8efd69d5a6f26fdfd334ff0bc38848eccc7a85fd
2013-09-22undefined function warning gb_Library__set_soversion_script_platformMichael Stahl
Change-Id: I81df2b8d2016a900bdebc0feaa33db7e587ba4bb
2013-09-14Clean up Mac OS X .jnilibsStephan Bergmann
Those .jnilibs that are not needed as .dylibs (this includes those that are also UNO components) are handled via RepositoryFixes.mk. The remaining one, libjava_uno.jnilib is packaged as a symlink in instdir. Everything else is not necessary and removed (including the venerable oddity macosx-create-bundle). Change-Id: I34a1801b0733cdff885c1c72db16fa631c5d82ef
2013-09-13installer: put in a hack for MacOSX to find language pack filesMichael Stahl
The files are in LibreOffice.app, are packaged in LibreOffice Language Pack.app and will then be copied into LibreOffice.app when the lang-pack is clicked by the user. This also neatly avoids having to deal with file names with spaces in make. Also, root directory is $(PRODUCTNAME).app which works with --disable-release-build too. Change-Id: Ie064831316d790b137022a1632721c62500a46a1
2013-09-12Unbreak mingw build of udkapiFridrich Štrba
Change-Id: I8b88aec19d5aa95761f58b26b4290b7a468dcb8f
2013-09-11Set gb_INSTROOT and gb_DEVINSTALLROOT here, tooTor Lillqvist
Change-Id: I6831d9436dfb24ae42e124676cf283aae075be7e
2013-09-11Towards a working instdir for Mac OS XStephan Bergmann
Introduced gb_INSTROOT, which is the same as $(INSTDIR) except for Mac OS X, where it is $(INSTDIR)/LibreOffice.app/Contents. Most stuff ends up there (so most occurrences of $(INSTDIR) have been replaced with $(gb_INSTROOT)), but SDK- related stuff goes to $(INSTDIR)/$(gb_Package_SDKDIRNAME). (And GeneratedPackage needed to be made more flexible, to allow for packages that go into either of those two places.) For Android and iOS, gb_INSTROOT probably still needs to be set. The most obvious missing thing yet to make instdir work for Mac OS X is the instdir/*/LibreOffice.app/Contents/ure/ vs. instdir/*/LibreOffice.app/Contents/ure-link/ split. Change-Id: I4478edd27b14c92c96d92d5169bdca3ec50d78f5
2013-09-09gbuild: remove redundant defintion of gb_DEVINSTALLDIRMichael Stahl
At least the PythonTest will pick up the one from platform makefiles. Change-Id: Ia1c3c0535529f4051f66d0ce91c377108a1a3cd7
2013-09-09start to use instdir for subsequentcheck tests; avoid make dev-installMatúš Kukan
This commit breaks linkoo. make dev-install continues to work as before but it's not necessary to use it anymore. make check now uses files copied into instdir by gbuild. TODO: fix remaining issues so that instdir is the same as install/. Change-Id: I66836170f0922ee9ba204a61ffacc30d9e9a5d98
2013-09-09gbuild: add definition of gb_Executable_LAYER to windows.mkMichael Stahl
Change-Id: I474881a5713dd2e09fdb47a683dc79f97f014b6b
2013-09-09install whole sdk using filelistsMatúš Kukan
Change-Id: I9d8d0a20d776740c4701ec9a1facded9f4bde77a
2013-09-09Add comment about our choice of gb_COMPILEROPTFLAGSTor Lillqvist
Change-Id: Iaeb9e1637ab4b85735a44f7cd5428e0e0c47c91d
2013-09-09Revert "Just use simple -O2"Markus Mohrhard
This reverts commit 32d9dd3008867199f56ab1dbb192aa3f49a2779b.
2013-09-06Disable C4702 when doing link-time code generationTor Lillqvist
Change-Id: I7d93c9cbb9a857384629b327c0f82b2e6d530bae
2013-09-03Need the gb_LTOFLAGS (-GL) also when precompiling headersTor Lillqvist
Change-Id: I558c2b5429c3f6e361e0a8e44f32f7f2e74833a5
2013-09-03Use -LTCG also when linking executables in the LTO caseTor Lillqvist
Change-Id: I63113ed7e4a477d1ea7cd7f59a8647f4edf62d70
2013-09-03Just use simple -O2Tor Lillqvist
Change-Id: Ibaa3f11651d15e9848ab25192bbd6718259cd162
2013-08-30Er, I meant gb_CXXFLAGSTor Lillqvist
Change-Id: Ia68105056fb483b30a985da3b53f85c8a0b5d869
2013-08-30Ignore C4267: possible loss of data, there are too many of themTor Lillqvist
Change-Id: I4b01c9398c9c697cff63226269e7c7a3f5a5c9dd
2013-08-29Revert "Fix MSC build of firebird"Tor Lillqvist
Better (?) fix coming. This reverts commit 9831afe569490b09143a1f98263ee7d0e1faa323.
2013-08-29Fix MSC build of firebirdStephan Bergmann
Change-Id: I3c747b36529058b980f88aea014c0a6d27014664
2013-08-27Factor out the app bundle code signing into a scriptTor Lillqvist
Call that script for make dev-install and when creating the .dmg. Change-Id: Ic468cafe04b2755f371d449fef0b84e2fdc7e197
2013-08-27PLAINLIBS_NONE means layer NONEStephan Bergmann
Change-Id: I69a0f21e73e65747513c478aa6cdd8832d94f9de
2013-08-27fdo#67313: Use "lo" suffix for private URE libsStephan Bergmann
...(like is done for most of LO's non-URE libs already) to reduce likelihood of name clashes, esp. on Windows where URE libs are found via PATH. This introduces PRIVATELIBS_URE, and removes now-unused UNOLIBS_URE. Change-Id: Ib95dd45f18de140a54e62d632dbf2239f83c232e