Re: Cross-compiling GNUstep?

2013-12-30 Thread Andrew Pinski
On Mon, Dec 30, 2013 at 2:26 AM, David Chisnall thera...@sucs.org wrote:
 On 30 Dec 2013, at 07:23, Richard Frith-Macdonald 
 richardfrithmacdon...@gmail.com wrote:

 In my experience CMake is far more of a burden because it doesn't have the 
 years of documentation development that autoconf has, and (more importantly 
 to me) because its a monolithic C program.  You need to get the source and 
 figure out what it's doing, and that's just easier to do with the configure 
 script and macros in autoconf.

 This is simply not true.  The vast majority of the logic of cmake is in the 
 .cmake files.  The 'monolithic C program' (which is written in C++) is just 
 the interpreter.  Large library projects typically distribute their own 
 .cmake files containing specific rules for their build systems, but these 
 compose with other rules.  For example, LLVM ships a bunch of .cmake files, 
 which libobjc2 uses when building the LLVM optimisation passes.  Qt, KDE, and 
 so on all ship custom .cmake files that simplify building apps for those 
 platforms.  I don't think I've ever looked at the source for CMake, though I 
 use it for a number of projects - I've always found what I needed to do by 
 either reading the documentation or searching their mailing list archives.

 My main attraction to CMake, however, is not CMake itself as much as Ninja, 
 which dramatically improves life when doing a lot of incremental builds.  
 LLVM has both CMake and autoconf+make build systems.  After changing one 
 file, the Ninja files that CMake generates can do an incremental build in 
 less time than it takes for the GNU Make build system to determine that it 
 has no work to do if you don't change any files.  Oh, and when it needs to 
 reconfigure, rerunning cmake takes about a fifth of the time that running 
 ./configure takes, even though it's actually doing more work (configure just 
 sets some flags for some hand-written Makefiles to use, cmake generates the 
 build system).


Yes it might be faster than autoconf/automake but it is less
standardized things to do in cmake.  I have played around with a cmake
system in the last year and found it was horrible as the options that
I needed to do for cross compiling was all different and did not
always do the correct thing so I had to hack the files instead.
autoconfig/automake has some nice standardized way of figuring out if
an API and/or a library exists.  When was the last time you did a
cross of a library that was not autoconf'd?  cmake was not designed
for cross compiling or even fits in a GNU project.  Yes autoconf has
its issue (slow due to being a big shell script) but being slow helps
the portability of it.  Try building cmake itself, it is a hard thing
to do really; worse than GCC.

Thanks,
Andrew Pinski



 For OS X users, there's a nice CMake GUI that lets you generate XCode project 
 files, which I imagine would be very attractive to users wanting to run 
 GNUstep code on that platform.  The generated XCode files aren't perfect, but 
 they're a lot easier for OS X developers to use than GNUstep Make.  Oh, and 
 they already support building .app and .framework bundles on OS X, so it 
 should be possible to reuse some of this code, which might even give us some 
 existing OS X applications running on GNUstep for free...

 That said, I completely agree with Fred, that there's no point discussing a 
 change of build system without at least a proof of concept demonstration that 
 another one would work.  I would, however, suggest that this would be much 
 easier to do if we had some documentation describing things like the various 
 filesystem / bundle layouts.

 David

 -- Sent from my Cray X1


 ___
 Gnustep-dev mailing list
 Gnustep-dev@gnu.org
 https://lists.gnu.org/mailman/listinfo/gnustep-dev

___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Native ObjC exceptions configure test broken with libobjc2

2010-09-18 Thread Andrew Pinski



On Sep 18, 2010, at 11:31 AM, David Chisnall thera...@sucs.org wrote:



On 18 Sep 2010, at 19:24, Nicola Pero wrote:

I'd suggest that libobjc2 could include a minimal Object  
implementation.
Having Object is handy to perform simple configure tests and both  
the Apple
and GNU runtime include a minimal implementation for that  
reason ... it would

