aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2002-05-09 06:49:40 +0000
committerMarcus Brinkmann <[email protected]>2002-05-09 06:49:40 +0000
commit0ab2c2918ae175e18ee707dcfa82a7358193fc29 (patch)
treeeb8ae5e27704c3adecde5ae0c08e82b89727203c
parentBump version numbers in requirements. (diff)
downloadgpgme-0ab2c2918ae175e18ee707dcfa82a7358193fc29.tar.gz
gpgme-0ab2c2918ae175e18ee707dcfa82a7358193fc29.zip
2002-05-09 Marcus Brinkmann <[email protected]>
* gpgme.texi (Using Automake): New section.
-rw-r--r--TODO14
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gpgme.texi37
3 files changed, 48 insertions, 7 deletions
diff --git a/TODO b/TODO
index 6bcd6593..951cfcf7 100644
--- a/TODO
+++ b/TODO
@@ -6,17 +6,16 @@ Hey Emacs, this is -*- outline -*- mode!
representable.
* Allow to use GTK's main loop instead of the select stuff in
- wait.c
+ wait.c. !!!
* cleanup the namespace - we use log_* assuan_* ascii_* mutex_*
But those are only used internally. Some linker tricks should make
it possible to hide them from the user (didn't work last time, try
- again).
+ again). !!
* Documentation
** Add note about GPGME clearing out pointer return values.
** validity/trust
-** Document gpgme.m4
* Engines
** Move code common to all engines up from gpg to engine.
@@ -28,7 +27,8 @@ Hey Emacs, this is -*- outline -*- mode!
*** For pipemode, make sure to release the pipemode callback data object.
* Operations
-** gpgme_wait needs to be made thread safe!!!
+** gpgme_wait needs to be made thread safe. !!!
+** Passphrase callback should not copy password. !!!
** Export status handler need much more work.
** Import should return a useful error when one happened.
** Genkey should return something more useful than General_Error.
@@ -39,14 +39,14 @@ Hey Emacs, this is -*- outline -*- mode!
reported by Stephane Corthesy.
* Error Values
-** Map ASSUAN/GpgSM ERR error values in a better way than is done now.
+** Map ASSUAN/GpgSM ERR error values in a better way than is done now. !!
** Verify (and document) if Read_Error, Write_Error, Pipe_Error set errno.
* Tests
** Write a fake gpg-agent so that we can supply known passphrases to
gpgsm and setup the configuration files to use the agent. Without
this we are testing a currently running gpg-agent which is not a
- clever idea.
+ clever idea. !
** t-data
*** Test gpgme_data_release_and_get_mem.
*** Test gpgme_data_rewind for invalid types.
@@ -54,7 +54,7 @@ Hey Emacs, this is -*- outline -*- mode!
* Debug
** Handle malloc and vasprintf errors. But decide first if they should be
- ignored (and logged with 255?!), or really be assertions.
+ ignored (and logged with 255?!), or really be assertions. !
* Build suite
** Make sure everything is cleaned correctly (esp. test area).
diff --git a/doc/ChangeLog b/doc/ChangeLog
index c31643af..eac5c48e 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,5 +1,9 @@
2002-05-09 Marcus Brinkmann <[email protected]>
+ * gpgme.texi (Using Automake): New section.
+
+2002-05-09 Marcus Brinkmann <[email protected]>
+
* gpgme.texi (Multi Threading): Escape { and }.
2002-05-09 Marcus Brinkmann <[email protected]>
diff --git a/doc/gpgme.texi b/doc/gpgme.texi
index f5f766ec..fb2cf08c 100644
--- a/doc/gpgme.texi
+++ b/doc/gpgme.texi
@@ -103,6 +103,7 @@ Preparation
* Header:: What header file you need to include.
* Building the Source:: Compiler options to be used.
+* Using Automake:: Compiler options to be used the easy way.
* Library Version Check:: Getting and verifying the library version.
* Multi Threading:: How GPGME can be used in an MT environment.
@@ -296,6 +297,7 @@ of the library are verified.
@menu
* Header:: What header file you need to include.
* Building the Source:: Compiler options to be used.
+* Using Automake:: Compiler options to be used the easy way.
* Library Version Check:: Getting and verifying the library version.
* Multi Threading:: How GPGME can be used in an MT environment.
@end menu
@@ -369,6 +371,41 @@ gcc -o foo foo.c `gpgme-config --cflags --libs`
@end example
+@node Using Automake
+@section Using Automake
+@cindex automake
+@cindex autoconf
+
+It is much easier if you use GNU Automake instead writing your own
+Makefiles. If you do that you don't have to worry about finding and
+invoking the @command{gpgme-config} script at all. @acronym{GPGME}
+provides an extension to Automake that does all the work for you.
+
+@c A simple macro for optional variables.
+@macro ovar{varname}
+@r{[}@var{\varname\}@r{]}
+@end macro
+@defmac AM_PATH_GPGME (@ovar{minimum-version}, @ovar{action-if-found}, @ovar{action-if-not-found})
+Check whether @acronym{GPGME} (at least version @var{minimum-version},
+if given) exists on the host system. If it is found, execute
+@var{action-if-found}, otherwise do @var{action-if-not-found}, if
+given.
+
+Additionally, the function defines @code{GPGME_CFLAGS} to the flags
+needed for compilation of the program to find the @file{gpgme.h}
+header file, and @code{GPGME_LIBS} to the linker flags needed to link
+the program to the @acronym{GPGME} library.
+@end defmac
+
+You can use the defined Autoconf variables like this in your
+@file{Makefile.am}:
+
+@example
+AM_CPPFLAGS = $(GPGME_CFLAGS)
+LDADD = $(GPGME_LIBS)
+@end example
+
+
@node Library Version Check
@section Library Version Check
@cindex version check, of the library