it's now safe (i hope) to include Jambase.configure multiple times
[k8jam.git] / defaults / configure / Jambase.configure.utils
blobde9e0ce00b4d2e350b1e5af1be0e94ee60041a8a
1 # This program is free software: you can redistribute it and/or modify
2 # it under the terms of the GNU General Public License as published by
3 # the Free Software Foundation, either version 3 of the License, or
4 # (at your option) any later version.
6 # This program is distributed in the hope that it will be useful,
7 # but WITHOUT ANY WARRANTY; without even the implied warranty of
8 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 # GNU General Public License for more details.
11 # You should have received a copy of the GNU General Public License
12 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
14 # libnames : includes : pathes [ : allow-any-lib allow-any-header ]
15 DETECT_LIBRARY_PATH = /usr /usr/local ;
18 rule DetectLibrary {
19   local pfx n havelibs haveh nn ;
20   local allow-any-lib allow-any-header ;
22   allow-any-lib = ;
23   allow-any-header = ;
25   for n in $(4) {
26     if n == 'allow-any-lib' { allow-any-lib = tan ; }
27     if n == 'allow-any-header' { allow-any-header = tan ; }
28   }
30   for n in $(DETECT_LIBRARY_PATH) $(3) {
31     #Echo "checking: $(n)" ;
32     if $(allow-any-lib) {
33       havelibs = ;
34       for nn in $(1) {
35         if [ Command test -e "$(n)/lib/$(nn)" : exit-status status-first no-output ] == '0' {
36           havelibs = tan ;
37           break ;
38         }
39       }
40     } else {
41       havelibs = 'tan' ;
42       for nn in $(1) {
43         if [ Command test -e "$(n)/lib/$(nn)" : exit-status status-first no-output ] != '0' {
44           havelibs = ;
45           break ;
46         }
47       }
48     }
49     if ! $(havelibs) { continue ; }
50     if $(allow-any-header) {
51       haveh = ;
52       for nn in $(2) {
53         if [ Command test -e "$(n)/include/$(nn)" : exit-status status-first no-output ] == '0' {
54           haveh = tan ;
55           break ;
56         }
57       }
58     } else {
59       haveh = 'tan' ;
60       for nn in $(2) {
61         if [ Command test -e "$(n)/include/$(nn)" : exit-status status-first no-output ] != '0' {
62           haveh = ;
63           break ;
64         }
65       }
66     }
67     if ! $(haveh) { continue ; }
68     return $(n) ;
69   }
70   return ;