make sense for libobjc2 to do so too ;-)


Actually, this test will fail with Apple's Modern Runtime too -  
Object no longer implements +new.  If you define __OBJC2__ (which  
recent Apple compilers do, you only get these two methods on Object:


+class;
-(BOOL) isEqual:anObject;

+new is no longer allowed, so there is no defined way of creating  
Object instances.  Using Object is generally not sensible, so I  
don't support it in libobjc2.


Except that is part of the gnu runtime abi so not defining it will  
break other things in general.




Else, if you have a patch to get the test to work with libobjc2 as  
it is,

I'd happily accept it.


I've already fixed most of the configure scripts to define their own  
root class, if they need it.  It should be trivial to copy one of  
those across into this test.


David


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Interesting discussion on gcc about objc

2010-09-13 Thread Andrew Pinski



On Sep 13, 2010, at 6:08 AM, David Chisnall thera...@sucs.org wrote:


On 13 Sep 2010, at 13:53, Vincent Richomme wrote:


GNU ObjC has so few users that it seems hardly worth the effort


In the same time do you have an idea of how many people are  
interested

in gnustep ?
I would be very curious to know it.
DO you some some fugures ?


I've absolutely no idea.  I suspect that OS X and the iPhone have  
increased interest a bit, and will a bit more once we have a UIKit  
implementation, but I don't have any real figures.  The only data  
point I have is that all of the talks I gave at FOSDEM this year had  
people standing up in the audience because there weren't enough  
chairs in our devroom for everyone.


I'm not condemning GCC for its stance.  C and C++ are definitely  
much more popular languages than Objective-C, and I wouldn't blame  
them if they decided to completely drop Objective-C support.  No  
one's really worked on it for around 7 years and the code that they  
inherited from NeXT is basically unmaintainable.  I just get fed up  
with people saying 'we have to make an effort to support GCC because  
we are also a GNU project' when people on the GCC side say that  
supporting us is too much effort.


Well if apple did the work like they should have done.  This would not  
be an issue. So I still say blame apple and not support clang for the  
same reason.





David

-- Send from my Jacquard Loom


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Interesting discussion on gcc about objc

2010-09-13 Thread Andrew Pinski
On Mon, Sep 13, 2010 at 9:23 AM, Pete French p...@twisted.org.uk wrote:
 In practical terms that stance doesn't exactly lead to us ending up with
 a good complier though does it? Clang is a v.good compiler, and is being
 maintained. Not supporting it is rather biting off our nose to spite
 our face, especially if GCC isn't interested in supporting ObjC anymore.

Well GCC is interested in Objective-C except we don't have anyone
really working on it.  That is the biggest issue right now.  We want
to support it; trust me.  If someone would step up to the plate and do
the supporting work, we will keep it.  The biggest issue is that Apple
had stepped up to the plate and then disappeared to go do clang
because of politics due to GPLv3.  Since GNUStep is a GNU project I
think we should support GPLv3 friendly companies/projects before we
give in to ones that don't want to even want to look at GPLv3 code.

Thanks,
Andrew Pinski

___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep base almost builds with clang

2009-03-31 Thread Andrew Pinski
On Tue, Mar 31, 2009 at 4:56 PM, Pete French p...@twisted.org.uk wrote:
 All the rest of the email, however, I agree with - the lack of
 ObjC maintenance on GCC worries me greatly. I depend on this
 stuff for my living, and for my business to make sales. Having
 somewhere else to jump to would make me give a huge sigh of relief.

Well if your business depends on it, you might want to hire someone
someone to do the development.
Apple has moved away from GCC so you can no longer depend on them.
Maybe it is just me and your business model is incorrect to depend on
free things when in reality there is no such thing as a free lunch.

-- Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep base almost builds with clang

2009-03-31 Thread Andrew Pinski
On Tue, Mar 31, 2009 at 5:51 PM, Pete French p...@twisted.org.uk wrote:
 Well if your business depends on it, you might want to hire someone
 someone to do the development.

 Well, that would be me. But I kind of have a lot of other stuff to
 do. I'll reprhrase it as I dont want to take this on myself.

 Apple has moved away from GCC so you can no longer depend on them.

 This I did not know. Interesting. I assumed Xcode was still using
 gcc.

I should have said moving away but really they are so close to have
moved away, it can be considered moved.

-- Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: objc native exceptions

2008-06-27 Thread Andrew Pinski
On Fri, Jun 27, 2008 at 8:35 AM, Richard Frith-Macdonald [EMAIL PROTECTED] 
wrote:
 I was wondering if there was any good reason why gnustep-make doesn't enable
 native exceptions by default if the compiler supports it.
 I think the answer is that we can't readily install a default handler for
 uncaught exceptions or support NSSetUncaughtExceptionHandler() with the
 current state of the compiler/runtime as it does not provide us with any API
 to deal with an exception thrown outside of a @try block.

 Would it be OK to add that functionality to the runtime in
 objc_exception_throw() with two new functions something like this:


Yes in fact it was on my list of things TODO, see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27466 :).

