+ Handler -dynamic-linker correctly, i.e.

skip next argument.
  + Add all library paths as $LIBRARYPATH and $OBJECTPATH
    at the end of gdblib.inc to be able to parse it
    directly in main fp.pas IDE program source
    (This solves the warning about crtbegin.o not found,
    at least for sparc-linux machine).

git-svn-id: trunk@24916 -
This commit is contained in:
pierre 2013-06-19 10:48:31 +00:00
parent 9c1a4e2217
commit 59d29b6c91

View File

@ -300,6 +300,7 @@ fi
cat comp-cmd.log | ${AWK} -v libdir="${libdir}" -v implibs="${implicitlibs}" \
-v add_libgdb=${add_libgdb} '
BEGIN {
isdynlinker=0
print "#!/usr/bin/env bash"
print "# copy-libs.sh generated by awk script"
print "INSTALL=`which ginstall 2> /dev/null `"
@ -333,6 +334,11 @@ BEGIN {
staticlib = gensub (/([^ ]*)(lib[^ ]*\.a)/,"\\1\\2 ","g",list[i]);
print "cp -p " staticlib " ${destdir}";
}
if ( list[i] ~ /^-dynamic-linker$/ ) {
i++;
print "echo dynamic linker " list[i] " skipped";
continue
}
if ( list[i] ~ /lib[^ ]*\.so/ ) {
dynamiclib = gensub (/([^ ]*)(lib[^ ]*\.so)/,"\\1\\2 ","g",list[i]);
print "echo " dynamiclib " found";
@ -370,7 +376,8 @@ chmod u+x ./copy-libs.sh
echo Creating ./gdblib.inc file
# Generate gdblib.inc file
cat comp-cmd.log |${AWK} -v gdbcvs=${gdbcvs} -v implibs="${implicitlibs}" \
cat comp-cmd.log |${AWK} -v gdbcvs=${gdbcvs} \
-v implibs="${implicitlibs}" -v libdir="${libdir}" \
-v gdbversion=${gdbversion} -v forcestatic=${forcestatic} \
-v has_get_stdin=${has_get_stdin} -v add_libgdb=${add_libgdb} '
BEGIN {
@ -397,12 +404,17 @@ BEGIN {
use_mingw=1
}
}
if ( list[i] ~ /^-dynamic-linker$/ ) {
i++;
print "{ Dynamic linker found " list[i] " }";
continue
}
if ( list[i] ~ /-D__USE_MINGW_/ ) {
use_mingw=1
}
if ( list[i] ~ /lib[^ ]*\.so/ ) {
dynamiclib = gensub (/([^ ]*)(lib[^ ]*\.so)/,"{$LINKLIB \\2} { found in \\1 }","g",list[i]);
librarypath = gensub (/([^ ]*)(lib[^ ]*\.so)/,"{$LIBRARYPATH \\1} { for \\2 }","g",list[i]);
dynamiclib = gensub (/([^ ]*)(lib[^ ]*\.so[^ ]*)(.*)/,"{$LINKLIB \\2} { found in \\1 \\3 }","g",list[i]);
librarypath = gensub (/([^ ]*)(lib[^ ]*\.so[^ ]*)(.*)/,"{$LIBRARYPATH \\1} { for \\2 \\3 }","g",list[i]);
print dynamiclib;
print librarypath;
}
@ -419,6 +431,7 @@ BEGIN {
}
}
END {
print "{ List implicit libraries }"
nb = split (implibs,list);
for (i=1;i<=nb; i++) {
if ( list[i] ~ /lib.*\.a/ ) {
@ -433,6 +446,13 @@ END {
print "{$LINKLIB " lib "} { implicit library } "
}
print "{$endif COMPILING_GDBINT_UNIT }"
print "{ List library dirs }"
nb = split (libdir,list);
for (i=1;i<=nb; i++) {
dir=list[i];
print "{$LIBRARYPATH " dir "} { library path } "
print "{$OBJECTPATH " dir "} { library path } "
}
print "{$undef NotImplemented}"
if ( use_mingw == 1 ) {
print "{$define USE_MINGW_GDB}"