changeset 5559:df0164877d13 draft

(svn r7959) [Configure] -Fix: OS2-gcc needs to get stripping via gcc, because it needs to be feed to emxbind at link-time. emxbind changes 'emx a.out' format to 'LX for OS/2 (MS-DOS)'. After this, all gcc and binutils tools for emx can no longer read the binary. Therefor emxbind needs to do the stripping while converting it. Logic, aint it? :)
author truelight <truelight@openttd.org>
date Sun, 07 Jan 2007 13:00:56 +0000
parents 7035f001461c
children 0a4c6f111052
files config.lib
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/config.lib
+++ b/config.lib
@@ -449,6 +449,10 @@
 			strip_arg="--strip-all --strip-unneeded --remove-section .comment"
 		elif [ "$os" = "OSX" ]; then
 			strip_arg=""
+		elif [ "$os" = "OS2" ]; then
+			strip_arg=""
+			# OS2 uses strip via gcc, because it needs to be feed to emxbind
+			LDFLAGS="$LDFLAGS -s"
 		else
 			strip_arg="-s"
 		fi
@@ -988,7 +992,10 @@
 }
 
 check_strip() {
-	if [ "$os" = "OSX" ]; then
+	if [ "$os" = "OS2" ]; then
+		# OS2 via gcc is a bit weird.. stripping HAS to be done via emxbind, which is via gcc directly
+		echo "checking for host strip... using gcc -s option"
+	elif [ "$os" = "OSX" ]; then
 		# Most targets have -V in strip, to see if they exists... OSX doesn't.. so execute something
 		echo "int main(int argc, char *argv[]) { }" > strip.test.c
 		$cc_host strip.test.c -o strip.test