File: path.pkgconfig.m4

package info (click to toggle)
povray 1%3A3.7.0.0-8
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 105,396 kB
  • ctags: 115,305
  • sloc: cpp: 438,613; ansic: 118,761; sh: 37,706; pascal: 6,420; asm: 3,355; ada: 1,681; makefile: 1,282; cs: 879; awk: 590; perl: 245; xml: 95
file content (134 lines) | stat: -rw-r--r-- 4,249 bytes parent folder | download | duplicates (17)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
AC_DEFUN([AM_PATH_PKGCONFIG],
[

dnl sets cflags and ldflags
dnl TEST_CXXFLAGS and TEST_LDFLAGS, by trying thes following
dnl until something works:
dnl
dnl 1 -  try the test_prefix
dnl 2 -  check whether pkgconfig can find values (unless --with-pkg-config=no)
dnl 3 -  use the prefix, if it is not the default
dnl 4 -  use defaults, /usr/local/include/OpenEXR and /usr/local/lib
dnl 
dnl 
dnl Expected arguments
dnl $1: arg_cxxflags - CXXFLAGS variable to set
dnl
dnl $2: arg-ldflags - LDFLAGS variable to set
dnl
dnl $3: package name (the package being checked), as requried by pkg-config
dnl 
dnl $4: arg_include_subdir 
dnl     the name of the subdirectory name that is tacked on to 
dnl     the end of the include path e.g. "OpenEXR" in 
dnl     /usr/local/include/OpenEXR
dnl 
dnl $5: arg_default_libs - default libraries, used if pkgconfig doesnt work
dnl
dnl $6: arg_test_prefix
dnl     the argument passed to configure specifying a directory to
dnl     be used in the CXX and LD flags for example: 
dnl     $2 = "openexr-prefix" and 
dnl     "configure --openexr-prefix=/usr/lib"
dnl     leads to CXX including "-I/usr/lib/OpenEXR"
dnl

dnl create some local m4 "variables" so that we don't have to use numbers
define([arg_cxxflags],$1)
define([arg_ldflags],$2)
define([arg_libs],$3)
define([arg_pkg_name],$4)
define([arg_include_subdir],$5)
define([arg_default_ldflags],$6)
define([arg_default_libs],$7)
define([arg_test_prefix],$8)

TEST_CXXFLAGS=""
TEST_LDFLAGS=""
TEST_LIBS=""

AC_ARG_WITH(arg_test_prefix,[  --with-arg_test_prefix=PFX  Prefix where tested libraries are supposed to be installed (optional)], test_prefix="$withval", test_prefix="NONE")
echo "test_prefix = $test_prefix"

AC_ARG_VAR(PKG_CONFIG, Path to pkg-config command)
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
AC_ARG_WITH(pkg-config,[  --with-pkg-config=PATH Specify which pkg-config to use (optional)], PKG_CONFIG="$withval",)


if test "x$test_prefix" != "xNONE" ; then
   echo "using arg_test_prefix to set arg_cxxflags, arg_ldflags and arg_libs:"
   for inc_dir in arg_include_subdir
   do
      TEST_CXXFLAGS="$TEST_CXXFLAGS -I$test_prefix/include/$inc_dir"
   done
   TEST_LDFLAGS="-L$test_prefix/lib"
   TEST_LDFLAGS="$TEST_LDFLAGS arg_default_ldflags"
   TEST_LIBS="arg_default_libs"
else
   dnl
   dnl Get the cflags and libraries from the arg_pkg_name package using 
   dnl pkg-config
   dnl
   dnl Note: the TEST_LIBS contains both the -L and the -l flags.  This means
   dnl the -L flags will appear twice on the command line, but we can not
   dnl limit it to --libs-only-l because it may include the "-pthread" flag.
   dnl 
   if test x$PKG_CONFIG != xno ; then
      echo "using pkg-config to set arg_cxxflags and arg_ldflags:"
      TEST_CXXFLAGS="`$PKG_CONFIG --cflags arg_pkg_name`"
      TEST_LDFLAGS="`$PKG_CONFIG --libs-only-L arg_pkg_name`"
      TEST_LIBS="`$PKG_CONFIG --libs arg_pkg_name`"
   else
      echo "Not using pkg-config."
      TEST_CXXFLAGS=""
      TEST_LDFLAGS=""
      TEST_LIBS=""
   fi

   dnl
   dnl if the flags are still not set, try a prefix and finally a default
   dnl
   if test -z "${TEST_CXXFLAGS}"; then
      TEST_CXXFLAGS=""
      if test "x$prefix" != "xNONE"; then
         echo "using prefix to set arg_cxxflags and arg_ldflags:"
         for inc_dir in arg_include_subdir
         do
            TEST_CXXFLAGS="$TEST_CXXFLAGS -I$prefix/include/$inc_dir"
         done
         TEST_LDFLAGS="-L$prefix/lib"
      else
         echo "using default as guess for arg_cxxflags and arg_ldflags:"
         for inc_dir in arg_include_subdir
         do
             TEST_CXXFLAGS="$TEST_CXXFLAGS -I/usr/local/include/$inc_dir"
         done
         TEST_LDFLAGS="arg_default_ldflags"
      fi
      TEST_LIBS="arg_default_libs"
   fi
fi

echo "    arg_cxxflags = $TEST_CXXFLAGS"
echo "    arg_ldflags = $TEST_LDFLAGS"
echo "    arg_libs = $TEST_LIBS"


AC_SUBST(arg_cxxflags, $TEST_CXXFLAGS)
AC_SUBST(arg_ldflags, $TEST_LDFLAGS)
AC_SUBST(arg_libs, $TEST_LIBS)


dnl clean up local "variables"
undefine([arg_cxxflags])
undefine([arg_ldflags])
undefine([arg_libs])
undefine([arg_pkg_name])
undefine([arg_include_subdir])
undefine([arg_default_ldflags])
undefine([arg_default_libs])
undefine([arg_test_prefix])

])