#! /bin/sh /usr/share/dpatch/dpatch-run ## 315-fixes-for-MacOSX.dpatch by ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Patch set (mostly due to Keisuke Fujii) to allow CERNLIB to compile ## DP: and run on OS X. @DPATCH@ diff -urNad cernlib-2006.dfsg~/src/Imakefile cernlib-2006.dfsg/src/Imakefile --- cernlib-2006.dfsg~/src/Imakefile 2007-01-09 19:27:31.059892042 -0500 +++ cernlib-2006.dfsg/src/Imakefile 2007-01-09 19:27:33.049467233 -0500 @@ -7,8 +7,12 @@ SUBDIRS= $(LIBDIRS) patchy cfortran #ifdef CERNLIB_UNIX +#ifdef CERNLIB_MACOSX +SUBDIRS:= $(SUBDIRS) p5boot scripts +#else SUBDIRS:= $(SUBDIRS) p5boot scripts mgr #endif +#endif InstallLibSubdirs($(LIBDIRS)) diff -urNad cernlib-2006.dfsg~/src/config/Imake.rules cernlib-2006.dfsg/src/config/Imake.rules --- cernlib-2006.dfsg~/src/config/Imake.rules 2005-04-18 11:39:25.000000000 -0400 +++ cernlib-2006.dfsg/src/config/Imake.rules 2007-01-09 19:27:33.050467019 -0500 @@ -2171,7 +2171,7 @@ #define CppScriptTarget(dst,src,defs,deplist) @@\ dst:: src deplist @@\ RemoveFile($@) @@\ - $(CPP) defs $@ @@\ + $(CPP) defs src | CppSedMagic >$@ @@\ chmod a+x $@ @@\ @@\ clean:: @@\ @@ -2203,7 +2203,7 @@ #define CppFileTarget(dst,src,defs,deplist) @@\ dst:: src deplist @@\ RemoveFile($@) @@\ - $(CPP) defs $@ @@\ + $(CPP) defs src | CppSedMagic >$@ @@\ @@\ clean:: @@\ RemoveFiles(dst) diff -urNad cernlib-2006.dfsg~/src/config/MacOSX.cf cernlib-2006.dfsg/src/config/MacOSX.cf --- cernlib-2006.dfsg~/src/config/MacOSX.cf 2006-11-23 09:25:33.000000000 -0500 +++ cernlib-2006.dfsg/src/config/MacOSX.cf 2007-01-09 19:41:23.844091722 -0500 @@ -73,8 +73,12 @@ #define BuildDPMSExt NO # define BuildXvExt NO -#define OptimizedCDebugFlags -O0 -g -pipe -#define ExtraLoadFlags -L/usr/X11R6/lib + +#ifndef OptimizationLevel +# define OptimizationLevel -O +#endif +#define OptimizedCDebugFlags OptimizationLevel -g -pipe +#define ExtraLoadFlags -L/usr/X11R6/lib -L/sw/lib #define BuildExamples YES @@ -87,9 +91,11 @@ #define HasVoidSignalReturn YES #ifndef DependFlags -#define DependFlags -I/usr/include/ansi -I/usr/include/bsd +#define DependFlags -I/usr/include/ansi -I/usr/include/bsd -I/sw/include #endif +#define StandardIncludes -I/sw/include + #define InstallCmd install /* unlink old */ /* #define ArCmd libtool -a -o */ @@ -103,7 +109,7 @@ #define PrimaryScreenResolution 95 /* for 17 inch screen */ -#define ServerCDebugFlags -O0 -g -pipe +#define ServerCDebugFlags OptimizationLevel -g -pipe /* #define HasGcc YES */ #ifndef HasGcc @@ -122,7 +128,7 @@ #endif #endif #ifndef CcCmd -#define CcCmd cc +#define CcCmd cc -g #endif #define CppCmd /usr/bin/cpp @@ -133,25 +139,35 @@ /* #define GLX_DIRECT_RENDERING */ #define f2cFortran YES -#define FortranCmd gfortran +#define FortranCmd gfortran -g #define XargsCmd xargs #define FortranSaveFlags /* -fno-automatic */ /* Everything static !? */ -#define OptimisedFortranFlags -O0 -g -funroll-loops -fomit-frame-pointer \ +#define OptimisedFortranFlags OptimizationLevel -g -funroll-loops \ -ftree-vectorize -#define DefaultFCOptions -fno-second-underscore -/*#define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX \ - -DCERNLIB_PPC -DCERNLIB_QMGLIBC \ - -DCERNLIB_MACOSX -DCERNLIB_GFORTRAN */ +#define DefaultFCOptions -fno-second-underscore OptimizationLevel +#ifndef CernlibLocalDefines +# define CernlibLocalDefines +#endif +#ifdef PpcDarwinArchitecture +#define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX \ + -DCERNLIB_PPC -DCERNLIB_QMGLIBC \ + -DCERNLIB_MACOSX -DCERNLIB_GFORTRAN \ + CernlibLocalDefines +#else #define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX \ -DCERNLIB_QMGLIBC \ - -DCERNLIB_MACOSX -DCERNLIB_GFORTRAN + -DCERNLIB_MACOSX -DCERNLIB_GFORTRAN \ + CernlibLocalDefines +#endif /* #define CERNLIB_SHIFT NO */ #define CERNLIB_LINUX #define CERNLIB_UNIX #define CERNLIB_LNX -/*#define CERNLIB_PPC*/ +#ifdef PpcDarwinArchitecture +# define CERNLIB_PPC +#endif #define CERNLIB_QMGLIBC #define CERNLIB_MACOSX #define CERNLIB_GFORTRAN diff -urNad cernlib-2006.dfsg~/src/config/MacOSX.rules cernlib-2006.dfsg/src/config/MacOSX.rules --- cernlib-2006.dfsg~/src/config/MacOSX.rules 2006-09-04 08:32:56.000000000 -0400 +++ cernlib-2006.dfsg/src/config/MacOSX.rules 2007-01-09 15:47:15.542676000 -0500 @@ -28,18 +28,24 @@ #endif - - /* * InstallSharedLibrary - generate rules to install the shared library. + * Edited 2003-05-09 by Kevin McCarty to add an install.shlib target. */ #ifndef InstallSharedLibrary #define InstallSharedLibrary(libname,rev,dest) @@\ -install:: Concat(lib,libname.dylib) @@\ +.PHONY: install.shlib shlib/libname @@\ +shlib/libname:: $(DESTDIR)dest/SharedLibraryTargetName(libname) @@\ + @@\ +install.shlib:: $(DESTDIR)dest/SharedLibraryTargetName(libname) @@\ + @@\ +$(DESTDIR)dest/SharedLibraryTargetName(libname): SharedLibraryTargetName(libname) @@\ MakeDir($(DESTDIR)dest) @@\ - $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.dylib) $(DESTDIR)dest -@@\ - + $(INSTALL) $(INSTALLFLAGS) $(INSTBINFLAGS) Concat(lib,libname.rev.dylib) $(DESTDIR)dest @@\ + (T=`echo Concat($(DESTDIR)dest/lib,libname.rev.dylib) | sed 's/\.[^\.d]*\.dylib/\.dylib/'`;\ @@\ + $(RM) $$T && $(LN) Concat(lib,libname.rev.dylib) $$T) @@\ + $(RM) Concat($(DESTDIR)dest/lib,libname.dylib) @@\ + $(LN) Concat(lib,libname.rev.dylib) Concat($(DESTDIR)dest/lib,libname.dylib) #endif /* InstallSharedLibrary */ /* diff -urNad cernlib-2006.dfsg~/src/config/site.def cernlib-2006.dfsg/src/config/site.def --- cernlib-2006.dfsg~/src/config/site.def 2002-04-26 10:46:04.000000000 -0400 +++ cernlib-2006.dfsg/src/config/site.def 2007-01-09 19:27:33.051466806 -0500 @@ -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 diff -urNad cernlib-2005.05.09.dfsg~/src/geant321/gxint/Imakefile cernlib-2005.05.09.dfsg/src/geant321/gxint/Imakefile --- cernlib-2005.05.09.dfsg~/src/geant321/gxint/Imakefile 1997-01-29 11:37:40.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/geant321/gxint/Imakefile 2005-12-07 14:47:34.140148771 -0500 @@ -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 -urNad cernlib-2005.05.09.dfsg~/src/mclibs/cojets/data/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/cojets/data/Imakefile --- cernlib-2005.05.09.dfsg~/src/mclibs/cojets/data/Imakefile 1996-03-27 04:31:06.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/mclibs/cojets/data/Imakefile 2005-12-07 14:47:34.141148558 -0500 @@ -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 -urNad cernlib-2005.05.09.dfsg~/src/mclibs/isajet/data/Imakefile cernlib-2005.05.09.dfsg/src/mclibs/isajet/data/Imakefile --- cernlib-2005.05.09.dfsg~/src/mclibs/isajet/data/Imakefile 1996-03-27 04:33:19.000000000 -0500 +++ cernlib-2005.05.09.dfsg/src/mclibs/isajet/data/Imakefile 2005-12-07 14:47:34.141148558 -0500 @@ -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)