2002-05-09 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Thu, 9 May 2002 06:49:40 +0000 (06:49 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Thu, 9 May 2002 06:49:40 +0000 (06:49 +0000)
* gpgme.texi (Using Automake): New section.

TODO
doc/ChangeLog
doc/gpgme.texi

diff --git a/TODO b/TODO
index 6bcd6593e34a8c73a01f36544b4afd46c4d583ed..951cfcf7711c632b162e3c9e9841d06ff6889e1b 100644 (file)
--- 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).
index c31643af321bb92282034036039b71d1081e9127..eac5c48e778b1d7c9eaac3ca5d5acae13e951ab8 100644 (file)
@@ -1,3 +1,7 @@
+2002-05-09  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpgme.texi (Using Automake): New section.
+
 2002-05-09  Marcus Brinkmann  <marcus@g10code.de>
 
        * gpgme.texi (Multi Threading): Escape { and }.
index f5f766ecc4fa7eca5ae4bd4a01f355aaa17c9845..fb2cf08cf7a5d1d7ddc1b61b9b7c84a90d57fdf7 100644 (file)
@@ -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