Merge from vendor branch TNF:
[pkgsrcv2.git] / archivers / libarchive / builtin.mk
1 # $NetBSD: builtin.mk,v 1.1 2007/08/03 11:18:33 joerg Exp $
2
3 BUILTIN_PKG:=   libarchive
4
5 BUILTIN_FIND_FILES_VAR:=        H_ARCHIVE
6 BUILTIN_FIND_FILES.H_ARCHIVE=   /usr/include/archive.h
7
8 .include "../../mk/buildlink3/bsd.builtin.mk"
9
10 ###
11 ### Determine if there is a built-in implementation of the package and
12 ### set IS_BUILTIN.<pkg> appropriately ("yes" or "no").
13 ###
14 .if !defined(IS_BUILTIN.libarchive)
15 IS_BUILTIN.libarchive=  no
16 .  if empty(H_ARCHIVE:M__nonexistent__) && empty(H_ARCHIVE:M${LOCALBASE}/*)
17 IS_BUILTIN.libarchive=  yes
18 .  endif
19 .endif
20 MAKEVARS+=      IS_BUILTIN.libarchive
21
22 ###
23 ### If there is a built-in implementation, then set BUILTIN_PKG.<pkg> to
24 ### a package name to represent the built-in package.
25 ###
26 .if !defined(BUILTIN_PKG.libarchive) && \
27     !empty(IS_BUILTIN.libarchive:M[yY][eE][sS]) && \
28     empty(H_ARCHIVE:M__nonexistent__)
29 BUILTIN_VERSION.libarchive!=                                            \
30         ${AWK} '/\#define[      ]*ARCHIVE_LIBRARY_VERSION/ {            \
31                         lib_vers = $$4;                                 \
32                         gsub("\"", "", lib_vers);                       \
33                         if (found == 0)                                 \
34                             found=1;                                    \
35                 }                                                       \
36                 /\#define[      ]*ARCHIVE_VERSION_STRING/ {             \
37                         vers_str = $$4;                                 \
38                         gsub("\"", "", vers_str);                       \
39                         found=2;                                        \
40                 }                                                       \
41                 END {                                                   \
42                         if (!found)                                     \
43                                 print;                                  \
44                         else if (found == 1)                            \
45                                 print lib_vers;                         \
46                         else if (found == 2)                            \
47                                 print vers_str;                         \
48                 }                                                       \
49         ' ${H_ARCHIVE:Q}
50 .  if !empty(BUILTIN_VERSION.libarchive)
51 BUILTIN_PKG.libarchive= libarchive-${BUILTIN_VERSION.libarchive}
52 .  else
53 IS_BUILTIN.libarchive=  no
54 .  endif
55 .endif
56 MAKEVARS+=      BUILTIN_PKG.libarchive
57
58 ###
59 ### Determine whether we should use the built-in implementation if it
60 ### exists, and set USE_BUILTIN.<pkg> appropriate ("yes" or "no").
61 ###
62 .if !defined(USE_BUILTIN.libarchive)
63 .  if ${PREFER.libarchive} == "pkgsrc"
64 USE_BUILTIN.libarchive= no
65 .  else
66 USE_BUILTIN.libarchive= ${IS_BUILTIN.libarchive}
67 .    if defined(BUILTIN_PKG.libarchive) && \
68         !empty(IS_BUILTIN.libarchive:M[yY][eE][sS])
69 USE_BUILTIN.libarchive= yes
70 .      for _dep_ in ${BUILDLINK_API_DEPENDS.libarchive}
71 .        if !empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
72 USE_BUILTIN.libarchive!=        \
73         if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.libarchive:Q}; then     \
74                 ${ECHO} yes;                                            \
75         else                                                            \
76                 ${ECHO} no;                                             \
77         fi
78 .        endif
79 .      endfor
80 .    endif
81 .  endif  # PREFER.libarchive
82 .endif
83 MAKEVARS+=      USE_BUILTIN.libarchive