Thanks,
Andrew Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: objc native exceptions

2008-06-27 Thread Andrew Pinski
On Fri, Jun 27, 2008 at 9:57 AM, Nicola Pero
[EMAIL PROTECTED] wrote:
 I'm not too familiar with the issue, I only know that when I added support
 for native exceptions to gnustep-make and tried to make it the default,
 someone
 else came out and turned it off again by default claiming that the overheads
 are high.

The overhead be non existent if there are no exceptions thrown (when
using dwarf2 unwinding based exceptions which most targets use
already).  The only overhead is data size increases.

Thanks,
Andrew Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: objc native exceptions

2008-06-27 Thread Andrew Pinski
On Fri, Jun 27, 2008 at 10:14 AM, Richard Frith-Macdonald [EMAIL PROTECTED] 
wrote:
 So this would appear to be a rather severe drawback as invocations are used
 quite extensively.  Maybe the stack unwinding works if you used libffi for
 your invocations, but libffi doesn't work on some platforms (eg the debian
 64bit intel box I develop on).

libffi works on x86_64 as far as I know.  Also libffi supports
unwinding as it is needed to support GCJ :).

-- Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: -lpthread

2008-06-05 Thread Andrew Pinski
On Thu, Jun 5, 2008 at 2:17 AM, David Ayers [EMAIL PROTECTED] wrote:
 I believe the issue is that historically the libobjc runtime could be
 used with different threading libraries for its threading API.  But if I
 remember correctly, currently only POSIX Threads are supported.  I'm not
 100% sure anymore so some would have to investigate, but I think the
 approach to really fix the issue is that we need

