Merge branch 'so-long-autotools' into 'master'

Drop autotools support

See merge request GNOME/glib!580
This commit is contained in:
Philip Withnall 2019-01-15 15:26:26 +00:00
commit 419e1485a5
60 changed files with 109 additions and 9887 deletions

29
.gitignore vendored
View File

@ -1,6 +1,4 @@
# for all subdirectories
Makefile.in
Makefile
TAGS
tags
.libs
@ -23,33 +21,6 @@ tags
*.log
*.trs
# autofoo stuff here
compile
config.cache
config.guess
config.h
config.h.in
config.h-new
config.log
config.lt
config.rpath
config.status*
config.sub
configure
depcomp
aclocal.m4
autom4te.cache
stamp-*
libtool
ltmain.sh
mingw32-config.cache
missing
install-sh
glib-gettextize
gtk-doc.make
py-compile
test-driver
INSTALL
/glib-lcov.info
/glib-lcov/

View File

@ -61,33 +61,6 @@ fedora-x86_64:
paths:
- "_build/meson-logs"
fedora-autotools-x86_64:
stage: build
except:
- tags
variables:
CFLAGS: "-Werror"
V: "1"
MAKEFLAGS: "-j8"
script:
- mkdir _build
- cd _build
- ../autogen.sh --enable-always-build-tests --enable-systemtap --enable-dtrace
- make
- make check
artifacts:
name: "glib-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
when: always
paths:
- "_build/config.h"
- "_build/glib/glibconfig.h"
- "_build/*.log"
- "_build/*/*.log"
- "_build/*/*/*.log"
- "_build/*/*/*/*.log"
- "_build/*/*/*/*/*.log"
- "_build/*/*/*/*/*/*.log"
cross-android_api21_arm64:
<<: *cross-template
script:

26
HACKING
View File

@ -1,37 +1,17 @@
If you want to hack on the GLib project, you'll need to have the
following packages installed:
- GNU autoconf 2.62
- GNU automake 1.11
- GNU libtool 2.2
- Meson 0.48.0
- GNU gettext 0.10.40
- pkg-config 0.16
- gtk-doc
- libffi 3.0.0
These should be available by ftp from ftp.gnu.org or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org.
To compile a GIT version of glib on your system, you will need to take
To compile a Git version of glib on your system, you will need to take
several steps to setup the tree for compilation. You can do all these
steps at once by running:
checkout/glib# ./autogen.sh
Basically this does the following for you:
checkout/glib# aclocal; automake; autoconf
The above commands create the "configure" script. Now you
can run the configure script in checkout/glib to create all
the Makefiles.
Before running autogen.sh or configure, make sure you have libtool
in your path.
Note that autogen.sh runs configure for you. If you wish to pass
options like --prefix=/usr to configure you can give those options
to autogen.sh and they will be passed on to configure.
checkout/glib# meson _build
For information about submitting patches see the CONTRIBUTING.md file. For
information about major design decisions, see the README.rationale file.

View File

@ -3,12 +3,11 @@ Simple install procedure
% tar xf glib-@GLIB_VERSION@.tar.gz # unpack the sources
% cd glib-@GLIB_VERSION@ # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GLIB
% meson _build # configure the build
% ninja -C _build # build GLib
[ Become root if necessary ]
% rm -rf /install-prefix/include/glib.h /install-prefix/include/gmodule.h
% make install # install GLIB
% ninja -C _build install # install GLib
Requirements
============
@ -25,7 +24,7 @@ information.) Information about pkg-config can be found at:
http://www.freedesktop.org/software/pkgconfig/
GNU make (http://www.gnu.org/software/make) is also required.
Meson (http://mesonbuild.com/) is also required.
In order to implement conversions between character sets,
GLib requires an implementation of the standard iconv() routine.

View File

@ -1,158 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/glib.mk
# http://people.gnome.org/~walters/docs/build-api.txt
.buildapi-allow-builddir:
ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests subprojects
DIST_SUBDIRS = $(SUBDIRS) build
bin_SCRIPTS = glib-gettextize
if OS_LINUX
TESTS += check-abis.sh
endif
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=g_log_domain_glib \
@GLIB_DEBUG_FLAGS@ \
-DG_DISABLE_DEPRECATED \
-DGLIB_COMPILATION
EXTRA_DIST += \
NEWS.pre-1-3 \
acglib.m4 \
sanity_check \
CONTRIBUTING.md \
README.md \
README.rationale \
INSTALL.in \
README.win32 \
HACKING \
autogen.sh \
glib.mk \
glib-tap.mk \
tap-driver.sh \
tap-test \
msvc_recommended_pragmas.h \
po/po2tbl.sed.in \
glib-2.0.pc.in \
gobject-2.0.pc.in \
gmodule-2.0.pc.in \
gmodule-export-2.0.pc.in \
gmodule-no-export-2.0.pc.in \
gthread-2.0.pc.in \
gio-2.0.pc.in \
gio-unix-2.0.pc.in \
gio-windows-2.0.pc.in \
check-abis.sh \
gtk-doc.make \
$(NULL)
meson_build_files = \
meson_options.txt \
meson.build \
docs/reference/gio/meson.build \
docs/reference/gio/xml/gtkdocentities.ent.in \
docs/reference/gio/xml/meson.build \
docs/reference/glib/meson.build \
docs/reference/glib/xml/gtkdocentities.ent.in \
docs/reference/glib/xml/meson.build \
docs/reference/gobject/meson.build \
docs/reference/gobject/xml/gtkdocentities.ent.in \
docs/reference/gobject/xml/meson.build \
gio/data-to-c.py \
gio/fam/gfamfilemonitor.map \
gio/fam/meson.build \
gio/gdbus-2.0/codegen/meson.build \
gio/gio-querymodules-wrapper.py \
gio/inotify/meson.build \
gio/kqueue/meson.build \
gio/meson.build \
gio/tests/meson.build \
gio/tests/gengiotypefuncs.py \
gio/tests/modules/meson.build \
gio/tests/gdbus-object-manager-example/meson.build \
gio/tests/de/LC_MESSAGES/meson.build \
gio/win32/meson.build \
gio/xdgmime/meson.build \
glib/glibconfig.h.in \
glib/gnulib/meson.build \
glib/libcharset/meson.build \
glib/meson.build \
glib/pcre/meson.build \
glib/tests/meson.build \
gmodule/meson.build \
gobject/meson.build \
gobject/tests/meson.build \
gthread/meson.build \
po/meson.build \
tests/refcount/meson.build \
tests/meson.build \
tests/gobject/meson.build \
$()
EXTRA_DIST += $(meson_build_files)
# These may be in the builddir too
BUILT_EXTRA_DIST += \
INSTALL \
$(NULL)
CONFIGURE_DEPENDENCIES = acglib.m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = glib-2.0.pc gobject-2.0.pc gmodule-2.0.pc gmodule-export-2.0.pc gmodule-no-export-2.0.pc gthread-2.0.pc gio-2.0.pc
if OS_UNIX
pkgconfig_DATA += gio-unix-2.0.pc
endif
if OS_WIN32
pkgconfig_DATA += gio-windows-2.0.pc
endif
$(pkgconfig_DATA): config.status
# Install Valgrind suppression file
valgrinddir = $(datadir)/glib-2.0/valgrind
dist_valgrind_DATA = glib.supp
# build documentation when doing distcheck
AM_DISTCHECK_CONFIGURE_FLAGS = --enable-debug --enable-gtk-doc --enable-man --disable-maintainer-mode
DISTCLEANFILES += config.lt
distclean-local: lcov-clean
if test $(srcdir) = .; then :; else \
rm -f $(BUILT_EXTRA_DIST); \
fi
.PHONY: files release sanity snapshot
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
release:
rm -rf .deps */.deps
cd docs && make glib.html
$(MAKE) distcheck
sanity:
./sanity_check $(VERSION)
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
snapcheck:
$(MAKE) distcheck distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
rm -f $(distdir)/$$f && cp $$d/$$f $(distdir) || exit 1; done

View File

@ -5,9 +5,6 @@ Note that this document is not really maintained in a serious
fashion. Lots of information here might be misleading or outdated. You
have been warned.
The general parts, and the section about gcc and autoconfiscated
build, and about a Visual Studio build are by Tor Lillqvist.
General
=======
@ -29,7 +26,7 @@ Note that to just *use* GLib on Windows, there is no need to build it
yourself.
On Windows setting up a correct build environment can be quite a task,
especially if you are used to just type "./configure; make" on Linux,
especially if you are used to just typing `meson; ninja` on Linux,
and expect things to work as smoothly on Windows.
The following preprocessor macros are to be used for conditional
@ -117,59 +114,6 @@ Before building GLib you must also have a GNU gettext-runtime
developer package. Get prebuilt binaries of gettext-runtime from
http://www.gtk.org/download-windows.html .
Autoconfiscated build (with gcc)
================================
Tor uses gcc 3.4.5 and the rest of the mingw utilities, including MSYS
from www.mingw.org. Somewhat earlier or later versions of gcc
presumably also work fine.
Using Cygwin's gcc with the -mno-cygwin switch is not recommended. In
theory it should work, but Tor hasn't tested that lately. It can
easily lead to confusing situations where one mixes headers for Cygwin
from /usr/include with the headers for native software one really
should use. Ditto for libraries.
If you want to use mingw's gcc, install gcc, win32api, binutils and
MSYS from www.mingw.org.
Tor invokes configure using:
CC='gcc -mtune=pentium3 -mthreads' CPPFLAGS='-I/opt/gnu/include' \
LDFLAGS='-L/opt/gnu/lib -Wl,--enable-auto-image-base' CFLAGS=-O2 \
./configure --disable-gtk-doc --prefix=$TARGET
The /opt/gnu mentioned contains the header files for GNU and (import)
libraries for GNU libintl. The build scripts used to produce the
prebuilt binaries are included in the "dev" packages.
Please note that the ./configure mechanism should not blindly be used
to build a GLib to be distributed to other developers because it
produces a compiler-dependent glibconfig.h.
Except for this and a few other minor issues, there shouldn't be any
reason to distribute separate GLib headers and DLLs for gcc and MSVC6
users, as the compilers generate code that uses the same C runtime
library.
The DLL generated by either compiler is binary compatible with the
other one. Thus one either has to manually edit glibconfig.h
afterwards.
For MSVC7 and later (Visual C++ .NET 2003, Visual C++ 2005, Visual C++
2008 etc) it is preferred to use specific builds of GLib DLLs that use
the same C runtime as the code that uses GLib.
For GLib, the DLL that uses msvcrt.dll is called libglib-2.0-0.dll,
and the import libraries libglib-2.0.dll.a and glib-2.0.lib. Note that
the "2.0" is part of the "basename" of the library, it is not
something that libtool has added. The -0 suffix is added by libtool
and is the value of "LT_CURRENT - LT_AGE". The 0 should *not* be
thought to be part of the version number of GLib. The LT_CURRENT -
LT_AGE value will on purpose be kept as zero as long as binary
compatibility is maintained. For the gory details, see configure.ac
and libtool documentation.
Building with Visual Studio
===========================

131
acglib.m4
View File

@ -1,131 +0,0 @@
## Portability defines that help interoperate with classic and modern autoconfs
ifdef([AC_TR_SH],[
define([GLIB_TR_SH],[AC_TR_SH([$1])])
define([GLIB_TR_CPP],[AC_TR_CPP([$1])])
], [
define([GLIB_TR_SH],
[patsubst(translit([[$1]], [*+], [pp]), [[^a-zA-Z0-9_]], [_])])
define([GLIB_TR_CPP],
[patsubst(translit([[$1]],
[*abcdefghijklmnopqrstuvwxyz],
[PABCDEFGHIJKLMNOPQRSTUVWXYZ]),
[[^A-Z0-9_]], [_])])
])
# GLIB_AC_DIVERT_BEFORE_HELP(STUFF)
# ---------------------------------
# Put STUFF early enough so that they are available for $ac_help expansion.
# Handle both classic (<= v2.13) and modern autoconf
AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
[ifdef([m4_divert_text], [m4_divert_text([NOTICE],[$1])],
[ifdef([AC_DIVERT], [AC_DIVERT([NOTICE],[$1])],
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
$1
AC_DIVERT_POP()])])])
dnl GLIB_IF_VAR_EQ (ENV_VAR, VALUE [, EQUALS_ACTION] [, ELSE_ACTION])
AC_DEFUN([GLIB_IF_VAR_EQ],[
case "$[$1]" in
"[$2]"[)]
[$3]
;;
*[)]
[$4]
;;
esac
])
dnl GLIB_STR_CONTAINS (SRC_STRING, SUB_STRING [, CONTAINS_ACTION] [, ELSE_ACTION])
AC_DEFUN([GLIB_STR_CONTAINS],[
case "[$1]" in
*"[$2]"*[)]
[$3]
;;
*[)]
[$4]
;;
esac
])
dnl GLIB_ADD_TO_VAR (ENV_VARIABLE, CHECK_STRING, ADD_STRING)
AC_DEFUN([GLIB_ADD_TO_VAR],[
GLIB_STR_CONTAINS($[$1], [$2], [$1]="$[$1]", [$1]="$[$1] [$3]")
])
# GLIB_SIZEOF (INCLUDES, TYPE, ALIAS)
# ---------------------------------------------------------------
# The definition here is based of that of AC_CHECK_SIZEOF
AC_DEFUN([GLIB_SIZEOF],
[AS_LITERAL_IF([$3], [],
[AC_FATAL([$0: requires literal arguments])])dnl
AC_CACHE_CHECK([size of $2], AS_TR_SH([glib_cv_sizeof_$3]),
[ # The cast to unsigned long works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
# This bug is HP SR number 8606223364.
_AC_COMPUTE_INT([(long) (sizeof ($2))],
[AS_TR_SH([glib_cv_sizeof_$3])],
[AC_INCLUDES_DEFAULT([$1])],
[AC_MSG_ERROR([cannot compute sizeof ($2), 77])])
])dnl
AC_DEFINE_UNQUOTED(GLIB_TR_CPP(glib_sizeof_$3), $AS_TR_SH([glib_cv_sizeof_$3]),
[The size of $3, as computed by sizeof.])
])# GLIB_SIZEOF
dnl GLIB_BYTE_CONTENTS (INCLUDES, TYPE, ALIAS, N_BYTES, INITIALIZER)
AC_DEFUN([GLIB_BYTE_CONTENTS],
[pushdef([glib_ByteContents], GLIB_TR_SH([glib_cv_byte_contents_$3]))dnl
AC_CACHE_CHECK([byte contents of $5], glib_ByteContents,
[AC_TRY_RUN([#include <stdio.h>
$1
main()
{
static $2 tv = $5;
char *p = (char*) &tv;
int i;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
for (i = 0; i < $4; i++)
fprintf(f, "%s%d", i?",":"", *(p++));
fprintf(f, "\n");
exit(0);
}],
[glib_ByteContents=`cat conftestval` dnl''
],
[glib_ByteContents=no],
[glib_ByteContents=no])])
AC_DEFINE_UNQUOTED(GLIB_TR_CPP(glib_byte_contents_$3), [$[]glib_ByteContents],
[Byte contents of $3])
popdef([glib_ByteContents])dnl
])
# GLIB_CHECK_VALUE(SYMBOL, INCLUDES, ACTION-IF-FAIL)
# ---------------------------------------------------------------
AC_DEFUN([GLIB_CHECK_VALUE],
[AC_CACHE_CHECK([value of $1], AS_TR_SH([glib_cv_value_$1]),
[_AC_COMPUTE_INT([$1], AS_TR_SH([glib_cv_value_$1]), [$2], [$3])])
])dnl
# GLIB_CHECK_COMPILE_WARNINGS(PROGRAM, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# ---------------------------------------------------------------------
# Try to compile PROGRAM, check for warnings
m4_define([GLIB_CHECK_COMPILE_WARNINGS],
[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl
rm -f conftest.$ac_objext
glib_ac_compile_save="$ac_compile"
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext'
AS_IF([_AC_EVAL_STDERR($ac_compile) &&
AC_TRY_COMMAND([(if test -s conftest.err; then false ; else true; fi)])],
[$2],
[echo "$as_me: failed program was:" >&AS_MESSAGE_LOG_FD
cat conftest.$ac_ext >&AS_MESSAGE_LOG_FD
m4_ifvaln([$3],[$3])dnl])
ac_compile="$glib_ac_compile_save"
rm -f conftest.$ac_objext conftest.err m4_ifval([$1], [conftest.$ac_ext])[]dnl
])# GLIB_CHECK_COMPILE_WARNINGS
# GLIB_ASSERT_SET(VARIABLE)
# -------------------------
AC_DEFUN([GLIB_ASSERT_SET],
[if test "x${$1+set}" != "xset" ; then
AC_MSG_ERROR($1 [must be set in cache file when cross-compiling.])
fi
])dnl

View File

@ -1,452 +0,0 @@
dnl @synopsis AC_FUNC_VSNPRINTF_C99
dnl
dnl Check whether there is a vsnprintf() function with C99 semantics installed.
dnl
AC_DEFUN([AC_FUNC_VSNPRINTF_C99],
[AC_CACHE_CHECK(for C99 vsnprintf,
ac_cv_func_vsnprintf_c99,
[AC_TRY_RUN(
[#include <stdio.h>
#include <stdarg.h>
int
doit(char * s, ...)
{
char buffer[32];
va_list args;
int r;
va_start(args, s);
r = vsnprintf(buffer, 5, s, args);
va_end(args);
if (r != 7)
exit(1);
/* AIX 5.1 and Solaris seems to have a half-baked vsnprintf()
implementation. The above will return 7 but if you replace
the size of the buffer with 0, it borks! */
va_start(args, s);
r = vsnprintf(buffer, 0, s, args);
va_end(args);
if (r != 7)
exit(1);
exit(0);
}
int
main(void)
{
doit("1234567");
exit(1);
}], ac_cv_func_vsnprintf_c99=yes, ac_cv_func_vsnprintf_c99=no, ac_cv_func_vsnprintf_c99=no)])
dnl Note that the default is to be pessimistic in the case of cross compilation.
dnl If you know that the target has a C99 vsnprintf(), you can get around this
dnl by setting ac_func_vsnprintf_c99 to yes, as described in the Autoconf manual.
if test $ac_cv_func_vsnprintf_c99 = yes; then
AC_DEFINE(HAVE_C99_VSNPRINTF, 1,
[Define if you have a version of the vsnprintf function
with semantics as specified by the ISO C99 standard.])
fi
])# AC_FUNC_VSNPRINTF_C99
dnl @synopsis AC_FUNC_SNPRINTF_C99
dnl
dnl Check whether there is a snprintf() function with C99 semantics installed.
dnl
AC_DEFUN([AC_FUNC_SNPRINTF_C99],
[AC_CACHE_CHECK(for C99 snprintf,
ac_cv_func_snprintf_c99,
[AC_TRY_RUN(
[#include <stdio.h>
#include <stdarg.h>
int
doit()
{
char buffer[32];
va_list args;
int r;
r = snprintf(buffer, 5, "1234567");
if (r != 7)
exit(1);
r = snprintf(buffer, 0, "1234567");
if (r != 7)
exit(1);
r = snprintf(NULL, 0, "1234567");
if (r != 7)
exit(1);
exit(0);
}
int
main(void)
{
doit();
exit(1);
}], ac_cv_func_snprintf_c99=yes, ac_cv_func_snprintf_c99=no, ac_cv_func_snprintf_c99=no)])
dnl Note that the default is to be pessimistic in the case of cross compilation.
dnl If you know that the target has a C99 snprintf(), you can get around this
dnl by setting ac_func_snprintf_c99 to yes, as described in the Autoconf manual.
if test $ac_cv_func_snprintf_c99 = yes; then
AC_DEFINE(HAVE_C99_SNPRINTF, 1,
[Define if you have a version of the snprintf function
with semantics as specified by the ISO C99 standard.])
fi
])# AC_FUNC_SNPRINTF_C99
dnl @synopsis AC_FUNC_PRINTF_UNIX98
dnl
dnl Check whether the printf() family supports Unix98 %n$ positional parameters
dnl
AC_DEFUN([AC_FUNC_PRINTF_UNIX98],
[AC_CACHE_CHECK(whether printf supports positional parameters,
ac_cv_func_printf_unix98,
[AC_TRY_RUN(
[#include <stdio.h>
int
main (void)
{
char buffer[128];
sprintf (buffer, "%2\$d %3\$d %1\$d", 1, 2, 3);
if (strcmp ("2 3 1", buffer) == 0)
exit (0);
exit (1);
}], ac_cv_func_printf_unix98=yes, ac_cv_func_printf_unix98=no, ac_cv_func_printf_unix98=no)])
dnl Note that the default is to be pessimistic in the case of cross compilation.
dnl If you know that the target printf() supports positional parameters, you can get around
dnl this by setting ac_func_printf_unix98 to yes, as described in the Autoconf manual.
if test $ac_cv_func_printf_unix98 = yes; then
AC_DEFINE(HAVE_UNIX98_PRINTF, 1,
[Define if your printf function family supports positional parameters
as specified by Unix98.])
fi
])# AC_FUNC_PRINTF_UNIX98
# Checks the location of the XML Catalog
# Usage:
# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
AC_DEFUN([JH_PATH_XML_CATALOG],
[
# check for the presence of the XML catalog
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
[path to xml catalog to use]),,
[with_xml_catalog=/etc/xml/catalog])
jh_found_xmlcatalog=true
XML_CATALOG_FILE="$with_xml_catalog"
AC_SUBST([XML_CATALOG_FILE])
AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
if test -f "$XML_CATALOG_FILE"; then
AC_MSG_RESULT([found])
else
jh_found_xmlcatalog=false
AC_MSG_RESULT([not found])
fi
# check for the xmlcatalog program
AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
if test "x$XMLCATALOG" = xno; then
jh_found_xmlcatalog=false
fi
if $jh_found_xmlcatalog; then
ifelse([$1],,[:],[$1])
else
ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
fi
])
# Checks if a particular URI appears in the XML catalog
# Usage:
# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
if $jh_found_xmlcatalog && \
AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
else
AC_MSG_RESULT([not found])
ifelse([$4],,
[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
[$4])
fi
])
# signed.m4 serial 1 (gettext-0.10.40)
dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
AC_DEFUN([bh_C_SIGNED],
[
AC_CACHE_CHECK([for signed], bh_cv_c_signed,
[AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)])
if test $bh_cv_c_signed = no; then
AC_DEFINE(signed, ,
[Define to empty if the C compiler doesn't support this keyword.])
fi
])
# longlong.m4 serial 4
dnl Copyright (C) 1999-2003 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_LONG_LONG if 'long long' works.
AC_DEFUN([jm_AC_TYPE_LONG_LONG],
[
AC_CACHE_CHECK([for long long], ac_cv_type_long_long,
[AC_TRY_LINK([long long ll = 1LL; int i = 63;],
[long long llmax = (long long) -1;
return ll << i | ll >> i | llmax / ll | llmax % ll;],
ac_cv_type_long_long=yes,
ac_cv_type_long_long=no)])
if test $ac_cv_type_long_long = yes; then
AC_DEFINE(HAVE_LONG_LONG, 1,
[Define if you have the 'long long' type.])
fi
])
# longdouble.m4 serial 1 (gettext-0.11.6)
dnl Copyright (C) 2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
dnl Test whether the compiler supports the 'long double' type.
dnl Prerequisite: AC_PROG_CC
AC_DEFUN([gt_TYPE_LONGDOUBLE],
[
AC_CACHE_CHECK([for long double], gt_cv_c_long_double,
[if test "$GCC" = yes; then
gt_cv_c_long_double=yes
else
AC_TRY_COMPILE([
/* The Stardent Vistra knows sizeof(long double), but does not support it. */
long double foo = 0.0;
/* On Ultrix 4.3 cc, long double is 4 and double is 8. */
int array [2*(sizeof(long double) >= sizeof(double)) - 1];
], ,
gt_cv_c_long_double=yes, gt_cv_c_long_double=no)
fi])
if test $gt_cv_c_long_double = yes; then
AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.])
fi
])
# wchar_t.m4 serial 1 (gettext-0.11.6)
dnl Copyright (C) 2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
dnl Test whether <stddef.h> has the 'wchar_t' type.
dnl Prerequisite: AC_PROG_CC
AC_DEFUN([gt_TYPE_WCHAR_T],
[
AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t,
[AC_TRY_COMPILE([#include <stddef.h>
wchar_t foo = (wchar_t)'\0';], ,
gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)])
if test $gt_cv_c_wchar_t = yes; then
AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.])
fi
])
# wint_t.m4 serial 1
dnl Copyright (C) 2003 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Bruno Haible.
dnl Test whether <wchar.h> has the 'wint_t' type.
dnl Prerequisite: AC_PROG_CC
AC_DEFUN([gt_TYPE_WINT_T],
[
AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t,
[AC_TRY_COMPILE([#include <wchar.h>
wint_t foo = (wchar_t)'\0';], ,
gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)])
if test $gt_cv_c_wint_t = yes; then
AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.])
fi
])
# intmax_t.m4 serial 1
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
AC_PREREQ(2.13)
# Define intmax_t to 'long' or 'long long'
# if it is not already defined in <stdint.h> or <inttypes.h>.
AC_DEFUN([jm_AC_TYPE_INTMAX_T],
[
dnl For simplicity, we assume that a header file defines 'intmax_t' if and
dnl only if it defines 'uintmax_t'.
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
AC_REQUIRE([jm_AC_HEADER_STDINT_H])
if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
test $ac_cv_type_long_long = yes \
&& ac_type='long long' \
|| ac_type='long'
AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
[Define to long or long long if <inttypes.h> and <stdint.h> don't define.])
else
AC_DEFINE(HAVE_INTMAX_T, 1,
[Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
fi
])
dnl An alternative would be to explicitly test for 'intmax_t'.
AC_DEFUN([gt_AC_TYPE_INTMAX_T],
[
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
AC_REQUIRE([jm_AC_HEADER_STDINT_H])
AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t,
[AC_TRY_COMPILE([
#include <stddef.h>
#include <stdlib.h>
#if HAVE_STDINT_H_WITH_UINTMAX
#include <stdint.h>
#endif
#if HAVE_INTTYPES_H_WITH_UINTMAX
#include <inttypes.h>
#endif
], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)])
if test $gt_cv_c_intmax_t = yes; then
AC_DEFINE(HAVE_INTMAX_T, 1,
[Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
else
AC_REQUIRE([jm_AC_TYPE_LONG_LONG])
test $ac_cv_type_long_long = yes \
&& ac_type='long long' \
|| ac_type='long'
AC_DEFINE_UNQUOTED(intmax_t, $ac_type,
[Define to long or long long if <stdint.h> and <inttypes.h> don't define.])
fi
])
# stdint_h.m4 serial 3 (gettext-0.11.6)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
AC_DEFUN([jm_AC_HEADER_STDINT_H],
[
AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <stdint.h>],
[uintmax_t i = (uintmax_t) -1;],
jm_ac_cv_header_stdint_h=yes,
jm_ac_cv_header_stdint_h=no)])
if test $jm_ac_cv_header_stdint_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
])
# inttypes_h.m4 serial 5 (gettext-0.11.6)
dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License. As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.
dnl From Paul Eggert.
# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
# doesn't clash with <sys/types.h>, and declares uintmax_t.
AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
[
AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <inttypes.h>],
[uintmax_t i = (uintmax_t) -1;],
jm_ac_cv_header_inttypes_h=yes,
jm_ac_cv_header_inttypes_h=no)])
if test $jm_ac_cv_header_inttypes_h = yes; then
AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
and declares uintmax_t. ])
fi
])
m4_include(acglib.m4)dnl
m4_include(glib/libcharset/codeset.m4)dnl
m4_include(glib/libcharset/glibc21.m4)dnl
m4_include(m4macros/glib-gettext.m4)dnl

