mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
- added code to install an 'ar' script which appends the U flag to the first
argument. the semantics for ar were changed to zero out the timestamp of each module. nmake relies on the timestamp to tell if the module has changed - added modified 'cc' scripts for linux to add the -P flag. modern gcc's put # lines that confuse nmake - changed make.probe script to drop -nostartfiles for gcc >= 7.0
This commit is contained in:
parent
0be82553e9
commit
0b36868c8c
7 changed files with 139 additions and 1 deletions
|
|
@ -40,6 +40,12 @@ probe_no_protect="'-fno-stack-protector -fno-stack-protector-all' -GS-"
|
|||
probe_readonly="-R -Krodata -xMerge -Wa,-r"
|
||||
probe_shared="'' -G -b -c -shared -Wl,dll"
|
||||
probe_shared_name="-Wl,-soname= -h"
|
||||
probe_shared_nostart="-nostartfiles"
|
||||
case `gcc -v 2>&1 | egrep gcc.version` in
|
||||
*version' '7*) probe_shared_nostart= ;;
|
||||
*version' '8*) probe_shared_nostart= ;;
|
||||
*version' '9*) probe_shared_nostart= ;;
|
||||
esac
|
||||
probe_shared_registry='"-update_registry $probe_shared_registry_file"'
|
||||
probe_shared_registry_file='registry.ld'
|
||||
probe_shared_registry_path="\$(LIBDIR)/$probe_shared_registry_file"
|
||||
|
|
@ -708,6 +714,37 @@ case $cc_dll:$cc_pic:$so:$dynamic:$static in
|
|||
esac
|
||||
dld=$xx
|
||||
shared=$1
|
||||
# does -nostartfiles make sense for C?
|
||||
case $plusplus in
|
||||
'') z=`wc -c < xxx$dll`
|
||||
eval set x $probe_shared_nostart
|
||||
while :
|
||||
do shift
|
||||
case $# in
|
||||
0) break ;;
|
||||
esac
|
||||
rm -f xxx$dll
|
||||
if $dld $shared $1 -o xxx$dll shared.$obj 2>e && test -r xxx$dll
|
||||
then case `wc -c < xxx$dll` in
|
||||
$z) ;;
|
||||
*) if test -s e
|
||||
then case `cat e` in
|
||||
*[Ee][Rr][Rr][Oo][Rr]*|*[Ww][Aa][Rr][Nn][Ii][Nn][Gg]*|*[Oo][Pp][Tt][Ii][Oo][Nn]*)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
case $shared in
|
||||
'') shared=$1 ;;
|
||||
*) shared="$shared $1" ;;
|
||||
esac
|
||||
break
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
case $cc_dll in
|
||||
"") cc_dll=$cc_dll_def ;;
|
||||
esac
|
||||
|
|
|
|||
|
|
@ -5601,6 +5601,18 @@ make|view)
|
|||
;;
|
||||
esac
|
||||
done
|
||||
c=ar
|
||||
b=$INSTALLROOT/bin/$c
|
||||
for t in $h
|
||||
do s=$INITROOT/$c.$t
|
||||
test -x "$s" || continue
|
||||
case `ls -t "$b" "$s" 2>/dev/null` in
|
||||
$b*) ;;
|
||||
$s*) $exec cp "$s" "$b"
|
||||
note update $b
|
||||
;;
|
||||
esac
|
||||
done
|
||||
# following code stubbed out just in case ar.ibm.risc is needed
|
||||
# c=ar
|
||||
# b=$INSTALLROOT/bin/$c
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue