[M3devel] AMD64_DARWIN with OSX Mavericks
Jay K
jay.krell at cornell.edu
Thu Nov 14 05:30:42 CET 2013
> AFAIK, automake/autoconf is big pain. of C world.
> Whole build systems were devised/built, just to bypass autowhatever.
Yes but my research suggests nobody has matched it,
in particular for cross builds and in particular autoconf's ability
to work with brand new systems, as long as they can be composed
from preexisting variables -- which are probed for.
But I don't like layers and layers of generated files, Bourne shell, and m4.
C and C++ aren't so bad.
They do have positive and negatives.
Lack of a good module system is one of their negatives.
And therefore build speed and incremental builds.
cm3 resembles the ideal user interface of automake, but without generating files.
Where I most want autoX/libtool/pkg-config is to determine
how to run the C compiler/assembler/linker for given packages.
I think pkg-config addresses one of our weakest point.
The point in the config files that list "ODBC" or "POSTGRES" and such.
That part has never seemed great, not even with cminstall.
The problem with cminstall is that packages can be installed and uninstalled
in any order.
I kinda think we could support it within cm3, easily enough, in one of a few ways:
meta-syntax in the config file to indicate we should run pkg-config --libs and add that to the link command
or we could try it unconditionally
or we could find the .pc files ourselves, conditionally or unconditionally.
see http://linux.die.net/man/1/pkg-config
Someday maybe we'll generate .h files to interfacing with Modula-3, and then
we could create .pc files also..
libtool I also want, because we duplicate a lot of it. Better to punt to another project.
Though the wide availability of gcc combined with convergence to not that many OSes
makes it not too difficult to do it yourself, which is what we do...
- Jay
From: jay.krell at cornell.edu
Date: Wed, 13 Nov 2013 19:04:34 -0800
To: dragisha at m3w.org
CC: m3devel at elegosoft.com; jay.krell at cornell.edu
Subject: Re: [M3devel] AMD64_DARWIN with OSX Mavericks
Try the C backed?
Edit the g/stabs flag in the config file?
- Jay
On Nov 13, 2013, at 10:27 AM, Dragiša Durić <dragisha at m3w.org> wrote:
After Xcode 5.0.2 install, it works no more :)
new source -> compiling Main.m3clang: warning: argument unused during compilation: '-fPIC'Main.ms:1:9: error: unsupported directive '.stabs' .stabs "/Users/dragisha/m3/eratosthenes/AMD64_DARWIN/",100,0,0,Ltext0 ^
--Dragiša Durićdragisha at m3w.org
On 13 Nov 2013, at 11:25, Dragiša Durić <dragisha at m3w.org> wrote:Site is https://developer.apple.com/downloads, package is named "Command Line Tools (OS X Mavericks) for Xcode - Late October Oct 22, 2013" and cm3 I've used since Snow Leopard, all through Lion. works again without previous hack.
Xcode I have installed is version 4.6.x, and cm3 works as always.
--Dragiša Durićdragisha at m3w.org
On 13 Nov 2013, at 11:08, Dragiša Durić <dragisha at m3w.org> wrote:There is probably easier solution, I am installing command line devel tools right now and then I will try to simplify this.
--Dragiša Durićdragisha at m3w.org
On 13 Nov 2013, at 10:53, Jay K <jay.krell at cornell.edu> wrote:Is that really needed?
Doesn't this work?
hello.c:
#include <stdio.h>
int main() { return !!printf("hello\n"); }
cc hello.c
If that works, gradually expand it to reference more symbols, i.e. pthreads, the mach suspend/resume/getcontext functions (see m3-libs/m3core/src/thread/PTHREAD/ThreadApple.c or such)
- Jay
Subject: Re: [M3devel] AMD64_DARWIN with OSX Mavericks
From: dragisha at m3w.org
Date: Wed, 13 Nov 2013 10:03:15 +0100
CC: m3devel at elegosoft.com
To: jay.krell at cornell.edu
I will bootstrap new version(s) as per your instructions ASAP, but until then, this is a change I made to config/Darwin.common
SYSTEM_LIBS = { "LIBC" : [ "-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/lib", "-L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/lib/system" ], "LEX-YACC" : [ "-ll" ], "FLEX-BISON" : [ "-lfl" ], "OPENGL" : [ "-Wl,-dylib_file," & LIBGL_DYLIB & ":" & LIBGL_DYLIB, "-L/usr/X11R6/lib", "-lGLU", "-lGL", "-lXext" ], "TCP" : [ ]% below: X11, ODBC, POSTGRES95, MOTIF}
My current AMD64_DARWIN configuration continues to work.--Dragiša Durićdragisha at m3w.org
On 11 Nov 2013, at 08:09, Jay K <jay.krell at cornell.edu> wrote:I'm still hanging back on a version that supports PowerPC/Rosetta. :)
Our system is very portable.
Consider helloWorld. And users of pthreads (or Win32 threads).
And we hope/trust Apple and co. to maintain a certain level of compatibility.
For example. the HPUX man pages decree that get/set/make/swapcontext may
not be compatible across releases. We use them, sometimes, for user threads only.
If you find there is any problem, please let us know.
Anything you find is likely surmountable by a cross build.
- Jay
________________________________
From: dragisha at m3w.org
Date: Sun, 10 Nov 2013 18:48:22 +0100
To: m3devel at elegosoft.com
Subject: [M3devel] AMD64_DARWIN with OSX Mavericks
Anybody doing it?
TIA,
--
Dragiša Durić
dragisha at m3w.org<mailto:dragisha at m3w.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20131114/047868ab/attachment-0002.html>
More information about the M3devel
mailing list