492 Commits

Author SHA1 Message Date
Noel Grandin
82625bb98e remove unnecessary sal_Unicode casts in OUStringBuffer::append calls
Convert code like:
    buf.append( static_cast<sal_Unicode>('!') );
to:
    buf.append( '!' );

Change-Id: Iacb03a61de65a895540940953b49620677b3d051
2014-01-07 09:43:37 +02:00
Stephan Bergmann
9ed364774c Adapt all (non-extension, SharedLibrary) .components to environment="..."
Change-Id: I56f38bd786f3a026cb2908f28540dc9c4003af83
2013-12-17 11:06:00 +01:00
Stephan Bergmann
50bd5c11f5 wsprintf is broken by design and never writes more than 1024 characters
Change-Id: I791e55bb5d98ee82c01271dcebafa7c4672cd424
2013-11-29 17:26:54 +01:00
Julien Nabet
983e033273 Fix different typos for "unknown"
Change-Id: Ib2ee00d4e9f4c6c05d090adfcd5fb791fcbca72c
2013-11-25 22:05:13 +01:00
Stephan Bergmann
ab5d1fbfb4 SAL_WARN_UNUSED com::sun::uno::Any
Change-Id: I9058044d13f696e07667dce706f6c311af6dbea0
2013-11-14 21:02:40 +01:00
Stephan Bergmann
2236cd0023 -Werror,-Wunused-member-function
Change-Id: Ic4dba1d313c3a27ac02f9d382d2b55218e1bad10
2013-11-14 10:14:58 +01:00
Noel Grandin
fcd1637d51 convert OUString compareToAscii == 0 to equalsAscii
Convert code like
   aStr.compareToAscii("XXX") == 0
to
  aStr.equalsAscii("XXX")
which is both easier to read and faster.

Change-Id: I448abf58f2fa0e7715dba53f8e8825ca0587c83f
2013-11-11 12:58:13 +02:00
Noel Grandin
0a9ef5a18e convert OUString 0==compareToAscii to equalsAscii
Convert code like:
   0 == aStr.compareToAscii("XXX")
to
   aStr.equalsAscii("XXX")
which is both clearer and faster.

Change-Id: I2e906d7d38494db38eb292702fadb781b1251e07
2013-11-11 12:58:12 +02:00
Noel Grandin
e52779d2f8 remove unnecessary use of OUString constructor
Change-Id: Ifb220af71857ddacd64e8204fb6d3e4aad8eef71
2013-11-11 11:21:26 +02:00
Michael Stahl
8df17a3409 gbuild: set Package default target to INSTDIR
Change-Id: I2bc45e4ba63f5faaee7389bcd9d7b3f563503186
2013-10-28 20:17:26 +01:00
Michael Stahl
1acaa577b6 sal: add special handling of argc==0 to osl_setCommandArgs()
... to set up a fake command line.  This is used from pyuno, when
invoked from the "python" executable as "import uno".

On WNT there is an API to get the actual command line, so just use that
even in the "fake" case; on UNX just fake something up.

Just for the record the whole osl_setCommandArgs() is called exactly once
assumption should work out _unless_ there is a program that uses SAL_MAIN
_and_ does a python-level "import uno" _before_ it wants to create a
python-based UNO service (via pyuno_loader::CreateInstance), since
pyuno already takes care to call Runtime::initialize() at most once.

