Commit Graph

84 Commits

Author SHA1 Message Date
Vadim Zeitlin
4de8857c85 Add wxDynamicLibrary::Attach()
This is symmetric with Detach() and can be useful and doesn't cost
anything to have.
2021-01-25 00:15:24 +01:00
Vadim Zeitlin
fea8c608b1 Remove checks for shl_load() from configure/CMake
This function is not used any more since e289eb07e1 (Get rid of
non-POSIX code for loading dynlibs on *nix, 2020-05-13), so don't check
for it and don't defined the corresponding HAVE_SHL_LOAD symbol.
2020-05-14 23:59:38 +02:00
Lauri Nurmi
c50784ba0b Use the same function for logging dynlib errors on all platforms
Reduces the amount of #ifdefs scattered all over the code, thereby
simplifying the code.

The function was renamed from Error() to ReportError() to emphasize what
its purpose is.

Error messages logged on *nix are now a bit more verbose, as they are
prefixed with our own description text, which were earlier omitted on
platforms using the dlxxx() API.
2020-05-13 10:07:47 +03:00
Lauri Nurmi
42af101836 Remove obsolete Darwin-specific code in dynlib.*/dlunix.cpp
We don't have our own dlxxx() implementations under Darwin since 76c5594
(Remove our own dlxxx() functions emulation for OS X <= 10.3.,
2013-10-17).

wxHAVE_DYNLIB_ERROR is reduced to being the same HAVE_DLERROR, so use
the latter one instead.

Closes https://github.com/wxWidgets/wxWidgets/pull/1826
2020-05-02 19:30:28 +02:00
Paul Cornett
05183b7099 Eliminate -Wzero-as-null-pointer-constant warnings in the headers 2020-02-02 23:40:01 -08:00
Vadim Zeitlin
01f9accd19 Remove wxPM, wxWidgets port to OS/2.
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.

Also remove tests for VisualAge compiler which isn't used since ages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 23:56:58 +00:00
Vadim Zeitlin
f51dc81c85 Add wxDynamicLibrary::GetModuleFromAddress().
Use dladdr() under Unix, if available, to provide the same functionality as we
get from GetModuleHandleEx() under MSW and export it in a new public function.

Closes #15248.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76114 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-11 16:04:06 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Václav Slavík
31f125ed00 Use correct extensions in wxDynamicLibrary::CanonicalizeName() on OS X.
Contrary to the documentation, this function incorrectly appended the
.bundle extension on OS X for libraries as well as modules.

Fixed to use .dylib for libraries (wxDL_LIBRARY) and continue to use
.bundle for loadable modules (wxDL_MODULE). Change GetDllExt() to take optional wxDynamicLibearyCategory argument.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-11 16:46:49 +00:00
Vadim Zeitlin
252e3b2c29 Support Unicode module names in wxDynamicLibrary::MSWGetModuleHandle().
The module names are not necessarily ASCII strings, so use wxString instead of
"char*" and W-version of GetModuleHandle() if appropriate.

See #15138.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-08 14:15:31 +00:00
Vadim Zeitlin
d98a58c543 Use __WINDOWS__ for OS kind checks and reserve __WXMSW__ for GUI toolkit.
This change prepares the way for using wxGTK under Windows as this would
still define __WINDOWS__ but use __WXGTK__ instead of __WXMSW__.

Closes #14064.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 00:29:31 +00:00
Václav Slavík
142ae7b388 Don't include wx/msw/private.h from dynlib.h.
Because it's private header and introduces dependency on window.h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-25 12:07:37 +00:00
Vadim Zeitlin
c118a47691 Add semi-public wxDynamicLibrary::MSWGetModuleHandle().
Rename old private wxGetModuleHandle() function to wxDynamicLibrary::
MSWGetModuleHandle() to allow its use in the dll sample.

This fixes the sample compilation with VC6 which lacks GetModuleHandleEx()-
related declarations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-07 03:04:33 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
5a9379d7b0 implement wxLoadedDLL, a safer alternative to wxDL_GET_LOADED (closes #10208)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 22:19:41 +00:00
Vadim Zeitlin
e2d4ce7d36 don't load comctl32.dll, just get the handle of the already loaded instance of it instead, this avoids accidentally loading 2 different versions of this DLL in the same process (see #10203)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56863 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-20 16:45:45 +00:00
David Elliott
83135a2c28 Don't include dlfcn.h from wx/dynlib.h on Darwin. We might be using our own
internal replacement functions.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-18 22:53:38 +00:00
Vadim Zeitlin
e2fc2bd51c add wxDL_QUIET flag; use RawGetSymbol() instead of GetSymbol() in wxDL_INIT_FUNC to avoid error messages for missing functions (this is also consistent with wxDL_INIT_FUNC_AW)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-06 01:30:58 +00:00
Vadim Zeitlin
d0edb9da60 added more convenient wxDL_INIT_FUNC[_AW] macros and use them instead of verbose wxDynamicLibrary::GetSymbol() calls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-21 18:43:51 +00:00
Vadim Zeitlin
ced3df7730 wxDL_XXX macros and dynamic loading cleanup:
1. Clearly document the wxDL_XXX macros; including their implicit usage
   of m_ok member variable
2. Made sure they're used in the same way in all places they are used
   (sometimes they were passed an object, sometimes a pointer, breaking
   compilation: see patch 1791288)
3. Don't allocate wxDynamicLibrary objects on heap unnecessarily (which
   removes the need to delete -- or leak, as it was -- them afterwards)
