* ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.

* ldtemplate: Remove ldfile_add_library_path calls;
	just use the SEARCH_DIR commands in the script files.
	* Makefile.in: Add LIB_PATH macro, which if set is used to replace
	the SEARCH_DIR commands in the scripts (using ugly sed magic).
	This is primarily intended for cross-linking, where you would
	place libaries in a different place than native libraries.
	Also, emulations made from ldtemplate now use $(srcdir).
	* ldglda29k.sc: Change SEARCH_DIR commands to a conventional
	form; people can use the Makefile's LIB_PATH to override.
This commit is contained in:
Per Bothner 1991-10-08 23:18:03 +00:00
parent b7de6963d4
commit ee17cac9c6
3 changed files with 25 additions and 17 deletions

View File

@ -14,6 +14,12 @@ bindir = $(prefix)/bin
libdir = $(prefix)/lib
libsubdir = $(libdir)/gcc/$(target)/$(version)
# Seach path to override the default search path for -lfoo libraries.
# If LIB_PATH is empty, the ones in the script (if any) are left alone.
# Otherwise, they are replaced with the ones given in LIB_PATH,
# which may have the form: LIB_PATH=/lib:/usr/local/lib
LIB_PATH =
INSTALL = install -c
INSTALL_PROGRAM = $(INSTALL)
INSTALL_FILE = $(INSTALL)
@ -68,7 +74,12 @@ SED_REMOVE_CONSTRUCTORS= -e /CONSTRUCTORS/d
# Each .sc .scr or .scu script is filtered by mkscript
# into a string literal that can be included in a .c program.
.sc.x:
./mkscript < $< >$*.x
if [ "x"$(LIB_PATH) = "x" ]; then ./mkscript < $< >$*.x ; \
else \
(sed <$< -e '/SEARCH_DIR(.*)/d' ; \
echo $(LIB_PATH) | tr ':' ' ' | sed -e 's/\([^ ][^ ]*\)/SEARCH_DIR(\1);/g';) | ./mkscript >$*.x;\
fi
# ./mkscript < $< >$*.x
.scu.xu:
./mkscript < $< >$*.xu
.scr.xr:
@ -120,21 +131,21 @@ ldlex.c: ldlex.l
lex -t $(VPATH)/ldlex.l >ldlex.c
ldgld.c: ldtemplate
ldgld.c: $(srcdir)/ldtemplate
sed -e s/"<ldtarget>"/ldgld/g -e s/"<arch>"/m68k/g \
-e s/"<target>"//g -e s/"<TARGET>"//g < ldtemplate > ldgld.c
news.c: ldtemplate
-e s/"<target>"//g -e s/"<TARGET>"//g <$< >$@
news.c: $(srcdir)/ldtemplate
sed -e s/"<ldtarget>"/news/g -e s/"<arch>"/m68k/g \
-e s/"<target>"/news/g -e s/"<TARGET>"/NEWS/g < ldtemplate > news.c
ldgld68k.c: ldtemplate
-e s/"<target>"/news/g -e s/"<TARGET>"/NEWS/g <$< >$@
ldgld68k.c: $(srcdir)/ldtemplate
sed -e s/"<ldtarget>"/ldgld68k/g -e s/"<arch>"/m68k/g \
-e s/"<target>"/68k/g -e s/"<TARGET>"/68K/g < ldtemplate > ldgld68k.c
ldglda29k.c: ldtemplate
-e s/"<target>"/68k/g -e s/"<TARGET>"/68K/g <$< >$@
ldglda29k.c: $(srcdir)/ldtemplate
sed -e s/"<ldtarget>"/ldglda29k/g -e s/"<arch>"/a29k/g \
-e s/"<target>"/29k/g -e s/"<TARGET>"/29K/g < ldtemplate > ldglda29k.c
ldm88k.c: ldtemplate
-e s/"<target>"/29k/g -e s/"<TARGET>"/29K/g <$< >$@
ldm88k.c: $(srcdir)/ldtemplate
sed -e s/"<ldtarget>"/ldm88k/g -e s/"<arch>"/m88k/g \
-e s/"<target>"/m88kbcs/g -e s/"<TARGET>"/M88KBCS/g < ldtemplate > ldm88k.c
-e s/"<target>"/m88kbcs/g -e s/"<TARGET>"/M88KBCS/g <$< >$@
# The .c files for these are generated from ldtemplete.
ldgld.o: ./mkscript ldgld.x ldgld.xr ldgld.xu

View File

@ -1,8 +1,8 @@
OUTPUT_FORMAT("coff-a29k-big")
INPUT(/lab3/u3/sym1/tools/usr/lib/segments.o) /* Has .rstack/.mstack */
SEARCH_DIR(/lab3/u3/sym1/tools/lib)
SEARCH_DIR(/lab3/u3/sym1/tools/usr/lib)
SEARCH_DIR(/lab3/u3/sym1/tools/usr/local/lib)
SEARCH_DIR(/lib)
SEARCH_DIR(/usr/lib)
SEARCH_DIR(/usr/local/lib)
MEMORY {
text : ORIGIN = 0x1000000, LENGTH = 0x1000000
talias : ORIGIN = 0x2000000, LENGTH = 0x1000000

View File

@ -61,9 +61,6 @@ static void gld<target>_before_parse()
extern char lprefix;
lprefix = '@';
#else
ldfile_add_library_path("/lib");
ldfile_add_library_path("/usr/lib");
ldfile_add_library_path("/usr/local/lib");
#ifndef TARGET_ /* I.e., if not generic */
ldfile_output_architecture = bfd_arch_<arch>;
#endif