* ldexp.h, ldlang.h: Change enum boolean -> enum bfd_boolean.
authorPer Bothner <per@bothner.com>
Tue, 8 Oct 1991 23:18:03 +0000 (23:18 +0000)
committerPer Bothner <per@bothner.com>
Tue, 8 Oct 1991 23:18:03 +0000 (23:18 +0000)
* 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.

ld/Makefile.in
ld/ldglda29k.sc
ld/ldtemplate

index 29d1036..c7c9c36 100644 (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
index 6d7d19a..ed7544c 100755 (executable)
@@ -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
index 34d2da3..b627935 100755 (executable)
@@ -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