summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2015-11-26 23:07:05 +0100
committerAlexander Larsson <alexl@redhat.com>2015-12-03 22:41:16 +0100
commit132d1186d950f1743112ac4f0eff98e4d373e06a (patch)
treee5824fa9481a001511c127864d99a5cba1609517 /configure.ac
parentf2c9663169c4bb05c7670c816af160e4622a90f5 (diff)
downloadxdg-app-132d1186d950f1743112ac4f0eff98e4d373e06a.tar.gz
Initial version of libxdg-app
This is a highlevel library for working with xdg-app without using the commandline interface. The primary usecase for this is for creating a graphical frontend for app installation/update.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac77
1 files changed, 76 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 98937c4..537071e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,23 @@
AC_PREREQ([2.63])
-AC_INIT([xdg-app],[0.4.5])
+# Making releases:
+# XDG_APP_MICRO_VERSION += 1;
+# XDG_APP_INTERFACE_AGE += 1;
+# XDG_APP_BINARY_AGE += 1;
+# if any functions have been added, set XDG_APP_INTERFACE_AGE to 0.
+# if backwards compatibility has been broken,
+# set XDG_APP_BINARY_AGE and XDG_APP_INTERFACE_AGE to 0.
+
+m4_define([xdg_app_major_version], [0])
+m4_define([xdg_app_minor_version], [4])
+m4_define([xdg_app_micro_version], [5])
+m4_define([xdg_app_interface_age], [0])
+m4_define([xdg_app_binary_age],
+ [m4_eval(100 * xdg_app_minor_version + xdg_app_micro_version)])
+m4_define([xdg_app_version],
+ [xdg_app_major_version.xdg_app_minor_version.xdg_app_micro_version])
+
+AC_INIT([xdg-app],[xdg_app_version])
AC_USE_SYSTEM_EXTENSIONS
@@ -50,6 +67,7 @@ AC_CHECK_FUNCS(fdwalk)
AC_CHECK_HEADER([sys/xattr.h], [], AC_MSG_ERROR([You must have sys/xattr.h from glibc]))
AC_CHECK_HEADER([sys/capability.h], have_caps=yes, AC_MSG_ERROR([sys/capability.h header not found]))
+AC_SUBST([GLIB_MKENUMS], [`$PKG_CONFIG --variable glib_mkenums glib-2.0`])
AC_SUBST([GLIB_COMPILE_RESOURCES], [`$PKG_CONFIG --variable glib_compile_resources gio-2.0`])
AC_SUBST([GDBUS_CODEGEN], [`$PKG_CONFIG --variable gdbus_codegen gio-2.0`])
@@ -174,9 +192,66 @@ if test x$enable_documentation = xyes; then
fi
AM_CONDITIONAL(BUILD_DOCUMENTATION, test x$enable_documentation = xyes)
+##################################################
+# Visibility handling
+##################################################
+
+HIDDEN_VISIBILITY_CFLAGS=""
+case "$host" in
+ *)
+ dnl on other compilers, check if we can do -fvisibility=hidden
+ SAVED_CFLAGS="${CFLAGS}"
+ CFLAGS="-fvisibility=hidden"
+ AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
+ AC_TRY_COMPILE([], [int main (void) { return 0; }],
+ AC_MSG_RESULT(yes)
+ enable_fvisibility_hidden=yes,
+ AC_MSG_RESULT(no)
+ enable_fvisibility_hidden=no)
+ CFLAGS="${SAVED_CFLAGS}"
+
+ AS_IF([test "${enable_fvisibility_hidden}" = "yes"], [
+ AC_DEFINE([XDG_APP_EXTERN], [__attribute__((visibility("default"))) extern],
+ [defines how to decorate public symbols while building])
+ HIDDEN_VISIBILITY_CFLAGS="-fvisibility=hidden"
+ ], [
+ AC_DEFINE([XDG_APP_EXTERN], [extern],
+ [defines how to decorate public symbols while building])
+ ])
+ ;;
+esac
+AC_SUBST(HIDDEN_VISIBILITY_CFLAGS)
+
+XDG_APP_MAJOR_VERSION=xdg_app_major_version
+XDG_APP_MINOR_VERSION=xdg_app_minor_version
+XDG_APP_MICRO_VERSION=xdg_app_micro_version
+XDG_APP_INTERFACE_AGE=xdg_app_interface_age
+XDG_APP_VERSION=xdg_app_version
+AC_SUBST(XDG_APP_MAJOR_VERSION)
+AC_SUBST(XDG_APP_MINOR_VERSION)
+AC_SUBST(XDG_APP_MICRO_VERSION)
+AC_SUBST(XDG_APP_INTERFACE_AGE)
+AC_SUBST(XDG_APP_VERSION)
+
+# libtool versioning
+#LT_RELEASE=$XDG_APP_MAJOR_VERSION.$XDG_APP_MINOR_VERSION
+#LT_CURRENT=`expr $XDG_APP_MICRO_VERSION - $XDG_APP_INTERFACE_AGE`
+#LT_REVISION=$XDG_APP_INTERFACE_AGE
+#LT_AGE=`expr $XDG_APP_BINARY_AGE - $XDG_APP_INTERFACE_AGE`
+#LT_CURRENT_MINUS_AGE=`expr $LT_CURRENT - $LT_AGE`
+
+m4_define([lt_current], [m4_eval(100 * xdg_app_minor_version + xdg_app_micro_version - xdg_app_interface_age)])
+m4_define([lt_revision], [xdg_app_interface_age])
+m4_define([lt_age], [m4_eval(xdg_app_binary_age - xdg_app_interface_age)])
+LT_VERSION_INFO="lt_current:lt_revision:lt_age"
+LT_CURRENT_MINUS_AGE=m4_eval(lt_current - lt_age)
+AC_SUBST(LT_VERSION_INFO)
+AC_SUBST(LT_CURRENT_MINUS_AGE)
+
AC_CONFIG_FILES([
Makefile
doc/Makefile
xdg-app.pc
+lib/xdg-app-version-macros.h
])
AC_OUTPUT