Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The Objective-C support on Linux is already great, the compiler handles it well. The problem is the Foundation library isn't ported so you're left using old, unsupported relics from the OpenSTEP project.


CoreFoundation has a MakefileLinux[1] for versions since 635 (corresponding to 10.7, if I'm not mistaken) — anybody know the status of that? It obviously relies on Clang (as it uses various extensions), but does it build, is it useful?

[1]: http://www.opensource.apple.com/source/CF/CF-1151.16/Makefil...


It's not all of CF and some of the ObjC glue is missing, particularly in the last few drops. Apportable put most of if back in though.


What language is that link written in? It looks like bash sort of but not really?


It's a Makefile[1]. They are quite simple really. They're defined like this:

  target: dependencies
      command
The command is run by a shell (e.g. bash!) when the target is called to be run. For example...

  all: hello world
      echo "!"

  hello:
      echo "Hello"

  world:
      echo "World"
Now if you run "make", you will see each command being run. By default, if you call "make" with no arguments, the "all" target will be run. You can also call "make world" for example, to have it only run the "world" target. As you can see, first the dependencies of the target are called, then the command of the target is run.

It's often used by C/C++ projects in order to manage dependencies, but can be used for anything really.

Here's a short tutorial you can walk through if you're interested in how it works and why it's useful: http://mrbook.org/blog/tutorials/make/

1. https://en.wikipedia.org/wiki/Makefile


wow thanks for breaking that down. years of playing and prodding on linux and this helped me a lot. funny and funky what slips through the cracks. kudos friend


It's a Makefile.. for.. Make.


I feel like this reply could have been much more helpful and less snarky. Some people are still learning - we all were, at one point.


everyone is always learning (hopefully) ;D


Some people aren't learning to be helpful or less snarky though.... :-)


It's always just a SMOP, but my hunch is that Swift is way too integrated with the Apple runtime to not use it. I wouldn't be surprised if they have limited support for ObjC in their Swift Linux port, but happy to be proven wrong. (I started porting the Apple runtime to Linux last year but ran into the aforementioned linker issue. A way around it is to change the Apple runtime ABI on Linux of course.)


Is Apple's dialect supported, or only the NeXT version? (Which, TBF, has absolutely nothing wrong with it and is a great language; but it's not what people are writing these days.)


Objective-C 2.0 via Clang and the GNUStep ObjC2 runtime supports blocks, GCD, fast enumeration, declared properties, introspection.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: