diff -Naur cernlib2003.orig/Imakefile cernlib2003.new/Imakefile --- cernlib2003.orig/Imakefile 1996-12-16 07:08:41.000000000 -0800 +++ cernlib2003.new/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -7,8 +7,12 @@ SUBDIRS= $(LIBDIRS) patchy cfortran #ifdef CERNLIB_UNIX +#ifdef CERNLIB_MACOSX +SUBDIRS:= $(SUBDIRS) scripts +#else SUBDIRS:= $(SUBDIRS) scripts mgr #endif +#endif InstallLibSubdirs($(LIBDIRS)) diff -Naur cernlib2003.orig/config/Imake.cf cernlib2003.new/config/Imake.cf --- cernlib2003.orig/config/Imake.cf 1998-09-25 02:23:38.000000000 -0700 +++ cernlib2003.new/config/Imake.cf 2003-12-29 11:21:25.000000000 -0800 @@ -214,6 +214,13 @@ #define MacIIArchitecture #endif /* macII */ +#ifdef __APPLE__ +# define MacroIncludeFile +# define MacroFile MacOSX.cf +# define MacOSXArchitecture +# define DarwinArchitecture +#endif + #ifdef _CRAY #define MacroIncludeFile #define MacroFile cray.cf diff -Naur cernlib2003.orig/config/Imake.rules cernlib2003.new/config/Imake.rules --- cernlib2003.orig/config/Imake.rules 2000-04-19 03:51:00.000000000 -0700 +++ cernlib2003.new/config/Imake.rules 2003-12-29 11:21:25.000000000 -0800 @@ -2167,7 +2167,7 @@ #define CppScriptTarget(dst,src,defs,deplist) @@\ dst:: src deplist @@\ RemoveFile($@) @@\ - $(CPP) defs $@ @@\ + $(CPP) defs src | CppSedMagic >$@ @@\ chmod a+x $@ @@\ @@\ clean:: @@\ @@ -2199,7 +2199,7 @@ #define CppFileTarget(dst,src,defs,deplist) @@\ dst:: src deplist @@\ RemoveFile($@) @@\ - $(CPP) defs $@ @@\ + $(CPP) defs src | CppSedMagic >$@ @@\ @@\ clean:: @@\ RemoveFiles(dst) diff -Naur cernlib2003.orig/config/MacOSX.cf cernlib2003.new/config/MacOSX.cf --- cernlib2003.orig/config/MacOSX.cf 1969-12-31 16:00:00.000000000 -0800 +++ cernlib2003.new/config/MacOSX.cf 2003-12-29 11:21:25.000000000 -0800 @@ -0,0 +1,160 @@ +XCOMM platform: $SFO: MOSXS.cf,v 1.0 95/11/19 23:21:00 sl Exp $ + +#define OSVendor Apple Computer, Inc. +#ifdef MacOSXArchitecture +#define OSName MacOSX +#define OSMajorVersion DefaultOSMajorVersion +#define OSMinorVersion DefaultOSMinorVersion +#define OSTeenyVersion 0 +#endif + +XCOMM #define ProjectRulesFile +XCOMM #define ProjectTmplFile + +#define InstKmemFlags -m 2755 -g kmem +/* #define ConstructMFLAGS NO */ + +#define HasNdbm YES +#define SetTtyGroup YES +#define HasBsearch YES +#ifdef MacOSXArchitecture +#define HasPutenv YES +#define MathLibrary /**/ +#define DBMLibrary /**/ +#define TermcapLibrary /**/ +#define HasBSD44Sockets YES +#define HAS_SNPRINTF YES +#endif + +#define NeedConstPrototypes YES +#define NeedVarargsPrototypes YES +#define NeedFunctionPrototypes YES +#define NeedWidePrototypes NO + +#define GzipFontCompression YES +#define CompressAllFonts YES + +#ifndef HasShm +# define HasShm YES +#endif +#ifndef BuildGlxExt +# define BuildGlxExt YES +# define GlxUseNSGL YES +#endif +#define BuildServer YES +#define BuildXprint NO +#define BuildFonts YES +#define BuildDPMS NO + +#define TenonServer YES +#define XprtServer NO +#define XVendorString "Tenon Intersystems Xtools" +#define XVendorRelease 1000 +#ifndef UseRgbTxt +#define UseRgbTxt YES +#endif + +#define BuildPexExt NO + +#ifndef BuildGLXLibrary +# define BuildGLXLibrary YES +#endif + +/* no direct graphics extension */ +#define BuildXF86DGA NO + +/* no extra tablets and weird input devices */ +#define BuildXInputExt NO + +/* Build Xinerama (aka panoramiX) extension */ +#define BuildXinerama YES + +/* no Display Power Management extension */ +#define BuildDPMSExt NO + +# define BuildXvExt NO +#define OptimizedCDebugFlags -O -fPIC -pipe +#define ExtraLoadFlags -L/usr/X11R6/lib -L@PREFIX@/lib + +#define BuildExamples YES + +#define StandardDefines -DCERNLIB_LINUX -DCERNLIB_PPC -DCERNLIB_MACOSX \ + -Dunix=unix -D__powerpc__ -D__DARWIN__ +/* -DX_NOT_POSIX -DX_LOCALE */ + +#define HasVoidSignalReturn YES + +#ifndef DependFlags +#define DependFlags -I/usr/include/ansi -I/usr/include/bsd -I@PREFIX@/include +#endif + +#define StandardIncludes -I@PREFIX@/include + +#define InstallCmd install /* unlink old */ + +/* #define ArCmd libtool -a -o */ +#define ArCmd ar -r + +#ifndef RanlibCmd +#define RanlibCmd ranlib -c -s +#endif + +/* see below for ServerDefines */ + +#define PrimaryScreenResolution 95 /* for 17 inch screen */ + +#define ServerCDebugFlags -O -g -pipe + +#undef CcCmd +#undef CplusplusCmd +#ifdef MacOSXArchitecture +#define CcCmd gcc -arch "ppc" +#define CplusplusCmd g++ +#endif +#ifndef CcCmd +#define CcCmd gcc +#endif + +#define CppCmd /usr/bin/gcc + +#include +#include +#undef XFree86Server +/* #define GLX_DIRECT_RENDERING */ + +#define f2cFortran YES +#define MakeCmd make +#define FortranCmd g77 +#define XargsCmd xargs +#define FortranSaveFlags /* */ /* Everything static !? */ +#define OptimisedFortranFlags -O -funroll-loops -fomit-frame-pointer +#define DefaultFCOptions -fno-automatic \ + -fno-second-underscore \ + -fno-f90 -fugly-complex -fno-globals \ + -fugly-init -Wno-globals +#define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX \ + -DCERNLIB_PPC -DCERNLIB_QMGLIBC \ + -DCERNLIB_MACOSX + +#undef CERNLIB_SHIFT + +#define CERNLIB_LINUX +#define CERNLIB_UNIX +#define CERNLIB_LNX +#define CERNLIB_PPC +#define CERNLIB_QMGLIBC +#define CERNLIB_MACOSX + +#define X11Includes -I/usr/X11R6/include + +/* + * Create a Make Variable to allow building with/out Motif + */ +#undef MotifDependantMakeVar +#define MotifDependantMakeVar(variable,value) @@\ +ifneq ($(strip $(HAVE_MOTIF)),) @@\ + variable=value @@\ +endif @@\ +/* End CERNLIB changes */ + + diff -Naur cernlib2003.orig/config/MacOSX.rules cernlib2003.new/config/MacOSX.rules --- cernlib2003.orig/config/MacOSX.rules 1969-12-31 16:00:00.000000000 -0800 +++ cernlib2003.new/config/MacOSX.rules 2003-12-29 11:21:25.000000000 -0800 @@ -0,0 +1,117 @@ +XCOMM $XConsortium: MOSXS.rules,v 1.1 97/12/12 15:34:45 sl Exp $ + +/* + * MacOSX shared library rules + */ + +#define HasSharedLibraries YES + +#define ForceNormalLib NO + +#ifndef SharedDataSeparation +#define SharedDataSeparation YES +#endif +#ifndef SharedCodeDef +#define SharedCodeDef +#endif +#ifndef SharedLibraryDef +#define SharedLibraryDef -fno-common +#endif + +#define ShLibIncludeFile + +#ifndef SharedLibraryLoadFlags +#define SharedLibraryLoadFlags +#endif +#ifndef PositionIndependentCFlags +#define PositionIndependentCFlags +#endif + + + + +/* + * InstallSharedLibrary - generate rules to install the shared library. + */ +#ifndef InstallSharedLibrary +#define InstallSharedLibrary(libname,rev,dest) @@\ +install:: Concat(lib,libname.dylib) @@\ + MakeDir($(DESTDIR)dest) @@\ + $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.dylib) $(DESTDIR)dest +@@\ + +#endif /* InstallSharedLibrary */ + +/* + * NormalSharedLibraryTarget - generate rules to create a shared library; + * build it into a different name so that the we do not hose people by having + * the library gone for long periods. + */ +#ifndef SharedLibraryTarget +#define SharedLibraryTarget(libname,rev,solist,down,up) @@\ +AllTarget(Concat(lib,libname.dylib)) @@\ + @@\ +Concat(lib,libname.dylib): solist $(EXTRALIBRARYDEPS) @@\ + $(RM) $@~ @@\ + (cd down; $(CC) -I/usr/X11R6/lib -dynamiclib -undefined suppress -install_name /usr/X11R6/lib/$@ -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\ + $(MV) $@~ $@ @@\ + LinkBuildLibrary($@) @@\ + @@\ +clean:: @@\ + $(RM) Concat(lib,libname.dylib) + +#endif /* SharedLibraryTarget */ + +/* + * SharedDepLibraryTarget - generate rules to create a shared library. + */ +#ifndef SharedDepLibraryTarget +#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\ +AllTarget(Concat(lib,libname.dylib)) @@\ + @@\ +Concat(lib,libname.dylib): deplist $(EXTRALIBRARYDEPS) @@\ + $(RM) $@~ @@\ + (cd down; $(CC) -I/usr/X11R6/lib -dynamiclib -undefined suppress -install_name /usr/X11R6/lib/$@ -o up/$@~ $(SHLIBLDFLAGS) solist $(REQUIREDLIBS)) @@\ + $(RM) $@ @@\ + $(MV) $@~ $@ @@\ + LinkBuildLibrary($@) @@\ + @@\ +clean:: @@\ + $(RM) Concat(lib,libname.dylib) + +#endif /* SharedDepLibraryTarget */ + +/* + * SharedLibraryDataTarget - generate rules to create shlib data file; + */ +#ifndef SharedLibraryDataTarget +#define SharedLibraryDataTarget(libname,rev,salist) +#endif /* SharedLibraryDataTarget */ + +#ifndef InstallSharedLibraryData +#define InstallSharedLibraryData(libname,rev,dest) +#endif /* InstallSharedLibraryData */ + +/* + * SharedLibReferences - variables for shared libraries + */ +#ifndef SharedLibReferences +#define SharedLibReferences(varname,libname,libsource,revname,rev) @@\ +revname = rev @@\ +Concat3(DEP,varname,LIB) = SharedLibDependencies(libname,libsource,revname) @@\ +Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\ +LintLibReferences(varname,libname,libsource) +#endif + +/* + * SharedDSLibReferences - variables for shared libraries + */ +#ifndef SharedDSLibReferences +#define SharedDSLibReferences(varname,libname,libsource,revname,rev) @@\ +revname = rev @@\ +Concat3(DEP,varname,LIB) = SharedDSLibDependencies(libname,libsource,revname) @@\ +Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) Concat3(Shared,libname,Reqs) @@\ +LintLibReferences(varname,libname,libsource) +#endif + + diff -Naur cernlib2003.orig/config/MacOSX.tmpl cernlib2003.new/config/MacOSX.tmpl --- cernlib2003.orig/config/MacOSX.tmpl 1969-12-31 16:00:00.000000000 -0800 +++ cernlib2003.new/config/MacOSX.tmpl 2003-12-29 11:21:25.000000000 -0800 @@ -0,0 +1,67 @@ +XCOMM $XConsortium: MOSXS.tmpl,v 1.2 97/12/12 19:07:12 sl Exp $ + +/* + * Xnext shared library template + */ + + + +#ifndef SharedXtReqs +#define SharedXtReqs /**/ +#endif +#ifndef SharedXawReqs +#define SharedXawReqs /**/ +#endif +#ifndef SharedXmuReqs +#define SharedXmuReqs $(LDPRELIB) $(XTOOLONLYLIB) $(XONLYLIB) +#endif + +#define SharedLibX11 YES +#define SharedX11Rev F +SharedLibReferences(XONLY,X11,$(XLIBSRC),SOXLIBREV,SharedX11Rev) + +#define SharedLibXau NO /* don't need shared form */ +#define SharedLibXdmcp NO /* don't need shared form */ + +#define SharedLibXmu YES +#define SharedXmuRev F + +#define SharedOldXRev F + +#define SharedLibXext YES +#define SharedXextRev F + +#define SharedLibXt YES +#define SharedXtRev F +SharedDSLibReferences(XTOOLONLY,Xt,$(TOOLKITSRC),SOXTREV,SharedXtRev) + +#define SharedXawRev F + +#define SharedXtfRev A + +#define SharedLibXi YES +#define SharedXiRev F +SharedLibReferences(XI,Xi,$(XILIBSRC),SOXINPUTREV,SharedXiRev) + +#define SharedLibXtst YES +#define SharedXtstRev F +SharedLibReferences(XTEST,Xtst,$(XTESTLIBSRC),SOXTESTREV,SharedXtstRev) + + +#define SharedPexRev F +SharedLibReferences(PEX,PEX5,$(PEXLIBSRC),SOPEXREV,SharedPexRev) + +#define SharedLibXie YES +#define SharedXieRev F + +#define SharedLibICE YES +#define SharedICERev F +SharedLibReferences(ICE,ICE,$(ICESRC),SOICEREV,SharedICERev) + +#define SharedLibSM YES +#define SharedSMRev F +SharedLibReferences(SM,SM,$(SMSRC),SOSMREV,SharedSMRev) + +#define SharedFSRev F +SharedLibReferences(FS,FS,$(FSLIBSRC),SOFSREV,SharedFSRev) + diff -Naur cernlib2003.orig/config/site.def cernlib2003.new/config/site.def --- cernlib2003.orig/config/site.def 2002-04-26 07:46:04.000000000 -0700 +++ cernlib2003.new/config/site.def 2003-12-29 11:21:25.000000000 -0800 @@ -99,9 +99,7 @@ /* if it is already defined and false, undef it! */ /* do not use shift by default #if defined(CERNLIB_UNIX) && !defined(CERNLIB_WINNT) -#if ! defined(CERNLIB_SHIFT) -#define CERNLIB_SHIFT -#elif ! CERNLIB_SHIFT +#if defined(CERNLIB_SHIFT) && !CERNLIB_SHIFT #undef CERNLIB_SHIFT #endif #endif @@ -109,11 +107,7 @@ /* gmake does like ConstructMFLAGS to be YES(?) */ #undef MakeCmd -#ifndef WIN32 -# define MakeCmd gmake -#else -# define MakeCmd make -#endif +#define MakeCmd make #define ConstructMFLAGS YES #ifndef WIN32 diff -Naur cernlib2003.orig/geant321/Imakefile cernlib2003.new/geant321/Imakefile --- cernlib2003.orig/geant321/Imakefile 1998-03-05 03:20:07.000000000 -0800 +++ cernlib2003.new/geant321/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -37,7 +37,11 @@ install.lib:: $(CERN_LIBDIR)/xsneut95.dat $(CERN_LIBDIR)/xsneut95.dat: +#if defined(CERNLIB_MACOSX) + $(CP) -f data/$(@F) $(@D) +#else cd $(@D);$(LN) ../share/lib/$(@F) $(@F) +#endif #endif #if defined(CERNLIB_VAXVMS) diff -Naur cernlib2003.orig/geant321/gxint/Imakefile cernlib2003.new/geant321/gxint/Imakefile --- cernlib2003.orig/geant321/gxint/Imakefile 1997-01-29 08:37:40.000000000 -0800 +++ cernlib2003.new/geant321/gxint/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -30,7 +30,7 @@ gxint321.f: gxint.F RemoveFile($@) - $(CPP) $(FORTRANALLDEFMDEPEND) < $^ | sed -e '/^$$/d' | CppSedMagic >$@ + FortranCmd -E $(FORTRANALLDEFMDEPEND) $^ | sed -e '/^$$/d' | CppSedMagic >$@ install.lib:: $(CERN_LIBDIR)/gxint.f diff -Naur cernlib2003.orig/mathlib/gen/tests/c327m.F cernlib2003.new/mathlib/gen/tests/c327m.F --- cernlib2003.orig/mathlib/gen/tests/c327m.F 1996-04-01 07:01:17.000000000 -0800 +++ cernlib2003.new/mathlib/gen/tests/c327m.F 2003-12-29 11:21:25.000000000 -0800 @@ -92,7 +92,11 @@ #endif ENDIF WRITE(Z,'(2D26.16)') H,T +#if defined(CERNLIB_MACOSX) + READ(Z,'(2(4X,D22.16))') H1,T1 +#else READ(Z,'(2(D22.16,4X))') H1,T1 +#endif IF(IDS .EQ. 1) THEN ERRMAX=MAX(ERRMAX,ABS(H1-T1)) LTEST= LTEST .AND. ERRMAX .LE. TSTERR diff -Naur cernlib2003.orig/mathlib/gen/tests/c342m.F cernlib2003.new/mathlib/gen/tests/c342m.F --- cernlib2003.orig/mathlib/gen/tests/c342m.F 1996-04-01 07:01:19.000000000 -0800 +++ cernlib2003.new/mathlib/gen/tests/c342m.F 2003-12-29 11:21:25.000000000 -0800 @@ -70,7 +70,11 @@ #endif END IF WRITE(Z,'(2D26.16)') R,T +#if defined(CERNLIB_MACOSX) + READ(Z,'(2(4X,D22.16))') R1,T1 +#else READ(Z,'(2(D22.16,4X))') R1,T1 +#endif ERMAX= MAX(ERMAX,ABS(R1-T1)) IF(IDS .EQ. 3 .OR. IDS .EQ. 4) THEN WRITE(LOUT,'(1X,F10.3,2F25.16,1P,D10.1)') SX,R,T,ABS(R1-T1) diff -Naur cernlib2003.orig/mclibs/cojets/data/Imakefile cernlib2003.new/mclibs/cojets/data/Imakefile --- cernlib2003.orig/mclibs/cojets/data/Imakefile 1996-03-27 01:31:06.000000000 -0800 +++ cernlib2003.new/mclibs/cojets/data/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -1,11 +1,11 @@ .SUFFIXES: -CopyFile(cojets.cpp,cojets.cin) +CopyFile(cojets.cpp,cojets.s) CopyFile(decay.cpp,decay.cin) CopyFile(table.cpp,table.cin) -CppFileTarget(cojets.dat,cojets.cin,NullParameter,table.cin decay.cin) +CppFileTarget(cojets.dat,cojets.s,-E -traditional,table.cin decay.cin) PackageDirFileTarget(cojets.dat) diff -Naur cernlib2003.orig/mclibs/isajet/data/Imakefile cernlib2003.new/mclibs/isajet/data/Imakefile --- cernlib2003.orig/mclibs/isajet/data/Imakefile 1996-03-27 01:33:19.000000000 -0800 +++ cernlib2003.new/mclibs/isajet/data/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -1,9 +1,9 @@ .SUFFIXES: -CopyFile(decay.cpp,decay.cin) +CopyFile(decay.cpp,decay.s) -CppFileTarget(isajet.dat,decay.cin,NullParameter,NullParameter) +CppFileTarget(isajet.dat,decay.s,-E -traditional ,NullParameter) PackageDirFileTarget(isajet.dat) diff -Naur cernlib2003.orig/mclibs/jetset/pythia/Imakefile cernlib2003.new/mclibs/jetset/pythia/Imakefile --- cernlib2003.orig/mclibs/jetset/pythia/Imakefile 2001-04-04 07:54:39.000000000 -0700 +++ cernlib2003.new/mclibs/jetset/pythia/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -15,4 +15,8 @@ FDEBUGFLAGS := $(FDEBUGFLAGS) -Nn15000 #endif +#if defined(CERNLIB_PPC) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + SubdirLibraryTarget(NullParameter,NullParameter) diff -Naur cernlib2003.orig/mclibs/pythia/code/Imakefile cernlib2003.new/mclibs/pythia/code/Imakefile --- cernlib2003.orig/mclibs/pythia/code/Imakefile 2002-04-10 09:03:21.000000000 -0700 +++ cernlib2003.new/mclibs/pythia/code/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -36,4 +36,9 @@ FDEBUGFLAGS := $(FDEBUGFLAGS) -Nn15000 #endif +#if defined(CERNLIB_PPC) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + SubdirLibraryTarget(NullParameter,NullParameter) + diff -Naur cernlib2003.orig/packlib/Imakefile cernlib2003.new/packlib/Imakefile --- cernlib2003.orig/packlib/Imakefile 1997-10-02 07:09:19.000000000 -0700 +++ cernlib2003.new/packlib/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -6,11 +6,11 @@ LIBDIRS= cspack epio fatmen ffread hbook hepdb kapack kuip \ @@\ minuit zbook zebra kernlib -SUBDIRS= $(LIBDIRS) +SUBDIRS= $(LIBDIRS) cuserid TopOfPackage(packlib) -SubdirLibraryTarget(packlib,$(LIBDIRS)) +SubdirLibraryTarget(packlib,$(SUBDIRS)) InstallLibrary(packlib,$(CERN_LIBDIR)) InstallLibraryAlias(packlib,packlib-shift,$(CERN_LIBDIR)) diff -Naur cernlib2003.orig/packlib/cspack/sysreq/log.c cernlib2003.new/packlib/cspack/sysreq/log.c --- cernlib2003.orig/packlib/cspack/sysreq/log.c 2003-09-02 09:51:53.000000000 -0700 +++ cernlib2003.new/packlib/cspack/sysreq/log.c 2003-12-29 11:21:25.000000000 -0800 @@ -80,9 +80,9 @@ static int pid; /* process identifier */ static int logfd ; /* logging file descriptor */ #if !defined(SOLARIS) && !defined(linux) && !defined(_AIX) \ - && !defined(IRIX5) && !defined(apollo) + && !defined(IRIX5) && !defined(apollo) && !defined(__DARWIN__) extern int syslog(); -#endif /* !SOLARIS && !IRIX5 && !apollo && !linux && !AIX */ +#endif /* !SOLARIS && !IRIX5 && !apollo && !linux && !AIX && __DARWIN__ */ extern char *getenv(); #else /* VM */ static char *console="CONSOLE";/* VM default console userid */ diff -Naur cernlib2003.orig/packlib/cspack/tcpaw/tcpaw.c cernlib2003.new/packlib/cspack/tcpaw/tcpaw.c --- cernlib2003.orig/packlib/cspack/tcpaw/tcpaw.c 1999-09-15 09:19:46.000000000 -0700 +++ cernlib2003.new/packlib/cspack/tcpaw/tcpaw.c 2003-12-29 11:21:25.000000000 -0800 @@ -2533,7 +2533,7 @@ #if !defined(IBM) && !defined(_WIN32) /* I provide "getpass" myself as standard version truncates to 8 characters */ #include -#ifdef CBREAK +#if defined(CBREAK) || defined(CERNLIB_MACOSX) #define BSDTTY /* First find out if BSD or SYSV terminal handling.. */ #endif @@ -2541,6 +2541,10 @@ #include #else #include +# if defined(CERNLIB_MACOSX) +# define gtty(x,y) ioctl(x,TIOCGETP,y) +# define stty(x,y) ioctl(x,TIOCSETP,y) +# endif #endif #ifndef __convexc__ diff -Naur cernlib2003.orig/packlib/cuserid/Imakefile cernlib2003.new/packlib/cuserid/Imakefile --- cernlib2003.orig/packlib/cuserid/Imakefile 1969-12-31 16:00:00.000000000 -0800 +++ cernlib2003.new/packlib/cuserid/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -0,0 +1,3 @@ +SRCS_C= cuserid.c + +SubdirLibraryTarget(NullParameter,NullParameter) diff -Naur cernlib2003.orig/packlib/cuserid/cuserid.c cernlib2003.new/packlib/cuserid/cuserid.c --- cernlib2003.orig/packlib/cuserid/cuserid.c 1969-12-31 16:00:00.000000000 -0800 +++ cernlib2003.new/packlib/cuserid/cuserid.c 2003-12-29 11:21:25.000000000 -0800 @@ -0,0 +1,79 @@ +/* + * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights + * Reserved. This file contains Original Code and/or Modifications of + * Original Code as defined in and that are subject to the Apple Public + * Source License Version 1.1 (the "License"). You may not use this file + * except in compliance with the License. Please obtain a copy of the + * License at http://www.apple.com/publicsource and read it before using + * this file. + * + * The Original Code and all software distributed under the License are + * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT. Please see the + * License for the specific language governing rights and limitations + * under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + + +#include +#include +#include +#include + +char * +cuserid(s) + char *s; +{ + register struct passwd *pwd; + + if ((pwd = getpwuid(geteuid())) == NULL) { + if (s) + *s = '\0'; + return (s); + } + if (s) { + (void)strncpy(s, pwd->pw_name, L_cuserid); + return (s); + } + return (pwd->pw_name); +} diff -Naur cernlib2003.orig/packlib/kernlib/kernbit/z268/systems.c cernlib2003.new/packlib/kernlib/kernbit/z268/systems.c --- cernlib2003.orig/packlib/kernlib/kernbit/z268/systems.c 1998-08-25 05:45:56.000000000 -0700 +++ cernlib2003.new/packlib/kernlib/kernbit/z268/systems.c 2003-12-29 11:21:25.000000000 -0800 @@ -200,7 +200,7 @@ || defined(_IBMR2) \ || defined(__convexc__) \ || defined(_OSK) \ -|| defined(__linux) || defined(__FreeBSD__) +|| defined(__linux) || defined(__FreeBSD__) || defined(__DARWIN__) void systems_( command, buf, buflen, l, chars, rc, ovflw ) diff -Naur cernlib2003.orig/packlib/kernlib/kernnum/d704fort/Imakefile cernlib2003.new/packlib/kernlib/kernnum/d704fort/Imakefile --- cernlib2003.orig/packlib/kernlib/kernnum/d704fort/Imakefile 1996-06-12 03:03:53.000000000 -0700 +++ cernlib2003.new/packlib/kernlib/kernnum/d704fort/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -4,6 +4,10 @@ FDEBUGFLAGS=NoOpFortranDebugFlags #endif +#if defined(CERNLIB_MACOSX) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + FORTRANSAVEOPTION=FortranSaveFlags SubdirLibraryTarget(NullParameter,NullParameter) diff -Naur cernlib2003.orig/packlib/kernlib/kernnum/f002fort/Imakefile cernlib2003.new/packlib/kernlib/kernnum/f002fort/Imakefile --- cernlib2003.orig/packlib/kernlib/kernnum/f002fort/Imakefile 1996-06-12 03:04:09.000000000 -0700 +++ cernlib2003.new/packlib/kernlib/kernnum/f002fort/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -10,6 +10,10 @@ FDEBUGFLAGS=NoOpFortranDebugFlags #endif +#if defined(CERNLIB_MACOSX) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + FORTRANSAVEOPTION=FortranSaveFlags SubdirLibraryTarget(NullParameter,NullParameter) diff -Naur cernlib2003.orig/packlib/kernlib/kernnum/f003fort/Imakefile cernlib2003.new/packlib/kernlib/kernnum/f003fort/Imakefile --- cernlib2003.orig/packlib/kernlib/kernnum/f003fort/Imakefile 1996-06-12 03:04:12.000000000 -0700 +++ cernlib2003.new/packlib/kernlib/kernnum/f003fort/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -11,6 +11,10 @@ FDEBUGFLAGS=NoOpFortranDebugFlags #endif +#if defined(CERNLIB_MACOSX) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + FORTRANSAVEOPTION=FortranSaveFlags SubdirLibraryTarget(NullParameter,NullParameter) diff -Naur cernlib2003.orig/packlib/kernlib/kernnum/f004fort/Imakefile cernlib2003.new/packlib/kernlib/kernnum/f004fort/Imakefile --- cernlib2003.orig/packlib/kernlib/kernnum/f004fort/Imakefile 1996-06-12 03:04:16.000000000 -0700 +++ cernlib2003.new/packlib/kernlib/kernnum/f004fort/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -6,6 +6,10 @@ FDEBUGFLAGS=NoOpFortranDebugFlags #endif +#if defined(CERNLIB_MACOSX) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + FORTRANSAVEOPTION=FortranSaveFlags SubdirLibraryTarget(NullParameter,NullParameter) diff -Naur cernlib2003.orig/packlib/kernlib/kernnum/f010fort/Imakefile cernlib2003.new/packlib/kernlib/kernnum/f010fort/Imakefile --- cernlib2003.orig/packlib/kernlib/kernnum/f010fort/Imakefile 1996-06-12 03:04:19.000000000 -0700 +++ cernlib2003.new/packlib/kernlib/kernnum/f010fort/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -7,6 +7,10 @@ FDEBUGFLAGS=NoOpFortranDebugFlags #endif +#if defined(CERNLIB_MACOSX) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + FORTRANSAVEOPTION=FortranSaveFlags diff -Naur cernlib2003.orig/packlib/kernlib/kernnum/f011fort/Imakefile cernlib2003.new/packlib/kernlib/kernnum/f011fort/Imakefile --- cernlib2003.orig/packlib/kernlib/kernnum/f011fort/Imakefile 1996-06-12 03:04:24.000000000 -0700 +++ cernlib2003.new/packlib/kernlib/kernnum/f011fort/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -7,6 +7,10 @@ FDEBUGFLAGS=NoOpFortranDebugFlags #endif +#if defined(CERNLIB_MACOSX) +FDEBUGFLAGS := -O0 $(FDEBUGFLAGS) +#endif + FORTRANSAVEOPTION=FortranSaveFlags SubdirLibraryTarget(NullParameter,NullParameter) diff -Naur cernlib2003.orig/packlib/kuip/kuip/ksys.h cernlib2003.new/packlib/kuip/kuip/ksys.h --- cernlib2003.orig/packlib/kuip/kuip/ksys.h 1997-09-02 07:50:01.000000000 -0700 +++ cernlib2003.new/packlib/kuip/kuip/ksys.h 2003-12-29 11:21:25.000000000 -0800 @@ -188,6 +188,17 @@ #endif +#ifdef CERNLIB_MACOSX +# define MACOSX +# define MACHINE_NAME "MACOSX" +# define UNIX +# define HAVE_MEMMOVE +# define HAVE_STRCASECMP +# define HAVE_SELECT +# define MATCH_RE_COMP /* use re_comp/re_exec */ +#endif + + #ifdef MSDOS # define MACHINE_NAME "IBMPC" # define OS_NAME "MSDOS" diff -Naur cernlib2003.orig/pawlib/comis/code/csaddr.F cernlib2003.new/pawlib/comis/code/csaddr.F --- cernlib2003.orig/pawlib/comis/code/csaddr.F 1996-02-26 09:16:25.000000000 -0800 +++ cernlib2003.new/pawlib/comis/code/csaddr.F 2003-12-29 11:21:25.000000000 -0800 @@ -26,7 +26,11 @@ I=CSLTGP(IPVS) IF(I.GT.0)THEN IF(IFCS.EQ.0)THEN +#if defined(CERNLIB_MACOSX) + IADGP=CS_GET_FUNC('_'//NAME(1:NC)//'_') +#else IADGP=CS_GET_FUNC(NAME(1:NC)//'_') +#endif IF(IADGP.NE.0)THEN IFCS=-2 CALL CSRTGP(I) @@ -35,7 +39,11 @@ ENDIF ENDIF ELSE +#if defined(CERNLIB_MACOSX) + IADGP=CS_GET_FUNC('_'//NAME(1:NC)//'_') +#else IADGP=CS_GET_FUNC(NAME(1:NC)//'_') +#endif IF(IADGP.NE.0)THEN IFCS=-2 ITYPGP=-2 diff -Naur cernlib2003.orig/pawlib/comis/code/cscrexec.F cernlib2003.new/pawlib/comis/code/cscrexec.F --- cernlib2003.orig/pawlib/comis/code/cscrexec.F 2000-09-25 07:16:36.000000000 -0700 +++ cernlib2003.new/pawlib/comis/code/cscrexec.F 2003-12-29 11:21:25.000000000 -0800 @@ -175,10 +175,16 @@ + // NAME(:LN) //'.sl '// NAME(:LN) //'.o' ENDIF #endif -#if defined(CERNLIB_LINUX) +#if defined(CERNLIB_LINUX) && !defined(CERNLIB_MACOSX) CHLINE= 'ld -shared -o ' + // NAME(:LN) //'.sl '// NAME(:LN) //'.o' #endif +#if defined(CERNLIB_MACOSX) + CHLINE= 'g77 -o ' + + // NAME(:LN) //'.sl '// NAME(:LN) //'.o' + + // ' -bundle -bind_at_load' + + // ' -bundle_loader @PREFIX@/bin/pawX11' +#endif #if defined(CERNLIB_ALPHA_OSF) CHLINE= 'ld -shared -o ' + // NAME(:LN) //'.sl '// NAME(:LN) //'.o \\' diff -Naur cernlib2003.orig/pawlib/paw/programs/Imakefile cernlib2003.new/pawlib/paw/programs/Imakefile --- cernlib2003.orig/pawlib/paw/programs/Imakefile 2002-04-25 03:20:11.000000000 -0700 +++ cernlib2003.new/pawlib/paw/programs/Imakefile 2003-12-29 11:21:25.000000000 -0800 @@ -9,7 +9,7 @@ EXTRA_LDOPTIONS=-Wl,-E #endif -#if defined(CERNLIB_LINUX) +#if defined(CERNLIB_LINUX) && !defined(CERNLIB_MACOSX) EXTRA_LDOPTIONS=-Wl,-E #endif diff -Naur cernlib2003.orig/scripts/cernlib cernlib2003.new/scripts/cernlib --- cernlib2003.orig/scripts/cernlib 2003-01-23 06:02:04.000000000 -0800 +++ cernlib2003.new/scripts/cernlib 2003-12-29 11:27:36.000000000 -0800 @@ -31,7 +31,7 @@ - CERNLIB="" + CERNLIB="-L${CERN_ROOT}/lib" liblist=`echo $* | sed -e 's/,/ /g'` for lib in $liblist @@ -44,17 +44,16 @@ val=`echo $lib | sed -e "s?\/? ?g"` set - $val [ $# -eq 2 -a $1 != "graflib" ] && lver=$2 - dir=$CERN/$lver/lib ln=$1 if [ $1 = "kernlib" -o $1 = "packlib" ] ; then _p=1 fi - [ $1 = "genlib" ] && ln="mathlib.a $dir/libphtools" + [ $1 = "genlib" ] && ln="mathlib -lphtools" [ $1 = "bvsl" ] && ln="mathlib" [ $1 = "mpalib" ] && ln="mathlib" - [ $1 = "lapack" ] && ln="lapack3.a $dir/libblas" - [ $1 = "pawlib" ] && ln="pawlib.a $dir/liblapack3.a $dir/libblas" - [ $1 = "pythia" ] && ln="jetset" + [ $1 = "lapack" ] && ln="lapack -lf77blas" + [ $1 = "pawlib" ] && ln="pawlib -llapack -lf77blas" + [ $1 = "pythia" ] && ln="jetset74" if [ $1 = "GKS" -o $1 = "gks" ] ; then drv="X11" ; glib="$1" ; dir="$CERN/gks/$lver/lib" fi @@ -67,11 +66,11 @@ fi [ $# -eq 3 ] && dir="$CERN/$3/lib" [ $drv = "Motif" ] && drv="X11" - ln="$ln.a $dir/libgraf$drv" + ln="$ln -lgraf$drv" fi - CERNLIB="$CERNLIB $dir/lib$ln.a" + CERNLIB="$CERNLIB -l$ln" done - [ $_p -eq 0 ] && CERNLIB="$CERNLIB $CERN/$gver/lib/libpacklib.a" + [ $_p -eq 0 ] && CERNLIB="$CERNLIB -lpacklib" # get system name [ -d /NextAdmin ] && Msys="NeXT" || Msys=`uname -s` @@ -116,6 +115,9 @@ [ -d /usr/X11R6/lib ] && SYSGMOTIF="-L/usr/X11R6/lib -lXm -lXt -lXp -lXext -lX11" [ `uname -m` = ppc ] && SYSGMOTIF="$SYSGMOTIF -lSM -lICE -lXpm" ;; + Darwin) [ -d /usr/X11R6/lib ] && SYSGX11="-L/usr/X11R6/lib -lX11" + [ -d /usr/X11R6/lib ] && SYSGMOTIF="-L/usr/X11R6/lib -lXm -lXt -lXp -lXext -lX11 -lSM -lICE -lXpm" + ;; NeXT) SYSGX11="/usr/lib/X11/libX11.r" ; SYSGMOTIF="-lXm -lXt /usr/lib/X11/libX11.r" ;; OSF1) SYSGX11="-lX11 -ldnet_stub" ; @@ -209,6 +211,9 @@ if [ "$Msys" = "Linux" ] ; then CERNLIB="$CERNLIB -lnsl -lcrypt -ldl" fi + if [ "$Msys" = "Darwin" ] ; then + CERNLIB="$CERNLIB -latlas -lSystem -lcc_dynamic -ldl" + fi fi diff -Naur cernlib2003.orig/scripts/gxint cernlib2003.new/scripts/gxint --- cernlib2003.orig/scripts/gxint Mon May 29 05:18:41 1995 +++ cernlib2003.new/scripts/gxint Sat Sep 25 10:29:02 2004 @@ -78,7 +78,7 @@ fi fi -drv="/X11" ; ver="pro" ; OUT="/tmp/GEANT$$" +drv="/X11" ; ver="" ; OUT="/tmp/GEANT$$" gxint="" while [ $# -gt 0 ] @@ -156,7 +156,7 @@ $line EoD -$LDN -o $OUT $gxint $pgm $userpath $userlibs `cernlib -v $ver $CLIB`; cc=$? +$LDN -o $OUT $gxint $pgm $userpath $userlibs `cernlib $CLIB`; cc=$? [ $cc -ne 0 ] && exit $cc diff -Naur cernlib2003.orig/packlib/kuip/code_kuip/Imakefile cernlib2003.new/packlib/kuip/code_kuip/Imakefile --- cernlib2003.orig/packlib/kuip/code_kuip/Imakefile 1999-11-24 01:52:07.000000000 -0800 +++ cernlib2003.new/packlib/kuip/code_kuip/Imakefile 2004-01-31 17:31:27.000000000 -0800 @@ -3,7 +3,7 @@ SRCS_C= getline.c kalias.c kbrow.c kedit.c kexec.c khash.c kicon.c \ @@\ kienbr.c kipiaf.c kkern.c kmacro.c kmath.c kmenu.c kmisc.c \ @@\ kmodel.c kmterm.c kuinit.c kutrue.c kuvers.c kuwhag.c \ @@\ - kuwhat.c kvect.c + kuwhat.c kvect.c re.c #ifdef CERNLIB_WINNT SRCS_C :=$(SRCS_C) kmutil0.c diff -Naur cernlib2003.orig/packlib/kuip/code_kuip/re.c cernlib2003.new/packlib/kuip/code_kuip/re.c --- cernlib2003.orig/packlib/kuip/code_kuip/re.c 1969-12-31 16:00:00.000000000 -0800 +++ cernlib2003.new/packlib/kuip/code_kuip/re.c 2004-01-31 17:30:53.000000000 -0800 @@ -0,0 +1,29 @@ +#include +#include + +static regex_t reg; + +char * +re_comp(s) +char *s; +{ + int i; + static char errbuf[81]; + i = regcomp(®, s, REG_BASIC|REG_NOSUB); + + if (!i) return (char *)0; + + regerror(i, ®, errbuf, sizeof(errbuf)); + return errbuf; +} + +int +re_exec(s) +char *s; +{ + int i; + + i = regexec(®, s, (size_t) 0, (regmatch_t *)0, 0); + + return !i; +} diff -Naur cernlib2003.orig/mclibs/lepto63/test/demo.F cernlib2003.new/mclibs/lepto63/test/demo.F --- cernlib2003.orig/mclibs/lepto63/test/demo.F Mon Dec 2 20:05:18 2002 +++ cernlib2003.new/mclibs/lepto63/test/demo.F Wed Jan 14 22:20:23 2004 @@ -42,7 +42,7 @@ DATA PE/20*820.0/ DATA LE/20*-27.5/ C - EXTERNAL LUDATA,PYDATA + EXTERNAL LUDATA,PYDATA,LEPTOD C...Set cuts LST(3)=0 CUT(7)=100. diff -Naur cernlib2003.orig/mclibs/lepto63/test/demo2.F cernlib2003.new/mclibs/lepto63/test/demo2.F --- cernlib2003.orig/mclibs/lepto63/test/demo2.F Mon Dec 2 20:05:19 2002 +++ cernlib2003.new/mclibs/lepto63/test/demo2.F Wed Jan 14 22:20:36 2004 @@ -7,7 +7,7 @@ COMMON/LUJETS/N,K(4000,5),P(4000,5),V(4000,5) DATA NPRINT/10/,NEVENT/100/ C - EXTERNAL LUDATA,PYDATA + EXTERNAL LUDATA,PYDATA,LEPTOD C...Settings CUT(5)=10. CUT(7)=25.