View File

@ -1,34 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
test -n "$srcdir" || srcdir=`dirname "$0"`
test -n "$srcdir" || srcdir=.
olddir=`pwd`
cd "$srcdir"
if ! command -v gtkdocize >/dev/null 2>&1; then
echo "You don't have gtk-doc installed, and thus won't be able to generate the documentation."
rm -f gtk-doc.make
cat > gtk-doc.make <<EOF
EXTRA_DIST =
CLEANFILES =
EOF
else
gtkdocize || exit $?
fi
if ! command -v autoreconf >/dev/null 2>&1; then
echo "*** No autoreconf found, please install it ***"
exit 1
fi
# INSTALL is required by automake, but may be deleted by clean
# up rules. to get automake to work, simply touch it here. It will be
# regenerated from its corresponding *.in file by ./configure anyway.
touch INSTALL
autoreconf --force --install --verbose || exit $?
cd "$olddir"
test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"

View File

@ -1,6 +0,0 @@
SUBDIRS = \
win32
EXTRA_DIST = \
README

View File

@ -1,2 +0,0 @@
SUBDIRS = \
dirent

View File

@ -1,8 +0,0 @@
EXTRA_DIST = \
README \
dirent.c \
dirent.h \
wdirent.c \
dirent-zip

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +0,0 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = reference
EXTRA_DIST = debugging.txt macros.txt
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done

View File

