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