No, the windows threading is also supported, so are some variants of
the POSIX threads (the 95 version in fact for older Solaris's).

Thanks,
Andrew Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Fwd: Announcing libffi 3.0

2008-02-15 Thread Andrew Pinski
FYI.

-- Forwarded message --
From: Anthony Green [EMAIL PROTECTED]
Date: Fri, Feb 15, 2008 at 12:16 PM
Subject: Announcing libffi 3.0
To: [EMAIL PROTECTED]


I'm pleased to announce a software release 10 years in the
 making:


  libffi
 3.0



 libffi is a portable foreign function interface
 library.


 The last release of libffi, version 1.2, was released almost a
 decade
 ago in October, 1998.  Shortly thereafter we started maintaining
 it
 within the GCC source repository along with the help of the
 GCC
 developers.  Libffi's primary customer at the time was the GNU
 java
 runtime library, libgcj, and libffi benefited tremendously from
 the
 contributions of the GCC
 community[1].




 However...



 Over the course of the last decade, and especially within the
 past
 couple of years, many projects have picked up the old libffi
 release
 or extracted it from the GCC sources for their own purposes[2].
 There
 now exist a multitude of libffi forks, and for no good reason
 other
 than there not being independent stand-alone libffi
 releases.


 libffi 3.0 represents the resumption of regular,
 independent,
 stand-alone releases of libffi for all to
 consume.



 libffi 3.0 is the result of bundling the latest libffi sources
 from
 the GCC tree along with new configury, enhancements, documentation
 and
 testing.



 libffi will continue to be maintained in both the GCC tree as well
 as
 the original libffi cvs repository.  Patches are welcome to
 either
 project, as we intend to perform two-way merges between the trees.

 Visit the libffi project site at http://sourceware.org/libffi
 for
 details.



 Download source release
 here:




 ftp://sourceware.org:/pub/libffi/libffi-3.0.0.tar.gz

 Enjoy...

 Anthony Green
 [EMAIL PROTECTED]

 [1] A special thank you goes out to the GCC hackers who
 contributed
to libffi all these years.  libffi is widely used (see
 below)
entirely thanks to your continued efforts.


 [2] A survey of libffi
 users/bundlers/forkers:


 http://spindazzle.org/greenblog/index.php?/archives/81-libffi-users.html


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Moving GNUstep applications to GPLv3

2007-06-29 Thread Andrew Pinski

On 6/29/07, Yen-Ju Chen [EMAIL PROTECTED] wrote:

Maybe it is worth to wait and see how other big projects do,
like GCC and GNOME.
And see how it affects some aspects where GNUstep will be used,
like web services (GNUstepWeb) or embedded system (mSTEP).


GCC has been requested (required) to move over by the end of July.

-- Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Use of libobjc from gcc 4.1 with MinGW

2007-03-21 Thread Andrew Pinski

On 3/21/07, Xavier Glattard [EMAIL PROTECTED] wrote:

Without the change i got :

So these names are not exported properly.
I dont know why but mingw32 seems to be special... :-\


Is libobjc being compiled as a static library?  I bet that is the real
issue here.

-- Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Use of libobjc from gcc 4.1 with MinGW

2007-03-21 Thread Andrew Pinski

On 3/21/07, Xavier Glattard [EMAIL PROTECTED] wrote:

Do you mean i would get the same error with a static gnustep-libobjc ?

Yes.


Should I build gcc-libobjc as a dll ?

libobjc should be built as a dll, now how to fix this is a different story.

Since I don't have much expence in building .dll, you might want to
fittle with the .def file, and then fix the other part of the makefile
to always build it, libtool way of building a .dll might be the way to
go.

Thanks,
Andrew Pinski
libobjc maintainer :)


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Crash with new-style exceptions on FreeBSD amd64

2007-03-19 Thread Andrew Pinski

On 3/19/07, Michael Gardner [EMAIL PROTECTED] wrote:

Also, regarding the problem configuring gnustep-make with
--enable-native-objc-exceptions: I emailed the port's maintainer, and
he mentioned that he got the same result on his FreeBSD system. It
looks like a gcc bug to me, but can anyone confirm it on a non-FreeBSD
OS? Specifically, if you look at the output of ldd for a binary
compiled from a .c file using '-x objective-c', libgcc is listed after
libc. But if you rename the same file with a .m extension and compile
it without the -x option, libgcc is listed before libc.


Again this is the same problem as listed in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31089

Yes the bug report is against 4.3 but don't let that fool you.  Also
the reason why libgcc is listed after libc in the case with -x
objective-c is that shared libgcc is not used by default unless gcc
sees a objective-C file, in this case it matches with .m.  Adding
-shared-libgcc fixes the problem by forcing the shared libgcc to link
to your program (instead of indirectly from a library).

