Back Midas Rome Roody Rootana
  Midas DAQ System  Not logged in ELOG logo
Entry  14 Jan 2004, Konstantin Olchanski, , First try- midas on darwin/macosx xxx
    Reply  14 Jan 2004, Stefan Ritt, , First try- midas on darwin/macosx 
       Reply  16 Jan 2004, Konstantin Olchanski, , First try- midas on darwin/macosx xxx
          Reply  17 Jan 2004, Stefan Ritt, , First try- midas on darwin/macosx 
             Reply  18 Jan 2004, Konstantin Olchanski, , First try- midas on darwin/macosx xxx
                Reply  19 Jan 2004, Stefan Ritt, , First try- midas on darwin/macosx 
                   Reply  19 Jan 2004, Konstantin Olchanski, , First try- midas on darwin/macosx 
Message ID: 69     Entry time: 16 Jan 2004     In reply to: 68     Reply to this: 70
Author: Konstantin Olchanski 
Topic:  
Subject: First try- midas on darwin/macosx 
> Great, I got already questions about MacOSX support...
> Once it's working, you should commit the changes.

With the ALIGN8() change ODB works, mhttpd works. ALIGN8 change now commited to cvs, verified that "make all" builds 
on Linux.

ROOT stuff still blows up because of more namespace pollution (/usr/include/sys/something does #define Free(x) 
free(blah...)). Arguably, it is not Apple's fault- portable programs should not include any <sys/foo.h> header files. I 
think I can fix it by moving "#include <sys/mount.h>" from midasinc.h to system.h.

Also figured out why PVM is defined- more pollution from "#include <sys/blah...>". This is only in mana.c and I will 
repace every "#ifdef PVM" with "#ifdef HAVE_PVM". Is there documentation that should be updated as well? Alternatively I 
can try to play games with header files...


> But take into account that using "//" for comments might cause problems for the VxWorks compiler (talk to Pierre 
about that!).

Yes, "// comments" stay out of midas. I used them to make the modification more visible.

> You can rename ALIGN to ALIGN8 all over the place.

Done, commited.

> > - "timezone" in mhttpd.c. On linux, it's an "int", on darwin, it's a function. What gives?
> Wrap it into a function get_timezone(). Under linux, just return "timezone", under OSX, 
> return timezone() via conditional compiling.

Right. Still on the todo list.

> > - building libmidas.a requires running ranlib

I still have to cleanup the Makefile. Not commiting it yet.

Then, a new problem- on MacOSX, pthread_t is not an "INT" and system.c:ss_thread_create() whines about it. I want to 
introduce a system dependant THREAD_T (or whatever) and make ss_thread_create() return that, rather than INT.

ROOT stuff is still not fully tested- it takes a little while to build ROOT on a 600MHz laptop.

Attached is my current CVS diff.

K.O.
Attachment 1: xxx  6 kB  Uploaded 24 Sep 2004  | Show | Show all
ELOG V3.1.4-2e1708b5