Change-Id: Ifd23de733ea3e6b694d46ab039b6aa4fd3e7fc1b
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-10-10 14:38:38 +02:00
Michael Stahl
2386a92c1e pyuno: set up fake command line in getComponentContext()
Easy to trigger the assert in osl_getCommandArgCount(), just
run instdir/*/program/python and "import unohelper".

Avoid that by setting up a fake command line, hopefully
nobody expects to be able to give relevant args to python...

Change-Id: I0df6c23d6ecbb3c2bce81a9d5bcecdcb1729ddbb
2013-10-09 19:46:00 +02:00
David Bolen
df1076965f fdo#70196: Python 2 compatibility for UNO import error handling
Add backwards compatibility support for Python 2 to the earlier
change in fdo#66025 to improve import error handling under Python 3.

Change-Id: I47bf8ef255c4c2a3e4a2754414977aaa8ed32483
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-10-07 15:10:54 +02:00
Tor Lillqvist
edba11021b WaE: unused variable
Change-Id: Iea8461444c29de9968a5bfa85a2dabb186db47ca
2013-10-02 19:32:31 +03:00
Tor Lillqvist
7a8db272e9 Start hacking --enable-canonical-installation-tree-structure back into shape
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-25 22:13:23 +02:00
Tor Lillqvist
4c63fd10a5 Try to fix cross-compilation
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-23 00:54:43 +03:00
Michael Stahl
a546bf8d5b pyuno: rename the python wrapper executable
Putting it in a subdirectory on solver is no longer necessary since
python3 started delivering to INSTDIR, so lose the crazy naming.

Change-Id: I17e924e5d872768a64f6a3112f1294f3def7120e
2013-09-22 11:08:31 +02:00
Michael Stahl
70c35265f5 gbuild: remove libraries from OUTDIR and WORKDIR
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-22 11:08:31 +02:00
Michael Stahl
6667caef24 gbuild: remove gb_Rdb__get_final_target
... by replacing gb_Rdb_install with a separate constructor so the right
target can be registered at the module.  There is still an ugly special
case for the ure/services.

Change-Id: I81c004143f201aaf38daca99819888313ee24f49
2013-09-12 14:39:00 +02:00
Stephan Bergmann
5397b49f4d Towards a working instdir for Mac OS X
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-11 00:50:54 +02:00
Matúš Kukan
d44759e3d7 gbuild: install rdb files directly in module they come from
Change-Id: I3a9cb4ce71cfb02b7378289a36aa0eb6e3a42f26
2013-09-09 22:09:10 +02:00
Matúš Kukan
0ed6f8c28e pyuno: another filelist to make instdir better
Change-Id: Ieda9b3847de3de8989eaafc542e60216baa1af4d
2013-09-09 22:09:05 +02:00
Matúš Kukan
41f00a356e pyuno: this rc file seems to be unused
Change-Id: I98b6263a464b46075e69e363c3eb9e4ec4557c46
2013-09-09 22:09:04 +02:00
Matúš Kukan
031fd222ac pyuno: install python scripts using filelists
Change-Id: Ic7515acd14916cc36b59749059ed623cda906c23
2013-09-09 22:08:59 +02:00
Norbert Thiebaud
e4aac6daea ENABLE_MACOSX_MACLIKE* Harmonize ENABLE_* variable to TRUE/<nothing>
Change-Id: I0c51975c1c13dbd100bbd8e6103835ce8a8c3691
2013-08-30 23:02:44 -05:00
Luboš Luňák
64b993e046 finish deprecation of O(U)String::valueOf()
Compiler plugin to replace with matching number(), boolean() or OUString ctor,
ran it, few manual tweaks, mark as really deprecated.

Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
2013-08-21 15:10:35 +02:00
Stephan Bergmann
19277d02fb osl_getThreadIdentifier(0) -> osl::Thread::getCurrentIdentifier()
Change-Id: Ida9785c4b9fda0459769957734952e69d7a9de44
2013-08-21 14:19:10 +02:00
Tor Lillqvist
058a3d1c46 Further work on the "Mac-like app structure" option
Lots of stuff still either ended up in the wrong place, or was looked up from
the wrong place, or both. Fix most cases.

Change-Id: I06ebbce207c219f3cd82b4387dd9b3fdb83420d4
2013-08-18 21:11:16 +03:00
Tor Lillqvist
c6a7300974 Use subfolder names from <config_folders.h>
Change all instances of hardcoded "program", "share" etc subfolder names to
use those from <config_folders.h> instead. In normal builds, the end result
will not change.

Change-Id: I91c95cd8e482818be67307e889ae6df887763f53
2013-08-18 21:11:16 +03:00
Takeshi Abe
7ef72aefc6 Mark as const
Change-Id: Ic7ee570935b5d827dc01a483877ea5021da5abea
2013-08-15 22:09:58 +09:00
David Bolen
1be8e912ba fdo#50470: Restore pyuno object method introspection in Python 3
Switch to __dir__ entry point for introspection as Python 3 dropped support
for __members__/__methods__.  This is backwards compatible to Python 2.6.

Module initialization adjusted to complete type setup (needed for tp_dict)
via PyType_Ready.

Change-Id: Ie1f7b9dd4279242de89d009eb7acdc8c786dab8f
Reviewed-on: https://gerrit.libreoffice.org/5375
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2013-08-13 11:34:52 +00:00
Stephan Bergmann
d6c63c9a84 Remove whitespace from line ends
Change-Id: Ie894879eaebda32bc4f99e7ad7f810c569e86a7a
2013-07-29 11:35:18 +02:00
David Bolen
948b6ea02e fdo#66025: Improve accuracy of ImportError traceback and message
The ImportError raised on an import failure with the uno module loaded
now includes a complete traceback and the original Python exception
message text, combined with the most relevant (nearest to failure if
imports are nested) uno lookup that also failed.

Change-Id: Id968d84d7f09d555a81017a99369beb503d61439
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-29 11:35:18 +02:00
David Bolen
fbe28de6fb fdo#66025: Simplify new ImportError logic
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-24 15:26:10 +02:00
David Bolen
329125abb6 fdo#66025: Minor clean-up of previous patch
Change-Id: Idaaf8ebbf419899ba04b77cf10b217c141652a3a
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-24 13:04:25 +02:00
David Bolen
7fd81244c2 fdo#66025: Improve ImportError raised from _uno_import
Change-Id: I92301f0c37d69e5977a12ab4d5a360f7a4ff20fe
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-24 10:04:44 +02:00
Bjoern Michaelsen
69f0c2cfd6 remove last users of gb_Executable_add_noexception_object
Change-Id: Iddee238aa800ecfee8f97a7132b38b6446e0b2a4
Reviewed-on: https://gerrit.libreoffice.org/4953
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2013-07-17 12:18:47 +00:00
Herbert Dürr
28a4496c76 Resolves: #i120788# remove unused members from PyUNO_callable_Internals
Patch by: Tsutomu Uchino <hanya.runo@gmail.com>

(cherry picked from commit 5e2c3fd88906494965979bd20ca852391bee3bac)

Conflicts:
	pyuno/source/module/pyuno_impl.hxx

Change-Id: If73d5f7b799f04b79b5cc71d2d44c797851b18d0
2013-07-12 11:45:05 +01:00
Michael Stahl
6121703620 pyuno: Revert 5589c72b88e502bfca045ae38af16c854afdd401
... which was obsoleted by commit
c007292ec3eedcf2b1ad673308fa42aad31a7333 and apparently causes breakage
for builds with gb_GCOV=YES.

Change-Id: I27def9a8b4d003bf82c84e55d36ace37dd8532b0
2013-07-08 12:18:09 +02:00
Thomas Arnhold
ba0a57702c remove OUString wrap for string literals
For some functions and all kinds of Exceptions.

CannotConvertException
CloseVetoException
DisposedException
EmptyUndoStackException
ErrorCodeIOException
Exception
GridInvalidDataException
GridInvalidModelException
IOException
IllegalAccessException
IllegalArgumentException
IllegalTypeException
IndexOutOfBoundsException
NoMasterException
NoSuchElementException
NoSupportException
PropertyVetoException
RuntimeException
SAXException
ScannerException
StorageWrappedTargetException
UnsupportedFlavorException
VetoException
WrappedTargetException
ZipIOException
throwGenericSQLException
throwIllegallArgumentException

createInstance
createInstanceWithContext
forName
getByName
getPackageManager
getPropertyValue
getUnpackedValueOrDefault
getValueByName
hasPropertyByName
openKey
setName
setPropertyValue
supportsService

bash command:

for i in `cat list`; do git grep "$i\s*(\s*OUString(\s*\"" -- '*.[hc]xx'
	| cut -d ':' -f1 | sort -u
	| xargs sed -i
		-e "s/\(\<$i\s*(\)\s*OUString(\s*\(\"[^\")\\]*\"\)\s*)\s*/\1\2/g"
		-e "s/\($i.*\)\"+ /\1\" + /g";
