172211Sasmodai/*-
272211Sasmodai * Copyright 1996, 1997, 1998, 1999, 2000 John D. Polstra.
372211Sasmodai * Copyright 2003 Alexander Kabaev <kan@FreeBSD.ORG>.
472211Sasmodai * All rights reserved.
572211Sasmodai *
672705Sphantom * Redistribution and use in source and binary forms, with or without
790936Sphantom * modification, are permitted provided that the following conditions
872211Sasmodai * are met:
9253414Sbapt * 1. Redistributions of source code must retain the above copyright
1072211Sasmodai *    notice, this list of conditions and the following disclaimer.
1172211Sasmodai * 2. Redistributions in binary form must reproduce the above copyright
1272211Sasmodai *    notice, this list of conditions and the following disclaimer in the
1372211Sasmodai *    documentation and/or other materials provided with the distribution.
1472275Sache *
1572327Sache * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
1672211Sasmodai * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
1772211Sasmodai * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
1872211Sasmodai * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
1972211Sasmodai * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2072211Sasmodai * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2172211Sasmodai * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2272211Sasmodai * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2372211Sasmodai * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2472211Sasmodai * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2572211Sasmodai */
2672211Sasmodai
2772211Sasmodai#ifndef _RTLD_PATHS_H
2872211Sasmodai#define _RTLD_PATHS_H
2972211Sasmodai
3072211Sasmodai#undef _PATH_ELF_HINTS
3172211Sasmodai
3272211Sasmodai#ifndef _RTLD_COMPAT_LIB_SUFFIX
3372211Sasmodai#ifdef COMPAT_libcompat
3472211Sasmodai#define	_RTLD_COMPAT_LIB_SUFFIX	COMPAT_libcompat
3572211Sasmodai#else
3672211Sasmodai#define	_RTLD_COMPAT_LIB_SUFFIX	""
37#endif
38#endif
39
40#ifndef _RTLD_COMPAT_ENV_SUFFIX
41#ifdef COMPAT_LIBCOMPAT
42#define	_RTLD_COMPAT_ENV_SUFFIX	COMPAT_LIBCOMPAT "_"
43#else
44#define	_RTLD_COMPAT_ENV_SUFFIX	""
45#endif
46#endif
47
48#ifndef __PATH_ELF_HINTS
49#define	__PATH_ELF_HINTS(_lc)	"/var/run/ld-elf" _lc ".so.hints"
50#endif
51
52#ifndef _PATH_ELF_HINTS
53#define	_PATH_ELF_HINTS		__PATH_ELF_HINTS(_RTLD_COMPAT_LIB_SUFFIX)
54#endif
55
56#ifndef _PATH_LIBMAP_CONF
57#define	_PATH_LIBMAP_CONF	"/etc/libmap" _RTLD_COMPAT_LIB_SUFFIX ".conf"
58#endif
59
60#ifndef __BASENAME_RTLD
61#define	__BASENAME_RTLD(_lc)	"ld-elf" _lc ".so.1"
62#endif
63
64#ifndef _BASENAME_RTLD
65#define	_BASENAME_RTLD		__BASENAME_RTLD(_RTLD_COMPAT_LIB_SUFFIX)
66#endif
67
68#ifndef __PATH_RTLD
69#define	__PATH_RTLD(_lc)	"/libexec/" __BASENAME_RTLD(_lc)
70#endif
71
72#ifndef _PATH_RTLD
73#define	_PATH_RTLD		__PATH_RTLD(_RTLD_COMPAT_LIB_SUFFIX)
74#endif
75
76#ifndef STANDARD_LIBRARY_PATH
77#define	STANDARD_LIBRARY_PATH	"/lib" _RTLD_COMPAT_LIB_SUFFIX ":/usr/lib" _RTLD_COMPAT_LIB_SUFFIX
78#endif
79
80#ifndef LD_
81#define	LD_			"LD_" _RTLD_COMPAT_ENV_SUFFIX
82#endif
83
84#ifndef TOKEN_LIB
85#define	TOKEN_LIB		"lib" _RTLD_COMPAT_LIB_SUFFIX
86#endif
87
88#ifdef IN_RTLD
89extern const char *ld_elf_hints_default;
90extern const char *ld_path_libmap_conf;
91extern const char *ld_path_rtld;
92extern const char *ld_standard_library_path;
93extern const char *ld_env_prefix;
94#endif
95
96#endif /* _RTLD_PATHS_H */
97