freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype][master] [builds] Fix creation of `freetype2.pc`


From: Werner Lemberg (@wl)
Subject: [Git][freetype/freetype][master] [builds] Fix creation of `freetype2.pc` for static-only builds.
Date: Wed, 30 Mar 2022 18:41:46 +0000

Werner Lemberg pushed to branch master at FreeType / FreeType

Commits:

3 changed files:

Changes:

  • builds/unix/configure.raw
    ... ... @@ -985,32 +985,32 @@ fi
    985 985
     
    
    986 986
     
    
    987 987
     # entries in Requires.private are separated by commas
    
    988
    -REQUIRES_PRIVATE="$zlib_reqpriv,     \
    
    989
    -                  $bzip2_reqpriv,    \
    
    990
    -                  $libpng_reqpriv,   \
    
    991
    -                  $harfbuzz_reqpriv, \
    
    992
    -                  $brotli_reqpriv"
    
    988
    +PKGCONFIG_REQUIRES_PRIVATE="$zlib_reqpriv,     \
    
    989
    +                            $bzip2_reqpriv,    \
    
    990
    +                            $libpng_reqpriv,   \
    
    991
    +                            $harfbuzz_reqpriv, \
    
    992
    +                            $brotli_reqpriv"
    
    993 993
     # beautify
    
    994
    -REQUIRES_PRIVATE=`echo "$REQUIRES_PRIVATE" \
    
    995
    -                  | sed -e 's/^  *//'      \
    
    996
    -                        -e 's/  *$//'      \
    
    997
    -                        -e 's/, */,/g'     \
    
    998
    -                        -e 's/,,*/,/g'     \
    
    999
    -                        -e 's/^,*//'       \
    
    1000
    -                        -e 's/,*$//'       \
    
    1001
    -                        -e 's/,/, /g'`
    
    1002
    -
    
    1003
    -LIBS_PRIVATE="$zlib_libspriv     \
    
    1004
    -              $bzip2_libspriv    \
    
    1005
    -              $libpng_libspriv   \
    
    1006
    -              $harfbuzz_libspriv \
    
    1007
    -              $brotli_libspriv   \
    
    1008
    -              $ft2_extra_libs"
    
    994
    +PKGCONFIG_REQUIRES_PRIVATE=`echo "$PKGCONFIG_REQUIRES_PRIVATE" \
    
    995
    +                            | sed -e 's/^  *//'      \
    
    996
    +                                  -e 's/  *$//'      \
    
    997
    +                                  -e 's/, */,/g'     \
    
    998
    +                                  -e 's/,,*/,/g'     \
    
    999
    +                                  -e 's/^,*//'       \
    
    1000
    +                                  -e 's/,*$//'       \
    
    1001
    +                                  -e 's/,/, /g'`
    
    1002
    +
    
    1003
    +PKGCONFIG_LIBS_PRIVATE="$zlib_libspriv     \
    
    1004
    +                        $bzip2_libspriv    \
    
    1005
    +                        $libpng_libspriv   \
    
    1006
    +                        $harfbuzz_libspriv \
    
    1007
    +                        $brotli_libspriv   \
    
    1008
    +                        $ft2_extra_libs"
    
    1009 1009
     # beautify
    
    1010
    -LIBS_PRIVATE=`echo "$LIBS_PRIVATE"  \
    
    1011
    -              | sed -e 's/^  *//'   \
    
    1012
    -                    -e 's/  *$//'   \
    
    1013
    -                    -e 's/  */ /g'`
    
    1010
    +PKGCONFIG_LIBS_PRIVATE=`echo "$PKGCONFIG_LIBS_PRIVATE"  \
    
    1011
    +                        | sed -e 's/^  *//'   \
    
    1012
    +                              -e 's/  *$//'   \
    
    1013
    +                              -e 's/  */ /g'`
    
    1014 1014
     
    
    1015 1015
     LIBSSTATIC_CONFIG="-lfreetype               \
    
    1016 1016
                        $zlib_libsstaticconf     \
    
    ... ... @@ -1028,10 +1028,28 @@ LIBSSTATIC_CONFIG=`echo "$LIBSSTATIC_CONFIG" \
    1028 1028
                              -e 's/  *$//'                \
    
    1029 1029
                              -e 's/  */ /g'`
    
    1030 1030
     
    
    1031
    +# If FreeType gets installed with `--disable-shared', don't use
    
    1032
    +# 'private' fields.  `pkg-config' only looks into `.pc' files and is
    
    1033
    +# completely agnostic to whether shared libraries are actually present
    
    1034
    +# or not.  As a consequence, the user had to specify `--static' while
    
    1035
    +# calling `pkg-config', which configure scripts are normally not
    
    1036
    +# prepared for.
    
    1037
    +
    
    1038
    +PKGCONFIG_REQUIRES=
    
    1039
    +PKGCONFIG_LIBS='-L${libdir} -lfreetype'
    
    1040
    +
    
    1041
    +if test $enable_shared = "no"; then
    
    1042
    +  PKGCONFIG_REQUIRES="$PKGCONFIG_REQUIRES $PKGCONFIG_REQUIRES_PRIVATE"
    
    1043
    +  PKGCONFIG_REQUIRES_PRIVATE=
    
    1044
    +  PKGCONFIG_LIBS="$PKGCONFIG_LIBS $PKGCONFIG_LIBS_PRIVATE"
    
    1045
    +  PKGCONFIG_LIBS_PRIVATE=
    
    1046
    +fi
    
    1031 1047
     
    
    1032 1048
     AC_SUBST([ftmac_c])
    
    1033
    -AC_SUBST([REQUIRES_PRIVATE])
    
    1034
    -AC_SUBST([LIBS_PRIVATE])
    
    1049
    +AC_SUBST([PKGCONFIG_REQUIRES])
    
    1050
    +AC_SUBST([PKGCONFIG_LIBS])
    
    1051
    +AC_SUBST([PKGCONFIG_REQUIRES_PRIVATE])
    
    1052
    +AC_SUBST([PKGCONFIG_LIBS_PRIVATE])
    
    1035 1053
     AC_SUBST([LIBSSTATIC_CONFIG])
    
    1036 1054
     
    
    1037 1055
     AC_SUBST([hardcode_libdir_flag_spec])
    

  • builds/unix/freetype2.in
    ... ... @@ -7,8 +7,8 @@ Name: FreeType 2
    7 7
     URL: https://freetype.org
    
    8 8
     Description: A free, high-quality, and portable font engine.
    
    9 9
     Version: %ft_version%
    
    10
    -Requires:
    
    11
    -Requires.private: %REQUIRES_PRIVATE%
    
    12
    -Libs: -L${libdir} -lfreetype
    
    13
    -Libs.private: %LIBS_PRIVATE%
    
    10
    +Requires: %PKGCONFIG_REQUIRES%
    
    11
    +Requires.private: %PKGCONFIG_REQUIRES_PRIVATE%
    
    12
    +Libs: %PKGCONFIG_LIBS%
    
    13
    +Libs.private: %PKGCONFIG_LIBS_PRIVATE%
    
    14 14
     Cflags: -I${includedir}/freetype2

  • builds/unix/unix-def.in
    ... ... @@ -68,12 +68,14 @@ version_info := @version_info@
    68 68
     
    
    69 69
     # Variables needed for `freetype-config' and `freetype.pc'.
    
    70 70
     #
    
    71
    -PKG_CONFIG         := @PKG_CONFIG@
    
    72
    -REQUIRES_PRIVATE   := @REQUIRES_PRIVATE@
    
    73
    -LIBS_PRIVATE       := @LIBS_PRIVATE@
    
    74
    -LIBSSTATIC_CONFIG  := @LIBSSTATIC_CONFIG@
    
    75
    -build_libtool_libs := @build_libtool_libs@
    
    76
    -ft_version         := @ft_version@
    
    71
    +PKG_CONFIG                 := @PKG_CONFIG@
    
    72
    +PKGCONFIG_REQUIRES         := @PKGCONFIG_REQUIRES@
    
    73
    +PKGCONFIG_REQUIRES_PRIVATE := @PKGCONFIG_REQUIRES_PRIVATE@
    
    74
    +PKGCONFIG_LIBS             := @PKGCONFIG_LIBS@
    
    75
    +PKGCONFIG_LIBS_PRIVATE     := @PKGCONFIG_LIBS_PRIVATE@
    
    76
    +LIBSSTATIC_CONFIG          := @LIBSSTATIC_CONFIG@
    
    77
    +build_libtool_libs         := @build_libtool_libs@
    
    78
    +ft_version                 := @ft_version@
    
    77 79
     
    
    78 80
     # The directory where all library files are placed.
    
    79 81
     #
    
    ... ... @@ -137,15 +139,17 @@ prefix_x := $(subst $(space),\\$(space),$(prefix))
    137 139
     
    
    138 140
     $(OBJ_BUILD)/freetype2.pc: $(TOP_DIR)/builds/unix/freetype2.in
    
    139 141
     	rm -f $@ $@.tmp
    
    140
    -	sed -e 's|%REQUIRES_PRIVATE%|$(REQUIRES_PRIVATE)|'     \
    
    141
    -	    -e 's|%LIBS_PRIVATE%|$(LIBS_PRIVATE)|'             \
    
    142
    -	    -e 's|%build_libtool_libs%|$(build_libtool_libs)|' \
    
    143
    -	    -e 's|%exec_prefix%|$(exec_prefix_x)|'             \
    
    144
    -	    -e 's|%ft_version%|$(ft_version)|'                 \
    
    145
    -	    -e 's|%includedir%|$(includedir_x)|'               \
    
    146
    -	    -e 's|%libdir%|$(libdir_x)|'                       \
    
    147
    -	    -e 's|%prefix%|$(prefix_x)|'                       \
    
    148
    -	    $<                                                 \
    
    142
    +	sed -e 's|%PKGCONFIG_REQUIRES%|$(PKGCONFIG_REQUIRES)|'                 \
    
    143
    +	    -e 's|%PKGCONFIG_REQUIRES_PRIVATE%|$(PKGCONFIG_REQUIRES_PRIVATE)|' \
    
    144
    +	    -e 's|%PKGCONFIG_LIBS%|$(PKGCONFIG_LIBS)|'                         \
    
    145
    +	    -e 's|%PKGCONFIG_LIBS_PRIVATE%|$(PKGCONFIG_LIBS_PRIVATE)|'         \
    
    146
    +	    -e 's|%build_libtool_libs%|$(build_libtool_libs)|'                 \
    
    147
    +	    -e 's|%exec_prefix%|$(exec_prefix_x)|'                             \
    
    148
    +	    -e 's|%ft_version%|$(ft_version)|'                                 \
    
    149
    +	    -e 's|%includedir%|$(includedir_x)|'                               \
    
    150
    +	    -e 's|%libdir%|$(libdir_x)|'                                       \
    
    151
    +	    -e 's|%prefix%|$(prefix_x)|'                                       \
    
    152
    +	    $<                                                                 \
    
    149 153
     	    > $@.tmp
    
    150 154
     	chmod a-w $@.tmp
    
    151 155
     	mv $@.tmp $@
    


  • reply via email to

    [Prev in Thread] Current Thread [Next in Thread]