File: compiler-vendor.m4

package info (click to toggle)
postgis 3.5.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 70,052 kB
  • sloc: ansic: 162,204; sql: 93,950; xml: 53,121; cpp: 12,646; perl: 5,658; sh: 5,369; makefile: 3,434; python: 1,205; yacc: 447; lex: 151; pascal: 58
file content (56 lines) | stat: -rw-r--r-- 1,513 bytes parent folder | download | duplicates (3)
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
dnl Selecting tool implementation based on compiler vendor

dnl Wrap Autoconf check for whether GNU compiler is used
AC_DEFUN([PG_LANG_COMPILER_GNU],
[_AC_LANG_COMPILER_GNU])

dnl Check if Clang compiler is used
AC_DEFUN([PG_LANG_COMPILER_CLANG],
[
  AC_CACHE_CHECK([whether we are using Clang],
    [ac_cv_[]_AC_LANG_ABBREV[]_compiler_clang],
    [_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef __clang__
      trigger error
      #endif
      ]])],
      [pg_compiler_clang=yes],
      [pg_compiler_clang=no])
    ac_cv_[]_AC_LANG_ABBREV[]_compiler_clang=$pg_compiler_clang
    ])
  pg_compiler_clang=$ac_cv_[]_AC_LANG_ABBREV[]_compiler_clang
])

dnl Determine compiler vendor
AC_DEFUN([PG_COMPILER_VENDOR],
[
  PG_LANG_COMPILER_CLANG
  PG_LANG_COMPILER_GNU
  pg_compiler_vendor=
  if test "$pg_compiler_clang" = "yes"; then
    pg_compiler_vendor="clang"
  elif test "$ac_compiler_gnu" = "yes"; then
    pg_compiler_vendor="gnu"
  fi
])

dnl Select AR based on compiler
AC_DEFUN([PG_PROG_AR],
[
  PG_COMPILER_VENDOR
  case "$pg_compiler_vendor" in
    "clang") AC_CHECK_TOOLS(AR, [llvm-ar ar], :) ;;
    "gnu")   AC_CHECK_TOOLS(AR, [gcc-ar ar], :) ;;
    *)       AC_CHECK_TOOL(AR, ar, :) ;;
  esac
])

dnl Select RANLIB based on compiler
AC_DEFUN([PG_PROG_RANLIB],
[
  PG_COMPILER_VENDOR
  case "$pg_compiler_vendor" in
    "clang") AC_CHECK_TOOLS(RANLIB, [llvm-ranlib ranlib], :) ;;
    "gnu")   AC_CHECK_TOOLS(RANLIB, [gcc-ranlib ranlib], :) ;;
    *)       AC_CHECK_TOOL(RANLIB, ranlib, :) ;;
  esac
])