[glib] build: Calculate ABS_GLIB_RUNTIME_LIBDIR at build time
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] build: Calculate ABS_GLIB_RUNTIME_LIBDIR at build time
- Date: Sun, 24 Jan 2016 14:45:11 +0000 (UTC)
commit 8c263008bbd9c1ce221276229e548d7b15dcb0d0
Author: Philip Withnall <philip withnall collabora co uk>
Date: Mon Jan 11 14:23:45 2016 +0000
build: Calculate ABS_GLIB_RUNTIME_LIBDIR at build time
Rather than calculating it at configure time. This means it can expand
$libdir properly, and use the Make $(realpath) function rather than
invoking the non-portable `readlink -f`.
This fixes problems where `readlink` would be called on an invalid path
(due to a variable not being expanded) and would evaluate to "", which
would then cause things to be installed in the wrong place.
https://bugzilla.gnome.org/show_bug.cgi?id=744772
configure.ac | 4 ----
gio/Makefile.am | 6 ++++++
glib/Makefile.am | 13 +++++++++++++
gobject/Makefile.am | 14 ++++++++++++++
4 files changed, 33 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 677b1ee..1af90c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -282,9 +282,7 @@ AC_ARG_WITH(runtime-libdir,
[],
[with_runtime_libdir=""])
GLIB_RUNTIME_LIBDIR="$with_runtime_libdir"
-ABS_GLIB_RUNTIME_LIBDIR="`readlink -f $libdir/$with_runtime_libdir`"
AC_SUBST(GLIB_RUNTIME_LIBDIR)
-AC_SUBST(ABS_GLIB_RUNTIME_LIBDIR)
AM_CONDITIONAL(HAVE_GLIB_RUNTIME_LIBDIR, [test "x$with_runtime_libdir" != "x"])
dnl Check for a working C++ compiler, but do not bail out, if none is found.
@@ -3395,7 +3393,6 @@ build/win32/vs11/Makefile
build/win32/vs12/Makefile
build/win32/vs14/Makefile
glib/Makefile
-glib/glib.stp
glib/libcharset/Makefile
glib/gnulib/Makefile
glib/pcre/Makefile
@@ -3404,7 +3401,6 @@ glib/tests/Makefile
gmodule/Makefile
gmodule/gmoduleconf.h
gobject/Makefile
-gobject/gobject.stp
gobject/glib-mkenums
gobject/tests/Makefile
gthread/Makefile
diff --git a/gio/Makefile.am b/gio/Makefile.am
index b5b6120..e911d91 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -829,6 +829,12 @@ dist-hook: \
cp $$d/$$f $(distdir) || exit 1; done
if HAVE_GLIB_RUNTIME_LIBDIR
+ABS_GLIB_RUNTIME_LIBDIR = $(realpath $(libdir)/$(GLIB_RUNTIME_LIBDIR))
+else
+ABS_GLIB_RUNTIME_LIBDIR = $(libdir)
+endif
+
+if HAVE_GLIB_RUNTIME_LIBDIR
install-data-hook:
mkdir -p $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
mv $(DESTDIR)$(libdir)/libgio-2.0.so.0 $(DESTDIR)$(libdir)/$(GLIB_RUNTIME_LIBDIR)
diff --git a/glib/Makefile.am b/glib/Makefile.am
index 2783b51..e9ded16 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -382,6 +382,14 @@ tapset_in_files = glib.stp.in
tapsetdir = @ABS_TAPSET_DIR@
tapset_DATA = $(tapset_in_files:.stp.in=.stp)
EXTRA_DIST += $(tapset_in_files)
+CLEANFILES += $(tapset_in_files:.stp.in=.stp)
+
+$(tapset_DATA): %.stp: %.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:
@@ -473,6 +481,11 @@ dist_gdb_SCRIPTS = glib.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)
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index 5512c7e..c19ece5 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -130,6 +130,14 @@ tapset_in_files = gobject.stp.in
tapsetdir = @ABS_TAPSET_DIR@
tapset_DATA = $(tapset_in_files:.stp.in=.stp)
EXTRA_DIST += $(tapset_in_files)
+CLEANFILES += $(tapset_in_files:.stp.in=.stp)
+
+$(tapset_DATA): %.stp: %.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)
@@ -260,6 +268,12 @@ libgobject-gdb.py: libgobject-gdb.py.in
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]