build: Update standard build-aux files.
[gnupg.git] / common / libjnlib-config.h
1 /* libjnlib-config.h - local configuration of the jnlib functions
2  *      Copyright (C) 2000, 2001, 2006 Free Software Foundation, Inc.
3  *
4  * This file is part of JNLIB, which is a subsystem of GnuPG.
5  *
6  * JNLIB is free software; you can redistribute it and/or modify it
7  * under the terms of either
8  *
9  *   - the GNU Lesser General Public License as published by the Free
10  *     Software Foundation; either version 3 of the License, or (at
11  *     your option) any later version.
12  *
13  * or
14  *
15  *   - the GNU General Public License as published by the Free
16  *     Software Foundation; either version 2 of the License, or (at
17  *     your option) any later version.
18  *
19  * or both in parallel, as here.
20  *
21  * JNLIB is distributed in the hope that it will be useful, but
22  * WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24  * General Public License for more details.
25  *
26  * You should have received a copies of the GNU General Public License
27  * and the GNU Lesser General Public License along with this program;
28  * if not, see <http://www.gnu.org/licenses/>.
29  */
30
31 /****************
32  * This header is to be included only by the files in this directory
33  * it should not be used by other modules.
34  */
35
36 #ifndef LIBJNLIB_CONFIG_H
37 #define LIBJNLIB_CONFIG_H
38
39 #include <gcrypt.h> /* gcry_malloc & Cie. */
40 #include "logging.h"
41
42 /* We require support for utf-8 conversion. */
43 #define JNLIB_NEED_UTF8CONV 1
44
45
46
47 #if !defined(JNLIB_NEED_UTF8CONV) && defined(HAVE_W32_SYSTEM)
48 #define JNLIB_NEED_UTF8CONV 1
49 #endif
50
51 /* Gettext stuff */
52 #ifdef USE_SIMPLE_GETTEXT
53 # include <gpg-error.h>
54 # define _(a) gettext (a)
55 # define N_(a) (a)
56
57 #else
58 #ifdef HAVE_LOCALE_H
59 #  include <locale.h>
60 #endif
61
62 #ifdef ENABLE_NLS
63 # include <libintl.h>
64 # define _(a) gettext (a)
65 # ifdef gettext_noop
66 # define N_(a) gettext_noop (a)
67 # else
68 # define N_(a) (a)
69 # endif
70 #else
71 # define _(a) (a)
72 # define N_(a) (a)
73 #endif
74 #endif /* !USE_SIMPLE_GETTEXT */
75
76 /* Malloc functions to be used by jnlib.  */
77 #define jnlib_malloc(a)     gcry_malloc( (a) )
78 #define jnlib_calloc(a,b)   gcry_calloc( (a), (b) )
79 #define jnlib_realloc(a,b)  gcry_realloc( (a), (b) )
80 #define jnlib_strdup(a)     gcry_strdup( (a) )
81 #define jnlib_xmalloc(a)    gcry_xmalloc( (a) )
82 #define jnlib_xcalloc(a,b)  gcry_xcalloc( (a), (b) )
83 #define jnlib_xrealloc(a,n) gcry_xrealloc( (a), (n) )
84 #define jnlib_xstrdup(a)    gcry_xstrdup( (a) )
85 #define jnlib_free(a)       gcry_free( (a) )
86
87 /* Logging functions to be used by jnlib.  */
88 #define jnlib_log_debug    log_debug
89 #define jnlib_log_info     log_info
90 #define jnlib_log_error    log_error
91 #define jnlib_log_fatal    log_fatal
92 #define jnlib_log_bug      log_bug
93
94 /* Wrapper to set ERRNO.  */
95 #ifdef HAVE_W32CE_SYSTEM
96 # define jnlib_set_errno(e)  gpg_err_set_errno ((e))
97 #else
98 # define jnlib_set_errno(e)  do { errno = (e); } while (0)
99 #endif
100
101 /* Dummy replacement for getenv.  */
102 #ifndef HAVE_GETENV
103 #define getenv(a)  (NULL)
104 #endif
105
106 #ifdef HAVE_W32CE_SYSTEM
107 #define getpid() GetCurrentProcessId ()
108 #endif
109
110 #endif /*LIBJNUTIL_CONFIG_H*/