1 rule -configure-add-line- {
4 if $(_CONFIGURE_FATAL_) != "tan" {
6 Depends config : $(str) ;
7 -Action-Configure-WriteLine- $(str) ;
12 # $(1): library name to display
13 # $(2): arg to pkg-config
14 # $(3): string to write if present
15 # $(4): string to write if not present
16 # $(5): fail with this message if not present
17 rule -configure-pkg-config- {
20 if $(_CONFIGURE_FATAL_) != "tan" {
21 Echo-n "checking for $(1) ..." ;
22 -configure-add-line- "#" $(1) ;
23 flg = [ lib-config-ex "pkg-config $(2) --cflags" ] ;
24 lib = [ lib-config-ex "pkg-config $(2) --libs" ] ;
25 if ! $(flg) && ! $(lib) {
32 if $(4) { -configure-add-line- $(4) ; }
36 if $(flg) { -configure-add-line- "CFLAGS.all +=" $(flg) ";" ; }
37 if $(lib) { -configure-add-line- "LINKLIBS.all +=" $(lib) ";" ; }
38 if $(3) { -configure-add-line- $(3) ; }
44 # $(1): action display name for 'checking XXX ...'
47 # $(4): additional search pathes
48 # $(5): rule to call if found: $(1) will be returned prefix, $(2) -- libraries
49 # $(6): rule to call if not found
50 rule -configure-detect-library- {
53 if $(_CONFIGURE_FATAL_) != "tan" {
54 Echo-n "checking for $(1) ..." ;
55 -configure-add-line- "#" $(1) ;
56 pfx = [ DetectLibrary $(2) : $(3) : $(4) ] ;
59 if $(5) { [ $(5) $(pfx) : $(2) ] ; }
62 if $(6) { [ $(6) $(pfx) : $(2) ] ; }
68 rule -configure-fatal- {
69 _CONFIGURE_FATAL_ = tan ;
73 rule -configure-main- {
74 Echo "configuring..." ;
76 -Action-Configure-Start- ___start___ ;
77 Depends config : ___start___ ;
81 if $(_CONFIGURE_FATAL_) = "tan" {
82 Echo "FATAL: configure failed" ;
84 Echo "MESSAGE: Now you can run 'jam' to build software." ;
89 actions quietly -Action-Configure-Start- {
90 if [ "z$(_CONFIGURE_FATAL_)" = "ztan" ]; then
91 rm "$(K8JAM-CONFIGURE-FILE)" 2>/dev/null
94 echo "# autogenerated by 'jam configure'" >"$(K8JAM-CONFIGURE-FILE)"
95 echo "_CONFIGURE_COMPLETE_ = tan ;" >>"$(K8JAM-CONFIGURE-FILE)"
96 echo "" >>"$(K8JAM-CONFIGURE-FILE)"
100 actions quietly -Action-Configure-WriteLine- {
101 if [ "z$(_CONFIGURE_FATAL_)" = "zona" ]; then
102 echo '$(<)' >>"$(K8JAM-CONFIGURE-FILE)"
109 K8JAM-CONFIGURE-FILE ?= $(TOP)/Jamrules.auto.configure ;
110 _CONFIGURE_FATAL_ = ona ;
111 if "gen-boiler" in $(JAM_TARGETS) || "clean" in $(JAM_TARGETS) || $(__DO_TARGET_CLEAN__) { _doit = ; }
113 if $(__DO_CONFIG_CLEAN__) { Clean clean : $(K8JAM-CONFIGURE-FILE) ; }
114 softinclude $(K8JAM-CONFIGURE-FILE) ;
116 if ! $(_CONFIGURE_COMPLETE_) { JAM_TARGETS = config ; }
117 if "configure" in $(JAM_TARGETS) { JAM_TARGETS = config ; }
118 if "config" in $(JAM_TARGETS) {
119 JAM_TARGETS = config ;
123 -configure-main- config ;
126 _CONFIGURE_COMPLETE_ = tan ;
127 if $(__DO_CONFIG_CLEAN__) { Clean clean : $(K8JAM-CONFIGURE-FILE) ; }
128 softinclude $(K8JAM-CONFIGURE-FILE) ;