From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27598 invoked by alias); 4 Jan 2003 03:28:58 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 27589 invoked from network); 4 Jan 2003 03:28:58 -0000 Received: from unknown (HELO omnigroup.com) (198.151.161.1) by 209.249.29.67 with SMTP; 4 Jan 2003 03:28:58 -0000 Received: from omnigroup.com (216-39-137-139.ip.theriver.com [216.39.137.139]) by omnigroup.com (8.10.2/8.9.1) with ESMTP id h043Sjx01844; Fri, 3 Jan 2003 19:28:45 -0800 (PST) Date: Sat, 04 Jan 2003 03:28:00 -0000 Subject: Re: [3.2/3.3/HEAD] shared libobjc not built Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v551) Cc: gcc@gcc.gnu.org, Matthias Klose , "Andrea 'fwyzard' Bocci" , mingw-patches@lists.sourceforge.net To: Nicola Pero From: "Timothy J. Wood" In-Reply-To: Message-Id: Content-Transfer-Encoding: 7bit X-SW-Source: 2003-01/txt/msg00111.txt.bz2 On Thursday, January 2, 2003, at 07:54 PM, Nicola Pero wrote: > If you can get some time to get it working on MinGW, that would be > great > :-) OK, I have it generating a dll file now. I still need to test if ObjC *works* with the DLL, but I thought I'd run this diff out to see if anyone spots any problems this might cause (I can't imagine what, but...) This patch is against the gcc-3.2.1-20021201-3 MinGW tarball, but I wouldn't be surprised if it worked on the head too :) --- ./ltcf-c.sh Fri Aug 31 17:47:19 2001 +++ ../../gcc-3.2.1-20021201-3/ltcf-c.sh Fri Jan 3 19:18:51 2003 @@ -102,7 +102,7 @@ # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported + allow_undefined_flag= always_export_symbols=yes extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ @@ -160,9 +160,9 @@ _lt_hint=1; cat $export_symbols | while read symbol; do set dummy \$symbol; - case \[$]# in - 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; - *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; + case \$# in + 2) echo " \$2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; + *) echo " \$2 @ \$_lt_hint \$3 ; " >> $output_objdir/$soname-def;; esac; _lt_hint=`expr 1 + \$_lt_hint`; done; This turns off the setting of 'allow_undefined_flag=unsupported' since the ObjC DLL doesn't *have* any undefined symbols, so there is no need to allow them! Also, this changes the shell syntax to not bork the defs file -- It could well be that /bin/sh is busted on Mac OS X (from whence I'm cross compiling), but it is now bash: % /bin/sh --version GNU bash, version 2.05a.0(1)-release (powerpc-apple-darwin6.0) Copyright 2001 Free Software Foundation, Inc. ... so I'd expect it to be reasonably close to what other folks have. I'll let you all know if I can get the DLL actually working in a bit. :) -tim