sdl2-config.in
author James Le Cuirot <chewi@gentoo.org>
Sat, 11 Apr 2020 23:38:34 +0100
changeset 13729 89a457159af4
parent 7876 d6373384b5ce
child 13730 fc03d19926ed
permissions -rw-r--r--
build: Merge pkg-config Libs.private into Libs for static-only builds

A project being built entirely statically will call pkg-config with
--static, which utilises the Libs.private field. Conversely it will
not use --static when not being built entirely statically, even if
there is only a static build of SDL available. This will most likely
cause the build to fail due to underlinking unless we merge the Libs
fields.

This is what the Meson build system does when it generates pkg-config
files. This also also follows the behaviour of sdl2-config.

At the same time, the runtime linker flags are not applicable to
static-only builds so only add them for shared builds.
     1 #!/bin/sh
     2 
     3 prefix=@prefix@
     4 exec_prefix=@exec_prefix@
     5 exec_prefix_set=no
     6 libdir=@libdir@
     7 
     8 @ENABLE_STATIC_FALSE@usage="\
     9 @ENABLE_STATIC_FALSE@Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]"
    10 @ENABLE_STATIC_TRUE@usage="\
    11 @ENABLE_STATIC_TRUE@Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs] [--static-libs]"
    12 
    13 if test $# -eq 0; then
    14       echo "${usage}" 1>&2
    15       exit 1
    16 fi
    17 
    18 while test $# -gt 0; do
    19   case "$1" in
    20   -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    21   *) optarg= ;;
    22   esac
    23 
    24   case $1 in
    25     --prefix=*)
    26       prefix=$optarg
    27       if test $exec_prefix_set = no ; then
    28         exec_prefix=$optarg
    29       fi
    30       ;;
    31     --prefix)
    32       echo $prefix
    33       ;;
    34     --exec-prefix=*)
    35       exec_prefix=$optarg
    36       exec_prefix_set=yes
    37       ;;
    38     --exec-prefix)
    39       echo $exec_prefix
    40       ;;
    41     --version)
    42       echo @SDL_VERSION@
    43       ;;
    44     --cflags)
    45       echo -I@includedir@/SDL2 @SDL_CFLAGS@
    46       ;;
    47 @ENABLE_SHARED_TRUE@    --libs)
    48 @ENABLE_SHARED_TRUE@      echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
    49 @ENABLE_SHARED_TRUE@      ;;
    50 @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@    --static-libs)
    51 @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@    --libs|--static-libs)
    52 @ENABLE_STATIC_TRUE@      echo -L@libdir@ @SDL_STATIC_LIBS@
    53 @ENABLE_STATIC_TRUE@      ;;
    54     *)
    55       echo "${usage}" 1>&2
    56       exit 1
    57       ;;
    58   esac
    59   shift
    60 done