mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 11:26:16 +01:00
Merge branch 'so-long-autotools' into 'master'
Drop autotools support See merge request GNOME/glib!580
This commit is contained in:
commit
419e1485a5
29
.gitignore
vendored
29
.gitignore
vendored
@ -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/
|
||||
|
@ -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
26
HACKING
@ -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.
|
||||
|
@ -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.
|
||||
|
158
Makefile.am
158
Makefile.am
@ -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
|
58
README.win32
58
README.win32
@ -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
131
acglib.m4
@ -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
|
452
acinclude.m4
452
acinclude.m4
@ -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
|
34
autogen.sh
34
autogen.sh
@ -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" "$@"
|
@ -1,6 +0,0 @@
|
||||
SUBDIRS = \
|
||||
win32
|
||||
|
||||
EXTRA_DIST = \
|
||||
README
|
||||
|
@ -1,2 +0,0 @@
|
||||
SUBDIRS = \
|
||||
dirent
|
@ -1,8 +0,0 @@
|
||||
EXTRA_DIST = \
|
||||
README \
|
||||
dirent.c \
|
||||
dirent.h \
|
||||
wdirent.c \
|
||||
dirent-zip
|
||||
|
||||
|
3535
configure.ac
3535
configure.ac
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -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.
|
@ -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
|
@ -1 +0,0 @@
|
||||
SUBDIRS = glib gobject gio
|
@ -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
|
@ -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
|
@ -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>
|
||||
|
@ -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
|
1016
gio/Makefile.am
1016
gio/Makefile.am
File diff suppressed because it is too large
Load Diff
@ -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
|
@ -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 *~
|
@ -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)
|
@ -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
|
@ -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
|
@ -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:
|
@ -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");
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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 "
|
||||
|
@ -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)
|
@ -1,2 +0,0 @@
|
||||
EXTRA_DIST = \
|
||||
org.gtk.GDBus.Examples.ObjectManager.service.in
|
@ -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
|
@ -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
|
136
glib-tap.mk
136
glib-tap.mk
@ -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
170
glib.mk
@ -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
|
511
glib/Makefile.am
511
glib/Makefile.am
@ -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
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
5
glib/glib-mirroring-tab/meson.build
Normal file
5
glib/glib-mirroring-tab/meson.build
Normal file
@ -0,0 +1,5 @@
|
||||
gen_mirroring_tab = executable('gen-mirroring-tab',
|
||||
['gen-mirroring-tab.c', 'packtab.c'],
|
||||
dependencies : [libglib_dep],
|
||||
install: false,
|
||||
)
|
@ -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
|
@ -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.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -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
|
@ -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
|
@ -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
|
@ -1,6 +0,0 @@
|
||||
include $(top_srcdir)/glib.mk
|
||||
|
||||
EXTRA_DIST += \
|
||||
update.sh \
|
||||
digitab.patch \
|
||||
memory.patch
|
@ -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
|
@ -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
|
@ -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 \
|
||||
$<
|
@ -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
6
m4macros/.gitignore
vendored
@ -1,6 +0,0 @@
|
||||
libtool.m4
|
||||
ltoptions.m4
|
||||
ltsugar.m4
|
||||
ltversion.m4
|
||||
lt~obsolete.m4
|
||||
gtk-doc.m4
|
@ -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)
|
@ -1,5 +0,0 @@
|
||||
EXTRA_DIST = \
|
||||
libffi.wrap \
|
||||
proxy-libintl.wrap \
|
||||
zlib.wrap \
|
||||
$(NULL)
|
652
tap-driver.sh
652
tap-driver.sh
@ -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"]="[0;31m" # Red.
|
||||
color_map["grn"]="[0;32m" # Green.
|
||||
color_map["lgn"]="[1;32m" # Light green.
|
||||
color_map["blu"]="[1;34m" # Blue.
|
||||
color_map["mgn"]="[0;35m" # Magenta.
|
||||
color_map["std"]="[m" # 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:
|
5
tap-test
5
tap-test
@ -1,5 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# run a GTest in tap mode. The test binary is passed as $1
|
||||
|
||||
$1 -k --tap
|
@ -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
|
@ -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
|
@ -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)
|
Loading…
Reference in New Issue
Block a user