Imported Upstream version 2.4.2
[platform/upstream/libtool.git] / libltdl / libltdl / lt__glibc.h
1 /* lt__glibc.h -- support for non glibc environments
2
3    Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc.
4    Written by Gary V. Vaughan, 2004
5
6    NOTE: The canonical source of this file is maintained with the
7    GNU Libtool package.  Report bugs to bug-libtool@gnu.org.
8
9 GNU Libltdl is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Lesser General Public
11 License as published by the Free Software Foundation; either
12 version 2 of the License, or (at your option) any later version.
13
14 As a special exception to the GNU Lesser General Public License,
15 if you distribute this file as part of a program or library that
16 is built using GNU Libtool, you may include this file under the
17 same distribution terms that you use for the rest of that program.
18
19 GNU Libltdl is distributed in the hope that it will be useful,
20 but WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22 GNU Lesser General Public License for more details.
23
24 You should have received a copy of the GNU Lesser General Public
25 License along with GNU Libltdl; see the file COPYING.LIB.  If not, a
26 copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
27 or obtained by writing to the Free Software Foundation, Inc.,
28 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
29 */
30
31 #if !defined(LT__GLIBC_H)
32 #define LT__GLIBC_H 1
33
34 #if defined(LT_CONFIG_H)
35 #  include LT_CONFIG_H
36 #else
37 #  include <config.h>
38 #endif
39
40 #if !defined(HAVE_ARGZ_H) || !defined(HAVE_WORKING_ARGZ)
41 /* Redefine any glibc symbols we reimplement to import the
42    implementations into our lt__ namespace so we don't ever
43    clash with the system library if our clients use argz_*
44    from there in addition to libltdl.  */
45 #  undef  argz_append
46 #  define argz_append           lt__argz_append
47 #  undef  argz_create_sep
48 #  define argz_create_sep       lt__argz_create_sep
49 #  undef  argz_insert
50 #  define argz_insert           lt__argz_insert
51 #  undef  argz_next
52 #  define argz_next             lt__argz_next
53 #  undef  argz_stringify
54 #  define argz_stringify        lt__argz_stringify
55 #endif
56
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60
61 #include <argz.h>
62
63 #ifdef __cplusplus
64 }
65 #endif
66
67 # define slist_concat   lt__slist_concat
68 # define slist_cons     lt__slist_cons
69 # define slist_delete   lt__slist_delete
70 # define slist_remove   lt__slist_remove
71 # define slist_reverse  lt__slist_reverse
72 # define slist_sort     lt__slist_sort
73 # define slist_tail     lt__slist_tail
74 # define slist_nth      lt__slist_nth
75 # define slist_find     lt__slist_find
76 # define slist_length   lt__slist_length
77 # define slist_foreach  lt__slist_foreach
78 # define slist_box      lt__slist_box
79 # define slist_unbox    lt__slist_unbox
80
81 #include <slist.h>
82
83 #endif /*!defined(LT__GLIBC_H)*/