The way this works for Linux is slightly different and most likely no
one else sees this, the standard specs for libgcc for linux, uses the
option --as-needed which forces you to link to the shared libgcc if it
is needed for eh (assuming your binutils is new enough).  Maybe the
specs for libgcc for FreeBSD needs to be updated for this new binutils
options also and FreeBSD's binutils also updated.


-- Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Crash with new-style exceptions on FreeBSD amd64

2007-03-15 Thread Andrew Pinski

On 3/15/07, Richard Frith-Macdonald [EMAIL PROTECTED] wrote:

I thought that compiling with '-x objective-c' was supposed to have
the same effect as compiling a file with a .m extension too.
If that understanding is correct, I don't see how the behavior you
are seeing could be anything other than a compiler bug.


Oh, I know what this is now.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31089

Thanks,
Andrew Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Crash with new-style exceptions on FreeBSD amd64

2007-03-15 Thread Andrew Pinski

On 3/15/07, Michael Gardner [EMAIL PROTECTED] wrote:

On 3/15/07, Andrew Pinski [EMAIL PROTECTED] wrote:
 On 3/15/07, Richard Frith-Macdonald [EMAIL PROTECTED] wrote:
  I thought that compiling with '-x objective-c' was supposed to have
  the same effect as compiling a file with a .m extension too.
  If that understanding is correct, I don't see how the behavior you
  are seeing could be anything other than a compiler bug.

 Oh, I know what this is now.

 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31089

That bug's description doesn't seem to match the symptoms I'm seeing,
and it's reported against gcc 4.3 rather than 4.1.


For one, it is the same symptom, in that we are not linking against
the shared libgcc which the driver does automatically for objective-C
files if it is sees a .m.

Try adding -shared-libgcc to the link line and see if that works.

Again what is the ouput of ldd because that will tell me what is
really happening?

Thanks,
Andrew Pinski


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Debug as default...

2006-09-25 Thread Andrew Pinski
On Wed, 2006-09-20 at 06:33 +0200, Nicola Pero wrote:
  Anyway, let me know if '-g -O2' causes problems, I presume if the '-O2'
  seriously confuse the debugger let me know and we can revert that change,
  or maybe use '-g -O' ?
 
  Use of -O2 makes debugging almost impossible ... with that
  combination, in gdb, you can (mostly) follow program flow, but you
  can hardly ever examine variables.
 
 Ok ... makes sense, I'll take the -O% out again then ;-)

Actually that is not 100% acturate. It makes it impossible on stabs
targets but with dwarf2/3 (which is default for GNU/Linux), GCC 4.0 and
above do a better job at outputting debug info for -O2.

-- Pinski



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Undefined symbol __Unwind_Resume

2006-05-16 Thread Andrew Pinski


On May 13, 2006, at 2:59 PM, Oliver Langer wrote:


Hi,

i got stock on an linker problem and maybe someone can help me...:
On my OS X 10.4 box using gcc-4.0.1 my linker tells me
  ld: Undefined symbols:
__Unwind_Resume

I am using the following gcc-params: -prebind -dynamiclib - 
lpthread -lstdc++ and i am compiling c++ sources.


You should be linking with g++ or add -fexceptions.

-- Pinski



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Threads - does the @synchronized Directive work?

2005-12-20 Thread Andrew Pinski


On Dec 20, 2005, at 6:34 PM, David Wetzel wrote:


hi folks,

I just red that



@synchronized does not work with the GNU runtime yet.   There is a bug 
in gcc's
bugzilla to record that fact.  I just have not got around to fixing it 
yet.


-- Pinski



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: gnustep-make readiness for gcc 4.1

2005-10-05 Thread Andrew Pinski


On Oct 5, 2005, at 10:52 PM, Nicola Pero wrote:


I automatically added in the internal/system ObjC flags (eg,
-fconstant-string-class=NSConstantString) though, I assume that's 
required

to compile ObjC++. ;-)


Yes those should be required to compile obj-c++.

Thanks,
Andrew Pinski



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev