From 524e97f0b15a7fbaa836a7546e91bf8009e62124 Mon Sep 17 00:00:00 2001 From: bangerth Date: Tue, 7 Oct 2008 20:56:22 +0000 Subject: [PATCH] Use versioned dynamic libraries to make installing on distributions like Fedora or Debian a bit simpler. git-svn-id: https://svn.dealii.org/trunk@17139 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/Makefile | 6 ++++-- deal.II/deal.II/Makefile | 18 ++++++++++++------ deal.II/doc/news/changes.h | 10 ++++++++++ deal.II/lac/Makefile | 6 ++++-- deal.II/lib/Makefile | 10 ++++++---- 5 files changed, 36 insertions(+), 14 deletions(-) diff --git a/deal.II/base/Makefile b/deal.II/base/Makefile index d7fd328394..5270af9c8f 100644 --- a/deal.II/base/Makefile +++ b/deal.II/base/Makefile @@ -78,11 +78,13 @@ $(LIBDIR)/libbase.g$(static-lib-suffix): $(go-files) $(LIBDIR)/libbase$(shared-lib-suffix): $(o-files) @echo "=====base=============optimized==$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(o-files) $(extra-o-files) $(deplibs.o) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libbase$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libbase$(shared-lib-suffix).$(DEAL_II_VERSION) $(o-files) $(extra-o-files) $(deplibs.o) + @ln -s libbase$(shared-lib-suffix).$(DEAL_II_VERSION) $@ $(LIBDIR)/libbase.g$(shared-lib-suffix): $(go-files) @echo "=====base=============debug======$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(go-files) $(extra-o-files) $(deplibs.g) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libbase.g$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libbase.g$(shared-lib-suffix).$(DEAL_II_VERSION) $(go-files) $(extra-o-files) $(deplibs.g) + @ln -s libbase.g$(shared-lib-suffix).$(DEAL_II_VERSION) $@ diff --git a/deal.II/deal.II/Makefile b/deal.II/deal.II/Makefile index 2fd3683c68..a5f5031adb 100644 --- a/deal.II/deal.II/Makefile +++ b/deal.II/deal.II/Makefile @@ -154,29 +154,35 @@ $(LIBDIR)/libdeal_II_3d$(static-lib-suffix): $(o-files-3d) $(LIBDIR)/libdeal_II_1d.g$(shared-lib-suffix): $(go-files-1d) @echo "=====deal.II====1d====debug======$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(go-files-1d) $(deplibs.g) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libdeal_II_1d.g$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libdeal_II_1d.g$(shared-lib-suffix).$(DEAL_II_VERSION) $(go-files-1d) $(deplibs.g) + @ln -s libdeal_II_1d.g$(shared-lib-suffix).$(DEAL_II_VERSION) $@ $(LIBDIR)/libdeal_II_1d$(shared-lib-suffix): $(o-files-1d) @echo "=====deal.II====1d====optimized==$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(o-files-1d) $(deplibs.o) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libdeal_II_1d$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libdeal_II_1d$(shared-lib-suffix).$(DEAL_II_VERSION) $(o-files-1d) $(deplibs.o) + @ln -s libdeal_II_1d$(shared-lib-suffix).$(DEAL_II_VERSION) $@ $(LIBDIR)/libdeal_II_2d.g$(shared-lib-suffix): $(go-files-2d) @echo "=====deal.II====2d====debug======$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(go-files-2d) $(deplibs.g) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libdeal_II_2d.g$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libdeal_II_2d.g$(shared-lib-suffix).$(DEAL_II_VERSION) $(go-files-2d) $(deplibs.g) + @ln -s libdeal_II_2d.g$(shared-lib-suffix).$(DEAL_II_VERSION) $@ $(LIBDIR)/libdeal_II_2d$(shared-lib-suffix): $(o-files-2d) @echo "=====deal.II====2d====optimized==$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(o-files-2d) $(deplibs.o) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libdeal_II_2d$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libdeal_II_2d$(shared-lib-suffix).$(DEAL_II_VERSION) $(o-files-2d) $(deplibs.o) + @ln -s libdeal_II_2d$(shared-lib-suffix).$(DEAL_II_VERSION) $@ $(LIBDIR)/libdeal_II_3d.g$(shared-lib-suffix): $(go-files-3d) @echo "=====deal.II====3d====debug======$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(go-files-3d) $(deplibs.g) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libdeal_II_3d.g$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libdeal_II_3d.g$(shared-lib-suffix).$(DEAL_II_VERSION) $(go-files-3d) $(deplibs.g) + @ln -s libdeal_II_3d.g$(shared-lib-suffix).$(DEAL_II_VERSION) $@ $(LIBDIR)/libdeal_II_3d$(shared-lib-suffix): $(o-files-3d) @echo "=====deal.II====3d====optimized==$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(o-files-3d) $(deplibs.o) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/libdeal_II_3d$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,libdeal_II_3d$(shared-lib-suffix).$(DEAL_II_VERSION) $(o-files-3d) $(deplibs.o) + @ln -s libdeal_II_3d$(shared-lib-suffix).$(DEAL_II_VERSION) $@ diff --git a/deal.II/doc/news/changes.h b/deal.II/doc/news/changes.h index cacad082d0..9d551a347c 100644 --- a/deal.II/doc/news/changes.h +++ b/deal.II/doc/news/changes.h @@ -114,6 +114,16 @@ inconvenience this causes.
  1. + New: The shared libraries we create are now versioned, i.e. they have + the form libdeal_II_2d.g.so.6.2.0. The library without + the version number is simply a link to the versioned library name. +
    + (WB 2008/10/07) +

    +
  2. + +
  3. +

    Updated: The version of the BOOST library that is in the contrib/ directory and is used in various places of the library has been upgraded to 1.36. diff --git a/deal.II/lac/Makefile b/deal.II/lac/Makefile index 3af90d7dc7..f4d460579b 100644 --- a/deal.II/lac/Makefile +++ b/deal.II/lac/Makefile @@ -105,11 +105,13 @@ $(LIBDIR)/liblac.g$(static-lib-suffix): $(go-files) $(LIBDIR)/liblac$(shared-lib-suffix): $(o-files) @echo "=====lac==============optimized==$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(o-files) $(deplibs.o) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/liblac$(shared-lib-suffix).$(DEAL_II_VERSION) $(o-files) -Wl,-soname,liblac$(shared-lib-suffix).$(DEAL_II_VERSION) $(deplibs.o) + @ln -s liblac$(shared-lib-suffix).$(DEAL_II_VERSION) $@ $(LIBDIR)/liblac.g$(shared-lib-suffix): $(go-files) @echo "=====lac==============debug======$(MT)== Linking library: $(@F)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $@ $(go-files) $(deplibs.g) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o $(LIBDIR)/liblac.g$(shared-lib-suffix).$(DEAL_II_VERSION) -Wl,-soname,liblac.g$(shared-lib-suffix).$(DEAL_II_VERSION) $(go-files) $(deplibs.g) + @ln -s liblac.g$(shared-lib-suffix).$(DEAL_II_VERSION) $@ clean: diff --git a/deal.II/lib/Makefile b/deal.II/lib/Makefile index f031dc066c..ec141ee3b3 100644 --- a/deal.II/lib/Makefile +++ b/deal.II/lib/Makefile @@ -61,13 +61,15 @@ ifeq ($(enable-shared),yes) libpetscall.g$(shared-lib-suffix): $(xlib.g) @echo "======================debug============= Linking library: libpetscall.g$(shared-lib-suffix)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o libpetscall.g$(shared-lib-suffix) \ - $(xlib.g) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o libpetscall.g$(shared-lib-suffix).$(DEAL_II_VERSION) \ + -Wl,-soname,libpetscall.g$(shared-lib-suffix).$(DEAL_II_VERSION) $(xlib.g) + @ln -s libpetscall.g$(shared-lib-suffix).$(DEAL_II_VERSION) $@ libpetscall$(shared-lib-suffix): $(xlib.o) @echo "======================optimized========= Linking library: libpetscall$(shared-lib-suffix)" - @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o libpetscall$(shared-lib-suffix) \ - $(xlib.o) + @$(SHLIBLD) $(LDFLAGS) $(SHLIBFLAGS) -o libpetscall$(shared-lib-suffix).$(DEAL_II_VERSION) \ + -Wl,-soname,libpetscall$(shared-lib-suffix).$(DEAL_II_VERSION) $(xlib.o) + @ln -s libpetscall$(shared-lib-suffix).$(DEAL_II_VERSION) $@ else -- 2.39.5