summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2021-11-24 17:42:16 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2021-12-15 16:09:48 +0100
commit63dbe4ffa62a1ffc8ac4d90d4dd39816ddee8b82 (patch)
tree27a9ae6991c7a731cad2b6e89783df14ec5ea2e7
parentdfaef68d7d11193d4bf30252030659f04c355f3a (diff)
Use config.vapi to include config.h
Thank you to ricotz on #vala.
-rw-r--r--Makefile.am6
-rw-r--r--config.vapi28
-rwxr-xr-xgen-meson.build18
-rw-r--r--meson.am2
-rw-r--r--src/Makefile.am2
-rw-r--r--src/client/Makefile.am2
-rw-r--r--src/ui/Makefile.am46
-rw-r--r--src/ui/main.vala10
8 files changed, 60 insertions, 54 deletions
diff --git a/Makefile.am b/Makefile.am
index 16f3e50..0d77c54 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -41,7 +41,11 @@ include icons.am
include settings.am
include meson.am
-EXTRA_DIST += $(top_srcdir)/.version $(top_srcdir)/.release-date
+EXTRA_DIST += \
+ $(top_srcdir)/.version \
+ $(top_srcdir)/.release-date \
+ $(srcdir)/config.vapi
+
BUILT_SOURCES += $(top_srcdir)/.version $(top_srcdir)/.release-date
$(top_srcdir)/.version:
echo $(VERSION) > $@-t
diff --git a/config.vapi b/config.vapi
new file mode 100644
index 0000000..15d76c7
--- /dev/null
+++ b/config.vapi
@@ -0,0 +1,28 @@
+// disfluid, implementation of the Solid specification
+// Copyright (C) 2021 Vivien Kraus
+
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, 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 Affero General Public License for more details.
+
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+[CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "config.h")]
+namespace Build {
+ public const string GETTEXT_PACKAGE;
+ public const string PACKAGE;
+ public const string PACKAGE_NAME;
+ public const string PACKAGE_BUGREPORT;
+ public const string PACKAGE_STRING;
+ public const string PACKAGE_URL;
+ public const string PACKAGE_VERSION;
+ public const string VERSION;
+ public const string LOCALEDIR;
+} \ No newline at end of file
diff --git a/gen-meson.build b/gen-meson.build
index 1f2ac2d..fd88d46 100755
--- a/gen-meson.build
+++ b/gen-meson.build
@@ -15,7 +15,7 @@ printf "], language: 'vala')\n"
COMMA=""
printf "executable('disfluid-gui', files("
-for source in $src_ui_disfluid_gui_VALASOURCES $dist_vapi_DATA
+for source in $src_ui_disfluid_gui_SOURCES
do
printf "%s'%s'" "$COMMA" "$source"
COMMA=","
@@ -36,4 +36,20 @@ do
printf "%s'%s'" "$COMMA" "$c_arg"
COMMA=","
done
+printf "], link_args: ["
+
+COMMA=""
+for link_arg in $src_ui_disfluid_gui_LDADD
+do
+ case "$link_arg" in
+ *.la)
+ printf "%s'%s/%s/.libs/%s.so'" "$COMMA" \
+ "$abs_top_builddir" \
+ "$(dirname $link_arg)" \
+ "$(basename $link_arg .la)";;
+ *)
+ printf "%s'%s'" "$COMMA" "$link_arg";;
+ esac
+ COMMA=","
+done
printf "])\n"
diff --git a/meson.am b/meson.am
index 22e75ce..22d7293 100644
--- a/meson.am
+++ b/meson.am
@@ -17,5 +17,5 @@
EXTRA_DIST += %reldir%/gen-meson.build
meson.build: %reldir%/gen-meson.build config.status
- $(AM_V_GEN) PACKAGE="$(PACKAGE)" src_ui_disfluid_gui_VALASOURCES="$(src_ui_disfluid_gui_VALASOURCES)" src_ui_disfluid_gui_CFLAGS="$(src_ui_disfluid_gui_CFLAGS)" src_ui_disfluid_gui_LDADD="$(src_ui_difsluid_gui_LDADD)" dist_vapi_DATA="$(dist_vapi_DATA)" AM_VALAFLAGS="$(AM_VALAFLAGS)" $(SHELL) $< > $@-t
+ $(AM_V_GEN) abs_top_builddir="$(abs_top_builddir)" abs_top_srcdir="$(abs_top_srcdir)" PACKAGE="$(PACKAGE)" src_ui_disfluid_gui_SOURCES="$(src_ui_disfluid_gui_SOURCES)" src_ui_disfluid_gui_CFLAGS="$(AM_CPPFLAGS) $(src_ui_disfluid_gui_CFLAGS)" src_ui_disfluid_gui_LDADD="$(src_ui_disfluid_gui_LDADD)" dist_vapi_DATA="$(dist_vapi_DATA)" AM_VALAFLAGS="$(AM_VALAFLAGS)" $(SHELL) $< > $@-t
@mv $@-t $@
diff --git a/src/Makefile.am b/src/Makefile.am
index 61a4166..2062e47 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -18,7 +18,7 @@ lib_LTLIBRARIES += %reldir%/libwebidoidc.la
dist_bin_SCRIPTS += %reldir%/disfluid %reldir%/disfluid-hello %reldir%/disfluid-example-app
-AM_CPPFLAGS += -I %reldir% -I $(srcdir)/%reldir%
+AM_CPPFLAGS += -I%reldir% -I$(srcdir)/%reldir%
GUILD_OPTIONS =
diff --git a/src/client/Makefile.am b/src/client/Makefile.am
index 04b5bc9..fce2bfb 100644
--- a/src/client/Makefile.am
+++ b/src/client/Makefile.am
@@ -20,7 +20,7 @@ include_HEADERS += %reldir%/Disfluid-0.h
%canon_reldir%_libwebidoidc_client_la_LIBADD = $(GUILE_LIBS)
-AM_CFLAGS += -I%reldir% -I$(srcdir)/%reldir%
+AM_CFLAGS += -I%reldir% -I$(abs_top_srcdir)/%reldir%
INDENTED += %reldir%/libwebidoidc-client.c %reldir%/Disfluid-0.h
diff --git a/src/ui/Makefile.am b/src/ui/Makefile.am
index 7fd1984..685bebe 100644
--- a/src/ui/Makefile.am
+++ b/src/ui/Makefile.am
@@ -32,12 +32,11 @@ libexec_PROGRAMS += %reldir%/disfluid-gui
AM_VALAFLAGS += --pkg=gio-2.0
-%canon_reldir%_disfluid_gui_VALASOURCES = \
- %reldir%/main.vala \
- %reldir%/settings.vala
-
%canon_reldir%_disfluid_gui_SOURCES = \
- $(%canon_reldir%_disfluid_gui_VALASOURCES:.vala=.c)
+ %reldir%/main.vala \
+ %reldir%/settings.vala \
+ $(dist_vapi_DATA) \
+ config.vapi
%canon_reldir%_disfluid_gui_CFLAGS = \
$(AM_CFLAGS) \
@@ -52,39 +51,4 @@ AM_VALAFLAGS += --pkg=gio-2.0
$(GIO_LIBS) \
$(lib_LTLIBRARIES)
-EXTRA_DIST += \
- $(%canon_reldir%_disfluid_gui_VALASOURCES) \
- %reldir%/disfluid-gui-valasources.stamp
-
-$(srcdir)/%reldir%/disfluid-gui-valasources.stamp: $(%canon_reldir%_disfluid_gui_VALASOURCES) $(dist_vapi_DATA)
- $(AM_V_at)rm -f $@ && echo stamp > $@-t
- $(AM_V_VALAC)$(VALAC) $(AM_VALAFLAGS) $(VALAFLAGS) -C $^ -d $(srcdir)/%reldir%
- $(AM_V_at)for source in $^; do case $$source in *.vala) generated=$$(echo "$$source" | sed 's/\.vala$$/.c/'); (echo '#ifdef HAVE_CONFIG_H' ; echo '#include <config.h>'; echo '#endif' ; cat $$generated) > $$generated-t ; mv $$generated-t $$generated ;; esac done
- $(AM_V_at)mv -f $@-t $@
-
-## This rule is adapted from the Automake FAQ:
-$(%canon_reldir%_disfluid_gui_VALASOURCES:.vala=.c): %reldir%/disfluid-gui-valasources.stamp
-## Recover from the removal of $(srcdir)/$@
- @dry=; for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=*|--*);; \
- *n*) dry=:;; \
- esac; \
- done; \
- if test -f $(srcdir)/$@; then :; else \
- $$dry trap 'rm -rf $(srcdir)/%reldir%/disfluid-gui-valasources.lock $<' 1 2 13 15; \
- if $$dry mkdir $(srcdir)/%reldir%/disfluid-gui-valasources.lock 2>/dev/null; then \
-## This code is being executed by the first process.
- $$dry rm -f $<; \
- $(MAKE) $(AM_MAKEFLAGS) $<; \
- $$dry rmdir $(srcdir)/%reldir%/disfluid-gui-valasources.lock; \
- else \
-## This code is being executed by the follower processes.
-## Wait until the first process is done.
- while test -d $(srcdir)/%reldir%/disfluid-gui-valasources.lock && test -z "$$dry"; do \
- sleep 1; \
- done; \
-## Succeed if and only if the first process succeeded.
- $$dry test -f $<; exit $$?; \
- fi; \
- fi
+EXTRA_DIST +=
diff --git a/src/ui/main.vala b/src/ui/main.vala
index 82dc9d1..f0712e1 100644
--- a/src/ui/main.vala
+++ b/src/ui/main.vala
@@ -14,18 +14,12 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
-[CCode (cname="PACKAGE")]
-extern const string PACKAGE;
-
-[CCode (cname="LOCALEDIR")]
-extern const string LOCALEDIR;
-
namespace Disfluid {
class Main: GLib.Object {
public static int main (string[] args) {
GLib.Intl.setlocale (GLib.LocaleCategory.ALL, "");
- GLib.Intl.bindtextdomain (PACKAGE, LOCALEDIR);
- GLib.Intl.textdomain (PACKAGE);
+ GLib.Intl.bindtextdomain (Build.PACKAGE, Build.LOCALEDIR);
+ GLib.Intl.textdomain (Build.PACKAGE);
int return_code = 1;
Disfluid.Api.init ((api) => {
var settings = new Disfluid.Settings (api);