summaryrefslogtreecommitdiff
path: root/gmodule
Commit message (Collapse)AuthorAgeFilesLines
* build: Drop autotools supportPhilip Withnall2019-01-151-109/+0
| | | | | | | | | | | | So long, and thanks for everything. We’re a Meson-only shop now. glib-2-58 will remain the last stable GLib release series which is buildable using autotools. We continue to install autoconf macros for autotools-using projects which depend on GLib; they are stable API. Signed-off-by: Philip Withnall <withnall@endlessm.com>
* Merge branch 'meson-dep' into 'master'Xavier Claessens2018-12-101-1/+2
|\ | | | | | | | | Meson: Fix declare_dependency() calls See merge request GNOME/glib!518
| * Meson: Fix declare_dependency() callsXavier Claessens2018-12-101-1/+2
| | | | | | | | | | | | | | | | | | | | Turns out the fix in commit 93555577c wasn't enough, when using glib as subproject and the parent project uses only libgio_dep, and include <gi18n.h>, it won't find libintl.h because it's in the include_directories of libglib_dep. Fix that by declaring dependencies explicitly, which is the right thing to do since glib and gobject are public dependencies of gio. That reflects what we do for the pkg-config file as well.
* | Meson: Fix deprecation warning with 0.49.0 releaseXavier Claessens2018-12-101-1/+2
|/ | | | http://mesonbuild.com/Release-notes-for-0-49-0.html#deprecation-warning-in-pkgconfig-generator
* Meson: Add missing include_directories when using glib as subprojectXavier Claessens2018-11-241-1/+1
| | | | | | When using glib as subproject we are forced to pass glib_dep, gobject_dep and gio_dep to any build target. If we pass only gio_dep it will missing include directory for glib and gobject.
* meson: Add macOS libtool versioning for ABI compatibilityNirbheek Chauhan2018-10-221-0/+1
| | | | | | | With this, the compatibility version and current version values in macOS and iOS dylibs will match the values set by Autotools. See: https://github.com/mesonbuild/meson/issues/1451
* Remove all static ChangeLog filesChristoph Reiter2018-09-041-1042/+0
| | | | They only contain old information which is also available in git
* build: Remove leftovers of Visual Studio project stuffChun-wei Fan2018-06-062-40/+0
| | | | There are more leftover preconfigured stuff that we ought to remove...
* Meson: Add export-dynamic flagXavier Claessens2018-05-171-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=788773
* Meson: Do not build tests with nodelete/Bsymbolic-functionsXavier Claessens2018-05-091-1/+3
| | | | | | | | | | | | -z nodelete breaks the libresourceplugin module usage in the resources.c test, which expects to be able to unload it. Make the Meson build match what the autotools build does: only pass glib_link_flags to the headline libraries (glib-2.0, gio-2.0, gobject-2.0, gthread-2.0, gmodule-2.0) and omit it from all other build targets. https://bugzilla.gnome.org/show_bug.cgi?id=788771
* Meson: Use pkgconfig module to generate all pc filesXavier Claessens2018-03-281-0/+32
| | | | | | This requires improved pc file generator from meson 0.45. https://bugzilla.gnome.org/show_bug.cgi?id=788773
* meson: fix static build under WindowsChristoph Reiter2018-01-041-1/+1
| | | | | | | Properly define GLIB/GOBJECT_STATIC_COMPILATION when static build is enabled. Use library() instead of shared_library() to allow selecting static builds. https://bugzilla.gnome.org/show_bug.cgi?id=784995
* meson: build Windows resource filesChristoph Reiter2018-01-042-2/+13
| | | | | | | configure_file() forces utf-8 atm but .rc files are not utf-8. To work around the issue just remove the only non-ASCII char. https://bugzilla.gnome.org/show_bug.cgi?id=784995
* GModule win32: disable error dialog popupTom Schoonjans2017-11-021-0/+8
| | | | | | | | | | When loading a module on win32, a blocking error dialog pops up whenever the module could not be loaded. This is particularly annoying when module loading failure is a harmless and expected event... This patch temporarily disables these error dialogs from popping up. https://bugzilla.gnome.org/show_bug.cgi?id=777308
* gmodule: Use RTLD_DEFAULT if defined __BIONIC__Justin Kim2017-10-062-4/+9
| | | | | | | | | | | | | This is a partial change of the previous work[0]. On 64 bit Android since android-23, 'handle = dlopen(NULL); dlsym(handle)' doesn't work. Instead, only 'dlsym(RTLD_DEFAULT)' returns a valid pointer. However, RTLD_DEFAULT is defined as '(void *) 0x0' on 64bit Android which is usually used for invalid value so this patch allows the specific case. [0] 0d81bb4e318b97780c70a55605cacf7e5b3fcaf7 https://bugzilla.gnome.org/show_bug.cgi?id=788270
* meson: add -fvisibility=hidden explicitly to selected targetsTim-Philipp Müller2017-07-131-2/+1
| | | | | | Don't use it project-wide for building everything. Otherwise symbols for shared modules won't be exposed, e.g. in the resourceplugin used by the gio resource unit test.
* meson: Minor modernizationsPatrick Griffis2017-07-131-1/+1
|
* meson: Improve MSVC and MinGW support and fix dependencies everywhereNirbheek Chauhan2017-07-131-16/+24
| | | | | | | | | | | | | | | | Disable gio tests on Windows, fix .gitignore to not ignore config.h.meson, and add more things to it. Rename the library file naming and versioning to match what Autotools outputs, e.g., libglib-2.0.so.0.5000.2 on Linux, libglib-2.0-0.dll and glib-2.0-0.dll on Windows with MSVC. Several more tiny fixes, more executables built and installed, install pkg-config and m4 files, fix building of gobject tests. Changes to gdbus-codegen to support out-of-tree builds without environment variables set (which you can't in Meson). We now add the build directory to the Python module search path.
* meson: Fix glib, add gobject, gio, gthread, gmodule, etcTim-Philipp Müller2017-07-131-0/+90
| | | | | | Several small fixes to the build files. Lots of tests have also been added, and glib tests pass now.
* build: Drop nmake/MSC build system for GLibPhilip Withnall2017-07-103-40/+0
| | | | | | | | | | | | It hasn’t been seriously maintained for the best part of 10 years and is very outdated. The recommended way to build GLib on Windows is now Visual Studio: https://wiki.gnome.org/Projects/GTK%2B/Win32/MSVCCompilationOfGTKStack#GLib Signed-off-by: Philip Withnall <withnall@endlessm.com> https://bugzilla.gnome.org/show_bug.cgi?id=722047
* gmodule/: LGPLv2+ -> LGPLv2.1+Sébastien Wilmet2017-05-249-106/+126
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=776504
* gmodule – Don't use RTLD_DEFAULT on Android for g_module_self() on Android ↵Sebastian Dröge2017-05-091-3/+15
| | | | | | | | | | | | | | | | 64 bit On 64 bit Android this is #defined to 0, which is considered an invalid library handle in all other cases. RTLD_DEFAULT is only supposed to be used with dlsym() it seems, and the usage here was just an "optimization" before. By dlopen'ing NULL, we get the same on all 64 bit Android variants and it actually works instead of erroring out. On 32 bit Android, dlopen() of NULL unfortunately usually gives us something useless that finds no symbols whatsoever. https://bugzilla.gnome.org/show_bug.cgi?id=776876
* gmodule – Check for RTLD_LAZY and others in configureSebastian Dröge2017-05-091-3/+4
| | | | | | | They are no #defines on Android but enum values, and on 64 bit Android they have different values than what we would otherwise fall-back to. https://bugzilla.gnome.org/show_bug.cgi?id=776876
* gmodule: Remove old win32 codepage ABI compat codeChristoph Reiter2017-04-062-99/+61
| | | | | | | Makes new code link against the normal symbol names again. Variants with utf8 suffix are there for existing binaries/ABI compat. https://bugzilla.gnome.org/show_bug.cgi?id=780634
* gmodule: Add the visibility attribute to G_MODULE_EXPORT on gccPhilip Withnall2017-03-232-4/+12
| | | | | | | | | | | | | | | | For versions of GCC which support it (≥ 4), define G_MODULE_EXPORT as __attribute__((visibility("default"))). This is normally a no-op, unless compiling with -fvisibility=hidden, in which case it marks a symbol to be publicly exported from the library, which is what G_MODULE_EXPORT is for. Previously G_MODULE_EXPORT has only worked on Windows. The compatibility check for whether the compiler supports __attribute__((visibility)) is based on the __GNUC__ define, and is similar to the check done in configure.ac for defining G_GNUC_INTERNAL. Signed-off-by: Philip Withnall <withnall@endlessm.com> https://bugzilla.gnome.org/show_bug.cgi?id=778287
* introspection: use (nullable) or (optional) instead of (allow-none)Christian Hergert2016-11-221-2/+2
| | | | | | | | If we have an input parameter (or return value) we need to use (nullable). However, if it is an (inout) or (out) parameter, (optional) is sufficient. It looks like (nullable) could be used for everything according to the Annotation documentation, but (optional) is more specific.
* win32: fixup lib.exe invocationRyan Lortie2014-02-151-1/+4
| | | | | | | | | | | | | | | | | | We have a configure.ac check for lib.exe that attempts to enable creation of .lib files for our 5 public libraries. That has been broken for a long time for two reasons: 1) the Makefiles hardcode 'lib' instead of 'lib.exe' 2) we dropped generation of .def files quite some time ago (except for in gthread where we have the two-symbol file under version control) Add new rules for creating .def files from dumpbin.exe (which you should have if you have lib.exe) and fix the .lib rules to use lib.exe. Add a bit of $(AM_V_GEN) all around, as well. https://bugzilla.gnome.org/show_bug.cgi?id=722033
* docs: let go of &ast;Matthias Clasen2014-02-141-2/+2
| | | | | | Since we are no longer using sgml mode, using /&ast; &ast;/ to escape block comments inside examples does not work anymore. Switch to using line comments with //
* Eradicate links and xrefsMatthias Clasen2014-02-081-2/+2
| | | | These are all replaced by markdown ref links.
* Docs: replace <literal> by `Matthias Clasen2014-02-061-2/+2
|
* Don't use <filename> in docsMatthias Clasen2014-02-051-6/+5
| | | | Switch to simpler markdown, `foo`.
* Drop use of the command tagMatthias Clasen2014-02-011-2/+1
| | | | It is more useful to link to the included man page, anyway.
* Annotate all examples with their languageMatthias Clasen2014-02-011-1/+1
| | | | The C ones, at least.
* GModule: Move docs away from markupMatthias Clasen2014-02-011-13/+9
|
* Updated FSF's addressDaniel Mustieles2014-01-318-24/+8
|
* Docs: don't use the structname tagMatthias Clasen2014-01-311-1/+1
| | | | Just avoid explicit docbook markup.
* Replace #ifdef HAVE_UNISTD_H checks with #ifdef G_OS_UNIXDan Winship2013-11-201-1/+1
| | | | | | | | | | | | | | | In Windows development environments that have it, <unistd.h> is mostly just a wrapper around several other native headers (in particular, <io.h>, which contains read(), close(), etc, and <process.h>, which contains getpid()). But given that some Windows dev environments don't have <unistd.h>, everything that uses those functions on Windows already needed to include the correct Windows header as well, and so there is never any point to including <unistd.h> on Windows. Also, remove some <unistd.h> includes (and a few others) that were unnecessary even on unix. https://bugzilla.gnome.org/show_bug.cgi?id=710519
* Remove alleged support for last-millennium UnixesDan Winship2013-11-205-175/+5
| | | | | | | | | | | Remove workarounds for NeXTStep (last released in 1995), SunOS (1994), HP-UX 9.x (1992) and 10.x (1995), OSF/1 / Digital UNIX / Tru64 UNIX 4.x (1999), and AIX 4.x (1999). HP-UX 11 implements dlopen(), so dropping support for earlier versions also lets us remove the HP-UX-specific gmodule-dld. https://bugzilla.gnome.org/show_bug.cgi?id=710519
* Remove alleged support for BeOSDan Winship2013-11-204-207/+0
| | | | | | | | | | | | | | | | | | | | Since the initial addition of BeOS support in 1999, there has only been one update to it (in 2005, and it wasn't even very big). GLib is known to not currently build on Haiku (or presumably actual BeOS) without additional patching, and the fact that there isn't a single G_OS_BEOS check in gio/ is suspicious. Additionally, other than the GModule implementation, all of the existing G_OS_BEOS checks are either (a) "G_OS_UNIX || G_OS_BEOS", or (b) random minor POSIXy tweaks (include this header file rather than that one, etc), suggesting that if we were going to support Haiku, it would probably be simpler to treat it as a special kind of G_OS_UNIX (as we do with Mac OS X) rather than as its own completely different thing. So, kill G_OS_BEOS. https://bugzilla.gnome.org/show_bug.cgi?id=710519
* Remove alleged support for OS/2Dan Winship2013-11-204-147/+0
| | | | | | | In particular, remove the OS/2 GModule implementation (which AFAICT was never actually built even on OS/2). https://bugzilla.gnome.org/show_bug.cgi?id=710519
* gmodule: Two minor g-i annotations fixesRico Tzschichholz2013-09-131-2/+2
|
* Rework the build system for a new tests approachRyan Lortie2013-05-311-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Perform a substantial cleanup of the build system with respect to building and installing testcases. First, Makefile.decl has been renamed glib.mk and substantially expanded. We intend to add more stuff here in the future, like canned rules for mkenums, marshallers, resources, etc. By default, tests are no longer compiled as part of 'make'. They will be built when 'make check' is run. The old behaviour can be obtained with --enable-always-build-tests. --disable-modular-tests is gone (because tests are no longer built by default). There is no longer any way to cause 'make check' to be a no-op, but that's not very useful anyway. A new glibtests.m4 file is introduced. Along with glib.mk, this provides for consistent handling of --enable-installed-tests and --enable-always-build-tests (mentioned above). Port our various test-installing Makefiles to the new framework. This patch substantially improves the situation in the toplevel tests/ directory. Things are now somewhat under control there. There were some tests being built that weren't even being run and we run those now. The long-running GObject performance tests in this directory have been removed from 'make check' because they take too long. As an experiment, 'make check' now runs the testcases on win32 builds, by default. We can't run them under gtester (since it uses a pipe to communicate with the subprocess) so just toss them in TESTS. Most of them are passing on win32. Things are not quite done here, but this patch is already a substantial improvement. More to come.
* Use 'dumb quotes' rather than `really dumb quotes'Dan Winship2013-05-214-7/+7
| | | | | | | | | | | | | | | | | | Back in the far-off twentieth century, it was normal on unix workstations for U+0060 GRAVE ACCENT to be drawn as "‛" and for U+0027 APOSTROPHE to be drawn as "’". This led to the convention of using them as poor-man's ‛smart quotes’ in ASCII-only text. However, "'" is now universally drawn as a vertical line, and "`" at a 45-degree angle, making them an `odd couple' when used together. Unfortunately, there are lots of very old strings in glib, and also lots of new strings in which people have kept up the old tradition, perhaps entirely unaware that it used to not look stupid. Fix this by just using 'dumb quotes' everywhere. https://bugzilla.gnome.org/show_bug.cgi?id=700746
* Fix compilation on Android with the bionic C librarySebastian Dröge2013-04-161-0/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=689223
* build: Add --disable-compile-warningsColin Walters2013-02-271-0/+2
| | | | | | | | Some (broken) toolchains for example trip up -Werror=missing-prototypes in system headers. This patch allows people to skip the formerly hardcoded "baseline" warnings. https://bugzilla.gnome.org/show_bug.cgi?id=694757
* Remove ABI checking scriptsRyan Lortie2013-01-172-15/+0
| | | | | | Before this commit, the only difference between the expected and actual ABI were the addition of _init and _fini symbols in each module (now that regexp-based export control is not catching those).
* Remove regexp-based export controlRyan Lortie2013-01-171-1/+1
|
* visibility: Use a separate CFLAGS variableRyan Lortie2013-01-141-0/+1
| | | | | | | | | | | | | | | | | | | | | We only want to control the default visibility for our five main installable libraries: libglib, libgthread, libgmodule, libgobject, libgio. We should therefore only set -fvisibility=hidden when building those. Use a separate substitution variable for this purpose. Using CFLAGS directly leads to some modules built in testcases not exporting their symbols (and then the tests fail). It also affects the fam file monitoring module. Colin had originally done it this way in his visibility patch series but I failed to understand why so I didn't copy it. Now I do. Also: revert changes made to two testcases in an attempt to work around this issue. https://bugzilla.gnome.org/show_bug.cgi?id=691756
* win32: build: stop using .def filesRyan Lortie2013-01-131-17/+2
| | | | | | | | | | | | | | | | | | | | | | With visibility now under the control of __declspec(dllexport) we no longer need to build .def files or use them for building our various .dll files. .def files used to be installed (even though it is only really useful when creating the .dll or .lib file). Don't do that anymore either. The Makefiles still contain rules to create a .lib file for use with Visual Studio and these rules require .def files. There are special requirements to using these rules (like having installed and setup Microsoft tools for use during the build) and therefore the problem of creating a .def file for use with them is left open to anyone willing to make the effort. Many options are available depending on which toolchain is in use (dlltool, pexport, gendef, dumpbin.exe, just to name a few). If we can find a free tool for creating .lib files in the future, we should probably revisit this issue and add proper support back to our build system.
* various: add GLIB_AVAILABLE_IN_ALL everywhere elseRyan Lortie2013-01-131-0/+10
| | | | | | | | | | | Add the GLIB_AVAILABLE_IN_ALL annotation to all old functions (that haven't already been annotated with the GLIB_AVAILABLE_IN_* macros or a deprecation macro). If we discover in the future that we cannot use only one macro on Windows, it will be an easy sed patch to fix that. https://bugzilla.gnome.org/show_bug.cgi?id=688681