diff options
Diffstat (limited to 'libs/cairo-1.16.0/build/aclocal.makefile.m4')
-rw-r--r-- | libs/cairo-1.16.0/build/aclocal.makefile.m4 | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/libs/cairo-1.16.0/build/aclocal.makefile.m4 b/libs/cairo-1.16.0/build/aclocal.makefile.m4 new file mode 100644 index 0000000..7077781 --- /dev/null +++ b/libs/cairo-1.16.0/build/aclocal.makefile.m4 @@ -0,0 +1,234 @@ +dnl +dnl These are the facilities for generating Makefile.am.features and +dnl Makefile.win32.features files. +dnl + +dnl =========================================================================== + +dnl +dnl Define cr_feature_tag ala other cr_feature_* macros +dnl Expands to CAIRO_HAS_FEATURE_ID +dnl +m4_define([_CAIRO_BUILD_FEATURE_TAG_NORMALIZED], + [CAIRO_HAS_[$1]m4_bmatch([$1],[$2$],,[$2])])dnl +m4_define([_CAIRO_BUILD_FEATURE_TAG], + [_CAIRO_BUILD_FEATURE_TAG_NORMALIZED(AS_TR_CPP([$1]),AS_TR_CPP(m4_ifval([$2],[ $2])))])dnl +m4_define([cr_feature_tag], + [_CAIRO_BUILD_FEATURE_TAG(cr_feature,cr_feature_what)])dnl + + +dnl =========================================================================== +dnl +dnl CAIRO_INIT_MAKEFILES([AUX-DIR]) +dnl +dnl Sets up automake and win32 conditionals for all features +dnl +AC_DEFUN([CAIRO_INIT_MAKEFILES], +[dnl + dnl Allow feature tags in the output + m4_pattern_allow(^CAIRO_HAS_)dnl + + dnl Automake conditionals for non-builtin features + CAIRO_FEATURE_HOOK_REGISTER(*,!always,*, + [dnl + AM_CONDITIONAL(cr_feature_tag, [test "x$use_]cr_feature[" = xyes])dnl + ])dnl + + CAIRO_CONFIG_MAKEFILE_PRIVATE_WIN32([_],[$1],[],[[# Generated by configure. Modify to customize.]])dnl + CAIRO_MAKEFILE_ACCUMULATE_FEATURE([_],*,!always,*,[cr_feature_tag=m4_if(cr_feature_default,[yes],1,[m4_bmatch(cr_feature,[win32],1,0)])])dnl +])dnl + +dnl =========================================================================== + +m4_define([_CAIRO_MAKEFILES])dnl + +dnl +dnl CAIRO_CONFIG_MAKEFILE(TAG, DIR, [SUFFIX], [HEADER]) +dnl +dnl Create DIR/Makefile.{am,win32}.SUFFIX files +dnl TAG is a TAG used by other CAIRO_MAKEFILE_* macros to append to these +dnl Makefile's. +dnl +dnl HEADER is appended at the top of the Makefile's. If HEADER is not +dnl set, the generic "Generated by configure. Do not edit." comment +dnl is added. +dnl +AC_DEFUN([CAIRO_CONFIG_MAKEFILE], +[dnl + m4_append_uniq([_CAIRO_MAKEFILES], [$1], [ ])dnl + CAIRO_CONFIG_MAKEFILE_PRIVATE([$1], [$2], [$3], [$4])dnl +])dnl + +dnl Like CAIRO_CONFIG_MAKEFILE but only generate win32 makefile +AC_DEFUN([CAIRO_CONFIG_MAKEFILE_WIN32], +[dnl + m4_append_uniq([_CAIRO_MAKEFILES], [$1], [ ])dnl + CAIRO_CONFIG_MAKEFILE_PRIVATE_WIN32([$1], [$2], [$3], [$4])dnl +])dnl + +dnl Like CAIRO_CONFIG_MAKEFILE but only generate automake makefile +AC_DEFUN([CAIRO_CONFIG_MAKEFILE_AMAKE], +[dnl + m4_append_uniq([_CAIRO_MAKEFILES], [$1], [ ])dnl + CAIRO_CONFIG_MAKEFILE_PRIVATE_AMAKE([$1], [$2], [$3], [$4])dnl +])dnl + +dnl +dnl CAIRO_CONFIG_MAKEFILE_PRIVATE(TAG, DIR, [SUFFIX], [HEADER]) +dnl +dnl Like CAIRO_CONFIG_MAKEFILE but this makefile tag won't match +dnl against '*' in makefile accumulators. +dnl +AC_DEFUN([CAIRO_CONFIG_MAKEFILE_PRIVATE], +[dnl + m4_ifdef([cr_make_$1_dir], + [m4_fatal([Makefile `$1' already registered])])dnl + m4_define([cr_make_$1_dir],[$2])dnl + + CAIRO_CONFIG_MAKEFILE_PRIVATE_AMAKE([$1], [$2], [$3], [$4])dnl + CAIRO_CONFIG_MAKEFILE_PRIVATE_WIN32([$1], [$2], [$3], [$4])dnl +])dnl + +dnl Like CAIRO_CONFIG_MAKEFILE_PRIVATE but only generate automake makefile +AC_DEFUN([CAIRO_CONFIG_MAKEFILE_PRIVATE_AMAKE], +[dnl + m4_ifdef([cr_make_$1_dir_amake], + [m4_fatal([Automake makefile `$1' already registered])])dnl + m4_define([cr_make_$1_dir_amake],[$2])dnl + m4_define([cr_make_$1_dir_any],[$2])dnl + + dnl Accumulators + CAIRO_ACCUMULATORS_REGISTER(MAKEFILE_$1_AMAKE, m4_newline, m4_default([$4],[[# Generated by configure. Do not edit.]])m4_newline)dnl + + dnl Generate + CAIRO_CONFIG_COMMANDS([$srcdir/]m4_if([$2],[.],,[$2/])[Makefile.am.]m4_default([$3],[features]), + [echo "$CAIRO_MAKEFILE_$1_AMAKE"], + [CAIRO_MAKEFILE_$1_AMAKE='$CAIRO_MAKEFILE_$1_AMAKE'])dnl +])dnl + +dnl Like CAIRO_CONFIG_MAKEFILE_PRIVATE but only generate win32 makefile +AC_DEFUN([CAIRO_CONFIG_MAKEFILE_PRIVATE_WIN32], +[dnl + m4_ifdef([cr_make_$1_dir_win32], + [m4_fatal([Win32 makefile `$1' already registered])])dnl + m4_define([cr_make_$1_dir_win32],[$2])dnl + m4_define([cr_make_$1_dir_any],[$2])dnl + + dnl Accumulators + CAIRO_ACCUMULATORS_REGISTER(MAKEFILE_$1_WIN32, m4_newline, m4_default([$4],[[# Generated by configure. Do not edit.]])m4_newline)dnl + + dnl Generate + CAIRO_CONFIG_COMMANDS([$srcdir/]m4_if([$2],[.],,[$2/])[Makefile.win32.]m4_default([$3],[features]), + [echo "$CAIRO_MAKEFILE_$1_WIN32"], + [CAIRO_MAKEFILE_$1_WIN32='$CAIRO_MAKEFILE_$1_WIN32'])dnl +])dnl + + +m4_define([_CAIRO_MAKEFILE_CHECK], +[dnl + m4_ifdef([cr_make_$1_dir_any],,[m4_fatal([Makefile `]$1[' not defined.])])dnl +])dnl + + +dnl +dnl CAIRO_MAKEFILE_INCLUDE(TAG, FILE) +dnl +dnl Include FILE from Makefile's for TAG. FILE should be placed +dnl relative to directory for TAG. If TAG is *, FILE is included from +dnl all Makefile's. +dnl +AC_DEFUN([CAIRO_MAKEFILE_INCLUDE], +[dnl + m4_if([$1],[*],,[_CAIRO_MAKEFILE_CHECK([$1])])dnl + m4_foreach_w([cr_makefile], m4_if([$1],[*],_CAIRO_MAKEFILES,[$1]), + [dnl + m4_ifdef([cr_make_]cr_makefile[_dir_amake],dnl + [CAIRO_ACCUMULATE([MAKEFILE_]cr_makefile[_AMAKE],[include $(top_srcdir)/cr_make_]cr_makefile[_dir_amake/$2]m4_newline)] + )dnl + m4_ifdef([cr_make_]cr_makefile[_dir_win32],dnl + [CAIRO_ACCUMULATE([MAKEFILE_]cr_makefile[_WIN32],[ifeq ($(top_srcdir),)]m4_newline[include $2]m4_newline[else]m4_newline[include $(top_srcdir)/cr_make_]cr_makefile[_dir_win32/$2]m4_newline[endif]m4_newline)] + )dnl + ])dnl +])dnl + + +m4_pattern_allow([cr_make_tmp]) + +dnl +dnl CAIRO_MAKEFILE_ACCUMULATE(TAG, CONTENT) +dnl +dnl Accumulates CONTENT to Makefile's for TAG. If TAG is *, +dnl CONTENT is added to all Makefile's. +dnl +AC_DEFUN([CAIRO_MAKEFILE_ACCUMULATE], +[dnl + m4_if([$1],[*],,[_CAIRO_MAKEFILE_CHECK([$1])])dnl + m4_foreach_w([cr_makefile], m4_if([$1],[*],_CAIRO_MAKEFILES,[$1]), + [dnl + m4_pushdef([cr_make_acc_contents],[$2])dnl + cr_make_tmp=_CAIRO_SH_ESCAPE(cr_make_acc_contents(cr_makefile)) + m4_popdef([cr_make_acc_contents])dnl + m4_ifdef([cr_make_]cr_makefile[_dir_amake],dnl + [CAIRO_ACCUMULATE_UNQUOTED_UNCHECKED([MAKEFILE_]cr_makefile[_AMAKE], [$cr_make_tmp])] + )dnl + m4_ifdef([cr_make_]cr_makefile[_dir_win32],dnl + [CAIRO_ACCUMULATE_UNQUOTED_UNCHECKED([MAKEFILE_]cr_makefile[_WIN32], [$cr_make_tmp])] + )dnl + ])dnl +])dnl + +m4_define([_CAIRO_MAKEFILE_ACCUMULATE_FEATURE], +[dnl + dnl Don't do a conditional for default=always features + m4_pushdef([cr_mk_acc_feat_enabled],m4_if([$2],[yes],[m4_if(cr_feature_default,[always],[*],[$2])],[$2]))dnl + m4_case(cr_mk_acc_feat_enabled, + [*],, + [yes], [CAIRO_ACCUMULATE([$1], [$3])], + [no], [CAIRO_ACCUMULATE([$1], [$3]m4_newline[$4])], + [m4_fatal([Invalid ENABLED value `]$2['])])dnl + CAIRO_ACCUMULATE_UNQUOTED_UNCHECKED([$1], [$6])dnl + m4_case(cr_mk_acc_feat_enabled, + [*],, + [yes], [CAIRO_ACCUMULATE([$1], [$5])], + [no], [CAIRO_ACCUMULATE([$1], [$5])], + [m4_fatal([Invalid ENABLED value `]$2['])])dnl + m4_popdef([cr_mk_acc_feat_enabled])dnl +])dnl + +dnl +dnl CAIRO_MAKEFILE_ACCUMULATE_FEATURE(TAG, ENABLED, DEFAULT, WHAT, CONTENT) +dnl +dnl Accumulates CONTENT to Makefile's for TAG for each feature matching +dnl ENABLED, DEFAULT, and WHAT. Those parameters are similar to those +dnl passed to CAIRO_FEATURE_HOOK_REGISTER. +dnl If TAG is *, CONTENT is added to all Makefile's. +dnl +AC_DEFUN([CAIRO_MAKEFILE_ACCUMULATE_FEATURE], +[dnl + m4_if([$1],[*],,[_CAIRO_MAKEFILE_CHECK([$1])])dnl + m4_append([cr_make_acc_counter],[1],[])dnl + m4_define([cr_make_acc_contents]m4_len(cr_make_acc_counter), [$5])dnl + CAIRO_FEATURE_HOOK_REGISTER(*,[$3],[$4], + [dnl + m4_foreach_w([cr_makefile], m4_if([$1],[*],_CAIRO_MAKEFILES,[$1]), + [dnl + cr_make_tmp=_CAIRO_SH_ESCAPE(cr_make_acc_contents]]m4_len(cr_make_acc_counter)([[cr_makefile,]][$][1],[$][2],[$][3],[$][4])[[) + m4_ifdef([cr_make_]cr_makefile[_dir_amake], + [_CAIRO_MAKEFILE_ACCUMULATE_FEATURE( + [MAKEFILE_]cr_makefile[_AMAKE], + [$2], + [if ]cr_feature_tag, [else], [endif], + [$cr_make_tmp]) + ])dnl + m4_ifdef([cr_make_]cr_makefile[_dir_win32], + [_CAIRO_MAKEFILE_ACCUMULATE_FEATURE( + [MAKEFILE_]cr_makefile[_WIN32], + [$2], + [ifeq ($(]cr_feature_tag[),1)], [else], [endif], + [$cr_make_tmp])dnl + ])dnl + ])dnl + ])dnl +])dnl + +m4_define([cr_make_acc_counter])dnl |