Browse Source

Make the sdl2-config script relocatable

Anonymous Maarten 2 years ago
parent
commit
799d39a302
4 changed files with 16 additions and 1 deletions
  1. 1 0
      CMakeLists.txt
  2. 5 0
      configure
  3. 5 0
      configure.ac
  4. 5 1
      sdl2-config.in

+ 1 - 0
CMakeLists.txt

@@ -2697,6 +2697,7 @@ configure_file("${SDL2_SOURCE_DIR}/include/SDL_revision.h.cmake"
 if(NOT WINDOWS OR CYGWIN OR MINGW)
 
   set(prefix ${CMAKE_INSTALL_PREFIX})
+  file(RELATIVE_PATH bin_prefix_relpath "${CMAKE_INSTALL_FULL_BINDIR}" "${CMAKE_INSTALL_PREFIX}")
 
   set(exec_prefix "\${prefix}")
   set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")

+ 5 - 0
configure

@@ -653,6 +653,7 @@ SDL_RLD_FLAGS
 SDL_STATIC_LIBS
 SDL_LIBS
 SDL_CFLAGS
+bin_prefix_relpath
 cmake_prefix_relpath
 INSTALL_SDL2_CONFIG
 LIBUSB_LIBS
@@ -27058,6 +27059,10 @@ eval pkg_cmakedir=$libdir/cmake/SDL2
 cmake_prefix_relpath="$(echo -n "$pkg_cmakedir" | sed -E "s#^$pkg_prefix##" | sed -E "s#[A-Za-z0-9_ .-]+#..#g" )"
 
 
+eval pkg_bindir=$bindir
+bin_prefix_relpath="$(echo -n "pkg_bindir" | sed -E "s#^$pkg_prefix##" | sed -E "s#[A-Za-z0-9_ .-]+#..#g" )"
+
+
 
 
 

+ 5 - 0
configure.ac

@@ -4694,6 +4694,11 @@ eval pkg_cmakedir=$libdir/cmake/SDL2
 cmake_prefix_relpath="$(echo -n "$pkg_cmakedir" | sed -E "s#^$pkg_prefix##" | sed -E "s#[A-Za-z0-9_ .-]+#..#g" )"
 AC_SUBST([cmake_prefix_relpath])
 
+dnl Calculate the location of the prefix, relative to bindir
+eval pkg_bindir=$bindir
+bin_prefix_relpath="$(echo -n "pkg_bindir" | sed -E "s#^$pkg_prefix##" | sed -E "s#[A-Za-z0-9_ .-]+#..#g" )"
+AC_SUBST([bin_prefix_relpath])
+
 dnl Expand the cflags and libraries needed by apps using SDL
 AC_SUBST(SDL_CFLAGS)
 AC_SUBST(SDL_LIBS)

+ 5 - 1
sdl2-config.in

@@ -1,6 +1,10 @@
 #!/bin/sh
 
-prefix=@prefix@
+# Get the canonical path of the folder containing this script
+bindir=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
+
+# Calculate the canonical path of the prefix, relative to the folder of this script
+prefix=$(cd -P -- "$bindir/@bin_prefix_relpath@" && printf '%s\n' "$(pwd -P)")
 exec_prefix=@exec_prefix@
 exec_prefix_set=no
 libdir=@libdir@