/* This file is automatically generated.
   It defines macros to allow user program to find the shared
   library files which come as part of GNU libc.  */
#ifndef __GNU_LIB_NAMES_H
#define __GNU_LIB_NAMES_H	1

#include <bits/wordsize.h>

#if __WORDSIZE == 32
# define LD_LINUX_SO                    "ld-linux.so.2"
# define LD_SO                          "ld-linux.so.2"
# define LIBANL_SO                      "libanl.so.1"
# define LIBBROKENLOCALE_SO             "libBrokenLocale.so.1"
# define LIBCRYPT_SO                    "libcrypt.so.1"
# define LIBC_SO                        "libc.so.6"
# define LIBDL_SO                       "libdl.so.2"
# define LIBM_SO                        "libm.so.6"
# define LIBNSL_SO                      "libnsl.so.1"
# define LIBNSS_COMPAT_SO               "libnss_compat.so.2"
# define LIBNSS_DNS_SO                  "libnss_dns.so.2"
# define LIBNSS_FILES_SO                "libnss_files.so.2"
# define LIBNSS_HESIOD_SO               "libnss_hesiod.so.2"
# define LIBNSS_LDAP_SO                 "libnss_ldap.so.2"
# define LIBNSS_NISPLUS_SO              "libnss_nisplus.so.2"
# define LIBNSS_NIS_SO                  "libnss_nis.so.2"
# define LIBPTHREAD_SO                  "libpthread.so.0"
# define LIBRESOLV_SO                   "libresolv.so.2"
# define LIBRT_SO                       "librt.so.1"
# define LIBTHREAD_DB_SO                "libthread_db.so.1"
# define LIBUTIL_SO                     "libutil.so.1"
#else
# define LD_LINUX_X86_64_SO             "ld-linux-x86-64.so.2"
# define LD_SO                          "ld-linux-x86-64.so.2"
# define LIBANL_SO                      "libanl.so.1"
# define LIBBROKENLOCALE_SO             "libBrokenLocale.so.1"
# define LIBCRYPT_SO                    "libcrypt.so.1"
# define LIBC_SO                        "libc.so.6"
# define LIBDL_SO                       "libdl.so.2"
# define LIBM_SO                        "libm.so.6"
# define LIBNSL_SO                      "libnsl.so.1"
# define LIBNSS_COMPAT_SO               "libnss_compat.so.2"
# define LIBNSS_DNS_SO                  "libnss_dns.so.2"
# define LIBNSS_FILES_SO                "libnss_files.so.2"
# define LIBNSS_HESIOD_SO               "libnss_hesiod.so.2"
# define LIBNSS_LDAP_SO                 "libnss_ldap.so.2"
# define LIBNSS_NISPLUS_SO              "libnss_nisplus.so.2"
# define LIBNSS_NIS_SO                  "libnss_nis.so.2"
# define LIBPTHREAD_SO                  "libpthread.so.0"
# define LIBRESOLV_SO                   "libresolv.so.2"
# define LIBRT_SO                       "librt.so.1"
# define LIBTHREAD_DB_SO                "libthread_db.so.1"
# define LIBUTIL_SO                     "libutil.so.1"
#endif

#endif	/* gnu/lib-names.h */