@ -4,7 +4,7 @@ Traps (G_BREAKPOINT) and traces for the debuging
Some code portions contain trap variables that can be set during
debugging time if G_ENABLE_DEBUG has been defined upon compilation
(use the --enable-debug=yes option to configure for this, macros.txt
(use the --buildtype=debug option to configure for this, macros.txt
covers more details).
Such traps lead to immediate code halts to examine the current
program state and backtrace.
@ -35,7 +35,4 @@ When G_ENABLE_DEBUG was defined upon compilation, the GObject library
supports an environment variable GOBJECT_DEBUG that can be set to a
combination of the flags passed in to g_type_init() (currently
"objects" and "signals") to trigger debugging messages about
object bookkeeping and signal emissions during runtime.
2000/02/04 Tim Janik
object bookkeeping and signal emissions during runtime.

View File

@ -1,15 +1,14 @@
GLib's configure options and corresponding macros
=================================================
--enable-debug=no
-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS
--enable-debug=minimum [default for stable branches]
--buildtype={plain,release,minsize,custom}
none
--enable-debug=yes [default for development branches]
--buildtype={debug,debugoptimized} [debugoptimized is the default]
-DG_ENABLE_DEBUG -g
Available to define yourself:
-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS
Besides these, there are some local feature specific options, but my main
focus here is to concentrate on macros that affect overall GLib behaviour
and/or third party code.
@ -22,8 +21,8 @@ G_DISABLE_ASSERT
The g_assert() and g_assert_not_reached() become non-functional
with this define. The motivation is to speed up end-user apps by
avoiding expensive checks.
This macro can affect third-party code. --enable-debug=no will only
disable the assertion macros for GLib itself, but third-party code
This macro can affect third-party code. Defining it when building GLib
will only disable the assertion macros for GLib itself, but third-party code
that passes -DG_DISABLE_ASSERT to the compiler upon its own build
will end up with the non-functional variants after including glib.h
as well.
@ -51,7 +50,4 @@ G_ENABLE_DEBUG
- added verbosity of gutils.c to catch deprecated code paths
- object ref/unref traps (consult debugging.txt) and object bookkeeping
in gobject.c
- extra validity checks in gsignal.c
2000/12/28 Tim Janik
- extra validity checks in gsignal.c

View File

@ -1 +0,0 @@
SUBDIRS = glib gobject gio

View File

@ -1,244 +0,0 @@
NULL =
# The name of the module.
DOC_MODULE=gio
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gio-docs.xml
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS = \
--rebuild-types \
--deprecated-guards="G_DISABLE_DEPRECATED" \
--ignore-decorators="GLIB_VAR|G_GNUC_INTERNAL|G_GNUC_WARN_UNUSED_RESULT|GLIB_AVAILABLE_IN_ALL|GLIB_AVAILABLE_IN_2_26|GLIB_AVAILABLE_IN_2_28|GLIB_AVAILABLE_IN_2_30|GLIB_AVAILABLE_IN_2_32|GLIB_AVAILABLE_IN_2_34|GLIB_AVAILABLE_IN_2_36|GLIB_AVAILABLE_IN_2_38|GLIB_AVAILABLE_IN_2_40|GLIB_AVAILABLE_IN_2_42|GLIB_AVAILABLE_IN_2_44|GLIB_AVAILABLE_IN_2_46|GLIB_AVAILABLE_IN_2_48|GLIB_AVAILABLE_IN_2_50|GLIB_AVAILABLE_IN_2_52|GLIB_AVAILABLE_IN_2_54|GLIB_AVAILABLE_IN_2_56|GLIB_DEPRECATED_IN_2_26|GLIB_DEPRECATED_IN_2_26_FOR|GLIB_DEPRECATED_IN_2_28|GLIB_DEPRECATED_IN_2_28_FOR|GLIB_DEPRECATED_IN_2_30|GLIB_DEPRECATED_IN_2_30_FOR|GLIB_DEPRECATED_IN_2_32|GLIB_DEPRECATED_IN_2_32_FOR|GLIB_DEPRECATED_IN_2_34|GLIB_DEPRECATED_IN_2_34_FOR|GLIB_DEPRECATED_IN_2_36|GLIB_DEPRECATED_IN_2_36_FOR|GLIB_DEPRECATED_IN_2_38|GLIB_DEPRECATED_IN_2_38_FOR|GLIB_DEPRECATED_IN_2_40|GLIB_DEPRECATED_IN_2_40_FOR|GLIB_DEPRECATED_IN_2_42|GLIB_DEPRECATED_IN_2_42_FOR|GLIB_DEPRECATED_IN_2_44|GLIB_DEPRECATED_IN_2_44_FOR|GLIB_DEPRECATED_IN_2_46|GLIB_DEPRECATED_IN_2_46_FOR|GLIB_DEPRECATED_IN_2_48|GLIB_DEPRECATED_IN_2_48_FOR|GLIB_DEPRECATED_IN_2_50|GLIB_DEPRECATED_IN_2_50_FOR|GLIB_DEPRECATED_IN_2_52|GLIB_DEPRECATED_IN_2_52_FOR|GLIB_DEPRECATED_IN_2_54|GLIB_DEPRECATED_IN_2_54_FOR|GLIB_DEPRECATED_IN_2_56|GLIB_DEPRECATED_IN_2_56_FOR"
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR =$(top_srcdir)/gio $(top_builddir)/gio
HFILE_GLOB= \
$(top_srcdir)/gio/*.h \
$(top_builddir)/gio/gioenumtypes.h
CFILE_GLOB=$(top_srcdir)/gio/*.c
IGNORE_HFILES = \
fam \
fen \
gdbus-2.0 \
gvdb \
inotify \
kqueue \
libasyncns \
tests \
win32 \
xdgmime \
gappinfoprivate.h \
gapplicationimpl.h \
gasynchelper.h \
gcontenttypeprivate.h \
gcontextspecificgroup.h \
gcredentialsprivate.h \
gdbus-daemon-generated.h \
gdbusactiongroup-private.h \
gdbusauth.h \
gdbusauthmechanismanon.h \
gdbusauthmechanismexternal.h \
gdbusauthmechanism.h \
gdbusauthmechanismsha1.h \
gdbusdaemon.h \
gdbusprivate.h \
gdelayedsettingsbackend.h \
gdocumentportal.h \
gdummyfile.h \
gdummyproxyresolver.h \
gdummytlsbackend.h \
gfileattribute-priv.h \
gfileinfo-priv.h \
ghttpproxy.h \
giomodule-priv.h \
gioprivate.h \
giowin32-priv.h \
gio_probes.h \
gio_trace.h \
gio-tool.h \
glocaldirectorymonitor.h \
glocalfileenumerator.h \
glocalfile.h \
glocalfileinfo.h \
glocalfileinputstream.h \
glocalfileiostream.h \
glocalfilemonitor.h \
glocalfileoutputstream.h \
glocalvfs.h \
gmountprivate.h \
gnativevolumemonitor.h \
gnetworkingprivate.h \
gnetworkmonitorbase.h \
gnetworkmonitornetlink.h \
gnetworkmonitornm.h \
gnetworkmonitorportal.h \
gnotificationbackend.h \
gnotification-private.h \
gopenuriportal.h \
gpollfilemonitor.h \
gportalsupport.h \
gproxyresolverportal.h \
gregistrysettingsbackend.h \
gresourcefile.h \
gsettingsbackendinternal.h \
gsettings-mapping.h \
gsettingsschema-internal.h \
gsocketinputstream.h \
gsocketoutputstream.h \
gsocks4aproxy.h \
gsocks4proxy.h \
gsocks5proxy.h \
gsubprocesslauncher-private.h \
gthreadedresolver.h \
gunionvolumemonitor.h \
gunixmount.h \
gunixresolver.h \
gunixvolume.h \
gunixvolumemonitor.h \
gwin32appinfo.h \
gwin32mount.h \
gwin32registrykey.h \
gwin32resolver.h \
gwin32volumemonitor.h \
thumbnail-verify.h \
xdp-dbus.h \
$(NULL)
if OS_WIN32
IGNORE_HFILES += \
gfiledescriptorbased.h \
gunixconnection.h \
gunixcredentialsmessage.h \
gunixmounts.h \
gunixfdlist.h \
gunixfdmessage.h \
gunixinputstream.h \
gunixoutputstream.h \
gunixsocketaddress.h \
gdesktopappinfo.h \
gosxappinfo.h \
$(NULL)
else
if OS_COCOA
IGNORE_HFILES += gdesktopappinfo.h
else
IGNORE_HFILES += gosxappinfo.h
endif
IGNORE_HFILES += \
gwin32networkmonitor.h \
gwin32inputstream.h \
gwin32outputstream.h \
$(NULL)
endif
MKDB_IGNORE_FILES = \
gdbus-daemon-generated.c \
kqueue \
libasyncns \
tests \
$(NULL)
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
AM_CPPFLAGS = \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS)
GTKDOC_LIBS = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/gio/libgio-2.0.la \
$(NULL)
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS = --output-format=xml --name-space=g \
--ignore-files='$(MKDB_IGNORE_FILES)'
# Images to copy into HTML directory
HTML_IMAGES = \
gvfs-overview.png \
menu-example.png \
menu-model.png
content_files = \
version.xml \
overview.xml \
migrating-posix.xml \
migrating-gnome-vfs.xml \
migrating-gconf.xml \
migrating-gdbus.xml \
gio-querymodules.xml \
glib-compile-schemas.xml\
glib-compile-resources.xml \
gapplication.xml \
gsettings.xml \
gresource.xml \
gdbus.xml \
gdbus-codegen.xml \
gio.xml \
$(NULL)
expand_content_files = \
overview.xml \
migrating-posix.xml \
migrating-gnome-vfs.xml \
migrating-gconf.xml \
migrating-gdbus.xml \
gdbus-codegen.xml \
$(NULL)
extra_files = \
version.xml.in \
gvfs-overview.odg
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html --extra-dir=$(srcdir)/../gobject/html
include $(top_srcdir)/gtk-doc.make
EXTRA_DIST += \
version.xml.in
man_MANS =
if ENABLE_MAN
man_MANS += \
gapplication.1 \
gio-querymodules.1 \
glib-compile-schemas.1 \
glib-compile-resources.1 \
gsettings.1 \
gresource.1 \
gdbus.1 \
gdbus-codegen.1 \
gio.1 \
$(NULL)
XSLTPROC_FLAGS = \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0
.xml.1:
$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
endif
CLEANFILES ?=
CLEANFILES += $(man_MANS)
dist-hook-local: all-local
gio-docs-clean: clean
cd $(srcdir) && rm -rf xml html

View File

@ -1,149 +0,0 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=glib
# The top-level SGML file.
DOC_MAIN_SGML_FILE=glib-docs.xml
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR = \
$(top_srcdir)/glib $(top_srcdir)/gmodule \
$(top_builddir)/glib $(top_builddir)/gmodule
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS = \
--deprecated-guards="G_DISABLE_DEPRECATED" \
--ignore-decorators="GLIB_VAR|G_GNUC_INTERNAL|G_GNUC_WARN_UNUSED_RESULT|GLIB_AVAILABLE_IN_ALL|GLIB_AVAILABLE_IN_2_26|GLIB_AVAILABLE_IN_2_28|GLIB_AVAILABLE_IN_2_30|GLIB_AVAILABLE_IN_2_32|GLIB_AVAILABLE_IN_2_34|GLIB_AVAILABLE_IN_2_36|GLIB_AVAILABLE_IN_2_38|GLIB_AVAILABLE_IN_2_40|GLIB_AVAILABLE_IN_2_42|GLIB_AVAILABLE_IN_2_44|GLIB_AVAILABLE_IN_2_46|GLIB_AVAILABLE_IN_2_48|GLIB_AVAILABLE_IN_2_50|GLIB_AVAILABLE_IN_2_52|GLIB_AVAILABLE_IN_2_54|GLIB_AVAILABLE_IN_2_56|GLIB_DEPRECATED_IN_2_26|GLIB_DEPRECATED_IN_2_26_FOR|GLIB_DEPRECATED_IN_2_28|GLIB_DEPRECATED_IN_2_28_FOR|GLIB_DEPRECATED_IN_2_30|GLIB_DEPRECATED_IN_2_30_FOR|GLIB_DEPRECATED_IN_2_32|GLIB_DEPRECATED_IN_2_32_FOR|GLIB_DEPRECATED_IN_2_34|GLIB_DEPRECATED_IN_2_34_FOR|GLIB_DEPRECATED_IN_2_36|GLIB_DEPRECATED_IN_2_36_FOR|GLIB_DEPRECATED_IN_2_38|GLIB_DEPRECATED_IN_2_38_FOR|GLIB_DEPRECATED_IN_2_40|GLIB_DEPRECATED_IN_2_40_FOR|GLIB_DEPRECATED_IN_2_42|GLIB_DEPRECATED_IN_2_42_FOR|GLIB_DEPRECATED_IN_2_44|GLIB_DEPRECATED_IN_2_44_FOR|GLIB_DEPRECATED_IN_2_46|GLIB_DEPRECATED_IN_2_46_FOR|GLIB_DEPRECATED_IN_2_48|GLIB_DEPRECATED_IN_2_48_FOR|GLIB_DEPRECATED_IN_2_50|GLIB_DEPRECATED_IN_2_50_FOR|GLIB_DEPRECATED_IN_2_52|GLIB_DEPRECATED_IN_2_52_FOR|GLIB_DEPRECATED_IN_2_54|GLIB_DEPRECATED_IN_2_54_FOR|GLIB_DEPRECATED_IN_2_56|GLIB_DEPRECATED_IN_2_56_FOR"
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--output-format=xml --name-space=g
# Used for dependencies
HFILE_GLOB = \
$(top_srcdir)/glib/*.h \
$(top_srcdir)/gmodule/*.h \
$(top_builddir)/glib/glibconfig.h
CFILE_GLOB= $(top_srcdir)/glib/*.c $(top_srcdir)/gmodule/*.c
# Ignore some private headers
IGNORE_HFILES = \
gallocator.h \
gdatasetprivate.h \
glibintl.h \
gbsearcharray.h \
glib-private.h \
gmoduleconf.h \
grcboxprivate.h \
gstdioprivate.h \
gthreadprivate.h \
gunibreak.h \
gunicomp.h \
gunidecomp.h \
gunichartables.h \
glib_probes.h \
glib_trace.h \
libcharset.h \
gdebug.h \
gprintfint.h \
gmirroringtable.h \
gscripttable.h \
glib-mirroring-tab \
gnulib \
pcre \
update-pcre \
gbytesprivate.h \
gvariant-internal.h \
gvariant-serialiser.h \
gvariant-core.h \
gvarianttypeinfo.h \
gwakeup.h \
gtranslit-data.h \
glib-init.h \
gconstructor.h \
valgrind.h \
gutilsprivate.h \
gvalgrind.h \
$(NULL)
# Images to copy into HTML directory
HTML_IMAGES = \
file-name-encodings.png \
mainloop-states.gif \
Sorted_binary_tree_breadth-first_traversal.svg \
Sorted_binary_tree_inorder.svg \
Sorted_binary_tree_postorder.svg \
Sorted_binary_tree_preorder.svg
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
content_files = \
cross.xml \
running.xml \
building.xml \
changes.xml \
compiling.xml \
programming.xml \
resources.xml \
regex-syntax.xml \
version.xml \
glib-gettextize.xml \
gtester.xml \
gtester-report.xml \
gvariant-varargs.xml \
gvariant-text.xml
expand_content_files = \
compiling.xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../gobject/html --extra-dir=$(srcdir)/../gio/html
# include common portion ...
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += \
file-name-encodings.png \
file-name-encodings.sxd \
mainloop-states.fig \
mainloop-states.png \
mainloop-states.eps \
Sorted_binary_tree_breadth-first_traversal.svg \
Sorted_binary_tree_inorder.svg \
Sorted_binary_tree_postorder.svg \
Sorted_binary_tree_preorder.svg \
version.xml.in
########################################################################
man_MANS =
if ENABLE_MAN
man_MANS += \
glib-gettextize.1 \
gtester.1 \
gtester-report.1
XSLTPROC_FLAGS = \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0
.xml.1:
$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
endif
CLEANFILES ?=
CLEANFILES += $(man_MANS)
dist-hook-local: all-local
glib-docs-clean: clean
cd $(srcdir) && rm -rf xml html

View File

@ -17,28 +17,22 @@
<refsect1 id="building">
<title>Building the Library on UNIX</title>
<para>
On UNIX, GLib uses the standard GNU build system,
using <application>autoconf</application> for package
configuration and resolving portability issues,
<application>automake</application> for building makefiles
that comply with the GNU Coding Standards, and
<application>libtool</application> for building shared
libraries on multiple platforms. The normal sequence for
compiling and installing the GLib library is thus:
On UNIX, GLib uses the standard <application>Meson</application> build
system. The normal sequence for compiling and installing the GLib library
is thus:
<literallayout>
<userinput>./configure</userinput>
<userinput>make</userinput>
<userinput>make install</userinput>
<userinput>meson _build</userinput>
<userinput>ninja -C _build</userinput>
<userinput>ninja -C _build install</userinput>
</literallayout>
</para>
<para>
The standard options provided by <application>GNU
autoconf</application> may be passed to the
<command>configure</command> script. Please see the
<application>autoconf</application> documentation or run
<command>./configure --help</command> for information about
The standard options provided by <application>Meson</application> may be
passed to the <command>meson</command> command. Please see the
<application>Meson</application> documentation or run
<command>meson configure --help</command> for information about
the standard options.
</para>
<para>
@ -61,10 +55,9 @@
various other tools and libraries installed on your system.
If you are building from a release archive, you will need
<ulink url="https://wiki.gnome.org/Projects/GLib/CompilerRequirements">a compliant C toolchain</ulink>,
GNU Make, and <application>pkg-config</application>;
if you are building directly from a Git repository clone
of GLib, you will also need the GNU Autotools mentioned
above.
<application>Meson</application>, and <application>pkg-config</application>;
the requirements are the same when building from a Git repository clone
of GLib.
</para>
<itemizedlist>
<listitem>
@ -78,17 +71,6 @@
information).
</para>
</listitem>
<listitem>
<para>
The GLib Makefiles make use of several features specific to
<ulink url="http://www.gnu.org/software/make">GNU
make</ulink>, and will not build correctly with other
versions of <command>make</command>. You will need to
install it if you don't already have it on your system. (It
may be called <command>gmake</command> rather than
<command>make</command>.)
</para>
</listitem>
</itemizedlist>
<para>
A UNIX build of GLib requires that the system implements at
@ -111,8 +93,8 @@
<para>
If your system has an <function>iconv()</function> implementation but
you want to use libiconv instead, you can pass the
<option>--with-libiconv</option> option to configure. This forces
libiconv to be used.
<option>-Diconv=gnu</option> option to <command>meson</command>. This
forces libiconv to be used.
</para>
<para>
Note that if you have libiconv installed in your default include
@ -169,14 +151,14 @@
<function>getxattr()</function> family of functions that may be
provided by the C library or by the standalone libattr library. To
build GLib without extended attribute support, use the
<option>--disable-xattr</option> option.
<option>-Dxattr=false</option> option.
</para>
</listitem>
<listitem>
<para>
The optional SELinux support in GIO requires libselinux.
To build GLib without SELinux support, use the
<option>--disable-selinux</option> option.
<option>-Dselinux=false</option> option.
</para>
</listitem>
<listitem>
@ -184,17 +166,17 @@
The optional support for DTrace requires the
<filename>sys/sdt.h</filename> header, which is provided
by SystemTap on Linux. To build GLib without DTrace, use
the <option>--disable-dtrace</option> configure option.
the <option>-Ddtrace=false</option> option.
</para>
</listitem>
<listitem>
<para>
The optional support for
<ulink url="http://sourceware.org/systemtap/">SystemTap</ulink>
can be disabled with the <option>--disable-systemtap</option>
configure option. Additionally, you can control the location
can be disabled with the <option>-Dsystemtap=false</option>
option. Additionally, you can control the location
where GLib installs the SystemTap probes, using the
<option>--with-tapset-install-dir=DIR</option> configure option.
<option>-Dtapset_install_dir=DIR</option> option.
</para>
</listitem>
</itemizedlist>
@ -204,60 +186,43 @@
<title>Extra Configuration Options</title>
<para>
In addition to the normal options, the
<command>configure</command> script in the GLib
library supports these additional arguments:
In addition to the normal options, these additional ones are supported
when configuring the GLib library:
</para>
<formalpara>
<title><option>--enable-debug</option></title>
<title><option>--buildtype</option></title>
<para>
Turns on various amounts of debugging support. Setting this to 'no'
disables <function>g_assert()</function>, <function>g_return_if_fail()</function>,
<function>g_return_val_if_fail()</function> and all cast checks
between different object types. Setting it to 'minimum' disables
only cast checks. Setting it to 'yes' enables <link linkend="G-DEBUG:CAPS">runtime debugging</link>.
The default is 'minimum' for stable releases, and 'yes' for development
snapshots. Note that 'no' is fast, but dangerous as it tends to destabilize
even mostly bug-free software by changing the effect of many bugs
from simple warnings into fatal crashes. Thus
<option>--enable-debug=no</option> should <emphasis>not</emphasis>
be used for stable releases of GLib.
This is a standard <application>Meson</application> option which
specifies how much debugging and optimization to enable. If the build
type starts with <literal>debug</literal>,
<literal>G_ENABLE_DEBUG</literal> will be defined and GLib will be built
with additional debug code enabled.
</para>
</formalpara>
<formalpara>
<title><option>--with-threads</option></title>
<title><option>-Dforce_posix_threads=true</option></title>
<para>
Specify a thread implementation to use. Available options are
'posix' or 'win32'. Normally, <command>configure</command>
should be able to work out the system threads API on its own.
Normally, <application>Meson</application> should be able to work out
the correct thread implementation to use. This option forces POSIX
threads to be used even if the platform provides another threading API
(for example, on Windows).
</para>
</formalpara>
<formalpara>
<title><option>--with-pcre</option></title>
<title><option>-Dinternal_pcre=true</option></title>
<para>
Specify whether to use the internal or the system-supplied
PCRE library.
<itemizedlist>
<listitem>
<para>
'internal' means that GRegex will be compiled to use
the internal PCRE library.
</para>
</listitem>
<listitem>
<para>
'system' means that GRegex will be compiled to use
the system-supplied PCRE library; this is the default
setting.
</para>
</listitem>
</itemizedlist>
Normally, GLib will be configured to use the system-supplied PCRE
library if it is suitable, falling back to an internal version
otherwise. If this option is specified, the internal version will always
be used.
</para>
<para>
Using the internal PCRE is the preferred solution if:
<itemizedlist>
<listitem>
@ -288,30 +253,8 @@
</formalpara>
<formalpara>
<title><option>--disable-included-printf</option> and
<option>--enable-included-printf</option></title>
<para>
By default the <command>configure</command> script will try
to auto-detect whether the C library provides a suitable set
of <function>printf()</function> functions. In detail,
<command>configure</command> checks that the semantics of
<function>snprintf()</function> are as specified by C99
and that positional parameters as specified in the Single Unix
Specification are supported. If this not the case, GLib will
include an implementation of the <function>printf()</function>
family.
</para>
<para>
These options can be used to explicitly control whether
an implementation of the <function>printf()</function> family
should be included or not.
</para>
</formalpara>
<formalpara>
<title><option>--disable-Bsymbolic</option> and
<option>--enable-Bsymbolic</option></title>
<title><option>-Dbsymbolic_functions=false</option> and
<option>-Dbsymbolic_functions=true</option></title>
<para>
By default, GLib uses the <option>-Bsymbolic-functions</option>
@ -320,18 +263,17 @@
internal uses of GLib functions with
<envar>LD_PRELOAD</envar>. Therefore, it may make
sense to turn this feature off in some situations.
The <option>--disable-Bsymbolic</option> option allows
The <option>-Dbsymbolic_functions=false</option> option allows
to do that.
</para>
</formalpara>
<formalpara>
<title><option>--disable-gtk-doc</option> and
<option>--enable-gtk-doc</option></title>
<title><option>-Dgtk_doc=false</option> and
<option>-Dgtk_doc=true</option></title>
<para>
By default the <command>configure</command> script will try
to auto-detect whether the
By default, GLib will detect whether the
<application>gtk-doc</application> package is installed.
If it is, then it will use it to extract and build the
documentation for the GLib library. These options
@ -344,13 +286,12 @@
</formalpara>
<formalpara>
<title><option>--disable-man</option> and
<option>--enable-man</option></title>
<title><option>-Dman=false</option> and
<option>-Dman=true</option></title>
<para>
By default the <command>configure</command> script will try
to auto-detect whether <application>xsltproc</application>
and the necessary Docbook stylesheets are installed.
By default, GLib will detect whether <application>xsltproc</application>
and the necessary DocBook stylesheets are installed.
If they are, then it will use them to rebuild the included
man pages from the XML sources. These options can be used
to explicitly control whether man pages should be rebuilt
@ -360,12 +301,12 @@
</formalpara>
<formalpara>
<title><option>--disable-xattr</option> and
<option>--enable-xattr</option></title>
<title><option>-Dxattr=false</option> and
<option>-Dxattr=true</option></title>
<para>
By default the <command>configure</command> script will try
to auto-detect whether the <function>getxattr()</function>
By default, GLib will detect whether the
<function>getxattr()</function>
family of functions is available. If it is, then extended
attribute support will be included in GIO. These options can
be used to explicitly control whether extended attribute
@ -376,54 +317,54 @@
</formalpara>
<formalpara>
<title><option>--disable-selinux</option> and
<option>--enable-selinux</option></title>
<title><option>-Dselinux=false</option> and
<option>-Dselinux=true</option></title>
<para>
By default the <command>configure</command> script will
auto-detect if libselinux is available and include
SELinux support in GIO if it is. These options can be
By default, GLib will detect if libselinux is available and
include SELinux support in GIO if it is. These options can be
used to explicitly control whether SELinux support should
be included.
</para>
</formalpara>
<formalpara>
<title><option>--disable-dtrace</option> and
<option>--enable-dtrace</option></title>
<title><option>-Ddtrace=false</option> and
<option>-Ddtrace=true</option></title>
<para>
By default the <command>configure</command> script will
detect if DTrace support is available, and use it.
By default, GLib will detect if DTrace support is available, and use it.
These options can be used to explicitly control whether DTrace support
is compiled into GLib.
</para>
</formalpara>
<formalpara>
<title><option>--disable-systemtap</option> and
<option>--enable-systemtap</option></title>
<title><option>-Dsystemtap=false</option> and
<option>-Dsystemtap=true</option></title>
<para>
This option requires DTrace support. If it is available, then
the <command>configure</command> script will also check for
the presence of SystemTap.
GLib will also check for the presence of SystemTap.
</para>
</formalpara>
<formalpara>
<title><option>--enable-coverage</option> and
<option>--disable-coverage</option></title>
<title><option>-Db_coverage=true</option> and
<option>-Db_coverage=false</option></title>
<para>
Enable the generation of coverage reports for the GLib tests.
This requires the lcov frontend to gcov from the
<ulink url="http://ltp.sourceforge.net">Linux Test Project</ulink>.
To generate a coverage report, use the lcov make target. The
report is placed in the <filename>glib-lcov</filename> directory.
To generate a coverage report, use
<command>ninja coverage-html</command>. The report is placed in the
<filename>meson-logs</filename> directory.
</para>
</formalpara>
<formalpara>
<title><option>--with-runtime-libdir=RELPATH</option></title>
<title><option>-Druntime_libdir=RELPATH</option></title>
<para>
Allows specifying a relative path to where to install the runtime
@ -433,21 +374,11 @@
is mounted.
For example, if <varname>LIBDIR</varname> is <filename>/usr/lib</filename> and
<filename>../../lib</filename> is passed to
<option>--with-runtime-libdir</option> then the
<option>-Druntime_libdir</option> then the
runtime libraries are installed into <filename>/lib</filename> rather
than <filename>/usr/lib</filename>.
</para>
</formalpara>
<formalpara>
<title><option>--with-python=PATH</option></title>
<para>
Allows specifying the Python interpreter to use, either as an absolute path,
or as a program name. GLib can be built with Python 2 (at least version 2.7)
or, preferably, with Python 3.
</para>
</formalpara>
</refsect1>
</refentry>

View File

@ -1,102 +0,0 @@
## Process this file with automake to produce Makefile.in
AUTOMAKE_OPTIONS = 1.6
# The name of the module.
DOC_MODULE=gobject
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gobject-docs.xml
# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR =$(top_srcdir)/gobject $(top_builddir)/gobject
# Extra options to supply to gtkdoc-scan
SCAN_OPTIONS = \
--rebuild-types \
--deprecated-guards="G_DISABLE_DEPRECATED" \
--ignore-decorators="GLIB_VAR|G_GNUC_INTERNAL|G_GNUC_WARN_UNUSED_RESULT|GLIB_AVAILABLE_IN_ALL|GLIB_AVAILABLE_IN_2_26|GLIB_AVAILABLE_IN_2_28|GLIB_AVAILABLE_IN_2_30|GLIB_AVAILABLE_IN_2_32|GLIB_AVAILABLE_IN_2_34|GLIB_AVAILABLE_IN_2_36|GLIB_AVAILABLE_IN_2_38|GLIB_AVAILABLE_IN_2_40|GLIB_AVAILABLE_IN_2_42|GLIB_AVAILABLE_IN_2_44|GLIB_AVAILABLE_IN_2_46|GLIB_AVAILABLE_IN_2_48|GLIB_AVAILABLE_IN_2_50|GLIB_AVAILABLE_IN_2_52|GLIB_AVAILABLE_IN_2_54|GLIB_AVAILABLE_IN_2_56|GLIB_DEPRECATED_IN_2_26|GLIB_DEPRECATED_IN_2_26_FOR|GLIB_DEPRECATED_IN_2_28|GLIB_DEPRECATED_IN_2_28_FOR|GLIB_DEPRECATED_IN_2_30|GLIB_DEPRECATED_IN_2_30_FOR|GLIB_DEPRECATED_IN_2_32|GLIB_DEPRECATED_IN_2_32_FOR|GLIB_DEPRECATED_IN_2_34|GLIB_DEPRECATED_IN_2_34_FOR|GLIB_DEPRECATED_IN_2_36|GLIB_DEPRECATED_IN_2_36_FOR|GLIB_DEPRECATED_IN_2_38|GLIB_DEPRECATED_IN_2_38_FOR|GLIB_DEPRECATED_IN_2_40|GLIB_DEPRECATED_IN_2_40_FOR|GLIB_DEPRECATED_IN_2_42|GLIB_DEPRECATED_IN_2_42_FOR|GLIB_DEPRECATED_IN_2_44|GLIB_DEPRECATED_IN_2_44_FOR|GLIB_DEPRECATED_IN_2_46|GLIB_DEPRECATED_IN_2_46_FOR|GLIB_DEPRECATED_IN_2_48|GLIB_DEPRECATED_IN_2_48_FOR|GLIB_DEPRECATED_IN_2_50|GLIB_DEPRECATED_IN_2_50_FOR|GLIB_DEPRECATED_IN_2_52|GLIB_DEPRECATED_IN_2_52_FOR|GLIB_DEPRECATED_IN_2_54|GLIB_DEPRECATED_IN_2_54_FOR|GLIB_DEPRECATED_IN_2_56|GLIB_DEPRECATED_IN_2_56_FOR"
# Extra options to supply to gtkdoc-mkdb
MKDB_OPTIONS=--output-format=xml --name-space=g
# Used for dependencies
HFILE_GLOB=$(top_srcdir)/gobject/*.h
CFILE_GLOB=$(top_srcdir)/gobject/*.c
# Headers to ignore
IGNORE_HFILES = \
tests \
gatomicarray.h \
gobject_probes.h \
gobject_trace.h \
gtype-private.h
# CFLAGS and LDFLAGS for compiling scan program. Only needed
# if $(DOC_MODULE).types is non-empty.
AM_CPPFLAGS = \
-I$(srcdir) \
$(gobject_INCLUDES) \
$(GLIB_DEBUG_FLAGS)
GTKDOC_LIBS = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la
# Images to copy into HTML directory
HTML_IMAGES = \
images/glue.png
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
content_files = version.xml \
glib-mkenums.xml \
glib-genmarshal.xml \
gobject-query.xml \
tut_gobject.xml \
tut_gsignal.xml \
tut_gtype.xml \
tut_howto.xml \
tut_intro.xml \
tut_tools.xml
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
EXTRA_DIST += \
version.xml.in
########################################################################
man_MANS =
if ENABLE_MAN
man_MANS += \
glib-mkenums.1 \
glib-genmarshal.1 \
gobject-query.1
XSLTPROC_FLAGS = \
--nonet \
--stringparam man.output.quietly 1 \
--stringparam funcsynopsis.style ansi \
--stringparam man.th.extra1.suppress 1 \
--stringparam man.authors.section.enabled 0 \
--stringparam man.copyright.section.enabled 0
.xml.1:
$(AM_V_GEN) $(XSLTPROC) $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
endif
CLEANFILES ?=
CLEANFILES += $(man_MANS)
dist-hook-local: all-local
gobject-docs-clean: clean
cd $(srcdir) && rm -rf xml html

File diff suppressed because it is too large Load Diff

View File

@ -1,39 +0,0 @@
include $(top_srcdir)/glib.mk
module_flags = -export_dynamic -avoid-version -module -no-undefined -export-symbols-regex '^g_io_module_(load|unload|query)'
giomodule_LTLIBRARIES = libgiofam.la
giomoduledir = $(GIO_MODULE_DIR)
libgiofam_la_SOURCES = gfamfilemonitor.c
libgiofam_la_CFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" \
-DGIO_COMPILATION \
-DG_DISABLE_DEPRECATED
libgiofam_la_LDFLAGS = $(module_flags)
libgiofam_la_LIBADD = \
$(top_builddir)/gio/libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(GLIB_LIBS) \
$(FAM_LIBS) \
$(NULL)
if CROSS_COMPILING
RUN_QUERY_MODULES=false
else
RUN_QUERY_MODULES=true
endif
install-data-hook:
if $(RUN_QUERY_MODULES) && test -z "$(DESTDIR)" ; then \
$(top_builddir)/gio/gio-querymodules$(EXEEXT) $(DESTDIR)$(GIO_MODULE_DIR) ; \
fi
uninstall-local:
$(RM) $(DESTDIR)$(GIO_MODULE_DIR)/giomodule.cache

View File

@ -1,28 +0,0 @@
include $(top_srcdir)/glib.mk
bin_SCRIPTS =
codegendir = $(datadir)/glib-2.0/codegen
codegen_PYTHON = \
__init__.py \
codegen.py \
codegen_main.py \
codegen_docbook.py \
config.py \
dbustypes.py \
parser.py \
utils.py \
$(NULL)
CLEANFILES += config.pyc
bin_SCRIPTS += gdbus-codegen
CLEANFILES += gdbus-codegen
EXTRA_DIST += gdbus-codegen.in
gdbus-codegen: gdbus-codegen.in Makefile $(codegen_PYTHON)
$(AM_V_GEN) sed -e 's,@DATADIR\@,$(datadir),' -e 's,@PYTHON\@,$(PYTHON),' $< > $@.tmp && mv $@.tmp $@
@chmod a+x $@
clean-local:
rm -f *~

View File

@ -1,32 +0,0 @@
include $(top_srcdir)/glib.mk
noinst_LTLIBRARIES += libinotify.la
libinotify_la_SOURCES = \
inotify-kernel.c \
inotify-sub.c \
inotify-path.c \
inotify-missing.c \
inotify-helper.c \
inotify-kernel.h \
inotify-missing.h \
inotify-path.h \
inotify-sub.h \
inotify-helper.h \
ginotifyfilemonitor.c \
ginotifyfilemonitor.h \
$(NULL)
libinotify_la_CFLAGS = \
$(GLIB_HIDDEN_VISIBILITY_CFLAGS) \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" \
-DGIO_COMPILATION \
-DG_DISABLE_DEPRECATED
libinotify_la_LIBADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(NULL)

View File

@ -1,21 +0,0 @@
include $(top_srcdir)/glib.mk
noinst_LTLIBRARIES += libkqueue.la
libkqueue_la_SOURCES = \
gkqueuefilemonitor.c \
kqueue-helper.c \
kqueue-helper.h \
kqueue-missing.c \
dep-list.c \
dep-list.h \
$(NULL)
libkqueue_la_CFLAGS = \
$(GLIB_HIDDEN_VISIBILITY_CFLAGS) \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" \
-DGIO_COMPILATION \
-DG_DISABLE_DEPRECATED

View File

@ -1,709 +0,0 @@
include $(top_srcdir)/glib-tap.mk
dist_uninstalled_test_data =
test_ltlibraries =
SUBDIRS = gdbus-object-manager-example services modules
LDADD = \
$(top_builddir)/gio/libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
AM_CPPFLAGS = $(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) -I$(top_builddir)/gio -I$(top_srcdir)/gio
DEFS = -DG_LOG_DOMAIN=\"GLib-GIO\" -DTEST_SERVICES=\""$(abs_top_builddir)/gio/tests/services"\"
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
AM_TESTS_ENVIRONMENT += \
GIO_MODULE_DIR= \
GIO_LAUNCH_DESKTOP="$(top_builddir)/gio/gio-launch-desktop"
# -----------------------------------------------------------------------------
# Test programs buildable on all platforms
test_programs = \
appmonitor \
async-close-output-stream \
async-splice-output-stream \
buffered-input-stream \
buffered-output-stream \
cancellable \
contexts \
contenttype \
converter-stream \
credentials \
data-input-stream \
data-output-stream \
fileattributematcher \
filter-streams \
giomodule \
gsubprocess \
g-file \
g-file-info \
g-icon \
gdbus-addresses \
gdbus-message \
inet-address \
io-stream \
memory-input-stream \
memory-output-stream \
monitor \
mount-operation \
network-monitor \
network-monitor-race \
permission \
pollable \
proxy-test \
readwrite \
simple-async-result \
simple-proxy \
sleepy-stream \
socket \
socket-listener \
socket-service \
srvtarget \
task \
tls-database \
tls-interaction \
vfs \
volumemonitor \
glistmodel \
testfilemonitor \
$(NULL)
uninstalled_test_programs = \
$(NULL)
dist_test_data = \
contexts.c \
g-icon.c \
$(NULL)
test_data = \
$(NULL)
uninstalled_test_extra_programs = \
gio-du \
echo-server \
filter-cat \
gapplication-example-actions \
gapplication-example-cmdline \
gapplication-example-cmdline2 \
gapplication-example-cmdline3 \
gapplication-example-cmdline4 \
gapplication-example-dbushooks \
gapplication-example-open \
gdbus-example-export \
gdbus-example-own-name \
gdbus-example-peer \
gdbus-example-proxy-subclass \
gdbus-example-server \
gdbus-example-subtree \
gdbus-example-watch-name \
gdbus-example-watch-proxy \
gsubprocess-testprog \
httpd \
proxy \
resolver \
send-data \
socket-server \
$(NULL)
test_extra_programs = \
gdbus-connection-flush-helper \
gdbus-testserver \
$(NULL)
dist_uninstalled_test_data += $(addprefix schema-tests/,$(schema_tests))
schema_tests = \
array-default-not-in-choices.gschema.xml \
bad-choice.gschema.xml \
bad-key.gschema.xml \
bad-key2.gschema.xml \
bad-key3.gschema.xml \
bad-key4.gschema.xml \
bad-type.gschema.xml \
bare-alias.gschema.xml \
choice-alias.gschema.xml \
choice-bad.gschema.xml \
choice-badtype.gschema.xml \
choice-invalid-alias.gschema.xml \
choice-missing-value.gschema.xml \
choice-shadowed-alias.gschema.xml \
choice-upside-down.gschema.xml \
choice.gschema.xml \
choices-wrong-type.gschema.xml \
default-in-aliases.gschema.xml \
default-not-in-choices.gschema.xml \
default-out-of-range.gschema.xml \
description-xmllang.gschema.xml \
empty-key.gschema.xml \
enum-with-aliases.gschema.xml \
enum-with-bad-default.gschema.xml \
enum-with-chained-alias.gschema.xml \
enum-with-choice.gschema.xml \
enum-with-invalid-alias.gschema.xml \
enum-with-invalid-value.gschema.xml \
enum-with-repeated-alias.gschema.xml \
enum-with-repeated-nick.gschema.xml \
enum-with-repeated-value.gschema.xml \
enum-with-shadow-alias.gschema.xml \
enum.gschema.xml \
extend-and-shadow-indirect.gschema.xml \
extend-and-shadow.gschema.xml \
extend-missing.gschema.xml \
extend-nonlist.gschema.xml \
extend-self.gschema.xml \
extend-wrong-list-indirect.gschema.xml \
extend-wrong-list.gschema.xml \
extending.gschema.xml \
flags-aliased-default.gschema.xml \
flags-bad-default.gschema.xml \
flags-more-than-one-bit.gschema.xml \
flags-with-enum-attr.gschema.xml \
flags-with-enum-tag.gschema.xml \
from-docs.gschema.xml \
incomplete-list.gschema.xml \
inherit-gettext-domain.gschema.xml \
invalid-path.gschema.xml \
key-in-list-indirect.gschema.xml \
key-in-list.gschema.xml \
list-of-missing.gschema.xml \
missing-quotes.gschema.xml \
no-default.gschema.xml \
overflow.gschema.xml \
override-missing.gschema.xml \
override-range-error.gschema.xml \
override-then-key.gschema.xml \
override-twice.gschema.xml \
override-type-error.gschema.xml \
override.gschema.xml \
range-badtype.gschema.xml \
range-default-high.gschema.xml \
range-default-low.gschema.xml \
range-high-default.gschema.xml \
range-low-default.gschema.xml \
range-missing-max.gschema.xml \
range-missing-min.gschema.xml \
range-parse-error.gschema.xml \
range-wrong-type.gschema.xml \
range.gschema.xml \
summary-xmllang.gschema.xml \
summary-xmllang-and-attrs.gschema.xml \
wrong-category.gschema.xml \
$(NULL)
test_programs += network-address
network_address_SOURCES = \
network-address.c \
mock-resolver.c \
mock-resolver.h
test_programs += thumbnail-verification
dist_test_data += $(thumbnail_data_files)
thumbnail_data_files = $(addprefix thumbnails/,$(thumbnail_tests))
thumbnail_tests = \
bad-header.png \
empty-key.png \
header-and-chunk-size.png \
header-only.png \
huge-chunk-size.png \
mtime-zero.png \
no-text-data.png \
overlong-value.png \
uri-mismatch.png \
valid.png \
valid-no-size.png \
$(NULL)
test_programs += tls-certificate
tls_certificate_SOURCES = \
tls-certificate.c \
gtesttlsbackend.c \
gtesttlsbackend.h
dist_test_data += $(cert_data_files)
cert_data_files = $(addprefix cert-tests/,$(cert_tests))
cert_tests = \
cert1.pem \
cert2.pem \
cert3.pem \
cert-crlf.pem \
cert-key.pem \
cert-list.pem \
key8.pem \
key8enc.pem \
key-cert.pem \
key.pem \
key-crlf.pem \
key_missing-footer.pem \
key_missing-header.pem \
nothing.pem \
$(NULL)
uninstalled_test_extra_programs += socket-client
socket_client_SOURCES = \
socket-client.c \
gtlsconsoleinteraction.c \
gtlsconsoleinteraction.h
EXTRA_DIST += socket-common.c
uninstalled_test_extra_programs += gdbus-daemon
gdbus_daemon_SOURCES = gdbus-daemon.c
nodist_gdbus_daemon_SOURCES = \
gdbus-daemon-generated.c \
gdbus-daemon-impl.c
CLEANFILES += gdbus-daemon-impl.c gdbus-daemon-generated.c gdbus-daemon-generated.h
# With subdir-objects we need to create a link to the original
# file in the right directory, otherwise libtool will complain
# that it cannot find the wrapper file
gdbus-daemon-impl.c: $(top_srcdir)/gio/gdbusdaemon.c
$(AM_V_GEN) $(LN_S) $^ $@
# These files are only generated on Windows builds inside GIO,
# but we want them on non-Windows builds for the tests
gdbus-daemon-generated.h gdbus-daemon-generated.c: $(top_srcdir)/gio/dbus-daemon.xml $(GDBUS_PYTHON_DEPS)
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(top_srcdir)/gio/gdbus-2.0/codegen/gdbus-codegen.in \
--interface-prefix org. \
--generate-c-code gdbus-daemon-generated \
--c-namespace _G \
$(top_srcdir)/gio/dbus-daemon.xml \
$(NULL)
# -----------------------------------------------------------------------------
# Test programs buildable on UNIX only
if OS_UNIX
test_programs += \
file \
gdbus-peer-object-manager \
live-g-file \
socket-address \
stream-rw_all \
unix-fd \
unix-mounts \
unix-streams \
g-file-info-filesystem-readonly \
trash \
$(NULL)
test_extra_programs += \
basic-application \
dbus-launch \
$(NULL)
if !OS_COCOA
# Uninstalled because of the check-for-executable logic in DesktopAppInfo unable to find the installed executable
uninstalled_test_programs += \
appinfo \
desktop-app-info \
$(NULL)
endif
home_desktop_files = \
epiphany-weather-for-toronto-island-9c6a4e022b17686306243dada811d550d25eb1fb.desktop \
eog.desktop
usr_desktop_files = \
baobab.desktop \
cheese.desktop \
dconf-editor.desktop \
eog.desktop \
evince-previewer.desktop \
evince.desktop \
file-roller.desktop \
frobnicator.desktop \
gcr-prompter.desktop \
gcr-viewer.desktop \
gedit.desktop \
glade.desktop \
gnome-contacts.desktop \
gnome-font-viewer.desktop \
gnome-music.desktop \
gnome-terminal.desktop \
gucharmap.desktop \
kde4/dolphin.desktop \
kde4/kate.desktop \
kde4/konqbrowser.desktop \
kde4/okular.desktop \
mimeinfo.cache \
nautilus-autorun-software.desktop \
nautilus-classic.desktop \
nautilus-connect-server.desktop \
nautilus.desktop \
org.gnome.clocks.desktop \
totem.desktop \
yelp.desktop
dist_test_data += \
$(addprefix desktop-files/usr/applications/,$(usr_desktop_files)) \
$(addprefix desktop-files/home/applications/,$(home_desktop_files))
dist_test_data += \
appinfo-test-actions.desktop \
appinfo-test-static.desktop \
file.c \
org.gtk.test.dbusappinfo.desktop \
x-content/image-dcf/DCIM/Camera/20130831_203925.jpg \
x-content/image-dcf/DCIM/Camera/20130831_203928.jpg \
x-content/unix-software/autorun.sh \
x-content/win32-software/autorun.exe \
$(NULL)
test_extra_programs += \
appinfo-test \
$(NULL)
uninstalled_test_extra_programs += \
gdbus-example-unix-fd-client \
$(NULL)
if !OS_COCOA
test_extra_programs += apps
test_programs += mimeapps
endif
appinfo-test-gnome.desktop: appinfo-test-gnome.desktop.in Makefile
$(AM_V_GEN)$(SED) \
-e 's|[@]installed_tests_dir[@]|$(installed_testdir)|g' \
$< > $@
appinfo-test-notgnome.desktop: appinfo-test-notgnome.desktop.in Makefile
$(AM_V_GEN)$(SED) \
-e 's|[@]installed_tests_dir[@]|$(installed_testdir)|g' \
$< > $@
appinfo-test.desktop: appinfo-test.desktop.in Makefile
$(AM_V_GEN)$(SED) \
-e 's|[@]installed_tests_dir[@]|$(installed_testdir)|g' \
$< > $@
appinfo-test2.desktop: appinfo-test2.desktop.in Makefile
$(AM_V_GEN)$(SED) \
-e 's|[@]installed_tests_dir[@]|$(installed_testdir)|g' \
$< > $@
appinfo_desktop_templates = \
appinfo-test-gnome.desktop.in \
appinfo-test-notgnome.desktop.in \
appinfo-test.desktop.in \
appinfo-test2.desktop.in \
$(NULL)
appinfo_desktop_files = $(appinfo_desktop_templates:.in=)
EXTRA_DIST += $(appinfo_desktop_templates)
CLEANFILES += $(appinfo_desktop_files)
test_data += $(appinfo_desktop_files)
uninstalled_test_programs += gsettings gschema-compile
gsettings_DEPENDENCIES = test.mo
CLEANFILES += test.mo de/LC_MESSAGES/test.mo keyfile/gsettings.store
gsettings_CFLAGS = $(AM_CFLAGS) -DSRCDIR=\"$(abs_srcdir)\"
test.mo: de.po
$(AM_V_GEN) $(MSGFMT) -o test.mo $(srcdir)/de.po; \
$(MKDIR_P) de/LC_MESSAGES; \
cp -f test.mo de/LC_MESSAGES
EXTRA_DIST += de.po
dist_uninstalled_test_data += \
org.gtk.test.gschema.xml.orig \
org.gtk.test.gschema.override.orig \
org.gtk.schemasourcecheck.gschema.xml \
testenum.h \
enums.xml.template
# Generated while running the testcase itself...
CLEANFILES += \
org.gtk.test.gschema.xml \
org.gtk.test.gschema.override \
org.gtk.test.enums.xml \
gsettings.store \
gschemas.compiled \
schema-source/gschemas.compiled \
schema-source-corrupt/gschemas.compiled \
schema-source-empty/gschemas.compiled \
$(NULL)
test_programs += gdbus-connection-flush
gdbus_connection_flush_SOURCES = \
gdbus-connection-flush.c \
test-io-stream.c \
test-io-stream.h \
test-pipe-unix.c \
test-pipe-unix.h
test_programs += gdbus-non-socket
gdbus_non_socket_SOURCES = \
gdbus-non-socket.c \
gdbus-tests.c \
gdbus-tests.h \
test-io-stream.c \
test-io-stream.h \
test-pipe-unix.c \
test-pipe-unix.h
# These three are manual-run tests because they need a session bus but don't bring one up themselves
uninstalled_test_extra_programs += gdbus-example-objectmanager-client
gdbus_example_objectmanager_client_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
uninstalled_test_extra_programs += gdbus-example-objectmanager-server
gdbus_example_objectmanager_server_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
test_extra_programs += gsubprocess-testprog
uninstalled_test_extra_programs += gdbus-test-fixture
gdbus_test_fixture_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
# This is peer to peer so it doesn't need a session bus (so we can run it normally)
gdbus_peer_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
# This test is currently unreliable
test_extra_programs += gdbus-overflow
# -----------------------------------------------------------------------------
# Test programs that need to bring up a session bus (requires dbus-daemon)
if HAVE_DBUS_DAEMON
gdbus_sessionbus_sources = gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
test_programs += \
actions \
defaultvalue \
gapplication \
gdbus-auth \
gdbus-bz627724 \
gdbus-close-pending \
gdbus-connection \
gdbus-connection-loss \
gdbus-connection-slow \
gdbus-error \
gdbus-exit-on-close \
gdbus-export \
gdbus-introspection \
gdbus-names \
gdbus-peer \
gdbus-proxy \
gdbus-proxy-threads \
gdbus-proxy-unique-name \
gdbus-proxy-well-known-name \
gdbus-test-codegen \
gdbus-test-codegen-old \
gdbus-threading \
gmenumodel \
gnotification \
$(NULL)
if OS_UNIX
test_programs += gdbus-unix-addresses
if !OS_COCOA
test_programs += dbus-appinfo
endif
endif
gdbus_proxy_threads_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
actions_SOURCES = $(gdbus_sessionbus_sources) actions.c
dbus_appinfo_SOURCES = $(gdbus_sessionbus_sources) dbus-appinfo.c
gapplication_SOURCES = $(gdbus_sessionbus_sources) gapplication.c
gdbus_auth_SOURCES = $(gdbus_sessionbus_sources) gdbus-auth.c
gdbus_bz627724_SOURCES = $(gdbus_sessionbus_sources) gdbus-bz627724.c
gdbus_close_pending_SOURCES = $(gdbus_sessionbus_sources) gdbus-close-pending.c
gdbus_connection_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection.c
gdbus_connection_loss_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-loss.c
gdbus_connection_slow_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-slow.c
gdbus_error_SOURCES = $(gdbus_sessionbus_sources) gdbus-error.c
gdbus_exit_on_close_SOURCES = $(gdbus_sessionbus_sources) gdbus-exit-on-close.c
gdbus_export_SOURCES = $(gdbus_sessionbus_sources) gdbus-export.c
gdbus_introspection_SOURCES = $(gdbus_sessionbus_sources) gdbus-introspection.c
gdbus_names_SOURCES = $(gdbus_sessionbus_sources) gdbus-names.c
gdbus_proxy_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy.c
gdbus_proxy_threads_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy-threads.c
gdbus_proxy_unique_name_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy-unique-name.c
gdbus_proxy_well_known_name_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy-well-known-name.c
gdbus_test_codegen_SOURCES = $(gdbus_sessionbus_sources) gdbus-test-codegen.c
nodist_gdbus_test_codegen_SOURCES = gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h gdbus-test-codegen-generated-interface-info.c gdbus-test-codegen-generated-interface-info.h
gdbus_test_codegen_old_SOURCES = $(gdbus_sessionbus_sources) gdbus-test-codegen.c
nodist_gdbus_test_codegen_old_SOURCES = gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h gdbus-test-codegen-generated-interface-info.c gdbus-test-codegen-generated-interface-info.h
gdbus_test_codegen_old_CPPFLAGS = $(AM_CPPFLAGS) -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36
gdbus_threading_SOURCES = $(gdbus_sessionbus_sources) gdbus-threading.c
gmenumodel_SOURCES = $(gdbus_sessionbus_sources) gmenumodel.c
gnotification_SOURCES = $(gdbus_sessionbus_sources) gnotification.c gnotification-server.h gnotification-server.c
BUILT_SOURCES += gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h gdbus-test-codegen-generated-interface-info.c gdbus-test-codegen-generated-interface-info.h
gdbus-test-codegen.o: gdbus-test-codegen-generated.h gdbus-test-codegen-generated-interface-info.h
gdbus-test-codegen-generated.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
--interface-prefix org.project. \
--generate-c-code gdbus-test-codegen-generated \
--c-generate-object-manager \
--c-generate-autocleanup all \
--c-namespace Foo_iGen \
--generate-docbook gdbus-test-codegen-generated-doc \
--annotate "org.project.Bar" Key1 Value1 \
--annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
--annotate "org.project.Bar.HelloWorld()" Key3 Value3 \
--annotate "org.project.Bar::TestSignal" Key4 Value4 \
--annotate "org.project.Bar:ay" Key5 Value5 \
--annotate "org.project.Bar.TestPrimitiveTypes()[val_int32]" Key6 Value6 \
--annotate "org.project.Bar.TestPrimitiveTypes()[ret_uint32]" Key7 Value7 \
--annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
$(srcdir)/test-codegen.xml \
$(NULL)
gdbus-test-codegen-generated.c: gdbus-test-codegen-generated.h
@: # Generated as side-effect of .h
gdbus-test-codegen-generated-interface-info.h: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
--interface-info-header \
--annotate "org.project.Bar" Key1 Value1 \
--annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
--annotate "org.project.Bar.HelloWorld()" Key3 Value3 \
--annotate "org.project.Bar::TestSignal" Key4 Value4 \
--annotate "org.project.Bar:ay" Key5 Value5 \
--annotate "org.project.Bar.TestPrimitiveTypes()[val_int32]" Key6 Value6 \
--annotate "org.project.Bar.TestPrimitiveTypes()[ret_uint32]" Key7 Value7 \
--annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
--output $@ \
$(srcdir)/test-codegen.xml \
$(NULL)
gdbus-test-codegen-generated-interface-info.c: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
--interface-info-body \
--annotate "org.project.Bar" Key1 Value1 \
--annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
--annotate "org.project.Bar.HelloWorld()" Key3 Value3 \
--annotate "org.project.Bar::TestSignal" Key4 Value4 \
--annotate "org.project.Bar:ay" Key5 Value5 \
--annotate "org.project.Bar.TestPrimitiveTypes()[val_int32]" Key6 Value6 \
--annotate "org.project.Bar.TestPrimitiveTypes()[ret_uint32]" Key7 Value7 \
--annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
--output $@ \
$(srcdir)/test-codegen.xml \
$(NULL)
EXTRA_DIST += test-codegen.xml
CLEANFILES += gdbus-test-codegen-generated.[ch] gdbus-test-codegen-generated-doc-*.xml gdbus-test-codegen-generated-interface-info.[ch]
endif # OS_UNIX
endif # HAVE_DBUS_DAEMON
tls_interaction_SOURCES = tls-interaction.c gtesttlsbackend.c gtesttlsbackend.h
tls_database_SOURCES = tls-database.c gtesttlsbackend.c gtesttlsbackend.h
# -----------------------------------------------------------------------------
if OS_WIN32
test_programs += win32-streams
endif
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
if HAVE_DBUS1
test_programs += gdbus-serialization
gdbus_serialization_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
gdbus_serialization_LDADD = $(LDADD) $(DBUS1_LIBS)
gdbus_serialization_SOURCES = \
gdbus-serialization.c \
gdbus-tests.h \
gdbus-tests.c
endif
if HAVE_GCC
test_programs += \
autoptr \
$(NULL)
endif
# -----------------------------------------------------------------------------
# The resources test is a bit more complicated, and we cannot build it when
# cross-compiling GIO because it requires running a binary...
if !CROSS_COMPILING
test_programs += resources
resources_SOURCES = resources.c
nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
resources_DEPENDENCIES = test.gresource
test_ltlibraries += libresourceplugin.la
libresourceplugin_la_SOURCES = resourceplugin.c
nodist_libresourceplugin_la_SOURCES = plugin_resources.c
libresourceplugin_la_LDFLAGS = -avoid-version -module -export-dynamic $(no_undefined)
libresourceplugin_la_LIBADD = $(LDADD)
test_data += test.gresource
# libtool contains a bug whereby the created .la file doesn't contain the correct dlname='' in the case that
# you're building a library but not installing it. This is apparently because the only considered use for an
# uninstalled library is as a convenience library for linking (despite the fact that we give -module). The lack
# of dlname='' in the .la trips up libltdl and GModule as well. We can trick libtool into believing that we
# will install the module by giving it a bogus -rpath for the uninstalled cases.
#
# See http://lists.gnu.org/archive/html/bug-libtool/2013-05/msg00009.html
if !ENABLE_INSTALLED_TESTS
libresourceplugin_la_LDFLAGS += -rpath /
endif
glib_compile_resources=$(top_builddir)/gio/glib-compile-resources
test-generated.txt: test1.txt
$(AM_V_GEN) echo "Generated" > $@ && \
cat $< >> $@
gresource-big-test.txt: gen-big-test-resource.py
$(AM_V_GEN) $(PYTHON) $< $@
resources.o: test_resources2.h
test_resources.c: test2.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test2.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=. --sourcedir=$(srcdir) --generate-source --c-name _g_test1 $<
test_resources2.h test_resources2.c: test3.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test3.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate --c-name _g_test2 --manual-register $<
plugin_resources.c: test4.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test4.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name _g_plugin $<
test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=. --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=. --sourcedir=$(srcdir) $<
EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml test5.gresource.xml gen-big-test-resource.py
CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource gresource-big-test.txt
if OS_LINUX
test5.gresource: test5.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=. --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test5.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=. --sourcedir=$(srcdir) $<
test_resources_binary.c: test5.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=. --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test5.gresource.xml)
$(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name _g_binary_test1 $<
test_resources_binary_data.o: test5.gresource
$(AM_V_GEN) ld -r -b binary $< -o $@
test_resources_binary_data2.o: test_resources_binary.o
$(AM_V_GEN) objcopy --add-symbol _g_binary_test1_resource_data=.data:0 -N _binary_test5_gresource_start -N _binary_test5_gresource_size -N _binary_test5_gresource_end $< $@
nodist_resources_SOURCES += test_resources_binary_data2.o test_resources_binary.c
endif
endif # !CROSS_COMPILING
BUILT_SOURCES += giotypefuncs.inc
giotypefuncs.inc: Makefile
$(AM_V_GEN) echo '#include <gio/gio.h>' > xgen-giosrc.c && \
echo "G_GNUC_BEGIN_IGNORE_DEPRECATIONS" > xgen-gio && \
${CPP} $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-giosrc.c | \
$(GREP) -o '\bg_[A-Za-z0-9_]*_get_type\b' | \
$(GREP) -v 'g_io_extension_get_type\|g_variant_get_type' | \
LC_ALL=C sort | uniq | \
$(SED) -e 's/^/*tp++ = /' -e 's/$$/ ();/' >> xgen-gio && \
cp xgen-gio $@ # && rm -f xgen-gio xgen-giosrc.c
CLEANFILES += xgen-giosrc.c xgen-gio giotypefuncs.inc
if ENABLE_INSTALLED_TESTS
if OS_UNIX
install-data-hook:
$(AM_V_at) chmod a+x $(DESTDIR)$(installed_testdir)/x-content/win32-software/autorun.exe
endif
endif

View File

@ -1,49 +0,0 @@
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = -g $(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) -I$(top_builddir)/gio -I$(top_srcdir)/gio
# ------------------------------------------------------------------------
GDBUS_GENERATED = \
objectmanager-gen.h \
objectmanager-gen.c \
objectmanager-gen-org.gtk.GDBus.Example.ObjectManager.Animal.xml \
objectmanager-gen-org.gtk.GDBus.Example.ObjectManager.Cat.xml \
$(NULL)
$(GDBUS_GENERATED) : gdbus-example-objectmanager.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
$(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
$(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
--interface-prefix org.gtk.GDBus.Example.ObjectManager. \
--c-namespace Example \
--c-generate-object-manager \
--generate-c-code objectmanager-gen \
--generate-docbook objectmanager-gen \
$< \
$(NULL)
test_ltlibraries = libgdbus-example-objectmanager.la
if ENABLE_GTK_DOC
# The docs pull these in, so we need them even if not doing 'make check'
BUILT_SOURCES += $(GDBUS_GENERATED)
noinst_LTLIBRARIES += libgdbus-example-objectmanager.la
endif
nodist_libgdbus_example_objectmanager_la_SOURCES = \
objectmanager-gen.h \
objectmanager-gen.c
libgdbus_example_objectmanager_la_LIBADD = \
$(top_builddir)/glib/libglib-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/gio/libgio-2.0.la \
$(NULL)
EXTRA_DIST += gdbus-example-objectmanager.xml
CLEANFILES += $(GDBUS_GENERATED)
check-TESTS:

View File

@ -56,7 +56,7 @@ test_annotations (void)
iface = foo_igen_bar_interface_info ();
g_assert (iface != NULL);
/* see Makefile.am for where these annotations are injected */
/* see meson.build for where these annotations are injected */
g_assert_cmpint (count_annotations (iface->annotations), ==, 1);
g_assert_cmpstr (g_dbus_annotation_info_lookup (iface->annotations, "Key1"), ==, "Value1");

View File

@ -11,11 +11,6 @@ typedef struct {
const gchar *err;
} SchemaTest;
/* Meson build defines this, autotools build does not */
#ifndef GLIB_COMPILE_SCHEMAS
#define GLIB_COMPILE_SCHEMAS "../glib-compile-schemas"
#endif
static void
test_schema_do_compile (gpointer data)
{
@ -23,7 +18,7 @@ test_schema_do_compile (gpointer data)
gchar *filename = g_strconcat (test->name, ".gschema.xml", NULL);
gchar *path = g_test_build_filename (G_TEST_DIST, "schema-tests", filename, NULL);
const gchar *argv[] = {
GLIB_COMPILE_SCHEMAS,
GLIB_COMPILE_SCHEMAS, /* defined in meson.build */
"--strict",
"--dry-run",
"--schema-file", path,

View File

@ -2798,12 +2798,8 @@ main (int argc, char *argv[])
if (!backend_set)
g_setenv ("GSETTINGS_BACKEND", "memory", TRUE);
/* Meson build defines this, autotools build does not */
#ifndef GLIB_MKENUMS
#define GLIB_MKENUMS "../../gobject/glib-mkenums"
#endif
g_remove ("org.gtk.test.enums.xml");
/* #GLIB_MKENUMS is defined in meson.build */
g_assert (g_spawn_command_line_sync (GLIB_MKENUMS " "
"--template " SRCDIR "/enums.xml.template "
SRCDIR "/testenum.h",
@ -2820,12 +2816,8 @@ main (int argc, char *argv[])
g_assert (g_file_set_contents ("org.gtk.test.gschema.override", override_text, -1, NULL));
g_free (override_text);
/* Meson build defines this, autotools build does not */
#ifndef GLIB_COMPILE_SCHEMAS
#define GLIB_COMPILE_SCHEMAS "../glib-compile-schemas"
#endif
g_remove ("gschemas.compiled");
/* #GLIB_COMPILE_SCHEMAS is defined in meson.build */
g_assert (g_spawn_command_line_sync (GLIB_COMPILE_SCHEMAS " --targetdir=. "
"--schema-file=org.gtk.test.enums.xml "
"--schema-file=org.gtk.test.gschema.xml "

View File

@ -1,41 +0,0 @@
NULL =
LDADD = \
$(top_builddir)/gio/libgio-2.0.la \
$(top_builddir)/gobject/libgobject-2.0.la \
$(top_builddir)/gmodule/libgmodule-2.0.la \
$(top_builddir)/glib/libglib-2.0.la \
$(NULL)
AM_CPPFLAGS = \
$(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) \
-I$(top_builddir)/gio \
-I$(top_srcdir)/gio \
$(NULL)
modules = \
libtestmodulea.la \
libtestmoduleb.la \
$(NULL)
if ENABLE_ALWAYS_BUILD_TESTS
noinst_LTLIBRARIES = $(modules)
else
check_LTLIBRARIES = $(modules)
endif
if ENABLE_INSTALLED_TESTS
testmoduledir = $(installed_testdir)/modules
testmodule_LTLIBRARIES = $(modules)
else
# See comment in Makefile.am one level up
rpath_hack = -rpath /
endif
libtestmodulea_la_SOURCES = test-module-a.c symbol-visibility.h
libtestmodulea_la_LIBADD = $(LDADD)
libtestmodulea_la_LDFLAGS = $(LDFLAGS) -module -no-undefined -avoid-version $(rpath_hack)
libtestmoduleb_la_SOURCES = test-module-b.c symbol-visibility.h
libtestmoduleb_la_LIBADD = $(LDADD)
libtestmoduleb_la_LDFLAGS =$(LDFLAGS) -module -no-undefined -avoid-version $(rpath_hack)

View File

@ -1,2 +0,0 @@
EXTRA_DIST = \
org.gtk.GDBus.Examples.ObjectManager.service.in

View File

@ -1,28 +0,0 @@
include $(top_srcdir)/glib.mk
noinst_LTLIBRARIES += libgiowin32.la
libgiowin32_la_SOURCES = \
gwin32fsmonitorutils.c \
gwin32fsmonitorutils.h \
gwin32filemonitor.c \
gwin32filemonitor.h \
gwinhttpvfs.c \
gwinhttpvfs.h \
gwinhttpfile.c \
gwinhttpfile.h \
gwinhttpfileinputstream.c \
gwinhttpfileinputstream.h \
gwinhttpfileoutputstream.c \
gwinhttpfileoutputstream.h \
winhttp.h \
$(NULL)
libgiowin32_la_CFLAGS = \
$(GLIB_HIDDEN_VISIBILITY_CFLAGS) \
-DG_LOG_DOMAIN=\"GLib-GIO\" \
$(gio_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\" \
-DGIO_COMPILATION \
-DG_DISABLE_DEPRECATED

View File

@ -1,24 +0,0 @@
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = -DXDG_PREFIX=_gio_xdg
noinst_LTLIBRARIES += libxdgmime.la
libxdgmime_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libxdgmime_la_SOURCES = \
xdgmime.c \
xdgmime.h \
xdgmimealias.c \
xdgmimealias.h \
xdgmimecache.c \
xdgmimecache.h \
xdgmimeglob.c \
xdgmimeglob.h \
xdgmimeicon.c \
xdgmimeicon.h \
xdgmimeint.c \
xdgmimeint.h \
xdgmimemagic.c \
xdgmimemagic.h \
xdgmimeparent.c \
xdgmimeparent.h

View File

@ -1,136 +0,0 @@
# GLIB - Library of useful C routines
AM_TESTS_ENVIRONMENT= \
G_TEST_SRCDIR="$(abs_srcdir)" \
G_TEST_BUILDDIR="$(abs_builddir)" \
G_DEBUG=gc-friendly \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/tap-driver.sh
LOG_COMPILER = $(top_srcdir)/tap-test
NULL =
# initialize variables for unconditional += appending
BUILT_SOURCES =
BUILT_EXTRA_DIST =
CLEANFILES = *.log *.trs
DISTCLEANFILES =
MAINTAINERCLEANFILES =
EXTRA_DIST =
TESTS =
installed_test_LTLIBRARIES =
installed_test_PROGRAMS =
installed_test_SCRIPTS =
nobase_installed_test_DATA =
noinst_LTLIBRARIES =
noinst_PROGRAMS =
noinst_SCRIPTS =
noinst_DATA =
check_LTLIBRARIES =
check_PROGRAMS =
check_SCRIPTS =
check_DATA =
# We support a fairly large range of possible variables. It is expected that all types of files in a test suite
# will belong in exactly one of the following variables.
#
# First, we support the usual automake suffixes, but in lowercase, with the customary meaning:
#
# test_programs, test_scripts, test_data, test_ltlibraries
#
# The above are used to list files that are involved in both uninstalled and installed testing. The
# test_programs and test_scripts are taken to be actual testcases and will be run as part of the test suite.
# Note that _data is always used with the nobase_ automake variable name to ensure that installed test data is
# installed in the same way as it appears in the package layout.
#
# In order to mark a particular file as being only for one type of testing, use 'installed' or 'uninstalled',
# like so:
#
# installed_test_programs, uninstalled_test_programs
# installed_test_scripts, uninstalled_test_scripts
# installed_test_data, uninstalled_test_data
# installed_test_ltlibraries, uninstalled_test_ltlibraries
#
# Additionally, we support 'extra' infixes for programs and scripts. This is used for support programs/scripts
# that should not themselves be run as testcases (but exist to be used from other testcases):
#
# test_extra_programs, installed_test_extra_programs, uninstalled_test_extra_programs
# test_extra_scripts, installed_test_extra_scripts, uninstalled_test_extra_scripts
#
# Additionally, for _scripts and _data, we support the customary dist_ prefix so that the named script or data
# file automatically end up in the tarball.
#
# dist_test_scripts, dist_test_data, dist_test_extra_scripts
# dist_installed_test_scripts, dist_installed_test_data, dist_installed_test_extra_scripts
# dist_uninstalled_test_scripts, dist_uninstalled_test_data, dist_uninstalled_test_extra_scripts
#
# Note that no file is automatically disted unless it appears in one of the dist_ variables. This follows the
# standard automake convention of not disting programs scripts or data by default.
#
# test_programs, test_scripts, uninstalled_test_programs and uninstalled_test_scripts (as well as their disted
# variants) will be run as part of the in-tree 'make check'. These are all assumed to be runnable under
# gtester. That's a bit strange for scripts, but it's possible.
TESTS += $(test_programs) $(test_scripts) $(uninstalled_test_programs) $(uninstalled_test_scripts) \
$(dist_test_scripts) $(dist_uninstalled_test_scripts)
# Note: build even the installed-only targets during 'make check' to ensure that they still work.
# We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to
# prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were
# filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'.
all_test_programs = $(test_programs) $(uninstalled_test_programs) $(installed_test_programs) \
$(test_extra_programs) $(uninstalled_test_extra_programs) $(installed_test_extra_programs)
all_test_scripts = $(test_scripts) $(uninstalled_test_scripts) $(installed_test_scripts) \
$(test_extra_scripts) $(uninstalled_test_extra_scripts) $(installed_test_extra_scripts)
all_dist_test_scripts = $(dist_test_scripts) $(dist_uninstalled_test_scripts) $(dist_installed_test_scripts) \
$(dist_test_extra_scripts) $(dist_uninstalled_test_extra_scripts) $(dist_installed_test_extra_scripts)
all_test_scripts += $(all_dist_test_scripts)
EXTRA_DIST += $(all_dist_test_scripts)
all_test_data = $(test_data) $(uninstalled_test_data) $(installed_test_data)
all_dist_test_data = $(dist_test_data) $(dist_uninstalled_test_data) $(dist_installed_test_data)
all_test_data += $(all_dist_test_data)
EXTRA_DIST += $(all_dist_test_data)
all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installed_test_ltlibraries)
if ENABLE_ALWAYS_BUILD_TESTS
noinst_LTLIBRARIES += $(all_test_ltlibs)
noinst_PROGRAMS += $(all_test_programs)
noinst_SCRIPTS += $(all_test_scripts)
noinst_DATA += $(all_test_data)
else
check_LTLIBRARIES += $(all_test_ltlibs)
check_PROGRAMS += $(all_test_programs)
check_SCRIPTS += $(all_test_scripts)
check_DATA += $(all_test_data)
endif
if ENABLE_INSTALLED_TESTS
installed_test_PROGRAMS += $(test_programs) $(installed_test_programs) \
$(test_extra_programs) $(installed_test_extra_programs)
installed_test_SCRIPTS += $(test_scripts) $(installed_test_scripts) \
$(test_extra_scripts) $(installed_test_extra_scripts)
installed_test_SCRIPTS += $(dist_test_scripts) $(dist_test_extra_scripts) \
$(dist_installed_test_scripts) $(dist_installed_test_extra_scripts)
nobase_installed_test_DATA += $(test_data) $(installed_test_data)
nobase_installed_test_DATA += $(dist_test_data) $(dist_installed_test_data)
installed_test_LTLIBRARIES += $(test_ltlibraries) $(installed_test_ltlibraries)
installed_testcases = $(test_programs) $(installed_test_programs) \
$(test_scripts) $(installed_test_scripts) \
$(dist_test_scripts) $(dist_installed_test_scripts)
installed_test_meta_DATA = $(installed_testcases:=.test)
%.test: %$(EXEEXT) Makefile
$(AM_V_GEN) ($(MKDIR_P) $(@D); \
echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_testdir)/$(notdir $<) --tap' >> $@.tmp; \
echo 'Output=TAP' >> $@.tmp; \
mv $@.tmp $@)
CLEANFILES += $(installed_test_meta_DATA)
endif

170
glib.mk
View File

@ -1,170 +0,0 @@
# GLIB - Library of useful C routines
#GTESTER = gtester # for non-GLIB packages
#GTESTER_REPORT = gtester-report # for non-GLIB packages
GTESTER = $(top_builddir)/glib/gtester # for the GLIB package
NULL =
# initialize variables for unconditional += appending
BUILT_SOURCES =
BUILT_EXTRA_DIST =
CLEANFILES = *.log *.trs
DISTCLEANFILES =
MAINTAINERCLEANFILES =
EXTRA_DIST =
TEST_PROGS =
installed_test_LTLIBRARIES =
installed_test_PROGRAMS =
installed_test_SCRIPTS =
nobase_installed_test_DATA =
noinst_LTLIBRARIES =
noinst_PROGRAMS =
noinst_SCRIPTS =
noinst_DATA =
check_LTLIBRARIES =
check_PROGRAMS =
check_SCRIPTS =
check_DATA =
TESTS =
# test-nonrecursive: run tests only in cwd
if OS_UNIX
test-nonrecursive: ${TEST_PROGS}
@test -z "${TEST_PROGS}" || G_TEST_SRCDIR="$(abs_srcdir)" G_TEST_BUILDDIR="$(abs_builddir)" G_DEBUG=gc-friendly MALLOC_CHECK_=2 MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) ${GTESTER} --verbose ${TEST_PROGS}
else
test-nonrecursive:
endif
.PHONY: test-nonrecursive
.PHONY: lcov genlcov lcov-clean
# use recursive makes in order to ignore errors during check
lcov:
-$(MAKE) $(AM_MAKEFLAGS) -k check
$(MAKE) $(AM_MAKEFLAGS) genlcov
# we have to massage the lcov.info file slightly to hide the effect of libtool
# placing the objects files in the .libs/ directory separate from the *.c
# we also have to delete tests/.libs/libmoduletestplugin_*.gcda
genlcov:
$(AM_V_GEN) rm -f $(top_builddir)/tests/.libs/libmoduletestplugin_*.gcda; \
$(LTP) --quiet --directory $(top_builddir) --capture --output-file glib-lcov.info --test-name GLIB_PERF --no-checksum --compat-libtool --ignore-errors source; \
$(LTP) --quiet --output-file glib-lcov.info --remove glib-lcov.info docs/reference/\* /tmp/\* gio/tests/gdbus-object-manager-example/\* ; \
LANG=C $(LTP_GENHTML) --quiet --prefix $(top_builddir) --output-directory glib-lcov --title "GLib Code Coverage" --legend --frames --show-details glib-lcov.info --ignore-errors source
@echo "file://$(abs_top_builddir)/glib-lcov/index.html"
lcov-clean:
if test -n "$(LTP)"; then \
$(LTP) --quiet --directory $(top_builddir) -z; \
fi
# run tests in cwd as part of make check
check-local: test-nonrecursive
# We support a fairly large range of possible variables. It is expected that all types of files in a test suite
# will belong in exactly one of the following variables.
#
# First, we support the usual automake suffixes, but in lowercase, with the customary meaning:
#
# test_programs, test_scripts, test_data, test_ltlibraries
#
# The above are used to list files that are involved in both uninstalled and installed testing. The
# test_programs and test_scripts are taken to be actual testcases and will be run as part of the test suite.
# Note that _data is always used with the nobase_ automake variable name to ensure that installed test data is
# installed in the same way as it appears in the package layout.
#
# In order to mark a particular file as being only for one type of testing, use 'installed' or 'uninstalled',
# like so:
#
# installed_test_programs, uninstalled_test_programs
# installed_test_scripts, uninstalled_test_scripts
# installed_test_data, uninstalled_test_data
# installed_test_ltlibraries, uninstalled_test_ltlibraries
#
# Additionally, we support 'extra' infixes for programs and scripts. This is used for support programs/scripts
# that should not themselves be run as testcases (but exist to be used from other testcases):
#
# test_extra_programs, installed_test_extra_programs, uninstalled_test_extra_programs
# test_extra_scripts, installed_test_extra_scripts, uninstalled_test_extra_scripts
#
# Additionally, for _scripts and _data, we support the customary dist_ prefix so that the named script or data
# file automatically end up in the tarball.
#
# dist_test_scripts, dist_test_data, dist_test_extra_scripts
# dist_installed_test_scripts, dist_installed_test_data, dist_installed_test_extra_scripts
# dist_uninstalled_test_scripts, dist_uninstalled_test_data, dist_uninstalled_test_extra_scripts
#
# Note that no file is automatically disted unless it appears in one of the dist_ variables. This follows the
# standard automake convention of not disting programs scripts or data by default.
#
# test_programs, test_scripts, uninstalled_test_programs and uninstalled_test_scripts (as well as their disted
# variants) will be run as part of the in-tree 'make check'. These are all assumed to be runnable under
# gtester. That's a bit strange for scripts, but it's possible.
# we use test -z "$(TEST_PROGS)" above, so make sure we have no extra whitespace...
TEST_PROGS += $(strip $(test_programs) $(test_scripts) $(uninstalled_test_programs) $(uninstalled_test_scripts) \
$(dist_test_scripts) $(dist_uninstalled_test_scripts))
if OS_WIN32
TESTS += $(test_programs) $(test_scripts) $(uninstalled_test_programs) $(uninstalled_test_scripts) \
$(dist_test_scripts) $(dist_uninstalled_test_scripts)
endif
# Note: build even the installed-only targets during 'make check' to ensure that they still work.
# We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to
# prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were
# filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'.
all_test_programs = $(test_programs) $(uninstalled_test_programs) $(installed_test_programs) \
$(test_extra_programs) $(uninstalled_test_extra_programs) $(installed_test_extra_programs)
all_test_scripts = $(test_scripts) $(uninstalled_test_scripts) $(installed_test_scripts) \
$(test_extra_scripts) $(uninstalled_test_extra_scripts) $(installed_test_extra_scripts)
all_dist_test_scripts = $(dist_test_scripts) $(dist_uninstalled_test_scripts) $(dist_installed_test_scripts) \
$(dist_test_extra_scripts) $(dist_uninstalled_test_extra_scripts) $(dist_installed_test_extra_scripts)
all_test_scripts += $(all_dist_test_scripts)
EXTRA_DIST += $(all_dist_test_scripts)
all_test_data = $(test_data) $(uninstalled_test_data) $(installed_test_data)
all_dist_test_data = $(dist_test_data) $(dist_uninstalled_test_data) $(dist_installed_test_data)
all_test_data += $(all_dist_test_data)
EXTRA_DIST += $(all_dist_test_data)
all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installed_test_ltlibraries)
if ENABLE_ALWAYS_BUILD_TESTS
noinst_LTLIBRARIES += $(all_test_ltlibs)
noinst_PROGRAMS += $(all_test_programs)
noinst_SCRIPTS += $(all_test_scripts)
noinst_DATA += $(all_test_data)
else
check_LTLIBRARIES += $(all_test_ltlibs)
check_PROGRAMS += $(all_test_programs)
check_SCRIPTS += $(all_test_scripts)
check_DATA += $(all_test_data)
endif
if ENABLE_INSTALLED_TESTS
installed_test_PROGRAMS += $(test_programs) $(installed_test_programs) \
$(test_extra_programs) $(installed_test_extra_programs)
installed_test_SCRIPTS += $(test_scripts) $(installed_test_scripts) \
$(test_extra_scripts) $(test_installed_extra_scripts)
installed_test_SCRIPTS += $(dist_test_scripts) $(dist_test_extra_scripts) \
$(dist_installed_test_scripts) $(dist_installed_test_extra_scripts)
nobase_installed_test_DATA += $(test_data) $(installed_test_data)
nobase_installed_test_DATA += $(dist_test_data) $(dist_installed_test_data)
installed_test_LTLIBRARIES += $(test_ltlibraries) $(installed_test_ltlibraries)
installed_testcases = $(test_programs) $(installed_test_programs) \
$(test_scripts) $(installed_test_scripts) \
$(dist_test_scripts) $(dist_installed_test_scripts)
installed_test_meta_DATA = $(installed_testcases:=.test)
%.test: %$(EXEEXT) Makefile
$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
echo 'Type=session' >> $@.tmp; \
echo 'Exec=$(installed_testdir)/$(notdir $<)' >> $@.tmp; \
mv $@.tmp $@)
CLEANFILES += $(installed_test_meta_DATA)
endif

View File

@ -1,511 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/glib.mk
bin_PROGRAMS =
#
# Generate glibconfig.h
#
# The timestamp of the stamp file is used to indicate if glibconfig.h is
# up to date with respect to config.status. In the usual case, changes
# to config.status will not result in changes to glibconfig.h so we
# avoid touching its timestamp (in order not to rebuild the whole tree).
#
DISTCLEANFILES += glibconfig-stamp glibconfig.h
BUILT_SOURCES += glibconfig-stamp
configexecincludedir = $(libdir)/glib-2.0/include
nodist_configexecinclude_HEADERS = glibconfig.h
glibconfig-stamp: ../config.status
$(AM_V_GEN) cd $(top_builddir) && \
$(SHELL) ./config.status glib/glibconfig.h
@touch glibconfig-stamp
if HAVE_GOOD_PRINTF
else
PRINTF_SUBDIR = gnulib
printf_la = gnulib/libgnulib.la
endif
if USE_SYSTEM_PCRE
else
MAYBE_PCRE = pcre
endif
SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
AM_CPPFLAGS = \
$(glib_INCLUDES) \
$(pcre_inc) \
-DG_LOG_DOMAIN=\"GLib\" \
$(GLIB_DEBUG_FLAGS) \
-DGLIB_COMPILATION \
-DPCRE_STATIC
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
MIRRORING_TAB_SOURCE = \
glib-mirroring-tab/Makefile \
glib-mirroring-tab/gen-mirroring-tab.c \
glib-mirroring-tab/packtab.h \
glib-mirroring-tab/packtab.c
# The compilation of GRegex can be disabled, but the source files must
# be distributed.
EXTRA_DIST += \
glib.rc.in \
gen-unicode-tables.pl \
gregex.c \
gregex.h \
win_iconv.c \
libglib-gdb.py.in \
docs.c \
gconstructor.h \
$(MIRRORING_TAB_SOURCE)
CLEANFILES += libglib-gdb.py
# These may be in the builddir too
BUILT_EXTRA_DIST += \
glib.rc
lib_LTLIBRARIES = libglib-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE
noinst_DATA += glib-2.0.lib
install_ms_lib_cmd = $(INSTALL) glib-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/glib-2.0.lib
endif
endif
install-ms-lib:
$(install_ms_lib_cmd)
uninstall-ms-lib:
$(uninstall_ms_lib_cmd)
deprecated_sources = \
deprecated/gallocator.c \
deprecated/gcache.c \
deprecated/gcompletion.c \
deprecated/grel.c \
deprecated/gthread-deprecated.c
libglib_2_0_la_SOURCES = \
$(deprecated_sources) \
glib_probes.d \
garcbox.c \
garray.c \
gasyncqueue.c \
gasyncqueueprivate.h \
gatomic.c \
gbacktrace.c \
gbase64.c \
gbitlock.c \
gbookmarkfile.c \
gbsearcharray.h \
gbytes.c \
gbytes.h \
gcharset.c \
gcharsetprivate.h \
gchecksum.c \
gconvert.c \
gdataset.c \
gdatasetprivate.h \
gdate.c \
gdatetime.c \
gdir.c \
genviron.c \
gerror.c \
gfileutils.c \
ggettext.c \
ghash.c \
ghmac.c \
ghook.c \
ghostutils.c \
giochannel.c \
gkeyfile.c \
glibintl.h \
glib_trace.h \
glib-init.h \
glib-init.c \
glib-private.h \
glib-private.c \
glist.c \
gmain-internal.h \
gmain.c \
gmappedfile.c \
gmarkup.c \
gmem.c \
gmessages.c \
gmirroringtable.h \
gnode.c \
goption.c \
gpattern.c \
gpoll.c \
gprimes.c \
gqsort.c \
gquark.c \
gqueue.c \
grand.c \
grcbox.c \
grcboxprivate.h \
grefcount.c \
grefstring.c \
gregex.c \
gscanner.c \
gscripttable.h \
gsequence.c \
gshell.c \
gslice.c \
gslist.c \
gspawn-private.h \
gstdio.c \
gstdioprivate.h \
gstrfuncs.c \
gstring.c \
gstringchunk.c \
gtestutils.c \
gthread.c \
gthreadprivate.h \
gthreadpool.c \
gtimer.c \
gtimezone.c \
gtranslit.c \
gtranslit-data.h \
gtrashstack.c \
gtree.c \
guniprop.c \
gutf8.c \
gunibreak.h \
gunibreak.c \
gunichartables.h \
gunicollate.c \
gunicomp.h \
gunidecomp.h \
gunidecomp.c \
gunicodeprivate.h \
gurifuncs.c \
gutils.c \
gutilsprivate.h \
guuid.c \
gvalgrind.h \
gvariant.h \
gvariant.c \
gvariant-core.h \
gvariant-core.c \
gvariant-internal.h \
gvariant-parser.c \
gvariant-serialiser.h \
gvariant-serialiser.c \
gvarianttypeinfo.h \
gvarianttypeinfo.c \
gvarianttype.c \
gversion.c \
gwakeup.h \
gwakeup.c \
gprintf.c \
gprintfint.h \
valgrind.h
if OS_UNIX
libglib_2_0_la_SOURCES += glib-unix.c
endif
if THREADS_WIN32
libglib_2_0_la_SOURCES += gthread-win32.c
else
if THREADS_POSIX
libglib_2_0_la_SOURCES += gthread-posix.c
endif
endif
if PLATFORM_WIN32
libglib_2_0_la_SOURCES += gwin32.c
endif
if G_SPAWN_WIN32
libglib_2_0_la_SOURCES += gspawn-win32.c
else
libglib_2_0_la_SOURCES += gspawn.c
endif
if G_IO_CHANNEL_WIN32
libglib_2_0_la_SOURCES += giowin32.c
else
libglib_2_0_la_SOURCES += giounix.c
endif
glibincludedir=$(includedir)/glib-2.0
glibinclude_HEADERS = \
glib-unix.h \
glib-object.h \
glib.h
deprecatedincludedir=$(includedir)/glib-2.0/glib/deprecated
deprecatedinclude_HEADERS = \
deprecated/gallocator.h \
deprecated/gcache.h \
deprecated/gcompletion.h \
deprecated/gmain.h \
deprecated/grel.h \
deprecated/gthread.h
glibsubincludedir=$(includedir)/glib-2.0/glib
glibsubinclude_HEADERS = \
glib-autocleanups.h \
galloca.h \
garray.h \
gasyncqueue.h \
gatomic.h \
gbacktrace.h \
gbase64.h \
gbitlock.h \
gbookmarkfile.h \
gbytes.h \
gcharset.h \
gchecksum.h \
gconvert.h \
gdataset.h \
gdate.h \
gdatetime.h \
gdir.h \
genviron.h \
gerror.h \
gfileutils.h \
ggettext.h \
ghash.h \
ghmac.h \
ghook.h \
ghostutils.h \
gi18n.h \
gi18n-lib.h \
giochannel.h \
gkeyfile.h \
glist.h \
gmacros.h \
gmain.h \
gmappedfile.h \
gmarkup.h \
gmem.h \
gmessages.h \
gnode.h \
goption.h \
gpattern.h \
gpoll.h \
gprimes.h \
gqsort.h \
gquark.h \
gqueue.h \
grand.h \
grcbox.h \
grefcount.h \
grefstring.h \
gregex.h \
gscanner.h \
gsequence.h \
gshell.h \
gslice.h \
gslist.h \
gspawn.h \
gstdio.h \
gstrfuncs.h \
gtestutils.h \
gstring.h \
gstringchunk.h \
gthread.h \
gthreadpool.h \
gtimer.h \
gtimezone.h \
gtrashstack.h \
gtree.h \
gtypes.h \
gunicode.h \
gurifuncs.h \
gutils.h \
guuid.h \
gvarianttype.h \
gvariant.h \
gversion.h \
gversionmacros.h \
gwin32.h \
gprintf.h
# This is read by gobject-introspection/misc/ and gtk-doc
glib-public-headers.txt: Makefile
$(AM_V_GEN) echo $(glibinclude_HEADERS) $(glibsubinclude_HEADERS) > $@.tmp && mv $@.tmp $@
CLEANFILES += glib-public-headers.txt
all-local: glib-public-headers.txt
install-data-local: install-ms-lib
@if test -f $(glibincludedir)/glist.h ; then \
echo "*** Old headers found in $(glibincludedir). You should remove the" ; \
echo "*** contents of this directory and type 'make install' again." ; \
false ; \
fi
uninstall-local: uninstall-ms-lib uninstall-gdb
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
if OS_WIN32_AND_DLL_COMPILATION
glib_win32_res = glib-win32-res.o
glib_win32_res_ldflag = -Wl,$(glib_win32_res)
endif
if USE_SYSTEM_PCRE
pcre_lib = $(PCRE_LIBS)
pcre_inc = $(PCRE_CFLAGS)
else
pcre_lib = pcre/libpcre.la
pcre_inc =
endif
libglib_2_0_la_CFLAGS = $(AM_CFLAGS) $(GLIB_HIDDEN_VISIBILITY_CFLAGS) $(LIBSYSTEMD_CFLAGS)
libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib) $(G_THREAD_LIBS_EXTRA) $(G_THREAD_LIBS_FOR_GTHREAD) $(LIBSYSTEMD_LIBS)
libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) $(glib_win32_res) $(glib_def)
libglib_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(glib_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined)
if ENABLE_DTRACE
glib_probes.h: glib_probes.d
$(AM_V_GEN) $(DTRACE) -C -h -s $< -o $@.tmp
@$(SED) \
-e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," \
-e "s,define _SDT_HAS_SEMAPHORES 1,undef _SDT_HAS_SEMAPHORES," \
< $@.tmp > $@ && rm -f $@.tmp
glib_probes.lo: glib_probes.d
$(AM_V_GEN) $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -G -s $< -o $@
BUILT_SOURCES += glib_probes.h glib_probes.lo
CLEANFILES += glib_probes.h glib_probes.h.tmp
libglib_2_0_la_LIBADD += glib_probes.lo
endif
tapsetdir = @ABS_TAPSET_DIR@
EXTRA_DIST += glib.stp.in
if ENABLE_SYSTEMTAP
tapset_DATA = libglib-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp
CLEANFILES += $(tapset_DATA)
$(tapset_DATA): glib.stp.in Makefile
$(AM_V_GEN)$(SED) \
-e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \
-e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \
-e 's|[@]LT_REVISION[@]|$(LT_REVISION)|g' \
$< > $@
endif
gspawn-win32-helper-console.c:
echo '#define HELPER_CONSOLE' >$@
echo '#include "gspawn-win32-helper.c"' >>$@
gspawn-win64-helper.c:
echo '#include "gspawn-win32-helper.c"' >$@
gspawn-win64-helper-console.c:
echo '#define HELPER_CONSOLE' >$@
echo '#include "gspawn-win32-helper.c"' >>$@
nodist_win_helper_sources = \
gspawn-win32-helper-console.c \
gspawn-win64-helper.c \
gspawn-win64-helper-console.c \
$(NULL)
BUILT_SOURCES += $(nodist_win_helper_sources)
CLEANFILES += $(nodist_win_helper_sources)
if OS_WIN32
if OS_WIN32_X64
bin_PROGRAMS += gspawn-win64-helper gspawn-win64-helper-console
nodist_gspawn_win64_helper_SOURCES = gspawn-win64-helper.c
nodist_gspawn_win64_helper_console_SOURCES = gspawn-win64-helper-console.c
gspawn_win64_helper_LDADD = libglib-2.0.la
gspawn_win64_helper_LDFLAGS = -mwindows
gspawn_win64_helper_console_LDADD = libglib-2.0.la
else
bin_PROGRAMS += gspawn-win32-helper gspawn-win32-helper-console
nodist_gspawn_win32_helper_console_SOURCES = gspawn-win32-helper-console.c
gspawn_win32_helper_LDADD = libglib-2.0.la
gspawn_win32_helper_LDFLAGS = -mwindows
gspawn_win32_helper_console_LDADD = libglib-2.0.la
endif
endif
glib-win32-res.o: glib.rc
$(WINDRES) glib.rc $@
if OS_UNIX
bin_PROGRAMS += gtester
gtester_SOURCES = gtester.c
gtester_LDADD = libglib-2.0.la
bin_SCRIPTS = gtester-report
EXTRA_DIST += gtester-report.in
CLEANFILES += gtester-report
gtester-report: gtester-report.in Makefile
$(AM_V_GEN) set -e ; \
sed < $< > $@.tmp \
-e '1,1s|#!.*|#!${PYTHON}|' \
-e 's|[@]GLIB_VERSION[@]|${GLIB_VERSION}|' \
|| exit $$? ; \
chmod +x $@.tmp ; \
mv $@.tmp $@
endif
glib.def: libglib-2.0.la
$(AM_V_GEN) dumpbin.exe -exports .libs/libglib-2.0-0.dll | awk 'BEGIN { print "EXPORTS" } / +[[:digit:]]+ +[[:xdigit:]]+ +[[:xdigit:]]+/{ print $$4 }' > glib.def.tmp && mv glib.def.tmp glib.def
glib-2.0.lib: libglib-2.0.la glib.def
$(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libglib-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/glib.def -out:$@
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
# install gdb scripts
gdbdir = $(datadir)/glib-2.0/gdb
dist_gdb_DATA = glib_gdb.py
all-local: libglib-gdb.py
libglib-gdb.py: libglib-gdb.py.in
$(AM_V_GEN) $(SED) -e "s|\@datadir\@|$(datadir)|" $(srcdir)/libglib-gdb.py.in > $(builddir)/libglib-gdb.py
if HAVE_GLIB_RUNTIME_LIBDIR
ABS_GLIB_RUNTIME_LIBDIR = $(realpath $(libdir)/$(GLIB_RUNTIME_LIBDIR))
else
ABS_GLIB_RUNTIME_LIBDIR = $(libdir)
endif
install-data-hook: libglib-gdb.py
mkdir -p $(DESTDIR)$(datadir)/gdb/auto-load$(ABS_GLIB_RUNTIME_LIBDIR)
$(INSTALL) $(builddir)/libglib-gdb.py $(DESTDIR)$(datadir)/gdb/auto-load$(ABS_GLIB_RUNTIME_LIBDIR)/libglib-2.0.so.0.$(LT_CURRENT).$(LT_REVISION)-gdb.py
if HAVE_GLIB_RUNTIME_LIBDIR
mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libglib-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libglib-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
rm -f $(DESTDIR)$(libdir)/libglib-2.0.so
ln -s $(GLIB_RUNTIME_LIBDIR)/libglib-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libglib-2.0.so
endif
uninstall-gdb:
-rm -r $(DESTDIR)$(datadir)/gdb

View File

@ -90,7 +90,7 @@
#ifdef G_ATOMIC_LOCK_FREE
/* if G_ATOMIC_LOCK_FREE was defined by ./configure then we MUST
/* if G_ATOMIC_LOCK_FREE was defined by `meson configure` then we MUST
* implement the atomic operations in a lock-free manner.
*/
@ -669,7 +669,7 @@ gsize
}
#else
/* This error occurs when ./configure decided that we should be capable
/* This error occurs when `meson configure` decided that we should be capable
* of lock-free atomics but we find at compile-time that we are not.
*/
#error G_ATOMIC_LOCK_FREE defined, but incapable of lock-free atomics.

View File

@ -498,7 +498,7 @@ g_dngettext (const gchar *domain,
* // Rest of your application.
* }
* ]|
* where `DATADIR` is as typically provided by automake.
* where `DATADIR` is as typically provided by automake or Meson.
*
* For a library, you only have to call bindtextdomain() and
* bind_textdomain_codeset() in your initialization function. If your library

