(svn r7959) [Configure] -Fix: OS2-gcc needs to get stripping via gcc, because it needs to be feed to emxbind at link-time.
authortruelight
Sun, 07 Jan 2007 13:00:56 +0000
changeset 5810 7959ee2ab55a
parent 5809 cd61f8b74f7d
child 5811 cb94a44f0e29
(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? :)
config.lib
--- a/config.lib	Sun Jan 07 09:48:10 2007 +0000
+++ b/config.lib	Sun Jan 07 13:00:56 2007 +0000
@@ -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