summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2007-01-07 13:00:56 +0000
committertruelight <truelight@openttd.org>2007-01-07 13:00:56 +0000
commitc6da059f7b99250a3fd28483fd51ed4b0ff6d75a (patch)
tree6918290e157bf69eb00383444fa565e08aa05e48
parent98f0c0f4288624a283dc6505400aff13bc74f4d0 (diff)
downloadopenttd-c6da059f7b99250a3fd28483fd51ed4b0ff6d75a.tar.xz
(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? :)
-rw-r--r--config.lib9
1 files changed, 8 insertions, 1 deletions
diff --git a/config.lib b/config.lib
index 6f94cc798..0dfafc82b 100644
--- a/config.lib
+++ b/config.lib
@@ -449,6 +449,10 @@ check_params() {
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_windres() {
}
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