View File

@ -1,11 +0,0 @@
CFLAGS = `pkg-config --cflags glib-2.0`
LIBS = `pkg-config --libs glib-2.0`
all: gen-mirroring-tab
gen-mirroring-tab: gen-mirroring-tab.o packtab.o
clean:
$(RM) gen-mirroring-tab *.o

View File

@ -0,0 +1,5 @@
gen_mirroring_tab = executable('gen-mirroring-tab',
['gen-mirroring-tab.c', 'packtab.c'],
dependencies : [libglib_dep],
install: false,
)

View File

@ -1,26 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(glib_INCLUDES) \
-DG_LOG_DOMAIN=\"GLib\" \
$(GLIB_DEBUG_FLAGS) \
-DG_DISABLE_DEPRECATED \
-DGLIB_COMPILATION
noinst_LTLIBRARIES += libgnulib.la
libgnulib_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libgnulib_la_SOURCES = \
asnprintf.c \
printf-args.c \
printf-args.h \
printf-parse.c \
printf-parse.h \
vasnprintf.c \
vasnprintf.h \
printf.c \
printf.h \
verify.h \
xsize.h \
g-gnulib.h

View File

@ -195,9 +195,9 @@
* [TAP](https://testanything.org/) harness; GLib provides template files for
* easily integrating with it:
*
* - [glib-tap.mk](https://git.gnome.org/browse/glib/tree/glib-tap.mk)
* - [tap-test](https://git.gnome.org/browse/glib/tree/tap-test)
* - [tap-driver.sh](https://git.gnome.org/browse/glib/tree/tap-driver.sh)
* - [glib-tap.mk](https://gitlab.gnome.org/GNOME/glib/blob/glib-2-58/glib-tap.mk)
* - [tap-test](https://gitlab.gnome.org/GNOME/glib/blob/glib-2-58/tap-test)
* - [tap-driver.sh](https://gitlab.gnome.org/GNOME/glib/blob/glib-2-58/tap-driver.sh)
*
* You can copy these files in your own project's root directory, and then
* set up your `Makefile.am` file to reference them, for instance:
@ -234,8 +234,8 @@
*
* If you don't have access to the Autotools TAP harness, you can use the
* [gtester][gtester] and [gtester-report][gtester-report] tools, and use
* the [glib.mk](https://git.gnome.org/browse/glib/tree/glib.mk) Automake
* template provided by GLib.
* the [glib.mk](https://gitlab.gnome.org/GNOME/glib/blob/glib-2-58/glib.mk)
* Automake template provided by GLib.
*/
/**

View File

@ -1,67 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(gmodule_INCLUDES) \
-DGLIB_CHARSETALIAS_DIR=\"$(GLIB_CHARSETALIAS_DIR)\" \
$(config_h_INCLUDES)
noinst_LTLIBRARIES += libcharset.la
libcharset_la_CFLAGS = $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libcharset_la_SOURCES = \
libcharset.h \
localcharset.h \
localcharset.c
EXTRA_DIST += \
README \
config.charset \
ref-add.sin \
ref-del.sin \
glibc21.m4 \
codeset.m4 \
update.sh \
make-patch.sh \
libcharset-glib.patch
charset_alias = $(DESTDIR)$(GLIB_CHARSETALIAS_DIR)/charset.alias
charset_tmp = $(DESTDIR)$(GLIB_CHARSETALIAS_DIR)/charset.tmp
install-exec-local: all-local
$(mkinstalldirs) $(DESTDIR)$(GLIB_CHARSETALIAS_DIR)
if test -f $(charset_alias); then \
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
else \
if test @GLIBC21@ = no; then \
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
rm -f $(charset_tmp) ; \
fi ; \
fi
uninstall-local: all-local
if test -f $(charset_alias); then \
sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
if grep '^# Packages using this file: $$' $(charset_tmp) \
> /dev/null; then \
rm -f $(charset_alias); \
else \
$(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
fi; \
rm -f $(charset_tmp); \
fi
charset.alias: config.charset
$(AM_V_GEN) $(SHELL) $(srcdir)/config.charset '@host@' > t-$@
@mv t-$@ $@
all-local: ref-add.sed ref-del.sed charset.alias
SUFFIXES = .sed .sin
.sin.sed:
$(AM_V_GEN) $(SED) -e '/^#/d' -e 's/@''PACKAGE''@/@PACKAGE@/g' $< > t-$@
@mv t-$@ $@
CLEANFILES += charset.alias ref-add.sed ref-del.sed

View File

@ -1,62 +0,0 @@
include $(top_srcdir)/glib.mk
noinst_LTLIBRARIES += libpcre.la
libpcre_la_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GRegex\" \
-DHAVE_MEMMOVE \
-DSUPPORT_UCP \
-DSUPPORT_UTF \
-DSUPPORT_UTF8 \
-DNEWLINE=-1 \
-DMATCH_LIMIT=10000000 \
-DMATCH_LIMIT_RECURSION=8192 \
-DMAX_NAME_SIZE=32 \
-DMAX_NAME_COUNT=10000 \
-DMAX_DUPLENGTH=30000 \
-DLINK_SIZE=2 \
-DPOSIX_MALLOC_THRESHOLD=10 \
-DPCRE_STATIC \
-UBSR_ANYCRLF \
-UEBCDIC \
$(glib_INCLUDES) \
@GLIB_DEBUG_FLAGS@ \
-DGLIB_COMPILATION \
$(AM_CPPFLAGS)
libpcre_la_CFLAGS = \
$(GLIB_HIDDEN_VISIBILITY_CFLAGS) \
$(PCRE_WARN_CFLAGS) \
$(DEP_CFLAGS) \
$(AM_CFLAGS)
libpcre_la_LDFLAGS = \
-no-undefined \
$(AM_LDFLAGS)
libpcre_la_SOURCES = \
pcre_byte_order.c \
pcre_chartables.c \
pcre_compile.c \
pcre_config.c \
pcre_dfa_exec.c \
pcre_exec.c \
pcre_fullinfo.c \
pcre_get.c \
pcre_globals.c \
pcre_jit_compile.c \
pcre_newline.c \
pcre_ord2utf8.c \
pcre_string_utils.c \
pcre_study.c \
pcre_tables.c \
pcre_valid_utf8.c \
pcre_version.c \
pcre_xclass.c \
pcre.h \
pcre_internal.h \
ucp.h
libpcre_la_LIBADD = $(DEP_LIBS)
EXTRA_DIST += COPYING

View File

@ -1,271 +0,0 @@
include $(top_srcdir)/glib-tap.mk
if USE_SYSTEM_PCRE
pcre_lib = $(PCRE_LIBS)
pcre_inc = $(PCRE_CFLAGS)
else
pcre_lib = $(top_builddir)/glib/pcre/libpcre.la
pcre_inc = -DPCRE_STATIC
endif
LDADD = $(top_builddir)/glib/libglib-2.0.la -lm
AM_CPPFLAGS = -g $(glib_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DG_LOG_DOMAIN=\"GLib\" -DEXEEXT=\"$(EXEEXT)\"
AM_CFLAGS = $(GLIB_WARN_CFLAGS) $(pcre_inc)
# The regex test uses pcre_version()
regex_LDADD = $(LDADD) $(pcre_lib)
# These tests corrupt the gcov bookkeeping, so we
# skip them. See bug 682133
spawn_singlethread_LDFLAGS = $(patsubst -lgcov,,$(LDFLAGS))
spawn_multithreaded_LDFLAGS = $(patsubst -lgcov,,$(LDFLAGS))
# -----------------------------------------------------------------------------
dist_test_data = \
keyfiletest.ini \
pages.ini \
keyfile.c \
empty \
4096-random-bytes \
$(NULL)
dist_test_extra_scripts = \
echo-script \
echo-script.bat \
$(NULL)
test_extra_programs = \
test-spawn-echo \
testing-helper \
$(NULL)
test_programs = \
array-test \
asyncqueue \
base64 \
bitlock \
bookmarkfile \
bytes \
cache \
charset \
checksum \
collate \
cond \
convert \
dataset \
date \
dir \
environment \
error \
fileutils \
gdatetime \
guuid \
gvariant \
hash \
hmac \
hook \
hostutils \
keyfile \
list \
logging \
macros \
mainloop \
mappedfile \
markup \
markup-parse \
markup-collect \
markup-escape \
markup-subparser \
mem-overflow \
mutex \
node \
once \
option-context \
option-argv0 \
overflow \
overflow-fallback \
pattern \
private \
protocol \
queue \
rand \
rcbox \
rec-mutex \
refstring \
regex \
rwlock \
scannerapi \
search-utils \
sequence \
shell \
slice \
slist \
sort \
spawn-multithreaded \
spawn-singlethread \
strfuncs \
string \
testing \
test-printf \
thread \
timeout \
timer \
tree \
utf8-performance \
utf8-pointer \
utf8-validate \
utf8-misc \
utils \
unicode \
uri \
1bit-mutex \
642026 \
$(NULL)
uninstalled_test_programs = \
$(NULL)
dist_test_data += \
bookmarks/fail-01.xbel \
bookmarks/fail-02.xbel \
bookmarks/fail-03.xbel \
bookmarks/fail-04.xbel \
bookmarks/fail-05.xbel \
bookmarks/fail-06.xbel \
bookmarks/fail-07.xbel \
bookmarks/fail-08.xbel \
bookmarks/fail-09.xbel \
bookmarks/fail-10.xbel \
bookmarks/fail-11.xbel \
bookmarks/fail-12.xbel \
bookmarks/fail-13.xbel \
bookmarks/fail-14.xbel \
bookmarks/fail-15.xbel \
bookmarks/fail-16.xbel \
bookmarks/fail-17.xbel \
bookmarks/fail-18.xbel \
bookmarks/fail-19.xbel \
bookmarks/fail-20.xbel \
bookmarks/fail-21.xbel \
bookmarks/fail-22.xbel \
bookmarks/fail-23.xbel \
bookmarks/fail-24.xbel \
bookmarks/fail-25.xbel \
bookmarks/fail-26.xbel \
bookmarks/fail-27.xbel \
bookmarks/fail-28.xbel \
bookmarks/fail-29.xbel \
bookmarks/fail-30.xbel \
bookmarks/fail-31.xbel \
bookmarks/fail-32.xbel \
bookmarks/fail-33.xbel \
bookmarks/fail-34.xbel \
bookmarks/fail-35.xbel \
bookmarks/fail-36.xbel \
bookmarks/fail-37.xbel \
bookmarks/fail-38.xbel \
bookmarks/fail-39.xbel \
bookmarks/fail-40.xbel \
bookmarks/fail-41.xbel \
bookmarks/valid-01.xbel \
bookmarks/valid-02.xbel \
bookmarks/valid-03.xbel \
$(NULL)
markup_tests = \
fail-1 fail-2 fail-3 fail-4 fail-5 \
fail-6 fail-7 fail-8 fail-9 fail-10 \
fail-11 fail-12 fail-13 fail-14 fail-15 \
fail-16 fail-17 fail-18 fail-19 fail-20 \
fail-21 fail-22 fail-23 fail-24 fail-25 \
fail-26 fail-27 fail-28 fail-29 fail-30 \
fail-31 fail-32 fail-33 fail-34 fail-35 \
fail-36 fail-37 fail-38 fail-39 fail-40 \
fail-41 fail-42 fail-43 fail-44 fail-45 \
fail-46 fail-47 fail-48 fail-49 fail-50 \
fail-51 fail-52 fail-53 \
valid-1 valid-2 valid-3 valid-4 valid-5 \
valid-6 valid-7 valid-8 valid-9 valid-10 \
valid-11 valid-12 valid-13 valid-14 valid-15 \
valid-16 \
$(NULL)
cdata_markup_tests = \
valid-8 valid-16 \
$(NULL)
dist_test_data += $(all_markup_data)
all_markup_data = \
$(addprefix markups/,$(markup_tests:=.gmarkup) $(markup_tests:=.expected)) \
$(addprefix markups/,$(cdata_markup_tests.=.cdata-as-text))
# -----------------------------------------------------------------------------
test_programs += atomic
atomic_CFLAGS = $(AM_CFLAGS)
if HAVE_GCC
atomic_CFLAGS += -Wstrict-aliasing=2
endif
overflow_fallback_SOURCES = overflow.c
# FIXME: FLAGS?
overflow_fallback_FALGS = $(AM_CFLAGS) -D_GLIB_TEST_OVERFLOW_FALLBACK
test_programs += 642026-ec
642026_ec_SOURCES = 642026.c
642026_ec_CFLAGS = -DG_ERRORCHECK_MUTEXES
uninstalled_test_programs += 1bit-emufutex
1bit_emufutex_SOURCES = 1bit-mutex.c
1bit_emufutex_CFLAGS = $(AM_CFLAGS) -DTEST_EMULATED_FUTEX
uninstalled_test_programs += gwakeup
gwakeup_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
# -----------------------------------------------------------------------------
if OS_UNIX
test_programs += \
unix \
include \
$(NULL)
# some testing of gtester functionality
XMLLINT = xmllint
GTESTER = $(top_builddir)/glib/gtester
gtester-xmllint-check: # check testreport xml with xmllint if present
${GTESTER} -k --quiet -o tmpsample.xml --test-arg=--gtester-selftest ${GTESTER}
${XMLLINT} --version 2>/dev/null; test "$$?" != 0 || ${XMLLINT} --noout tmpsample.xml
CLEANFILES += tmpsample.xml
check-am: gtester-xmllint-check
private_LDFLAGS = @G_THREAD_LIBS@
thread_LDFLAGS = @G_THREAD_LIBS@
endif
if HAVE_GCC
test_programs += \
autoptr \
$(NULL)
endif
if OS_WIN32
test_programs += gpoll
endif
# -----------------------------------------------------------------------------
if HAVE_EVENTFD
uninstalled_test_programs += gwakeup-fallback
gwakeup_fallback_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
gwakeup_fallback_CFLAGS = $(AM_CFLAGS) -DTEST_EVENTFD_FALLBACK
endif
# -----------------------------------------------------------------------------
EXTRA_DIST += bookmarks.xbel

View File

@ -1,6 +0,0 @@
include $(top_srcdir)/glib.mk
EXTRA_DIST += \
update.sh \
digitab.patch \
memory.patch

View File

@ -1,109 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(glib_INCLUDES) \
-DG_LOG_DOMAIN=\"GModule\" \
@GLIB_DEBUG_FLAGS@ \
-DG_DISABLE_DEPRECATED
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
EXTRA_DIST += \
gmoduleconf.h.in \
gmodule-dl.c \
gmodule-dyld.c \
gmodule-win32.c \
gmodule-ar.c \
gmodule.rc.in
BUILT_EXTRA_DIST += \
gmodule.rc
BUILT_SOURCES += gmoduleconf.h
gmoduleconf.h: gmoduleconf.h.in
glibincludedir=$(includedir)/glib-2.0
glibinclude_HEADERS = \
gmodule.h
libglib = $(top_builddir)/glib/libglib-2.0.la
top_builddir_full=`cd \$(top_builddir); pwd`
lib_LTLIBRARIES = libgmodule-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE
noinst_DATA += gmodule-2.0.lib
install_ms_lib_cmd = $(INSTALL) gmodule-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gmodule-2.0.lib
endif
endif
install-ms-lib:
$(install_ms_lib_cmd)
uninstall-ms-lib:
$(uninstall_ms_lib_cmd)
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
if OS_WIN32_AND_DLL_COMPILATION
gmodule_win32_res = gmodule-win32-res.o
gmodule_win32_res_ldflag = -Wl,$(gmodule_win32_res)
endif
libgmodule_2_0_la_CFLAGS = $(AM_CFLAGS) $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libgmodule_2_0_la_SOURCES = gmodule.c
libgmodule_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gmodule_win32_res_ldflag) \
$(G_MODULE_LDFLAGS) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined)
libgmodule_2_0_la_LIBADD = $(G_MODULE_LIBS_EXTRA) $(G_MODULE_LIBS) $(libglib)
libgmodule_2_0_la_DEPENDENCIES = $(gmodule_win32_res) $(gmodule_def)
gmodule-win32-res.o: gmodule.rc
$(AM_V_GEN) $(WINDRES) gmodule.rc $@
gmodule.def: libgmodule-2.0.la
$(AM_V_GEN) dumpbin.exe -exports .libs/libgmodule-2.0-0.dll | awk 'BEGIN { print "EXPORTS" } / +[[:digit:]]+ +[[:xdigit:]]+ +[[:xdigit:]]+/{ print $$4 }' > gmodule.def.tmp && mv gmodule.def.tmp gmodule.def
gmodule-2.0.lib: libgmodule-2.0.la gmodule.def
$(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgmodule-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gmodule.def -out:$@
.PHONY: files release
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
release:
$(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
dist-hook: $(BUILT_EXTRA_DIST)
@files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
install-data-local: install-ms-lib
uninstall-local: uninstall-ms-lib
if HAVE_GLIB_RUNTIME_LIBDIR
install-data-hook:
mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgmodule-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgmodule-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
rm -f $(DESTDIR)$(libdir)/libgmodule-2.0.so
ln -s $(GLIB_RUNTIME_LIBDIR)/libgmodule-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgmodule-2.0.so
endif

View File

@ -1,261 +0,0 @@
# GObject - GLib Type, Object, Parameter and Signal Library
# Copyright (C) 1997,98,99,2000 Tim Janik and Red Hat, Inc.
#
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/glib.mk
SUBDIRS = . tests
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"GLib-GObject\" \
$(glib_INCLUDES) \
$(GLIB_DEBUG_FLAGS) \
-DGOBJECT_COMPILATION
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
libglib = $(top_builddir)/glib/libglib-2.0.la
# libraries to compile and install
lib_LTLIBRARIES = libgobject-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE
noinst_DATA += gobject-2.0.lib
install_ms_lib_cmd = $(INSTALL) gobject-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gobject-2.0.lib
endif
endif
install-ms-lib:
$(install_ms_lib_cmd)
uninstall-ms-lib:
$(uninstall_ms_lib_cmd)
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
if OS_WIN32_AND_DLL_COMPILATION
gobject_win32_res = gobject-win32-res.o
gobject_win32_res_ldflag = -Wl,$(gobject_win32_res)
endif
libgobjectincludedir = $(includedir)/glib-2.0/gobject
libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gobject_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined)
libgobject_2_0_la_CFLAGS = $(AM_CFLAGS) $(LIBFFI_CFLAGS) $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libgobject_2_0_la_LIBADD = $(libglib) $(LIBFFI_LIBS)
libgobject_2_0_la_DEPENDENCIES = $(gobject_win32_res)
#
# setup source file variables
#
# GObject library header files for public installation
gobject_public_h_sources = \
gobject-autocleanups.h \
glib-types.h \
gbinding.h \
gboxed.h \
gclosure.h \
genums.h \
gmarshal.h \
gobject.h \
gparam.h \
gparamspecs.h \
gsignal.h \
gsourceclosure.h \
gtype.h \
gtypemodule.h \
gtypeplugin.h \
gvalue.h \
gvaluearray.h \
gvaluecollector.h \
gvaluetypes.h \
gobjectnotifyqueue.c
# GObject library header files that don't get installed
gobject_private_h_sources = \
gatomicarray.h \
gtype-private.h
# GObject library C sources to build the library from
gobject_c_sources = \
gobject_probes.d \
gatomicarray.c \
gbinding.c \
gboxed.c \
gclosure.c \
genums.c \
gmarshal.c \
gobject.c \
gobject_trace.h \
gparam.c \
gparamspecs.c \
gsignal.c \
gsourceclosure.c \
gtype.c \
gtypemodule.c \
gtypeplugin.c \
gvalue.c \
gvaluearray.c \
gvaluetransform.c \
gvaluetypes.c
if ENABLE_DTRACE
gobject_probes.h: gobject_probes.d
$(AM_V_GEN) $(DTRACE) -C -h -s $< -o $@.tmp
@$(SED) \
-e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," \
-e "s,define _SDT_HAS_SEMAPHORES 1,undef _SDT_HAS_SEMAPHORES," \
< $@.tmp > $@ && rm -f $@.tmp
gobject_probes.lo: gobject_probes.d
$(AM_V_GEN) $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -G -s $< -o $@
BUILT_SOURCES += gobject_probes.h gobject_probes.lo
CLEANFILES += gobject_probes.h
libgobject_2_0_la_LIBADD += gobject_probes.lo
endif
tapsetdir = @ABS_TAPSET_DIR@
EXTRA_DIST += gobject.stp.in
if ENABLE_SYSTEMTAP
tapset_DATA = libgobject-2.0.so.0.@LT_CURRENT@.@LT_REVISION@.stp
CLEANFILES += $(tapset_DATA)
$(tapset_DATA): gobject.stp.in Makefile
$(AM_V_GEN)$(SED) \
-e 's|[@]ABS_GLIB_RUNTIME_LIBDIR[@]|$(ABS_GLIB_RUNTIME_LIBDIR)|g' \
-e 's|[@]LT_CURRENT[@]|$(LT_CURRENT)|g' \
-e 's|[@]LT_REVISION[@]|$(LT_REVISION)|g' \
$< > $@
endif
# non-header sources (headers should be specified in the above variables)
# that don't serve as direct make target sources, i.e. they don't have
# their own .lo rules and don't get publically installed
gobject_extra_sources =
#
# setup GObject library sources and their dependancies
#
gobject_target_headers = $(gobject_public_h_sources)
gobject_target_sources = $(gobject_c_sources)
EXTRA_HEADERS =
EXTRA_DIST += \
$(gobject_private_h_sources) \
$(gobject_extra_sources)
# This is read by gobject-introspection/misc/ and gtk-doc
gobject-public-headers.txt: Makefile
$(AM_V_GEN) echo $(gobject_public_h_sources) > $@.tmp && mv $@.tmp $@
CLEANFILES += gobject-public-headers.txt
all-local: gobject-public-headers.txt
#
# rules to generate built sources
#
# setup autogeneration dependancies
gen_sources = xgen-gmh xgen-gmc xgen-gms
CLEANFILES += $(gen_sources)
# normal autogeneration rules
# all autogenerated files need to be generated in the srcdir,
# so old versions get remade and are not confused with newer
# versions in the build dir. thus a development setup requires
# srcdir to be writable, passing --disable-rebuilds to
# ../configure will supress all autogeneration rules.
# target platform:
libgobjectinclude_HEADERS = $(gobject_target_headers)
libgobject_2_0_la_SOURCES = $(gobject_target_sources)
#
# programs to compile and install
#
bin_PROGRAMS = gobject-query
bin_SCRIPTS = glib-mkenums glib-genmarshal
# source files
gobject_query_SOURCES = gobject-query.c
# link programs against libgobject
progs_LDADD = ./libgobject-2.0.la $(libglib)
gobject_query_LDADD = $(progs_LDADD)
#
# auxillary files
#
EXTRA_DIST += \
gobject.rc.in \
libgobject-gdb.py.in \
glib-genmarshal.in \
glib-mkenums.in
CLEANFILES += libgobject-gdb.py
BUILT_EXTRA_DIST += \
gobject.rc
gobject-win32-res.o: gobject.rc
$(AM_V_GEN) $(WINDRES) gobject.rc $@
gobject.def: libgobject-2.0.la
$(AM_V_GEN) dumpbin.exe -exports .libs/libgobject-2.0-0.dll | awk 'BEGIN { print "EXPORTS" } / +[[:digit:]]+ +[[:xdigit:]]+ +[[:xdigit:]]+/{ print $$4 }' > gobject.def.tmp && mv gobject.def.tmp gobject.def
gobject-2.0.lib: libgobject-2.0.la gobject.def
$(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgobject-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gobject.def -out:$@
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
install-data-local: install-ms-lib
uninstall-local: uninstall-ms-lib uninstall-gdb
distclean-local:
if test $(srcdir) = .; then :; else \
rm -f $(BUILT_EXTRA_DIST); \
fi
# install gdb scripts
gdbdir = $(datadir)/glib-2.0/gdb
dist_gdb_DATA = gobject_gdb.py
all-local: libgobject-gdb.py
libgobject-gdb.py: libgobject-gdb.py.in
$(AM_V_GEN) $(SED) -e "s|\@datadir\@|$(datadir)|" $(srcdir)/libgobject-gdb.py.in > $(builddir)/libgobject-gdb.py
uninstall-gdb:
-rm -r $(DESTDIR)$(datadir)/gdb
if HAVE_GLIB_RUNTIME_LIBDIR
ABS_GLIB_RUNTIME_LIBDIR = $(realpath $(libdir)/$(GLIB_RUNTIME_LIBDIR))
else
ABS_GLIB_RUNTIME_LIBDIR = $(libdir)
endif
install-data-hook: libgobject-gdb.py
mkdir -p $(DESTDIR)$(datadir)/gdb/auto-load/$(ABS_GLIB_RUNTIME_LIBDIR)
$(INSTALL) $(builddir)/libgobject-gdb.py $(DESTDIR)$(datadir)/gdb/auto-load/$(ABS_GLIB_RUNTIME_LIBDIR)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION)-gdb.py
if HAVE_GLIB_RUNTIME_LIBDIR
mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgobject-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
rm -f $(DESTDIR)$(libdir)/libgobject-2.0.so
ln -s $(GLIB_RUNTIME_LIBDIR)/libgobject-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgobject-2.0.so
endif

View File

@ -1,71 +0,0 @@
include $(top_srcdir)/glib-tap.mk
LDADD = ../libgobject-2.0.la $(top_builddir)/glib/libglib-2.0.la
AM_CPPFLAGS = -g $(gobject_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DG_LOG_DOMAIN=\"GLib-GObject\"
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
# -----------------------------------------------------------------------------
test_programs = \
qdata \
boxed \
enums \
param \
threadtests \
dynamictests \
binding \
properties \
reference \
flags \
value \
type \
private \
closure \
object \
signal-handler \
$(NULL)
if HAVE_GCC
test_programs += \
autoptr \
$(NULL)
endif
# -----------------------------------------------------------------------------
test_programs += ifaceproperties
ifaceproperties_SOURCES = ifaceproperties.c testcommon.h
# -----------------------------------------------------------------------------
# The marshalers test requires running a binary, so we cannot build it when
# cross-compiling
glib_genmarshal = $(top_builddir)/gobject/glib-genmarshal
test_programs += signals
signals_SOURCES = signals.c
nodist_signals_SOURCES = marshalers.c marshalers.h
signals.o: marshalers.h
CLEANFILES += marshalers.h marshalers.c
EXTRA_DIST += marshalers.list
marshalers.h: $(srcdir)/marshalers.list Makefile.am
$(AM_V_GEN) $(glib_genmarshal) \
--prefix=test \
--valist-marshallers \
--output=$@ \
--quiet \
--header \
$<
marshalers.c: $(srcdir)/marshalers.list marshalers.h Makefile.am
$(AM_V_GEN) $(glib_genmarshal) \
--prefix=test \
--valist-marshallers \
--include-header=marshalers.h \
--output=$@ \
--quiet \
--body \
$<

View File

@ -1,97 +0,0 @@
## Process this file with automake to produce Makefile.in
include $(top_srcdir)/glib.mk
AM_CPPFLAGS = \
$(glib_INCLUDES) \
-DG_LOG_DOMAIN=\"GThread\" \
@GTHREAD_COMPILE_IMPL_DEFINES@ \
@GLIB_DEBUG_FLAGS@
AM_CFLAGS = $(GLIB_WARN_CFLAGS)
EXTRA_DIST += \
gthread.def \
gthread.rc.in
BUILT_EXTRA_DIST += \
gthread.rc
libglib = $(top_builddir)/glib/libglib-2.0.la
top_builddir_full=`cd \$(top_builddir); pwd`
lib_LTLIBRARIES = libgthread-2.0.la
if OS_WIN32_AND_DLL_COMPILATION
if MS_LIB_AVAILABLE
noinst_DATA += gthread-2.0.lib
install_ms_lib_cmd = $(INSTALL) gthread-2.0.lib $(DESTDIR)$(libdir)
uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gthread-2.0.lib
endif
endif
install-ms-lib:
$(install_ms_lib_cmd)
uninstall-ms-lib:
$(uninstall_ms_lib_cmd)
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
if OS_WIN32_AND_DLL_COMPILATION
export_symbols = -export-symbols $(srcdir)/gthread.def
gthread_def = gthread.def
install-def-file:
$(INSTALL) $(srcdir)/gthread.def $(DESTDIR)$(libdir)/gthread-2.0.def
uninstall-def-file:
-rm $(DESTDIR)$(libdir)/gthread-2.0.def
else
install-def-file:
uninstall-def-file:
endif
if OS_WIN32_AND_DLL_COMPILATION
gthread_win32_res = gthread-win32-res.o
gthread_win32_res_ldflag = -Wl,$(gthread_win32_res)
endif
libgthread_2_0_la_CFLAGS = $(AM_CFLAGS) $(GLIB_HIDDEN_VISIBILITY_CFLAGS)
libgthread_2_0_la_SOURCES = gthread-impl.c
libgthread_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gthread_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) $(export_symbols)
libgthread_2_0_la_LIBADD = $(G_THREAD_LIBS_EXTRA) $(G_THREAD_LIBS_FOR_GTHREAD) $(libglib)
libgthread_2_0_la_DEPENDENCIES = $(gthread_win32_res) $(gthread_def)
gthread-win32-res.o: gthread.rc
$(AM_V_GEN) $(WINDRES) gthread.rc $@
gthread-2.0.lib: libgthread-2.0.la gthread.def
$(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgthread-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(srcdir)/gthread.def -out:$@
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; done
install-data-local: install-ms-lib install-def-file
uninstall-local: uninstall-ms-lib uninstall-def-file
if HAVE_GLIB_RUNTIME_LIBDIR
install-data-hook:
mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgthread-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgthread-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
rm -f $(DESTDIR)$(libdir)/libgthread-2.0.so
ln -s $(GLIB_RUNTIME_LIBDIR)/libgthread-2.0.so.0.$(LT_CURRENT).$(LT_REVISION) $(DESTDIR)$(libdir)/libgthread-2.0.so
endif

6
m4macros/.gitignore vendored
View File

@ -1,6 +0,0 @@
libtool.m4
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
gtk-doc.m4

View File

@ -1,8 +0,0 @@
include $(top_srcdir)/glib.mk
installed_m4= glib-2.0.m4 glib-gettext.m4 gsettings.m4
EXTRA_DIST+=$(installed_m4)
m4datadir = $(datadir)/aclocal
m4data_DATA = $(installed_m4)

View File

@ -1,5 +0,0 @@
EXTRA_DIST = \
libffi.wrap \
proxy-libintl.wrap \
zlib.wrap \
$(NULL)

View File

@ -1,652 +0,0 @@
#! /bin/sh
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# This file is maintained in Automake, please report
# bugs to <bug-automake@gnu.org> or send patches to
# <automake-patches@gnu.org>.
scriptversion=2011-12-27.17; # UTC
# Make unconditional expansion of undefined variables an error. This
# helps a lot in preventing typo-related bugs.
set -u
me=tap-driver.sh
fatal ()
{
echo "$me: fatal: $*" >&2
exit 1
}
usage_error ()
{
echo "$me: $*" >&2
print_usage >&2
exit 2
}
print_usage ()
{
cat <<END
Usage:
tap-driver.sh --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
[--enable-hard-errors={yes|no}] [--ignore-exit]
[--diagnostic-string=STRING] [--merge|--no-merge]
[--comments|--no-comments] [--] TEST-COMMAND
The \`--test-name', \`--log-file' and \`--trs-file' options are mandatory.
END
}
# TODO: better error handling in option parsing (in particular, ensure
# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting.
log_file= # Where to save the result and output of the test script.
trs_file= # Where to save the metadata of the test run.
expect_failure=0
color_tests=0
merge=0
ignore_exit=0
comments=0
diag_string='#'
while test $# -gt 0; do
case $1 in
--help) print_usage; exit $?;;
--version) echo "$me $scriptversion"; exit $?;;
--test-name) test_name=$2; shift;;
--log-file) log_file=$2; shift;;
--trs-file) trs_file=$2; shift;;
--color-tests) color_tests=$2; shift;;
--expect-failure) expect_failure=$2; shift;;
--enable-hard-errors) shift;; # No-op.
--merge) merge=1;;
--no-merge) merge=0;;
--ignore-exit) ignore_exit=1;;
--comments) comments=1;;
--no-comments) comments=0;;
--diagnostic-string) diag_string=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
esac
shift
done
test $# -gt 0 || usage_error "missing test command"
case $expect_failure in
yes) expect_failure=1;;
*) expect_failure=0;;
esac
if test $color_tests = yes; then
init_colors='
color_map["red"]="" # Red.
color_map["grn"]="" # Green.
color_map["lgn"]="" # Light green.
color_map["blu"]="" # Blue.
color_map["mgn"]="" # Magenta.
color_map["std"]="" # No color.
color_for_result["ERROR"] = "mgn"
color_for_result["PASS"] = "grn"
color_for_result["XPASS"] = "red"
color_for_result["FAIL"] = "red"
color_for_result["XFAIL"] = "lgn"
color_for_result["SKIP"] = "blu"'
else
init_colors=''
fi
# :; is there to work around a bug in bash 3.2 (and earlier) which
# does not always set '$?' properly on redirection failure.
# See the Autoconf manual for more details.
:;{
(
# Ignore common signals (in this subshell only!), to avoid potential
# problems with Korn shells. Some Korn shells are known to propagate
# to themselves signals that have killed a child process they were
# waiting for; this is done at least for SIGINT (and usually only for
# it, in truth). Without the `trap' below, such a behaviour could
# cause a premature exit in the current subshell, e.g., in case the
# test command it runs gets terminated by a SIGINT. Thus, the awk
# script we are piping into would never seen the exit status it
# expects on its last input line (which is displayed below by the
# last `echo $?' statement), and would thus die reporting an internal
# error.
# For more information, see the Autoconf manual and the threads:
# <http://lists.gnu.org/archive/html/bug-autoconf/2011-09/msg00004.html>
# <http://mail.opensolaris.org/pipermail/ksh93-integration-discuss/2009-February/004121.html>
trap : 1 3 2 13 15
if test $merge -gt 0; then
exec 2>&1
else
exec 2>&3
fi
"$@"
echo $?
) | LC_ALL=C ${AM_TAP_AWK-awk} \
-v me="$me" \
-v test_script_name="$test_name" \
-v log_file="$log_file" \
-v trs_file="$trs_file" \
-v expect_failure="$expect_failure" \
-v merge="$merge" \
-v ignore_exit="$ignore_exit" \
-v comments="$comments" \
-v diag_string="$diag_string" \
'
# FIXME: the usages of "cat >&3" below could be optimized when using
# FIXME: GNU awk, and/or on systems that supports /dev/fd/.
# Implementation note: in what follows, `result_obj` will be an
# associative array that (partly) simulates a TAP result object
# from the `TAP::Parser` perl module.
## ----------- ##
## FUNCTIONS ##
## ----------- ##
function fatal(msg)
{
print me ": " msg | "cat >&2"
exit 1
}
function abort(where)
{
fatal("internal error " where)
}
# Convert a boolean to a "yes"/"no" string.
function yn(bool)
{
return bool ? "yes" : "no";
}
function add_test_result(result)
{
if (!test_results_index)
test_results_index = 0
test_results_list[test_results_index] = result
test_results_index += 1
test_results_seen[result] = 1;
}
# Whether the test script should be re-run by "make recheck".
function must_recheck()
{
for (k in test_results_seen)
if (k != "XFAIL" && k != "PASS" && k != "SKIP")
return 1
return 0
}
# Whether the content of the log file associated to this test should
# be copied into the "global" test-suite.log.
function copy_in_global_log()
{
for (k in test_results_seen)
if (k != "PASS")
return 1
return 0
}
# FIXME: this can certainly be improved ...
function get_global_test_result()
{
if ("ERROR" in test_results_seen)
return "ERROR"
if ("FAIL" in test_results_seen || "XPASS" in test_results_seen)
return "FAIL"
all_skipped = 1
for (k in test_results_seen)
if (k != "SKIP")
all_skipped = 0
if (all_skipped)
return "SKIP"
return "PASS";
}
function stringify_result_obj(result_obj)
{
if (result_obj["is_unplanned"] || result_obj["number"] != testno)
return "ERROR"
if (plan_seen == LATE_PLAN)
return "ERROR"
if (result_obj["directive"] == "TODO")
return result_obj["is_ok"] ? "XPASS" : "XFAIL"
if (result_obj["directive"] == "SKIP")
return result_obj["is_ok"] ? "SKIP" : COOKED_FAIL;
if (length(result_obj["directive"]))
abort("in function stringify_result_obj()")
return result_obj["is_ok"] ? COOKED_PASS : COOKED_FAIL
}
function decorate_result(result)
{
color_name = color_for_result[result]
if (color_name)
return color_map[color_name] "" result "" color_map["std"]
# If we are not using colorized output, or if we do not know how
# to colorize the given result, we should return it unchanged.
return result
}
function report(result, details)
{
if (result ~ /^(X?(PASS|FAIL)|SKIP|ERROR)/)
{
msg = ": " test_script_name
add_test_result(result)
}
else if (result == "#")
{
msg = " " test_script_name ":"
}
else
{
abort("in function report()")
}
if (length(details))
msg = msg " " details
# Output on console might be colorized.
print decorate_result(result) msg
# Log the result in the log file too, to help debugging (this is
# especially true when said result is a TAP error or "Bail out!").
print result msg | "cat >&3";
}
function testsuite_error(error_message)
{
report("ERROR", "- " error_message)
}
function handle_tap_result()
{
details = result_obj["number"];
if (length(result_obj["description"]))
details = details " " result_obj["description"]
if (plan_seen == LATE_PLAN)
{
details = details " # AFTER LATE PLAN";
}
else if (result_obj["is_unplanned"])
{
details = details " # UNPLANNED";
}
else if (result_obj["number"] != testno)
{
details = sprintf("%s # OUT-OF-ORDER (expecting %d)",
details, testno);
}
else if (result_obj["directive"])
{
details = details " # " result_obj["directive"];
if (length(result_obj["explanation"]))
details = details " " result_obj["explanation"]
}
report(stringify_result_obj(result_obj), details)
}
# `skip_reason` should be empty whenever planned > 0.
function handle_tap_plan(planned, skip_reason)
{
planned += 0 # Avoid getting confused if, say, `planned` is "00"
if (length(skip_reason) && planned > 0)
abort("in function handle_tap_plan()")
if (plan_seen)
{
# Error, only one plan per stream is acceptable.
testsuite_error("multiple test plans")
return;
}
planned_tests = planned
# The TAP plan can come before or after *all* the TAP results; we speak
# respectively of an "early" or a "late" plan. If we see the plan line
# after at least one TAP result has been seen, assume we have a late
# plan; in this case, any further test result seen after the plan will
# be flagged as an error.
plan_seen = (testno >= 1 ? LATE_PLAN : EARLY_PLAN)
# If testno > 0, we have an error ("too many tests run") that will be
# automatically dealt with later, so do not worry about it here. If
# $plan_seen is true, we have an error due to a repeated plan, and that
# has already been dealt with above. Otherwise, we have a valid "plan
# with SKIP" specification, and should report it as a particular kind
# of SKIP result.
if (planned == 0 && testno == 0)
{
if (length(skip_reason))
skip_reason = "- " skip_reason;
report("SKIP", skip_reason);
}
}
function extract_tap_comment(line)
{
if (index(line, diag_string) == 1)
{
# Strip leading `diag_string` from `line`.
line = substr(line, length(diag_string) + 1)
# And strip any leading and trailing whitespace left.
sub("^[ \t]*", "", line)
sub("[ \t]*$", "", line)
# Return what is left (if any).
return line;
}
return "";
}
# When this function is called, we know that line is a TAP result line,
# so that it matches the (perl) RE "^(not )?ok\b".
function setup_result_obj(line)
{
# Get the result, and remove it from the line.
result_obj["is_ok"] = (substr(line, 1, 2) == "ok" ? 1 : 0)
sub("^(not )?ok[ \t]*", "", line)
# If the result has an explicit number, get it and strip it; otherwise,
# automatically assing the next progresive number to it.
if (line ~ /^[0-9]+$/ || line ~ /^[0-9]+[^a-zA-Z0-9_]/)
{
match(line, "^[0-9]+")
# The final `+ 0` is to normalize numbers with leading zeros.
result_obj["number"] = substr(line, 1, RLENGTH) + 0
line = substr(line, RLENGTH + 1)
}
else
{
result_obj["number"] = testno
}
if (plan_seen == LATE_PLAN)
# No further test results are acceptable after a "late" TAP plan
# has been seen.
result_obj["is_unplanned"] = 1
else if (plan_seen && testno > planned_tests)
result_obj["is_unplanned"] = 1
else
result_obj["is_unplanned"] = 0
# Strip trailing and leading whitespace.
sub("^[ \t]*", "", line)
sub("[ \t]*$", "", line)
# This will have to be corrected if we have a "TODO"/"SKIP" directive.
result_obj["description"] = line
result_obj["directive"] = ""
result_obj["explanation"] = ""
if (index(line, "#") == 0)
return # No possible directive, nothing more to do.
# Directives are case-insensitive.
rx = "[ \t]*#[ \t]*([tT][oO][dD][oO]|[sS][kK][iI][pP])[ \t]*"
# See whether we have the directive, and if yes, where.
pos = match(line, rx "$")
if (!pos)
pos = match(line, rx "[^a-zA-Z0-9_]")
# If there was no TAP directive, we have nothing more to do.
if (!pos)
return
# Let`s now see if the TAP directive has been escaped. For example:
# escaped: ok \# SKIP
# not escaped: ok \\# SKIP
# escaped: ok \\\\\# SKIP
# not escaped: ok \ # SKIP
if (substr(line, pos, 1) == "#")
{
bslash_count = 0
for (i = pos; i > 1 && substr(line, i - 1, 1) == "\\"; i--)
bslash_count += 1
if (bslash_count % 2)
return # Directive was escaped.
}
# Strip the directive and its explanation (if any) from the test
# description.
result_obj["description"] = substr(line, 1, pos - 1)
# Now remove the test description from the line, that has been dealt
# with already.
line = substr(line, pos)
# Strip the directive, and save its value (normalized to upper case).
sub("^[ \t]*#[ \t]*", "", line)
result_obj["directive"] = toupper(substr(line, 1, 4))
line = substr(line, 5)
# Now get the explanation for the directive (if any), with leading
# and trailing whitespace removed.
sub("^[ \t]*", "", line)
sub("[ \t]*$", "", line)
result_obj["explanation"] = line
}
function get_test_exit_message(status)
{
if (status == 0)
return ""
if (status !~ /^[1-9][0-9]*$/)
abort("getting exit status")
if (status < 127)
exit_details = ""
else if (status == 127)
exit_details = " (command not found?)"
else if (status >= 128 && status <= 255)
exit_details = sprintf(" (terminated by signal %d?)", status - 128)
else if (status > 256 && status <= 384)
# We used to report an "abnormal termination" here, but some Korn
# shells, when a child process die due to signal number n, can leave
# in $? an exit status of 256+n instead of the more standard 128+n.
# Apparently, both behaviours are allowed by POSIX (2008), so be
# prepared to handle them both. See also Austing Group report ID
# 0000051 <http://www.austingroupbugs.net/view.php?id=51>
exit_details = sprintf(" (terminated by signal %d?)", status - 256)
else
# Never seen in practice.
exit_details = " (abnormal termination)"
return sprintf("exited with status %d%s", status, exit_details)
}
function write_test_results()
{
print ":global-test-result: " get_global_test_result() > trs_file
print ":recheck: " yn(must_recheck()) > trs_file
print ":copy-in-global-log: " yn(copy_in_global_log()) > trs_file
for (i = 0; i < test_results_index; i += 1)
print ":test-result: " test_results_list[i] > trs_file
close(trs_file);
}
BEGIN {
## ------- ##
## SETUP ##
## ------- ##
'"$init_colors"'
# Properly initialized once the TAP plan is seen.
planned_tests = 0
COOKED_PASS = expect_failure ? "XPASS": "PASS";
COOKED_FAIL = expect_failure ? "XFAIL": "FAIL";
# Enumeration-like constants to remember which kind of plan (if any)
# has been seen. It is important that NO_PLAN evaluates "false" as
# a boolean.
NO_PLAN = 0
EARLY_PLAN = 1
LATE_PLAN = 2
testno = 0 # Number of test results seen so far.
bailed_out = 0 # Whether a "Bail out!" directive has been seen.
# Whether the TAP plan has been seen or not, and if yes, which kind
# it is ("early" is seen before any test result, "late" otherwise).
plan_seen = NO_PLAN
## --------- ##
## PARSING ##
## --------- ##
is_first_read = 1
while (1)
{
# Involutions required so that we are able to read the exit status
# from the last input line.
st = getline
if (st < 0) # I/O error.
fatal("I/O error while reading from input stream")
else if (st == 0) # End-of-input
{
if (is_first_read)
abort("in input loop: only one input line")
break
}
if (is_first_read)
{
is_first_read = 0
nextline = $0
continue
}
else
{
curline = nextline
nextline = $0
$0 = curline
}
# Copy any input line verbatim into the log file.
print | "cat >&3"
# Parsing of TAP input should stop after a "Bail out!" directive.
if (bailed_out)
continue
# TAP test result.
if ($0 ~ /^(not )?ok$/ || $0 ~ /^(not )?ok[^a-zA-Z0-9_]/)
{
testno += 1
setup_result_obj($0)
handle_tap_result()
}
# TAP plan (normal or "SKIP" without explanation).
else if ($0 ~ /^1\.\.[0-9]+[ \t]*$/)
{
# The next two lines will put the number of planned tests in $0.
sub("^1\\.\\.", "")
sub("[^0-9]*$", "")
handle_tap_plan($0, "")
continue
}
# TAP "SKIP" plan, with an explanation.
else if ($0 ~ /^1\.\.0+[ \t]*#/)
{
# The next lines will put the skip explanation in $0, stripping
# any leading and trailing whitespace. This is a little more
# tricky in truth, since we want to also strip a potential leading
# "SKIP" string from the message.
sub("^[^#]*#[ \t]*(SKIP[: \t][ \t]*)?", "")
sub("[ \t]*$", "");
handle_tap_plan(0, $0)
}
# "Bail out!" magic.
# Older versions of prove and TAP::Harness (e.g., 3.17) did not
# recognize a "Bail out!" directive when preceded by leading
# whitespace, but more modern versions (e.g., 3.23) do. So we
# emulate the latter, "more modern" behaviour.
else if ($0 ~ /^[ \t]*Bail out!/)
{
bailed_out = 1
# Get the bailout message (if any), with leading and trailing
# whitespace stripped. The message remains stored in `$0`.
sub("^[ \t]*Bail out![ \t]*", "");
sub("[ \t]*$", "");
# Format the error message for the
bailout_message = "Bail out!"
if (length($0))
bailout_message = bailout_message " " $0
testsuite_error(bailout_message)
}
# Maybe we have too look for dianogtic comments too.
else if (comments != 0)
{
comment = extract_tap_comment($0);
if (length(comment))
report("#", comment);
}
}
## -------- ##
## FINISH ##
## -------- ##
# A "Bail out!" directive should cause us to ignore any following TAP
# error, as well as a non-zero exit status from the TAP producer.
if (!bailed_out)
{
if (!plan_seen)
{
testsuite_error("missing test plan")
}
else if (planned_tests != testno)
{
bad_amount = testno > planned_tests ? "many" : "few"
testsuite_error(sprintf("too %s tests run (expected %d, got %d)",
bad_amount, planned_tests, testno))
}
if (!ignore_exit)
{
# Fetch exit status from the last line.
exit_message = get_test_exit_message(nextline)
if (exit_message)
testsuite_error(exit_message)
}
}
write_test_results()
exit 0
} # End of "BEGIN" block.
'
# TODO: document that we consume the file descriptor 3 :-(
} 3>"$log_file"
test $? -eq 0 || fatal "I/O or internal error"
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@ -1,5 +0,0 @@
#! /bin/sh
# run a GTest in tap mode. The test binary is passed as $1
$1 -k --tap

View File

@ -1,160 +0,0 @@
include $(top_srcdir)/glib.mk
SUBDIRS = gobject refcount
LDADD = $(top_builddir)/glib/libglib-2.0.la
AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS -DG_LOG_DOMAIN=\"GLib\"
AM_CFLAGS = -g
# Some random programs that appear not to be testcases and not used from any testcases
check_PROGRAMS += \
testgdateparser \
unicode-normalize \
$(NULL)
# So far, this is the only gtester-ified testcase here
test_programs = \
testglib \
$(NULL)
# These are not yet gtester-ified, so mark them as for 'installed' only so we
# don't run them under the framework. We will handle them manually below.
installed_test_programs = \
testgdate \
datetime \
atomic-test \
bit-test \
child-test \
completion-test \
dirname-test \
file-test \
env-test \
gio-test \
mainloop-test \
mapping-test \
onceinit \
asyncqueue-test \
qsort-test \
relation-test \
slice-concurrent \
slice-threadinit \
sources \
thread-test \
threadpool-test \
type-test \
unicode-caseconv \
unicode-encoding \
$(NULL)
test_extra_programs = \
slice-test \
slice-color \
assert-msg-test \
unicode-collate \
$(NULL)
if OS_UNIX
test_programs += \
spawn-test \
iochannel-test \
$(NULL)
# These don't appear to work installed and we don't want to run them under gtester either...
dist_uninstalled_test_extra_scripts = \
run-collate-tests.sh \
run-assert-msg-test.sh \
$(NULL)
endif
dist_test_data = \
iochannel-test-infile \
casemap.txt \
casefold.txt \
utf8.txt \
$(NULL)
# Run the 'installed' tests manually in-tree.
# This will cause them to be built even if installed tests are disabled.
check_PROGRAMS += $(installed_test_programs) $(installed_test_extra_programs)
check_SCRIPTS += $(installed_test_scripts)
TESTS += $(installed_test_programs) $(dist_uninstalled_test_extra_scripts)
AM_TESTS_ENVIRONMENT = \
G_TEST_SRCDIR=$(abs_srcdir) \
G_TEST_BUILDDIR=$(abs_builddir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
test_programs += module-test
module_test_DEPENDENCIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
module_test_LDADD = $(top_builddir)/gmodule/libgmodule-2.0.la $(LDADD)
module_test_LDFLAGS = $(G_MODULE_LDFLAGS)
slice_test_SOURCES = slice-test.c memchunks.c
slice_color_SOURCES = slice-color.c memchunks.c
slice_threadinit_LDADD = $(top_builddir)/gthread/libgthread-2.0.la $(LDADD)
test_ltlibraries = libmoduletestplugin_a.la libmoduletestplugin_b.la
libmoduletestplugin_a_la_SOURCES = libmoduletestplugin_a.c
libmoduletestplugin_a_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined)
libmoduletestplugin_a_la_LIBADD = $(G_MODULE_LIBS) ../gmodule/libgmodule-2.0.la ../glib/libglib-2.0.la
libmoduletestplugin_b_la_SOURCES = libmoduletestplugin_b.c
libmoduletestplugin_b_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined)
libmoduletestplugin_b_la_LIBADD = $(G_MODULE_LIBS) ../gmodule/libgmodule-2.0.la ../glib/libglib-2.0.la
if !ENABLE_INSTALLED_TESTS
# see http://lists.gnu.org/archive/html/bug-libtool/2013-05/msg00009.html and gio/tests/Makefile.am
libmoduletestplugin_a_la_LDFLAGS += -rpath /
libmoduletestplugin_b_la_LDFLAGS += -rpath /
endif
dist-hook: $(BUILT_EXTRA_DIST)
files='$(BUILT_EXTRA_DIST)'; \
for f in $$files; do \
if test -f $$f; then d=.; else d=$(srcdir); fi; \
cp $$d/$$f $(distdir) || exit 1; \
done
mkdir $(distdir)/collate; \
for f in $(srcdir)/collate/* ; do \
if test -f $$f; then cp $$f $(distdir)/collate; fi; \
done
if HAVE_CXX
installed_test_programs += cxx-test
cxx_test_SOURCES = cxx-test.cpp
endif
if ENABLE_TIMELOOP
installed_test_programs += timeloop
endif
if PLATFORM_WIN32
no_undefined = -no-undefined
module_test_exp = module-test.exp
module-test.exp: module-test.o
$(DLLTOOL) --output-exp module-test.exp module-test.o
installed_test_extra_programs = spawn-test-win32-gui
spawn_test_win32_gui_LDFLAGS = -mwindows
endif
EXTRA_DIST += \
$(test_scripts) \
gen-casefold-txt.py \
gen-casemap-txt.py \
iochannel-test-infile \
timeloop-basic.c \
assert-msg-test.gdb
DISTCLEANFILES += \
iochannel-test-outfile \
file-test-get-contents \
maptest \
mapchild \
collate.out

View File

@ -1,70 +0,0 @@
include $(top_srcdir)/glib.mk
LDADD = $(top_builddir)/gobject/libgobject-2.0.la $(top_builddir)/glib/libglib-2.0.la
AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS -DG_LOG_DOMAIN=\"GLib\"
AM_CFLAGS = -g
# So far, only two gtester-ified cases
test_programs = \
gvalue-test \
paramspec-test \
$(NULL)
# These are not yet gtester-ified, so mark them as for 'installed' only so we
# don't run them under the framework. We will handle them manually below.
installed_test_programs = \
deftype \
accumulator \
defaultiface \
dynamictype \
override \
signals \
singleton \
references \
testgobject \
$(NULL)
# Don't install these ones, and keep them out of 'make check' because they take too long...
noinst_PROGRAMS += \
performance \
performance-threaded \
$(NULL)
# Run the 'installed' tests manually in-tree.
# This will cause them to be built even if installed tests are disabled.
check_PROGRAMS += $(installed_test_programs) $(installed_test_extra_programs)
TESTS += $(installed_test_programs)
AM_TESTS_ENVIRONMENT = \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))
accumulator_SOURCES = accumulator.c
nodist_accumulator_SOURCES = testmarshal.c testmarshal.h
signals_SOURCES = signals.c
defaultiface_SOURCES = defaultiface.c testmodule.c testmodule.h
dynamictype_SOURCES = dynamictype.c testmodule.c testmodule.h
testgobject_SOURCES = testgobject.c
if ENABLE_TIMELOOP
installed_test_programs += timeloop-closure
endif
glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
testmarshal.h: stamp-testmarshal.h
@true
stamp-testmarshal.h: testmarshal.list $(glib_genmarshal)
$(AM_V_GEN) $(PYTHON) $(glib_genmarshal) --prefix=test_marshal $(srcdir)/testmarshal.list --header >> xgen-gmh \
&& (cmp -s xgen-gmh testmarshal.h 2>/dev/null || cp xgen-gmh testmarshal.h) \
&& rm -f xgen-gmh xgen-gmh~ \
&& echo timestamp > $@
testmarshal.c: testmarshal.h testmarshal.list $(glib_genmarshal)
$(AM_V_GEN) (echo "#include \"testmarshal.h\""; $(PYTHON) $(glib_genmarshal) --prefix=test_marshal $(srcdir)/testmarshal.list --body) >> xgen-gmc \
&& cp xgen-gmc testmarshal.c \
&& rm -f xgen-gmc xgen-gmc~
BUILT_SOURCES += testmarshal.h testmarshal.c
CLEANFILES += stamp-testmarshal.h testmarshal.h testmarshal.c
EXTRA_DIST += testcommon.h testmarshal.list

View File

@ -1,35 +0,0 @@
include $(top_srcdir)/glib.mk
LDADD = $(top_builddir)/glib/libglib-2.0.la $(top_builddir)/gobject/libgobject-2.0.la
AM_CPPFLAGS = $(gmodule_INCLUDES) $(GLIB_DEBUG_FLAGS)
DEFS = -DGLIB_DISABLE_DEPRECATION_WARNINGS
AM_CFLAGS = -g
# These are not gtester tests, so handle them manually
TESTS += \
closures \
objects \
objects2 \
properties \
properties2 \
properties3 \
properties4 \
signal1 \
signal2 \
signal3 \
signal4 \
$(NULL)
AM_TESTS_ENVIRONMENT = srcdir=$(srcdir) \
LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
signal1_SOURCES = signals.c
signal1_CFLAGS = -DTESTNUM=1 $(AM_CFLAGS)
signal2_SOURCES = signals.c
signal2_CFLAGS = -DTESTNUM=2 $(AM_CFLAGS)
signal3_SOURCES = signals.c
signal3_CFLAGS = -DTESTNUM=3 $(AM_CFLAGS)
signal4_SOURCES = signals.c
signal4_CFLAGS = -DTESTNUM=4 $(AM_CFLAGS)
check_PROGRAMS += $(TESTS)