Update autotools to Vala usage
This commit is contained in:
parent
de402cfa92
commit
2eb4828cdb
9
.gitignore
vendored
9
.gitignore
vendored
@ -27,7 +27,8 @@ Makefile.in
|
|||||||
.libs/
|
.libs/
|
||||||
/stamp-h1
|
/stamp-h1
|
||||||
/gtk-doc.make
|
/gtk-doc.make
|
||||||
/m4/
|
/m4/*
|
||||||
|
!/m4/valac.m4
|
||||||
/GPATH
|
/GPATH
|
||||||
/GRTAGS
|
/GRTAGS
|
||||||
/GSYMS
|
/GSYMS
|
||||||
@ -54,3 +55,9 @@ Makefile.in
|
|||||||
/docs/reference/matrix-glib/matrix-glib.signals
|
/docs/reference/matrix-glib/matrix-glib.signals
|
||||||
/docs/reference/matrix-glib/matrix-glib.types
|
/docs/reference/matrix-glib/matrix-glib.types
|
||||||
/docs/reference/matrix-glib/*.bak
|
/docs/reference/matrix-glib/*.bak
|
||||||
|
|
||||||
|
# Vala related files
|
||||||
|
/src/Matrix-0.0.vapi
|
||||||
|
/src/vala-temp
|
||||||
|
/src/vala-stamp
|
||||||
|
/src/matrix-glib.h
|
37
configure.ac
37
configure.ac
@ -83,31 +83,27 @@ AC_SUBST([LT_CURRENT], matrix_glib_lt_current)
|
|||||||
AC_SUBST([LT_REVISION], matrix_glib_lt_revision)
|
AC_SUBST([LT_REVISION], matrix_glib_lt_revision)
|
||||||
AC_SUBST([LT_AGE], matrix_glib_lt_age)
|
AC_SUBST([LT_AGE], matrix_glib_lt_age)
|
||||||
|
|
||||||
AC_SUBST([MATRIX_GLIB_MAJOR_MINOR_VERSION], matrix_glib_major_minor_version)
|
|
||||||
|
|
||||||
# This is used to identify a set of API compatible between versions
|
|
||||||
# - If new versions are compatible with the actual one, just leave
|
|
||||||
# this untouched
|
|
||||||
# - If new version breaks API change it in order to allow parallel
|
|
||||||
# installations with old versions. Change name of pc files to use
|
|
||||||
# a new API, too
|
|
||||||
AC_SUBST([API_VERSION], matrix_glib_api_version)
|
|
||||||
|
|
||||||
AC_SUBST([MATRIX_GLIB_VERSION], matrix_glib_base_version)
|
AC_SUBST([MATRIX_GLIB_VERSION], matrix_glib_base_version)
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|
||||||
GLIB_REQUIRED=2.38.0
|
GLIB_REQUIRED=2.40.0
|
||||||
|
VALA_REQUIRED=0.30.0
|
||||||
|
LIBVALA_REQUIRED=0.30
|
||||||
|
GIO_REQUIRED=2.22
|
||||||
SOUP_REQUIRED=2.44.2
|
SOUP_REQUIRED=2.44.2
|
||||||
JSON_REQUIRED=0.16.2
|
JSON_REQUIRED=0.16.2
|
||||||
|
|
||||||
# Check GLib
|
# Check GLib
|
||||||
PKG_CHECK_MODULES([GLIB],
|
PKG_CHECK_MODULES([GLIB],
|
||||||
[glib-2.0 >= $GLIB_REQUIRED])
|
[glib-2.0 >= $GLIB_REQUIRED
|
||||||
|
gobject-2.0 >= $GLIB_REQUIRED])
|
||||||
|
|
||||||
# Check GObject
|
# Check for vala
|
||||||
PKG_CHECK_MODULES([GOBJECT],
|
VALAC_CHECK
|
||||||
[gobject-2.0 >= $GLIB_REQUIRED])
|
|
||||||
|
# Check for GIO
|
||||||
|
PKG_CHECK_MODULES([GIO], [gio-2.0 >= $GIO_REQUIRED])
|
||||||
|
|
||||||
# Check for libSoup
|
# Check for libSoup
|
||||||
PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= $SOUP_REQUIRED])
|
PKG_CHECK_MODULES([SOUP], [libsoup-2.4 >= $SOUP_REQUIRED])
|
||||||
@ -139,8 +135,14 @@ fi
|
|||||||
AC_SUBST([MATRIX_GLIB_MAJOR_VERSION], matrix_glib_major_version)
|
AC_SUBST([MATRIX_GLIB_MAJOR_VERSION], matrix_glib_major_version)
|
||||||
AC_SUBST([MATRIX_GLIB_MINOR_VERSION], matrix_glib_minor_version)
|
AC_SUBST([MATRIX_GLIB_MINOR_VERSION], matrix_glib_minor_version)
|
||||||
AC_SUBST([MATRIX_GLIB_MICRO_VERSION], matrix_glib_micro_version)
|
AC_SUBST([MATRIX_GLIB_MICRO_VERSION], matrix_glib_micro_version)
|
||||||
|
|
||||||
|
# This is used to identify a set of API compatible between versions
|
||||||
|
# - If new versions are compatible with the actual one, just leave
|
||||||
|
# this untouched
|
||||||
|
# - If new version breaks API change it in order to allow parallel
|
||||||
|
# installations with old versions. Change name of pc files to use
|
||||||
|
# a new API, too
|
||||||
AC_SUBST([MATRIX_GLIB_API_VERSION], matrix_glib_api_version)
|
AC_SUBST([MATRIX_GLIB_API_VERSION], matrix_glib_api_version)
|
||||||
AC_SUBST([MATRIX_GLIB_API_VERSION_U], [AS_TR_SH(matrix_glib_api_version)])
|
|
||||||
|
|
||||||
m4_ifdef([GTK_DOC_CHECK], [
|
m4_ifdef([GTK_DOC_CHECK], [
|
||||||
GTK_DOC_CHECK([1.20], [--flavour no-tmpl])
|
GTK_DOC_CHECK([1.20], [--flavour no-tmpl])
|
||||||
@ -151,9 +153,6 @@ AM_CONDITIONAL([ENABLE_GTK_DOC], false)
|
|||||||
AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums])
|
AC_PATH_PROG([GLIB_MKENUMS], [glib-mkenums])
|
||||||
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
|
AC_PATH_PROG([GLIB_GENMARSHAL], [glib-genmarshal])
|
||||||
|
|
||||||
LIBMATRIX_GLIB_LIBS='$(top_builddir)/src/libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la'
|
|
||||||
AC_SUBST(LIBMATRIX_GLIB_LIBS)
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
src/Makefile
|
src/Makefile
|
||||||
|
@ -79,7 +79,9 @@ expand_content_files=
|
|||||||
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
|
||||||
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
|
||||||
GTKDOC_CFLAGS=
|
GTKDOC_CFLAGS=
|
||||||
GTKDOC_LIBS=$(LIBMATRIX_GLIB_LIBS) $(NULL)
|
GTKDOC_LIBS = \
|
||||||
|
$(top_builddir)/src/libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
# This includes the standard gtk-doc make rules, copied by gtkdocize.
|
||||||
include $(top_srcdir)/gtk-doc.make
|
include $(top_srcdir)/gtk-doc.make
|
||||||
|
76
m4/valac.m4
Normal file
76
m4/valac.m4
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
dnl vapigen.m4
|
||||||
|
dnl
|
||||||
|
dnl Copyright 2014 Daniel Espinosa
|
||||||
|
dnl
|
||||||
|
dnl This library is free software; you can redistribute it and/or
|
||||||
|
dnl modify it under the terms of the GNU Lesser General Public
|
||||||
|
dnl License as published by the Free Software Foundation; either
|
||||||
|
dnl version 2.1 of the License, or (at your option) any later version.
|
||||||
|
dnl
|
||||||
|
dnl This library is distributed in the hope that it will be useful,
|
||||||
|
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
dnl Lesser General Public License for more details.
|
||||||
|
dnl
|
||||||
|
dnl You should have received a copy of the GNU Lesser General Public
|
||||||
|
dnl License along with this library; if not, write to the Free Software
|
||||||
|
dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
# VALAC_CHECK([VERSION], [API_VERSION])
|
||||||
|
# --------------------------------------
|
||||||
|
# Check valac existence and version.
|
||||||
|
m4_define([_VALAC_CHECK_INTERNAL],
|
||||||
|
[
|
||||||
|
AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||||
|
AS_IF([ test "x$2" = "x" ], [
|
||||||
|
AM_PROG_VALAC($1)
|
||||||
|
AS_IF([ test "x$VALAC" = "xno"], [
|
||||||
|
check_prog=no
|
||||||
|
AC_MSG_ERROR([valac is not installed])
|
||||||
|
], [
|
||||||
|
check_prog=yes
|
||||||
|
VALAC_VERSION=`$VALAC --api-version`
|
||||||
|
VAPIDIR=$datadir/vala-$VALAC_VERSION/vapi
|
||||||
|
VAPIDIR_UNVERSIONED=$datadir/vala-$VALAC_VERSION/vapi
|
||||||
|
])
|
||||||
|
], [
|
||||||
|
AS_IF([ test "x$1" = "x"], [
|
||||||
|
vala_pkg="libvala-$2"
|
||||||
|
], [
|
||||||
|
vala_pkg="libvala-$2 >= $1"
|
||||||
|
])
|
||||||
|
AC_MSG_CHECKING([for $vala_pkg])
|
||||||
|
PKG_CHECK_EXISTS([ $vala_pkg ], [
|
||||||
|
vala_pkg_found=yes
|
||||||
|
VAPIGEN=`$PKG_CONFIG --variable=vapigen libvala-$2`
|
||||||
|
VAPIGEN_MAKEFILE=`$PKG_CONFIG --variable=datadir libvala-$2`/vala/Makefile.vapigen
|
||||||
|
VAPIDIR=`$PKG_CONFIG --variable=vapidir libvala-$2`
|
||||||
|
GEN_INTROSPECT=`$PKG_CONFIG --variable=gen_introspect libvala-$2`
|
||||||
|
vala_datadir=`$PKG_CONFIG --variable=datadir libvala-$2`
|
||||||
|
VAPIDIR_UNVERSIONED=$vala_datadir/vala/vapi
|
||||||
|
VALA_GEN_INTROSPECT=`$PKG_CONFIG --variable=vala_gen_introspect libvala-$2`
|
||||||
|
], [
|
||||||
|
vala_pkg_found=no
|
||||||
|
AC_MSG_ERROR([no package libvala-$2 is installed])
|
||||||
|
])
|
||||||
|
AC_MSG_RESULT([$vala_pkg_found])
|
||||||
|
])
|
||||||
|
AC_SUBST([VAPIGEN])
|
||||||
|
AC_SUBST([VAPIGEN_VAPIDIR])
|
||||||
|
AC_SUBST([VAPIDIR])
|
||||||
|
AC_SUBST([VAPIDIR_UNVERSIONED])
|
||||||
|
AC_SUBST([VAPIGEN_MAKEFILE])
|
||||||
|
AC_SUBST([GEN_INTROSPECT])
|
||||||
|
AC_SUBST([VALA_GEN_INTROSPECT])
|
||||||
|
AC_SUBST([VALAC_VERSION])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl Check VAPIGEN
|
||||||
|
# VALAC_CHECK([VERSION], [API_VERSION], [DEFAULT])
|
||||||
|
# --------------------------------------
|
||||||
|
# Check vapigen existence and version.
|
||||||
|
AC_DEFUN([VALAC_CHECK],
|
||||||
|
[
|
||||||
|
_VALAC_CHECK_INTERNAL($1,$2,$3)
|
||||||
|
]
|
||||||
|
)
|
@ -1,13 +1,69 @@
|
|||||||
|
include $(top_srcdir)/vala-globals.mk
|
||||||
|
|
||||||
AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Matrix-GLib\"
|
AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Matrix-GLib\"
|
||||||
|
|
||||||
# Empty variables for elements to be added later
|
# Empty variables for elements to be added later
|
||||||
CLEANFILES =
|
CLEANFILES =
|
||||||
BUILT_SOURCES =
|
BUILT_SOURCES =
|
||||||
EXTRA_DIST =
|
EXTRA_DIST =
|
||||||
|
AM_VALAFLAGS =
|
||||||
|
|
||||||
|
# Name of the public header file
|
||||||
|
PUBLIC_HEADER = matrix-glib.h
|
||||||
|
|
||||||
# Libraries to create
|
# Libraries to create
|
||||||
lib_LTLIBRARIES = libmatrix-glib-0.0.la
|
lib_LTLIBRARIES = libmatrix-glib-0.0.la
|
||||||
|
|
||||||
|
# Vala source files
|
||||||
|
libmatrix_glib_0_0_la_VALA_SOURCES = \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
AM_CPPFLAGS += \
|
||||||
|
-include $(CONFIG_HEADER) \
|
||||||
|
-I$(top_srcdir) \
|
||||||
|
-g \
|
||||||
|
-Wall \
|
||||||
|
$(GLIB_CFLAGS) \
|
||||||
|
$(GOBJECT_CFLAGS) \
|
||||||
|
$(SOUP_CFLAGS) \
|
||||||
|
$(JSON_CFLAGS) \
|
||||||
|
$(VALA_CFLAGS) \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
AM_VALAFLAGS += \
|
||||||
|
--library=Matrix-$(MATRIX_GLIB_API_VERSION) \
|
||||||
|
$(VALA_PKG_LIST) \
|
||||||
|
--vapi=Matrix-$(MATRIX_GLIB_API_VERSION).vapi \
|
||||||
|
-H $(PUBLIC_HEADER) \
|
||||||
|
-C \
|
||||||
|
--use-header \
|
||||||
|
--gir=Matrix-$(MATRIX_GLIB_API_VERSION).gir \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
vala-stamp: $(libmatrix_glib_0_0_la_VALA_SOURCES)
|
||||||
|
@rm -f vala-temp
|
||||||
|
@touch vala-temp
|
||||||
|
$(AM_V_GEN) $(VALAC) $(AM_VALAFLAGS) $^
|
||||||
|
@mv -f vala-temp $@
|
||||||
|
|
||||||
|
CLEANFILES += \
|
||||||
|
$(PUBLIC_HEADER) \
|
||||||
|
$(libmatrix_glib_0_0_la_VALA_SOURCES:.vala=.c) \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
$(libmatrix_glib_0_0_la_VALA_SOURCES:.vala=.c): vala-stamp
|
||||||
|
@if test -f $@; then :; else \
|
||||||
|
trap 'rm -rf vala-lock vala-stamp' 1 2 13 15; \
|
||||||
|
if mkdir vala-lock 2> /dev/null; then \
|
||||||
|
rm -f vala-stamp; \
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) vala-stamp; \
|
||||||
|
rmdir vala-lock; \
|
||||||
|
else \
|
||||||
|
while test -d vala-lock; do sleep 1; done; \
|
||||||
|
test -f vala-stamp; exit $$?; \
|
||||||
|
fi \
|
||||||
|
fi
|
||||||
|
|
||||||
# Binaries to create
|
# Binaries to create
|
||||||
bin_PROGRAMS = test-api-client
|
bin_PROGRAMS = test-api-client
|
||||||
|
|
||||||
@ -32,6 +88,7 @@ matrix_enum_headers = \
|
|||||||
libmatrix_glib_0_0_la_SOURCES = \
|
libmatrix_glib_0_0_la_SOURCES = \
|
||||||
$(INST_H_BUILT_FILES) \
|
$(INST_H_BUILT_FILES) \
|
||||||
matrix-marshalers.c \
|
matrix-marshalers.c \
|
||||||
|
$(libmatrix_glib_0_0_la_VALA_SOURCES:.vala=.c) \
|
||||||
matrix-version.c \
|
matrix-version.c \
|
||||||
matrix-types.c \
|
matrix-types.c \
|
||||||
matrix-api.c \
|
matrix-api.c \
|
||||||
@ -60,6 +117,8 @@ libmatrix_glib_0_0_la_LIBADD = \
|
|||||||
libmatrix_glib_0_0_la_LDFLAGS = \
|
libmatrix_glib_0_0_la_LDFLAGS = \
|
||||||
-version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)"
|
-version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)"
|
||||||
|
|
||||||
|
$(PUBLIC_HEADER): vala-stamp
|
||||||
|
|
||||||
BUILT_SOURCES += \
|
BUILT_SOURCES += \
|
||||||
matrix-enumtypes.c \
|
matrix-enumtypes.c \
|
||||||
matrix-enumtypes.h \
|
matrix-enumtypes.h \
|
||||||
@ -68,7 +127,7 @@ BUILT_SOURCES += \
|
|||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
test_api_client_SOURCES = test-api-client.c
|
test_api_client_SOURCES = test-api-client.c
|
||||||
test_api_client_CFLAGS = $(libmatrix_glib_0_0_la_CFLAGS)
|
test_api_client_CFLAGS = $(libmatrix_glib_0_0_la_CFLAGS) $(AM_CFLAGS)
|
||||||
test_api_client_LDADD = \
|
test_api_client_LDADD = \
|
||||||
$(libmatrix_glib_0_0_la_LIBADD) \
|
$(libmatrix_glib_0_0_la_LIBADD) \
|
||||||
libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la \
|
libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la \
|
||||||
@ -152,6 +211,7 @@ typelibs_DATA = Matrix-$(MATRIX_GLIB_API_VERSION).typelib
|
|||||||
|
|
||||||
headerdir = $(includedir)/matrix-glib-$(MATRIX_GLIB_API_VERSION)
|
headerdir = $(includedir)/matrix-glib-$(MATRIX_GLIB_API_VERSION)
|
||||||
header_DATA = \
|
header_DATA = \
|
||||||
|
$(PUBLIC_HEADER) \
|
||||||
$(INST_H_SRC_FILES) \
|
$(INST_H_SRC_FILES) \
|
||||||
$(INST_H_BUILT_FILES) \
|
$(INST_H_BUILT_FILES) \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
3
src/Matrix-0.0.deps
Normal file
3
src/Matrix-0.0.deps
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
gio-2.0
|
||||||
|
Json-1.0
|
||||||
|
libsoup-2.4
|
5
vala-globals.mk
Normal file
5
vala-globals.mk
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
VALA_PKG_LIST = \
|
||||||
|
--pkg=gio-2.0 \
|
||||||
|
--pkg=Json-1.0 \
|
||||||
|
--pkg=libsoup-2.4 \
|
||||||
|
$(NULL)
|
Loading…
Reference in New Issue
Block a user