From 5f37dfd98b624111d573bcdadfad0ee82c999cbe Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 10 Jun 2009 11:07:02 +0100 Subject: Add meta-gnome overlay information for gnome packages which aren't part of standard Poky (based on OE.dev but with additions/modifications) Signed-off-by: Richard Purdie --- meta-gnome/packages/gnome/files/acinclude.m4 | 90 +++++++++++++++ meta-gnome/packages/gnome/files/gtk-doc.m4 | 53 +++++++++ meta-gnome/packages/gnome/files/gtk-doc.make | 148 ++++++++++++++++++++++++ meta-gnome/packages/gnome/files/tasn.m4 | 161 +++++++++++++++++++++++++++ 4 files changed, 452 insertions(+) create mode 100644 meta-gnome/packages/gnome/files/acinclude.m4 create mode 100644 meta-gnome/packages/gnome/files/gtk-doc.m4 create mode 100644 meta-gnome/packages/gnome/files/gtk-doc.make create mode 100644 meta-gnome/packages/gnome/files/tasn.m4 (limited to 'meta-gnome/packages/gnome/files') diff --git a/meta-gnome/packages/gnome/files/acinclude.m4 b/meta-gnome/packages/gnome/files/acinclude.m4 new file mode 100644 index 000000000..53518fb2e --- /dev/null +++ b/meta-gnome/packages/gnome/files/acinclude.m4 @@ -0,0 +1,90 @@ +## this one is commonly used with AM_PATH_PYTHONDIR ... +dnl AM_CHECK_PYMOD(MODNAME [,SYMBOL [,ACTION-IF-FOUND [,ACTION-IF-NOT-FOUND]]]) +dnl Check if a module containing a given symbol is visible to python. +AC_DEFUN(AM_CHECK_PYMOD, +[AC_REQUIRE([AM_PATH_PYTHON]) +py_mod_var=`echo $1['_']$2 | sed 'y%./+-%__p_%'` +AC_MSG_CHECKING(for ifelse([$2],[],,[$2 in ])python module $1) +AC_CACHE_VAL(py_cv_mod_$py_mod_var, [ +ifelse([$2],[], [prog=" +import sys +try: + import $1 +except ImportError: + sys.exit(1) +except: + sys.exit(0) +sys.exit(0)"], [prog=" +import $1 +$1.$2"]) +if $PYTHON -c "$prog" 1>&AC_FD_CC 2>&AC_FD_CC + then + eval "py_cv_mod_$py_mod_var=yes" + else + eval "py_cv_mod_$py_mod_var=no" + fi +]) +py_val=`eval "echo \`echo '$py_cv_mod_'$py_mod_var\`"` +if test "x$py_val" != xno; then + AC_MSG_RESULT(yes) + ifelse([$3], [],, [$3 +])dnl +else + AC_MSG_RESULT(no) + ifelse([$4], [],, [$4 +])dnl +fi +]) + +dnl a macro to check for ability to create python extensions +dnl AM_CHECK_PYTHON_HEADERS([ACTION-IF-POSSIBLE], [ACTION-IF-NOT-POSSIBLE]) +dnl function also defines PYTHON_INCLUDES +AC_DEFUN([AM_CHECK_PYTHON_HEADERS], +[AC_REQUIRE([AM_PATH_PYTHON]) +AC_MSG_CHECKING(for headers required to compile python extensions) +dnl deduce PYTHON_INCLUDES +AC_ARG_WITH(python-includes, + [ --with-python-includes=DIR path to Python includes], py_exec_prefix=$withval) +if test x$py_exec_prefix != x; then +PYTHON_INCLUDES="-I${py_exec_prefix}/include/python${PYTHON_VERSION}" +else +py_prefix=`$PYTHON -c "import sys; print sys.prefix"` +py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` +PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" +if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" +fi +fi +AC_SUBST(PYTHON_INCLUDES) +dnl check if the headers exist: +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES" +AC_TRY_CPP([#include ],dnl +[AC_MSG_RESULT(found) +$1],dnl +[AC_MSG_RESULT(not found) +$2]) +CPPFLAGS="$save_CPPFLAGS" +]) + +dnl +dnl JH_ADD_CFLAG(FLAG) +dnl checks whether the C compiler supports the given flag, and if so, adds +dnl it to $CFLAGS. If the flag is already present in the list, then the +dnl check is not performed. +AC_DEFUN([JH_ADD_CFLAG], +[ +case " $CFLAGS " in +*@<:@\ \ @:>@$1@<:@\ \ @:>@*) + ;; +*) + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $1" + AC_MSG_CHECKING([whether [$]CC understands $1]) + AC_TRY_COMPILE([], [], [jh_has_option=yes], [jh_has_option=no]) + AC_MSG_RESULT($jh_has_option) + if test $jh_has_option = no; then + CFLAGS="$save_CFLAGS" + fi + ;; +esac]) diff --git a/meta-gnome/packages/gnome/files/gtk-doc.m4 b/meta-gnome/packages/gnome/files/gtk-doc.m4 new file mode 100644 index 000000000..3ec41666b --- /dev/null +++ b/meta-gnome/packages/gnome/files/gtk-doc.m4 @@ -0,0 +1,53 @@ +dnl -*- mode: autoconf -*- + +# serial 1 + +dnl Usage: +dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) +AC_DEFUN([GTK_DOC_CHECK], +[ + AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first + AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first + dnl for overriding the documentation installation directory + AC_ARG_WITH(html-dir, + AC_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, + [with_html_dir='${datadir}/gtk-doc/html']) + HTML_DIR="$with_html_dir" + AC_SUBST(HTML_DIR) + + dnl enable/disable documentation building + AC_ARG_ENABLE(gtk-doc, + AC_HELP_STRING([--enable-gtk-doc], + [use gtk-doc to build documentation [default=no]]),, + enable_gtk_doc=no) + + have_gtk_doc=no + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + if test "$PKG_CONFIG" != "no" && $PKG_CONFIG --exists gtk-doc; then + have_gtk_doc=yes + fi + + dnl do we want to do a version check? +ifelse([$1],[],, + [gtk_doc_min_version=$1 + if test "$have_gtk_doc" = yes; then + AC_MSG_CHECKING([gtk-doc version >= $gtk_doc_min_version]) + if $PKG_CONFIG --atleast-version $gtk_doc_min_version gtk-doc; then + AC_MSG_RESULT(yes) + else + AC_MSG_RESULT(no) + have_gtk_doc=no + fi + fi +]) + if test x$enable_gtk_doc = xyes; then + if test "$have_gtk_doc" != yes; then + enable_gtk_doc=no + fi + fi + + AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes) + AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, test -n "$LIBTOOL") +]) diff --git a/meta-gnome/packages/gnome/files/gtk-doc.make b/meta-gnome/packages/gnome/files/gtk-doc.make new file mode 100644 index 000000000..c319e7ad7 --- /dev/null +++ b/meta-gnome/packages/gnome/files/gtk-doc.make @@ -0,0 +1,148 @@ +# -*- mode: makefile -*- + +#################################### +# Everything below here is generic # +#################################### + +if GTK_DOC_USE_LIBTOOL +GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) +else +GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) +endif + +# We set GPATH here; this gives us semantics for GNU make +# which are more like other make's VPATH, when it comes to +# whether a source that is a target of one rule is then +# searched for in VPATH/GPATH. +# +GPATH = $(srcdir) + +TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) + +EXTRA_DIST = \ + $(content_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ + $(DOC_MODULE).types \ + $(DOC_MODULE)-sections.txt \ + $(DOC_MODULE)-overrides.txt + +DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ + $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp + +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ + $(DOC_MODULE).hierarchy \ + $(DOC_MODULE).interfaces \ + $(DOC_MODULE).prerequisites \ + $(DOC_MODULE).signals + +CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-scan.o $(DOC_MODULE)-unused.txt $(DOC_STAMPS) + +if ENABLE_GTK_DOC +all-local: html-build.stamp + +#### scan #### + +scan-build.stamp: $(HFILE_GLOB) + @echo '*** Scanning header files ***' + @-chmod -R u+w $(srcdir) + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + else \ + cd $(srcdir) ; \ + for i in $(SCANOBJ_FILES) ; do \ + test -f $$i || touch $$i ; \ + done \ + fi + cd $(srcdir) && \ + gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) + touch scan-build.stamp + +$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp + @true + +#### templates #### + +tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt + @echo '*** Rebuilding template files ***' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) + touch tmpl-build.stamp + +tmpl.stamp: tmpl-build.stamp + @true + +#### xml #### + +sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml + @echo '*** Building XML ***' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && \ + gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS) + touch sgml-build.stamp + +sgml.stamp: sgml-build.stamp + @true + +#### html #### + +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) + @echo '*** Building HTML ***' + @-chmod -R u+w $(srcdir) + rm -rf $(srcdir)/html + mkdir $(srcdir)/html + cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) + @echo '-- Fixing Crossreferences' + cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp +endif + +############## + +clean-local: + rm -f *~ *.bak + +maintainer-clean-local: clean + cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt + +install-data-local: + $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR) + (installfiles=`echo $(srcdir)/html/*`; \ + if test "$$installfiles" = '$(srcdir)/html/*'; \ + then echo '-- Nothing to install' ; \ + else \ + for i in $$installfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ + done; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ + fi) + +uninstall-local: + rm -f $(DESTDIR)$(TARGET_DIR)/* + +# +# Require gtk-doc when making dist +# +if ENABLE_GTK_DOC +dist-check-gtkdoc: +else +dist-check-gtkdoc: + @echo "*** gtk-doc must be installed and enabled in order to make dist" + @false +endif + +dist-hook: dist-check-gtkdoc dist-hook-local + mkdir $(distdir)/tmpl + mkdir $(distdir)/xml + mkdir $(distdir)/html + -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl + -cp $(srcdir)/xml/*.xml $(distdir)/xml + -cp $(srcdir)/html/* $(distdir)/html + +.PHONY : dist-hook-local diff --git a/meta-gnome/packages/gnome/files/tasn.m4 b/meta-gnome/packages/gnome/files/tasn.m4 new file mode 100644 index 000000000..6df32085a --- /dev/null +++ b/meta-gnome/packages/gnome/files/tasn.m4 @@ -0,0 +1,161 @@ +dnl Autoconf macros for libtasn1 +dnl $id$ + +# Modified for LIBTASN1 -- nmav +# Configure paths for LIBGCRYPT +# Shamelessly stolen from the one of XDELTA by Owen Taylor +# Werner Koch 99-12-09 + +dnl AM_PATH_LIBTASN1([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl Test for libtasn1, and define LIBTASN1_CFLAGS and LIBTASN1_LIBS +dnl +AC_DEFUN([AM_PATH_LIBTASN1], +[dnl +dnl Get the cflags and libraries from the libtasn1-config script +dnl +AC_ARG_WITH(libtasn1-prefix, + [ --with-libtasn1-prefix=PFX Prefix where libtasn1 is installed (optional)], + libtasn1_config_prefix="$withval", libtasn1_config_prefix="") + + if test x$libtasn1_config_prefix != x ; then + if test x${LIBTASN1_CONFIG+set} != xset ; then + LIBTASN1_CONFIG=$libtasn1_config_prefix/bin/libtasn1-config + fi + fi + + AC_PATH_PROG(LIBTASN1_CONFIG, libtasn1-config, no) + min_libtasn1_version=ifelse([$1], ,0.1.0,$1) + AC_MSG_CHECKING(for libtasn1 - version >= $min_libtasn1_version) + no_libtasn1="" + if test "$LIBTASN1_CONFIG" = "no" ; then + no_libtasn1=yes + else + LIBTASN1_CFLAGS=`$LIBTASN1_CONFIG $libtasn1_config_args --cflags` + LIBTASN1_LIBS=`$LIBTASN1_CONFIG $libtasn1_config_args --libs` + libtasn1_config_version=`$LIBTASN1_CONFIG $libtasn1_config_args --version` + + + ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $LIBTASN1_CFLAGS" + LIBS="$LIBS $LIBTASN1_LIBS" +dnl +dnl Now check if the installed libtasn1 is sufficiently new. Also sanity +dnl checks the results of libtasn1-config to some extent +dnl + rm -f conf.libtasn1test + AC_TRY_RUN([ +#include +#include +#include +#include + +int +main () +{ + system ("touch conf.libtasn1test"); + + if( strcmp( asn1_check_version(NULL), "$libtasn1_config_version" ) ) + { + printf("\n*** 'libtasn1-config --version' returned %s, but LIBTASN1 (%s)\n", + "$libtasn1_config_version", asn1_check_version(NULL) ); + printf("*** was found! If libtasn1-config was correct, then it is best\n"); + printf("*** to remove the old version of LIBTASN1. You may also be able to fix the error\n"); + printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); + printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); + printf("*** required on your system.\n"); + printf("*** If libtasn1-config was wrong, set the environment variable LIBTASN1_CONFIG\n"); + printf("*** to point to the correct copy of libtasn1-config, and remove the file config.cache\n"); + printf("*** before re-running configure\n"); + } + else if ( strcmp(asn1_check_version(NULL), LIBTASN1_VERSION ) ) + { + printf("\n*** LIBTASN1 header file (version %s) does not match\n", LIBTASN1_VERSION); + printf("*** library (version %s)\n", asn1_check_version(NULL) ); + } + else + { + if ( asn1_check_version( "$min_libtasn1_version" ) ) + { + return 0; + } + else + { + printf("no\n*** An old version of LIBTASN1 (%s) was found.\n", + asn1_check_version(NULL) ); + printf("*** You need a version of LIBTASN1 newer than %s. The latest version of\n", + "$min_libtasn1_version" ); + printf("*** LIBTASN1 is always available from ftp://gnutls.hellug.gr/pub/gnutls/libtasn1.\n"); + printf("*** \n"); + printf("*** If you have already installed a sufficiently new version, this error\n"); + printf("*** probably means that the wrong copy of the libtasn1-config shell script is\n"); + printf("*** being found. The easiest way to fix this is to remove the old version\n"); + printf("*** of LIBTASN1, but you can also set the LIBTASN1_CONFIG environment to point to the\n"); + printf("*** correct copy of libtasn1-config. (In this case, you will have to\n"); + printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); + printf("*** so that the correct libraries are found at run-time))\n"); + } + } + return 0; +} +],, no_libtasn1=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + + if test "x$no_libtasn1" = x ; then + AC_MSG_RESULT(yes) + ifelse([$2], , :, [$2]) + else + if test -f conf.libtasn1test ; then + : + else + AC_MSG_RESULT(no) + fi + if test "$LIBTASN1_CONFIG" = "no" ; then + echo "*** The libtasn1-config script installed by LIBTASN1 could not be found" + echo "*** If LIBTASN1 was installed in PREFIX, make sure PREFIX/bin is in" + echo "*** your path, or set the LIBTASN1_CONFIG environment variable to the" + echo "*** full path to libtasn1-config." + else + if test -f conf.libtasn1test ; then + : + else + echo "*** Could not run libtasn1 test program, checking why..." + CFLAGS="$CFLAGS $LIBTASN1_CFLAGS" + LIBS="$LIBS $LIBTASN1_LIBS" + AC_TRY_LINK([ +#include +#include +#include +#include +], [ return !!asn1_check_version(NULL); ], + [ echo "*** The test program compiled, but did not run. This usually means" + echo "*** that the run-time linker is not finding LIBTASN1 or finding the wrong" + echo "*** version of LIBTASN1. If it is not finding LIBTASN1, you'll need to set your" + echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" + echo "*** to the installed location Also, make sure you have run ldconfig if that" + echo "*** is required on your system" + echo "***" + echo "*** If you have an old version installed, it is best to remove it, although" + echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" + echo "***" ], + [ echo "*** The test program failed to compile or link. See the file config.log for the" + echo "*** exact error that occured. This usually means LIBTASN1 was incorrectly installed" + echo "*** or that you have moved LIBTASN1 since it was installed. In the latter case, you" + echo "*** may want to edit the libtasn1-config script: $LIBTASN1_CONFIG" ]) + CFLAGS="$ac_save_CFLAGS" + LIBS="$ac_save_LIBS" + fi + fi + LIBTASN1_CFLAGS="" + LIBTASN1_LIBS="" + ifelse([$3], , :, [$3]) + fi + rm -f conf.libtasn1test + AC_SUBST(LIBTASN1_CFLAGS) + AC_SUBST(LIBTASN1_LIBS) +]) + +dnl *-*wedit:notab*-* Please keep this as the last line. + -- cgit v1.2.3