summaryrefslogtreecommitdiff
path: root/solenv
AgeCommit message (Collapse)AuthorFilesLines
2017-02-10Remove MinGW supportStephan Bergmann3-458/+0
In OOo times, there'd originally been efforts to allow building on Windows with MinGW. Later, in LO times, this has been shifted to an attempt of cross- compiling for Windows on Linux. That attempt can be considered abandoned, and the relevant code rotting. Due to this heritage, there are now three kinds of MinGW-specific code in LO: * Code from the original OOo native Windows effort that is no longer relevant for the LO cross-compilation effort, but has never been removed properly. * Code from the original OOo native Windows effort that is re-purposed for the LO cross-compilation effort. * Code that has been added specifially for the LO cross-compilation effort. All three kinds of code are removed. (An unrelated, remaining use of MinGW is for --enable-build-unowinreg, utilizing --with-mingw-cross-compiler, MINGWCXX, and MINGWSTRIP.) Change-Id: I49daad8669b4cbe49fa923050c4a4a6ff7dda568 Reviewed-on: https://gerrit.libreoffice.org/34127 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-08gbuild, python3: stop defining SOLARIS, and remove SOLARIS patchMichael Stahl1-1/+3
It's faster to change our code not to rely on -DSOLARIS than to wait for python developers to remove such nonsense from their public headers. Change-Id: I3ab05d41bbb51b91a2add599339ce334b5099330
2017-02-01tdf#105311 VC++ Runtime installed in wrong directoryDavid Ostrovsky5-1/+141
Starting from MSVC 14.0, the directory table layout of VC++ Runtime merge module changed. As consequence, all MSI produced with newer compilers, including MSVC 15.0 (aka VS 2017) are broken in term that the VC++ Runtime DLLs are installed in the wrong directory, e.g.: C:\System64. According to the specification for merging merge module (msm), see: "Authoring Merge Module Directory Tables": [1], custom action 51 (set property) must be emitted for every directory name in the merge module directory table if the directory name is starting with the standard directory name. Quoting it here: " When a predefined directory is included in a merge module, the merge tool automatically adds a Custom Action Type 51 to the target database. The merge module author must ensure that a CustomAction table is also included. The CustomAction table may be empty, but this table is required to exist in the target database and ensures that the modified predefined directories are written to the correct locations. For example, when a system directory is included in a merge module, the merge module author must ensure that a Custom Action table exists. Note that the matching algorithm for the generation of these type 51 custom actions only checks that the directory name begins with one of the predefined SystemFolder properties. It does not verify that the directory name exactly equals the directory property. Any directory beginning with one of these standard folder names gets a type 51 custom action, even if the rest of the name is not a GUID. Authors need to take care that this does not generate false positive matches, and unintended custom action generation, on derivative primary keys that begin with one of the SystemFolder properties." Rectify the problem by analyzing the directory table from the merge module, checking whether the directory name starts with the standard prefix name and if it is the case, emitting custom action 51 to set this variable to the standard directory name. Implementation details: We use the existing facility for emitting the custom action table events including referencing them in the corresponding sequence tables. Given that the specification above doesn't mention what sequence table should be referencing this emitted custom action, we reversed engineer this information from WiX toolkit. Merging the VC++ CRT module with WiX toolkit and investigating the resulting MSI with Orca MSI reader, reveals that these sequence tables were referencing from these sequence tables: * AdminExecuteSequence * AdminUISequence * AdvtExecuteSequence * InstallExecuteSequence * InstallUISequence Replicate this behaviour here as well. Note, though, that custom actions are generally not referenced in AdminUISequence and AdvtExecuteSequence tables in LibreOffice MSI building tool chain. Rendering of the custom action is achieved by programmatic emulation of custom action in SCP module. Consider this similar SCP module based action: Name = "MigrateInstallPath"; Typ = "321"; Source = "shlxtmsi.dll"; Target = "MigrateInstallPath"; Inbinarytable = 1; Assignment1 = ("InstallExecuteSequence", "", "CostInitialize"); Assignment2 = ("InstallUISequence", "", "CostInitialize"); We instantiate the following data structure to emit custom action System64Folder.3CFBED52_9B44_3A4D_953C_90E456671BA1: Name = "System64Folder.3CFBED52_9B44_3A4D_953C_90E456671BA1" Typ = "51" Source = "System64Folder.3CFBED52_9B44_3A4D_953C_90E456671BA1" Target = "[System64Folder]" Styles = "NO_FILES" Assignment1 = ("AdminExecuteSequence", "", "CostInitialize") Assignment2 = ("InstallExecuteSequence", "", "CostInitialize") Assignment3 = ("InstallUISequence", "", "CostInitialize") [1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa367787%28v=vs.85%29.aspx Change-Id: I2fbd37ff63298d99b2ba1b6afe6e875f56d8e378 Reviewed-on: https://gerrit.libreoffice.org/33366 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: David Ostrovsky <david@ostrovsky.org>
2017-01-27Make plugin rewriting work on Windows tooStephan Bergmann2-74/+79
...in a somewhat hacked-up way for now (see the TODO comment) Change-Id: Ida89fb8257b876cfca05b3048ce15996091c5703
2017-01-27Use 'CPT' (for "compilerplugins test") instead of 'C??'Tor Lillqvist1-1/+1
Change-Id: I783a121b43223bbd0fd3f6250b2e009a77c87a85
2017-01-26unittest gbuildtojsonjan Iversen1-1/+1
Rename of FLEX to LEX needs to be done in the unittest as well. Change-Id: Ic038fa01d65edb5724c3d9dc8a04c72c6367372d
2017-01-26gbuildtojson support for yacc files.jan Iversen1-1/+4
added support for add_grammars macro Change-Id: I17955bd1534d9f43e1953691d985a18ee8241d38
2017-01-26gbuildtojson, added support for lex filesjan Iversen1-3/+6
added add_scanner macro Finalized the move around in gbuild-to-ide, to signal which generators are actively supported. Change-Id: I11699cd4380d49efc3b541abb7780b5136162433
2017-01-25-DOPTIMIZE appears to be unused, since foreverStephan Bergmann1-1/+0
Change-Id: I56c91974a27cf100bc0faa1b009f4bf6358b47f5
2017-01-25Minor loplugin:stringconstant improvementsStephan Bergmann1-0/+1
Change-Id: I0b39526c0f0854ddbb29e77ece303cf2bdd842c4
2017-01-25Default -ferror-limit=20 doesn't make sense for CompilerTestStephan Bergmann1-1/+1
Change-Id: Ic535de878c17749cdb2e7a6eadeb27dd2194810e
2017-01-24Fix typo in comments: absolut -> absoluteTakeshi Abe1-1/+1
Change-Id: I8aab9004001a9a2ddd54b4c73857b6f9c5b51515 Reviewed-on: https://gerrit.libreoffice.org/33486 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-01-23Revert "used std::map in SfxItemSet"Noel Grandin1-2/+42
This reverts commit 2757ee9fe610e253e4ccc37423fa420004d0f388. Besides causing a performance regression, I now notice that there is code in SW that relies on iterating over two different SfxItemSet's in parallel, and assumes that missing items are returned as nullptr, which is not the case for my std::map based change. Change-Id: I2b1110350fe4c4b74e5508558e9661ef1e1a103e
2017-01-18update approximate install location in READMECaolán McNamara1-2/+2
Change-Id: I6a139d5be193c968c2bf3373b415baa25dc32595
2017-01-17remove executable bit from .mk filesMichael Stahl1-0/+0
Change-Id: I2ed12aae6596492e1059f8461efbafb711d16472
2017-01-17Change Idle to be a Timer subclassJan-Marek Glogowski1-9/+17
Drops a lot of duplicated code, as Idle is just a convenience class for instant, mostly low priority timers. Change-Id: I847592e92e86d15ab1cab168bf0e667322e48048
2017-01-17Refactor Scheduler to add Task classJan-Marek Glogowski1-8/+8
Moves all the "task-specific" stuff into a Task class and just keeps the "real" static Scheduler functions in the original Scheduler class. Change-Id: I9eb02d46e2bcf1abb06af5bab1fa0ee734d1984c
2017-01-17tdf#97087 GDB pretty print the Scheduler task listJan-Marek Glogowski2-1/+92
In addition to the GDB pretty printer, this annotates a lot more Timers and Idles. Change-Id: I5b93fab02161b23bb753e65ef92643a04fb0789c
2017-01-17used std::map in SfxItemSetNoel Grandin1-42/+2
instead of naked array SfxItemIter ended up needing to take copies of stuff because various code likes to iterate over the items and delete items inside the loop. The gdb pretty printer is no longer quite as pretty as it was before, but it still prints useful info. Change-Id: I59b07ea42f6b1c74798a15402970b9dbd8233dbe
2017-01-16fix testStephan Bergmann1-1/+1
Change-Id: Id915626324a692d8ec87cc6899c3de298682348b
2017-01-16post_GbuildToJson.mk, extended with extra file typesjan Iversen1-3/+4
Extended the call to gbuildtojson, with extra file types. Some filetypes still need data collection, this is noted in the file as todo. Change-Id: I3e832f82656236d42d1d7b59bf3ac2925c5b1568
2017-01-16gbuildtojson prepare for new filetypes.jan Iversen2-29/+18
gbuild-to-ide now contains a dict with json name -> file extension post_GbuildToJson.ml contains a todo list (missing files, new arguments) gbuildtojson.cxx made resistent (no extra argument list to maintain) Change-Id: I7f346f606ed5fba0a1eaffdd38454b484cecfcf5
2017-01-14cosmetics: no need for that echo when using codesign with --verboseChristian Lohmaier1-1/+0
Change-Id: I7e51445e890bd1ed5bcafb9cc713c6f5fad24631
2017-01-14workaround for codesigning on Mac baseline - do jnilibs firstChristian Lohmaier1-1/+10
as otherwise signing fails (LibreOffice.app: code object is not signed at all In subcomponent: path/to/foo.jnilib) Change-Id: I3e4691f2ada408d9e76d200a3291b044753ec85c
2017-01-13tdf#105204 shellcheckJochen Nitschke1-18/+10
addressed issues in order of appearance: warnings - prefer [..] && [..] (SC2166) - unused 'awkCMD' (SC2034) - typo currentFirstLIne -> currentFirstLine (SC2154) recommendations - use $(..) instead of `..` (SC2006) - remove $ on arithmetic variable OPTIND (SC2004) - double quote to prevent globbing in $findArgs (SC2086) Change-Id: I2d2b7aecac97b2e4e0df8ce556c85995d4ecf7cf Reviewed-on: https://gerrit.libreoffice.org/33003 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2017-01-13solenv: don't run solenv_python test with make 3.81Michael Stahl1-0/+2
see 7a75b39273de47190b7a1fa20e0bcaca6d089033 Change-Id: I575e5d5dc757cc054a49ae6596183f46373072f2
2017-01-12gbuild: make 3.81 doesn't currently work with gbuildtojsonMichael Stahl1-0/+4
There is some problem with the pattern rule in post_GbuildToJson.mk being ignored, causing spurious workdir/GbuildToJson/Library/lib*.exports files with bogus content to be written; rather than trying to adapt that to 3.81 pattern rule evaluation, just refuse to run with 3.81, which is obsolete anyway. Change-Id: I492866464b309f8c475e34e8f311e42bf8736247
2017-01-12gbuild: fix "make gbuildtojson" on Mac OS XMichael Stahl1-0/+1
Fails because library has dep on GeneratedPackage_python3, so nerf the dep like the others. Change-Id: I050a0f50996ce4231eb966fb6b624908d2f1788c
2017-01-12Allow CompilerTest_compilerplugins_clang to include css/uno/Reference.hxxStephan Bergmann2-0/+3
Change-Id: Ib35d8fcc41e1c49bfef01c980b25c051190cb753 Reviewed-on: https://gerrit.libreoffice.org/32990 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-12Update comment to match realityTor Lillqvist1-3/+3
Change-Id: I0b4ee6377aac984b7acf7085ac43cad3d088612d
2017-01-12Always exit with error if codesign failsTor Lillqvist1-5/+5
That sanity check was added in 615fae2f67028f3c5c51c70c77dbaa9b9f3856d6 but we lost it at some stage. The codesigning script has a very confusing history, in part caused by its use for two purposes, when building for the Mac App Store and when building for a TDF style distribution on a dmg disk image. Those who work with the former and those who work with the latter haven't necessarily checked that it doesn't break for the other case. Sorry. Change-Id: I79011302f60b1f6551328c8b80e00f5d3698504c
2017-01-12CodesignRules.plist was removed in 615fae2f67028f3c5c51c70c77dbaa9b9f3856d6Tor Lillqvist1-5/+2
Change-Id: Ibde5189ecf09ec8dfaf3223683c5480974084865
2017-01-09loplugin:externvarStephan Bergmann1-1/+1
Change-Id: I63571c0003e6e0d7bd7a0c71a7dd47955a8871e0
2017-01-09New loplugin:externvarStephan Bergmann1-0/+1
Change-Id: Ie5404f11cbc5b05bd18455ae81526eb2de01548c
2017-01-04Remove useless cat, and replace backtickMuhammet Kara1-1/+1
cat is a tool for con"cat"enating files. Reading a single file as input to a program is considered a Useless Use Of Cat (UUOC). It's more efficient and less roundabout to simply give file as input. Also use $(..) instead of legacy `..` Backtick command substitution `..` is legacy syntax with several issues. It has a series of undefined behaviors related to quoting in POSIX. It imposes a custom escaping mode with surprising results. It's exceptionally hard to nest. $(..) command substitution has none of these problems, and is therefore strongly encouraged. Change-Id: Ia668c6323660641bbb5084ee824ae9ae7631c76f Reviewed-on: https://gerrit.libreoffice.org/32473 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2017-01-04gbuild: CppunitTest: export VCL_HIDE_WINDOWSMichael Stahl1-1/+1
This currently has no effect and so the CppunitTest_cppcanvas_emfplus pops up an annoying window. (regression from 181932b31ea9c07a9bec3677e73b67a9a6d4e3f2) Change-Id: I26314d98f10f6b39ca1c28821ccd0de6ba2a4358
2016-12-30Fix GbuildToJson for tests: Set source files correctlyMatúš Kukan1-18/+24
Need newline in gb_LinkTarget_add_foo_object. With that we can avoid direct gb_Executable_foo and gb_Library_foo. Change-Id: I1e2b1ef2f2a3e15f4bb81170f23265186ef47733 Reviewed-on: https://gerrit.libreoffice.org/32503 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2016-12-27make the gbuildtojson output debugable.jan Iversen1-1/+1
Added a NEWLINE after each JSON variable, this makes the files easier readable and has no impact on performance. Change-Id: I5610c79ba74d6d34b7c4bacd0ba8626d37cb4e70
2016-12-22drop imglstCaolán McNamara2-3/+1
Change-Id: Iff88349acf3fc0f474cff0a882346a6d8496aec1
2016-12-20bodge linking for disable-dynamic-loading caseCaolán McNamara1-7/+14
Change-Id: I5c1c6cae8d2f179a68e0c6e11e89c7c947e4b479 Reviewed-on: https://gerrit.libreoffice.org/32229 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-20use new ENABLE_NSS for code which needs nssCaolán McNamara1-2/+2
which isn't available on a static-only build (iOS and fuzzing) and android Change-Id: I99bb7c0b45d4499579ddf73f469a762ddcae99ab Reviewed-on: https://gerrit.libreoffice.org/32182 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-20sanitze->sanitizeCaolán McNamara1-1/+1
Change-Id: I1b94438e43df6f1f8f7774d9e86f415785e60284
2016-12-20gdb pretty printers: fix the SwXTextCursor::Impl one even moreMichael Stahl1-5/+8
Turns out that commit 30f3315d52df22716c086836c41465a6c4cb98b5 has removed the SwClient there a long time ago, and the SwUnoCrsr was also renamed... Change-Id: I92932130c5adbea530c39557932efce70c9f75e7
2016-12-20gdb pretty printers: fix BigPtrArray printer for member renameMichael Stahl1-4/+4
Change-Id: Ia9da0c0931a01b2c99c24420a9ba603b47a711c1
2016-12-20gdb pretty printers: fix SwXTextCursor::Impl printer for SwClient renameMichael Stahl1-1/+1
Change-Id: Ief136f57ce60bde1faa0603961aa775967621fbf
2016-12-20gdb pretty printers: fix SwPaM printer for Ring member renamingMichael Stahl1-2/+2
Change-Id: I605e4e972468165e7f5d21681b6e7eeb228dfdc9
2016-12-20bootstrap building with --disable-dynloading on standard linuxCaolán McNamara2-1/+6
Change-Id: I5baf70f0053612cba8b74f54aff11ce25cdeb95a Reviewed-on: https://gerrit.libreoffice.org/32202 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-19uitest: help on windows with the debug outputMarkus Mohrhard1-0/+1
Change-Id: Id22412389f3de2c9923887fd99a3e1c6860e1f33
2016-12-19initial support to build with --disable-dynloading on standard linuxCaolán McNamara1-3/+25
Change-Id: I25dd59b5a12e91ee492508a77a80a69f16912b62 Reviewed-on: https://gerrit.libreoffice.org/32193 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-19lets always have at least dbtoolsCaolán McNamara1-1/+1
Change-Id: I72f768ad760fd9fa1e3ec988e5217672bca9c824 Reviewed-on: https://gerrit.libreoffice.org/32175 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>