4. Some naming convention fixes



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-10 10:49:55 +00:00
Robert Roebling
420db5a599 Move the wxDL_ macros to wxDynLibrary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48586 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-06 13:37:32 +00:00
Václav Slavík
b5dbe15d0b added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Václav Slavík
00711afdd6 return wxString from wxDynamicLibrary::GetDllExt()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-19 19:29:07 +00:00
Vadim Zeitlin
67d0bba631 we have dlerror() under Darwin
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-20 21:23:53 +00:00
Mattia Barbon
dee1a63ff5 Removed WXWIN_COMPATIBILITY_2_2 together with code guarded by it.
Changed default for WXWIN_COMPATIBILITY_2_4 to 0.
  Added WXWIN_COMPATIBILITY_2_6 (defaults to 1).
  Ran build/update-setup-h.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-09 15:48:42 +00:00
Włodzimierz Skiba
550343399a Source cleaning. wxMotif/OS2 adjustements.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-03 16:39:45 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Vadim Zeitlin
f3cb0d85b4 compilation fix for WXWIN_COMPATIBILITY_2_2 (bug 1252476)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35107 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-05 11:48:43 +00:00
Vadim Zeitlin
93ed8ff770 added wxDynamicLibrary::GetSymbolAorW()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35003 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-29 22:27:13 +00:00
Włodzimierz Skiba
0872eaf957 wxOS2 with Open Watcom: correct PCH usage, missing headers, warning fixes, source cleaning and other Watcom adjustements.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-21 17:08:28 +00:00
Julian Smart
3103e8a97e Typo correction patch [ 1208110 ] Lots of typo corrections
Olly Betts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 09:20:43 +00:00
Włodzimierz Skiba
2ecf902bc8 Use defs.h (and automatically setup.h and chkconf.h) before first wxUSE_* check (bug #1164141).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-16 16:18:31 +00:00
Vadim Zeitlin
e62e17d735 changed wxDL_DEFAULT to be same as wxDL_NOW as this makes more sense for portable programs because wxDL_NOW is the only flag supported by Win32
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-12 20:37:53 +00:00
Stefan Neis
fd6c94288f Compilation fix for OS/2.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-19 21:41:11 +00:00
Vadim Zeitlin
da55d0644f extracted Unix code in a separate new file (src/unix/dlunix.cpp), it remains only to refactor Mac/OS2 versions to finally fix the mess in common/dnylib.cpp...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-16 22:21:44 +00:00
Vadim Zeitlin
defbed48e7 1. extracted MSW-specific part of wxDynamicLibrary in msw/dlmsw.cpp
2. added and documented wxDynamicLibrary::ListLoaded()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-16 20:50:06 +00:00
Vadim Zeitlin
a018a119bd added wxDynamicLibrary::HasSymbol()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-17 23:20:51 +00:00
Włodzimierz Skiba
68379eaf0a Source cleaning: whitespaces, tabs, TRUE/true, FALSE/false, -1/wxID_ANY/wxDefaultCoord, !!/!IsEmpty().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-10 12:56:07 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Gilles Depeyrot
609533d54d applied fixes for CodeWarrior compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22926 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-16 11:58:06 +00:00
Václav Slavík
1202890513 added support for gcc precompiled headers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:38:21 +00:00
Vadim Zeitlin
169948a05f added Unload(handle); updated the docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-04 14:05:00 +00:00
Vadim Zeitlin
13e51f3a55 removed extra commas which are erros for some compilers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-02 22:42:52 +00:00
Vadim Zeitlin
4104ed92a5 added and documented wxDYNLIB_FUNCTION
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-01 23:36:26 +00:00
Václav Slavík
1948bb3274 removed duplicated code from dynlib.h and dynload.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-01 21:12:40 +00:00
Vadim Zeitlin
bddd7a8d89 renamed WXDLLEXPORT_BASE/CORE to WXDLLIMPEXP_BASE/CORE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-02 01:59:24 +00:00
Vadim Zeitlin
886dd7d28e fixes needed for separate DLL build to work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-02 01:41:23 +00:00
Julian Smart
371a5b4e62 Removed erroneous copyright names and corrected licence spelling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 10:34:04 +00:00