Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/m4/xc-am-iface.m4 @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 #--------------------------------------------------------------------------- | |
| 2 # | |
| 3 # xc-am-iface.m4 | |
| 4 # | |
| 5 # Copyright (c) 2013 Daniel Stenberg <daniel@haxx.se> | |
| 6 # | |
| 7 # Permission to use, copy, modify, and distribute this software for any | |
| 8 # purpose with or without fee is hereby granted, provided that the above | |
| 9 # copyright notice and this permission notice appear in all copies. | |
| 10 # | |
| 11 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
| 12 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
| 13 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | |
| 14 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | |
| 15 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | |
| 16 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | |
| 17 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
| 18 # | |
| 19 #--------------------------------------------------------------------------- | |
| 20 | |
| 21 # serial 1 | |
| 22 | |
| 23 | |
| 24 dnl _XC_AUTOMAKE_BODY | |
| 25 dnl ------------------------------------------------- | |
| 26 dnl Private macro. | |
| 27 dnl | |
| 28 dnl This macro performs embedding of automake initialization | |
| 29 dnl code into configure script. When automake version 1.14 or | |
| 30 dnl newer is used at configure script generation time, this | |
| 31 dnl results in 'subdir-objects' automake option being used. | |
| 32 dnl When using automake versions older than 1.14 this option | |
| 33 dnl is not used when generating configure script. | |
| 34 dnl | |
| 35 dnl Existence of automake _AM_PROG_CC_C_O m4 private macro | |
| 36 dnl is used to differentiate automake version 1.14 from older | |
| 37 dnl ones which lack this macro. | |
| 38 | |
| 39 m4_define([_XC_AUTOMAKE_BODY], | |
| 40 [dnl | |
| 41 ## --------------------------------------- ## | |
| 42 ## Start of automake initialization code ## | |
| 43 ## --------------------------------------- ## | |
| 44 m4_ifdef([_AM_PROG_CC_C_O], | |
| 45 [ | |
| 46 AM_INIT_AUTOMAKE([subdir-objects]) | |
| 47 ],[ | |
| 48 AM_INIT_AUTOMAKE | |
| 49 ])dnl | |
| 50 ## ------------------------------------- ## | |
| 51 ## End of automake initialization code ## | |
| 52 ## ------------------------------------- ## | |
| 53 dnl | |
| 54 m4_define([$0], [])[]dnl | |
| 55 ]) | |
| 56 | |
| 57 | |
| 58 dnl XC_AUTOMAKE | |
| 59 dnl ------------------------------------------------- | |
| 60 dnl Public macro. | |
| 61 dnl | |
| 62 dnl This macro embeds automake machinery into configure | |
| 63 dnl script regardless of automake version used in order | |
| 64 dnl to generate configure script. | |
| 65 dnl | |
| 66 dnl When using automake version 1.14 or newer, automake | |
| 67 dnl initialization option 'subdir-objects' is used to | |
| 68 dnl generate the configure script, otherwise this option | |
| 69 dnl is not used. | |
| 70 | |
| 71 AC_DEFUN([XC_AUTOMAKE], | |
| 72 [dnl | |
| 73 AC_PREREQ([2.50])dnl | |
| 74 dnl | |
| 75 AC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl | |
| 76 dnl | |
| 77 _XC_AUTOMAKE_BODY | |
| 78 dnl | |
| 79 m4_ifdef([AM_INIT_AUTOMAKE], | |
| 80 [m4_undefine([AM_INIT_AUTOMAKE])])dnl | |
| 81 dnl | |
| 82 m4_define([$0], [])[]dnl | |
| 83 ]) | |
| 84 | |
| 85 | |
| 86 dnl _XC_AMEND_DISTCLEAN_BODY ([LIST-OF-SUBDIRS]) | |
| 87 dnl ------------------------------------------------- | |
| 88 dnl Private macro. | |
| 89 dnl | |
| 90 dnl This macro performs shell code embedding into | |
| 91 dnl configure script in order to modify distclean | |
| 92 dnl and maintainer-clean targets of makefiles which | |
| 93 dnl are located in given list of subdirs. | |
| 94 dnl | |
| 95 dnl See XC_AMEND_DISTCLEAN comments for details. | |
| 96 | |
| 97 m4_define([_XC_AMEND_DISTCLEAN_BODY], | |
| 98 [dnl | |
| 99 ## ---------------------------------- ## | |
| 100 ## Start of distclean amending code ## | |
| 101 ## ---------------------------------- ## | |
| 102 | |
| 103 for xc_subdir in [$1] | |
| 104 do | |
| 105 | |
| 106 if test ! -f "$xc_subdir/Makefile"; then | |
| 107 echo "$xc_msg_err $xc_subdir/Makefile file not found. $xc_msg_abrt" >&2 | |
| 108 exit 1 | |
| 109 fi | |
| 110 | |
| 111 # Fetch dependency tracking file list from Makefile include lines. | |
| 112 | |
| 113 xc_inc_lines=`grep '^include .*(DEPDIR)' "$xc_subdir/Makefile" 2>/dev/null` | |
| 114 xc_cnt_words=`echo "$xc_inc_lines" | wc -w | tr -d "$xc_space$xc_tab"` | |
| 115 | |
| 116 # --disable-dependency-tracking might have been used, consequently | |
| 117 # there is nothing to amend without a dependency tracking file list. | |
| 118 | |
| 119 if test $xc_cnt_words -gt 0; then | |
| 120 | |
| 121 AC_MSG_NOTICE([amending $xc_subdir/Makefile]) | |
| 122 | |
| 123 # Build Makefile specific patch hunk. | |
| 124 | |
| 125 xc_p="$xc_subdir/xc_patch.tmp" | |
| 126 | |
| 127 xc_rm_depfiles=`echo "$xc_inc_lines" \ | |
| 128 | $SED 's%include% -rm -f%' 2>/dev/null` | |
| 129 | |
| 130 xc_dep_subdirs=`echo "$xc_inc_lines" \ | |
| 131 | $SED 's%include[[ ]][[ ]]*%%' 2>/dev/null \ | |
| 132 | $SED 's%(DEPDIR)/.*%(DEPDIR)%' 2>/dev/null \ | |
| 133 | sort | uniq` | |
| 134 | |
| 135 echo "$xc_rm_depfiles" >$xc_p | |
| 136 | |
| 137 for xc_dep_dir in $xc_dep_subdirs; do | |
| 138 echo "${xc_tab}@xm_dep_cnt=\`ls $xc_dep_dir | wc -l 2>/dev/null\`; \\" >>$xc_p | |
| 139 echo "${xc_tab}if test \$\$xm_dep_cnt -eq 0 && test -d $xc_dep_dir; then \\" >>$xc_p | |
| 140 echo "${xc_tab} rm -rf $xc_dep_dir; \\" >>$xc_p | |
| 141 echo "${xc_tab}fi" >>$xc_p | |
| 142 done | |
| 143 | |
| 144 # Build Makefile patching sed scripts. | |
| 145 | |
| 146 xc_s1="$xc_subdir/xc_script_1.tmp" | |
| 147 xc_s2="$xc_subdir/xc_script_2.tmp" | |
| 148 xc_s3="$xc_subdir/xc_script_3.tmp" | |
| 149 | |
| 150 cat >$xc_s1 <<\_EOT | |
| 151 /^distclean[[ ]]*:/,/^[[^ ]][[^ ]]*:/{ | |
| 152 s/^.*(DEPDIR)/___xc_depdir_line___/ | |
| 153 } | |
| 154 /^maintainer-clean[[ ]]*:/,/^[[^ ]][[^ ]]*:/{ | |
| 155 s/^.*(DEPDIR)/___xc_depdir_line___/ | |
| 156 } | |
| 157 _EOT | |
| 158 | |
| 159 cat >$xc_s2 <<\_EOT | |
| 160 /___xc_depdir_line___$/{ | |
| 161 N | |
| 162 /___xc_depdir_line___$/D | |
| 163 } | |
| 164 _EOT | |
| 165 | |
| 166 cat >$xc_s3 <<_EOT | |
| 167 /^___xc_depdir_line___/{ | |
| 168 r $xc_p | |
| 169 d | |
| 170 } | |
| 171 _EOT | |
| 172 | |
| 173 # Apply patch to Makefile and cleanup. | |
| 174 | |
| 175 $SED -f "$xc_s1" "$xc_subdir/Makefile" >"$xc_subdir/Makefile.tmp1" | |
| 176 $SED -f "$xc_s2" "$xc_subdir/Makefile.tmp1" >"$xc_subdir/Makefile.tmp2" | |
| 177 $SED -f "$xc_s3" "$xc_subdir/Makefile.tmp2" >"$xc_subdir/Makefile.tmp3" | |
| 178 | |
| 179 if test -f "$xc_subdir/Makefile.tmp3"; then | |
| 180 mv -f "$xc_subdir/Makefile.tmp3" "$xc_subdir/Makefile" | |
| 181 fi | |
| 182 | |
| 183 test -f "$xc_subdir/Makefile.tmp1" && rm -f "$xc_subdir/Makefile.tmp1" | |
| 184 test -f "$xc_subdir/Makefile.tmp2" && rm -f "$xc_subdir/Makefile.tmp2" | |
| 185 test -f "$xc_subdir/Makefile.tmp3" && rm -f "$xc_subdir/Makefile.tmp3" | |
| 186 | |
| 187 test -f "$xc_p" && rm -f "$xc_p" | |
| 188 test -f "$xc_s1" && rm -f "$xc_s1" | |
| 189 test -f "$xc_s2" && rm -f "$xc_s2" | |
| 190 test -f "$xc_s3" && rm -f "$xc_s3" | |
| 191 | |
| 192 fi | |
| 193 | |
| 194 done | |
| 195 | |
| 196 ## -------------------------------- ## | |
| 197 ## End of distclean amending code ## | |
| 198 ## -------------------------------- ## | |
| 199 dnl | |
| 200 m4_define([$0], [])[]dnl | |
| 201 ]) | |
| 202 | |
| 203 | |
| 204 dnl XC_AMEND_DISTCLEAN ([LIST-OF-SUBDIRS]) | |
| 205 dnl ------------------------------------------------- | |
| 206 dnl Public macro. | |
| 207 dnl | |
| 208 dnl This macro embeds shell code into configure script | |
| 209 dnl that amends, at configure runtime, the distclean | |
| 210 dnl and maintainer-clean targets of Makefiles located | |
| 211 dnl in all subdirs given in the mandatory white-space | |
| 212 dnl separated list argument. | |
| 213 dnl | |
| 214 dnl Embedding only takes place when using automake 1.14 | |
| 215 dnl or newer, otherwise amending code is not included | |
| 216 dnl in generated configure script. | |
| 217 dnl | |
| 218 dnl distclean and maintainer-clean targets are modified | |
| 219 dnl to avoid unconditional removal of dependency subdirs | |
| 220 dnl which triggers distclean and maintainer-clean errors | |
| 221 dnl when using automake 'subdir-objects' option along | |
| 222 dnl with per-target objects and source files existing in | |
| 223 dnl multiple subdirs used for different build targets. | |
| 224 dnl | |
| 225 dnl New behavior first removes each dependency tracking | |
| 226 dnl file independently, and only removes each dependency | |
| 227 dnl subdir when it finds out that it no longer holds any | |
| 228 dnl dependency tracking file. | |
| 229 dnl | |
| 230 dnl When configure option --disable-dependency-tracking | |
| 231 dnl is used no amending takes place given that there are | |
| 232 dnl no dependency tracking files. | |
| 233 | |
| 234 AC_DEFUN([XC_AMEND_DISTCLEAN], | |
| 235 [dnl | |
| 236 AC_PREREQ([2.50])dnl | |
| 237 dnl | |
| 238 m4_ifdef([_AC_OUTPUT_MAIN_LOOP], | |
| 239 [m4_provide_if([_AC_OUTPUT_MAIN_LOOP], [], | |
| 240 [m4_fatal([call to AC_OUTPUT needed before $0])])])dnl | |
| 241 dnl | |
| 242 m4_if([$#], [1], [], [m4_fatal([$0: wrong number of arguments])])dnl | |
| 243 m4_if([$1], [], [m4_fatal([$0: missing argument])])dnl | |
| 244 dnl | |
| 245 AC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl | |
| 246 dnl | |
| 247 m4_ifdef([_AM_PROG_CC_C_O], | |
| 248 [ | |
| 249 _XC_AMEND_DISTCLEAN_BODY([$1]) | |
| 250 ])dnl | |
| 251 m4_define([$0], [])[]dnl | |
| 252 ]) |