done

Change-Id: Iaf8e641b0abf28c082906014f87a183517630535
Reviewed-on: https://gerrit.libreoffice.org/4624
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-06-29 21:52:54 +00:00
Thomas Arnhold
b6d97514cd reduce some spacing
Change-Id: I72d494b1c0ff5ed3c52ae6a078815f497e4dd647
2013-06-29 18:38:14 +02:00
Xiaoli
7441d4bbdb PyUno fixed crash in function isInstanceOfStructOrException()
when we try to call PyUNO_callable object that doesn't have __class__ attribute

Change-Id: Ia05f70d70f248d50aa141b09625f7ec50189e1dd
Reviewed-on: https://gerrit.libreoffice.org/4309
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2013-06-16 15:29:04 +00:00
Fridrich Štrba
a2a3424953 Deprecated conversion from const wchar_t* to wchar_t*
Change-Id: I8c0a97372f0855543d6207adb0abaa4cc820aabd
2013-06-10 14:03:36 +02:00
Stephan Bergmann
7b91e84c72 Optional pyuno module should have its own services/pyuno.rdb
...this e.g. changes the error message when trying to register an extension that
contains an (actively registered) Python component but no pyuno is installed
from "Binary URP bridge disposed during call" to a less frightening "The service
com.sun.star.loader.Python cannot be instantiated."

Change-Id: I10f2b36b11395559ee95ce659878222b5ea99c11
2013-05-28 16:02:46 +02:00
Noel Grandin
8bf8a2f349 fdo#46808, Convert script::InvocationAdapterFactory to new style
Change-Id: I2fe24c863f4c43471f46032ed15fcd5b98863fc1
2013-05-14 13:39:29 +02:00
Michael Stahl
96fe61f40e pyuno: remove obsolete makefiles
These should have been removed in b6bcbb675afedba0c47654dd78dc446dac0630d1

Change-Id: Iec28da16542f16c459bf301649260d8b13c1c67d
2013-05-14 11:50:09 +02:00
Stephan Bergmann
717c9643bd More gb_PROGRAMDIRNAME clean up
Change-Id: I5af86e15bcb8958a680e7309f13d7a865f29d7a9
2013-05-10 14:06:47 +02:00
Stephan Bergmann
094978d48d No need for RTLD_NOW here
...it was like that "since the beginning," but for no apparent reason.

Change-Id: Ic293739b5cd5de0bfe9e2580a0755af64202e582
2013-05-08 20:16:44 +02:00
Stephan Bergmann
cf49e8b816 Library_puyuno_wrapper is not built on WNT anyway
Change-Id: Ia4e2f9d5f3475b0a7af8b6db80ba4b2cd5f6bfce
2013-05-08 20:16:44 +02:00
Stephan Bergmann
5589c72b88 Make sure again pyuno_wrapper does not link against libstdc++
...which got broken with gbuild'ification.

Change-Id: Ice2b3ffb81a646c9e542344ca348eb6a16eb4ce2
2013-05-08 18:37:05 +02:00