diff -uNr src.ORIG/config/MacOSX.cf src/config/MacOSX.cf --- src.ORIG/config/MacOSX.cf 2013-12-12 08:32:19.000000000 +0900 +++ src/config/MacOSX.cf 2013-12-12 08:32:41.000000000 +0900 @@ -75,14 +75,14 @@ # define BuildXvExt NO #define OptimizedCDebugFlags -O0 -g -pipe #define ExtraLoadFlags -L/usr/X11R6/lib \ --L/usr/osxws/lib -lgfortran +-L/usr/osxws/lib -lgfortran -Wl,-no_pie #define BuildExamples YES /*#define StandardDefines -DCERNLIB_LINUX -DCERNLIB_PPC -DCERNLIB_MACOSX \ -Dunix=unix -D__powerpc__ -D__DARWIN__ */ #define StandardDefines -DCERNLIB_LINUX -DCERNLIB_MACOSX \ - -Dunix=unix -D__DARWIN__ + -Dunix=unix -D__DARWIN__ -DCERNLIB_QMLXIA64 /* -DX_NOT_POSIX -DX_LOCALE */ #define HasVoidSignalReturn YES @@ -138,17 +138,17 @@ -fno-automatic \ -flat_namespace -undefined warning #define CernlibSystem -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX \ - -DCERNLIB_@ARCH@ -DCERNLIB_QMGLIBC \ - -DCERNLIB_MACOSX -DCERNLIB_GFORTRAN + -DCERNLIB_QMLXIA64 -DCERNLIB_QMGLIBC \ + -DCERNLIB_MACOSX -DCERNLIB_GFORTRAN /* #define CERNLIB_SHIFT NO */ #define CERNLIB_LINUX #define CERNLIB_UNIX #define CERNLIB_LNX -#define CERNLIB_@ARCH@ #define CERNLIB_QMGLIBC #define CERNLIB_MACOSX #define CERNLIB_GFORTRAN +#define CERNLIB_QMLXIA64 #define X11Includes -I/usr/X11R6/include diff -uNr src.ORIG/geant321/Imakefile src/geant321/Imakefile --- src.ORIG/geant321/Imakefile 2013-12-12 08:32:19.000000000 +0900 +++ src/geant321/Imakefile 2013-12-12 08:32:41.000000000 +0900 @@ -38,7 +38,7 @@ $(CERN_LIBDIR)/xsneut95.dat: #if defined(CERNLIB_MACOSX) - $(CP) -f data/$(@F) $(@D) + $(CP) -f $(CVSCOSRC)/geant321/data/$(@F) $(@D) #else cd $(@D);$(LN) ../share/lib/$(@F) $(@F) #endif diff -uNr src.ORIG/packlib/kuip/code_kuip/getline.c src/packlib/kuip/code_kuip/getline.c --- src.ORIG/packlib/kuip/code_kuip/getline.c 2013-12-12 08:32:19.000000000 +0900 +++ src/packlib/kuip/code_kuip/getline.c 2013-12-12 08:32:41.000000000 +0900 @@ -691,6 +691,10 @@ { int c, loc, tmp; int sig; +#if 0 +#else + char *tmpstr; +#endif if( prompt != NULL ) gl_prompt = prompt; @@ -802,7 +806,13 @@ break; case '\030': /* ^X flush type-ahead then ^U */ case '\025': /* ^U deletes from beginning of line */ +#if 0 strcpy( &gl_buf[0], &gl_buf[gl_pos] ); +#else + tmpstr = strdup(&gl_buf[gl_pos]); + strcpy(&gl_buf[0], tmpstr); + free(tmpstr); +#endif gl_fixup( gl_prompt, 0, 0 ); c = 0; break; diff -uNr src.ORIG/packlib/kuip/code_kuip/kalias.c src/packlib/kuip/code_kuip/kalias.c --- src.ORIG/packlib/kuip/code_kuip/kalias.c 1998-11-10 22:14:11.000000000 +0900 +++ src/packlib/kuip/code_kuip/kalias.c 2013-12-12 08:32:41.000000000 +0900 @@ -680,7 +680,13 @@ if( is_eval || is_unquote ) { expr[arglen-1] = '\0'; +#if 0 expr = strcpy( expr, expr + len + 2 ); +#else + char *tmpstr = strdup(expr + len + 2); + expr = strcpy( expr, tmpstr); + free(tmpstr); +#endif } value = ku_eval( expr ); free( expr ); diff -uNr src.ORIG/packlib/kuip/code_kuip/kexec.c src/packlib/kuip/code_kuip/kexec.c --- src.ORIG/packlib/kuip/code_kuip/kexec.c 1998-12-17 23:20:00.000000000 +0900 +++ src/packlib/kuip/code_kuip/kexec.c 2013-12-12 08:32:41.000000000 +0900 @@ -859,7 +859,13 @@ else { /* contract "'abc'//def//ghi" to "'abcdef'//ghi" */ /* ^p ^conc */ +#if 0 strncpy( p, p + 3, conc - p - 3 ); /* "'abcdefdef//ghi" */ +#else + char *tmpstr = strdup(p+3); + strncpy( p, tmpstr, conc - p - 3 ); /* "'abcdefdef//ghi" */ + free(tmpstr); +#endif conc[-3] = '\''; /* "'abcdef'ef//ghi" */ memmove( conc - 2, conc, strlen(conc) + 1); /* strcpy( conc - 2, conc );*/ diff -uNr src.ORIG/packlib/kuip/code_kuip/khash.c src/packlib/kuip/code_kuip/khash.c --- src.ORIG/packlib/kuip/code_kuip/khash.c 1996-03-09 00:32:56.000000000 +0900 +++ src/packlib/kuip/code_kuip/khash.c 2013-12-12 08:32:41.000000000 +0900 @@ -165,7 +165,13 @@ while( ent != NULL ) { if( (*table->strcmp)( ent->name, name ) == 0 ) { /* name exists: replace value */ +#if 0 strcpy( ent->name, name ); +#else + if (ent->name != name) { + strcpy( ent->name, name ); + } +#endif if( table->is_string ) free( (char*)ent->value ); break; diff -uNr src.ORIG/packlib/kuip/code_kuip/kkern.c src/packlib/kuip/code_kuip/kkern.c --- src.ORIG/packlib/kuip/code_kuip/kkern.c 2013-12-12 08:32:19.000000000 +0900 +++ src/packlib/kuip/code_kuip/kkern.c 2013-12-12 09:01:46.000000000 +0900 @@ -632,8 +632,15 @@ size_t bytes = len1 + len2 + 1; if( bytes < ALLOC_MIN_BYTES ) bytes = ALLOC_MIN_BYTES; +#if 0 str1 = realloc( str1, bytes ); strcpy( &str1[len1], str2 ); +#else + char *tmpstr = strdup(str2); + str1 = realloc( str1, bytes ); + strcpy( &str1[len1], tmpstr ); + free(tmpstr); +#endif return str1; } } diff -uNr src.ORIG/packlib/kuip/code_kuip/kmacro.c src/packlib/kuip/code_kuip/kmacro.c --- src.ORIG/packlib/kuip/code_kuip/kmacro.c 1996-04-11 18:43:26.000000000 +0900 +++ src/packlib/kuip/code_kuip/kmacro.c 2013-12-12 08:32:41.000000000 +0900 @@ -622,7 +622,13 @@ n = strlen( name ); if( name[0] == '[' && name[n-1] == ']' ) { name[n-1] = '\0'; +#if 0 strcpy( name, name + 1 ); +#else + char *tmpstr = strdup(name + 1); + strcpy( name, tmpstr ); + free(tmpstr); +#endif } /* @@ -1107,11 +1113,23 @@ */ while( (p = strstr( buf, "@(" )) != NULL ) { *p = '['; +#if 0 strcpy( p + 1, p + 2 ); +#else + char *tmpstr = strdup(p + 2); + strcpy( p + 1, tmpstr ); + free(tmpstr); +#endif } while( (p = strstr( buf, "@)" )) != NULL ) { *p = ']'; +#if 0 strcpy( p + 1, p + 2 ); +#else + char *tmpstr = strdup(p + 2); + strcpy( p + 1, tmpstr ); + free(tmpstr); +#endif } /* remove tabs and trailing blanks */ @@ -1877,7 +1895,13 @@ full_line = stmt_arg2; } else { +#if 0 strcpy( full_line, stmt_arg2 ); +#else + char *tmpstr = strdup(stmt_arg2); + strcpy( full_line, tmpstr ); + free(tmpstr); +#endif strcat( full_line, "; " ); strcat( full_line, tail ); free( stmt_arg2 ); @@ -1892,7 +1916,13 @@ full_line = NULL; } else { +#if 0 strcpy( full_line, tail ); +#else + char *tmpstr = strdup(tail); + strcpy( full_line, tmpstr ); + free(tmpstr); +#endif } return stmt; diff -uNr src.ORIG/packlib/kuip/code_kuip/kmath.c src/packlib/kuip/code_kuip/kmath.c --- src.ORIG/packlib/kuip/code_kuip/kmath.c 2000-01-24 18:22:49.000000000 +0900 +++ src/packlib/kuip/code_kuip/kmath.c 2013-12-12 08:32:41.000000000 +0900 @@ -956,7 +956,15 @@ if( str != NULL ) { /* remove quotes */ char *s; for( p = str; (s = strstr( p, "''" )) != NULL; p = s + 1 ) +#if 0 strcpy( s, s + 1 ); +#else + { + char *tmpstr = strdup(s + 1); + strcpy( s, tmpstr ); + free(tmpstr); + } +#endif kmathlval.sval = str; kline = n + 1; return STRING; @@ -2521,9 +2529,21 @@ if( n >= 2 && yyval.sval[0] == '\'' && yyval.sval[n-1] == '\'' ) { char *p = yyval.sval; yyval.sval[n-1] = '\0'; +#if 0 strcpy( yyval.sval, yyval.sval + 1 ); +#else + char *tmpstr = strdup(yyval.sval + 1); + strcpy( yyval.sval, tmpstr ); + free(tmpstr); +#endif while( (p = strstr( p, "''" )) != NULL ) { +#if 0 strcpy( p, p + 1 ); +#else + tmpstr = strdup(p + 1); + strcpy( p, tmpstr ); + free(tmpstr); +#endif p++; } } @@ -2571,7 +2591,15 @@ else if( k < 1 ) YYABORT; else +#if 0 strcpy( yyval.sval, yyval.sval + k - 1 ); +#else + { + char *tmpstr = strdup(yyval.sval + k - 1); + strcpy( yyval.sval, tmpstr ); + free(tmpstr); + } +#endif } break; case 88:{ int len = strlen( yypvt[-4].sval ); @@ -2585,7 +2613,13 @@ else if( k < 1 ) YYABORT; else { +#if 0 strcpy( yyval.sval, yyval.sval + k - 1 ); +#else + char *tmpstr = strdup(yyval.sval + k - 1); + strcpy( yyval.sval, tmpstr ); + free(tmpstr); +#endif if( k + n <= len ) yyval.sval[n] = '\0'; } diff -uNr src.ORIG/packlib/kuip/code_kuip/kmenu.c src/packlib/kuip/code_kuip/kmenu.c --- src.ORIG/packlib/kuip/code_kuip/kmenu.c 1999-06-04 18:42:02.000000000 +0900 +++ src/packlib/kuip/code_kuip/kmenu.c 2013-12-12 08:32:41.000000000 +0900 @@ -2602,7 +2602,15 @@ if( menu_name[0] == '\\' ) menu_name[0] = '/'; else +#if 0 strcpy( menu_name, menu_name + 2 ); +#else + { + char *tmpstr = strdup(menu_name +2); + strcpy( menu_name, tmpstr); + free(tmpstr); + } +#endif *slash = '\0'; path = realloc( path, strlen( path ) + strlen( menu_name ) + 1 ); strcat( path, menu_name ); diff -uNr src.ORIG/packlib/kuip/code_kuip/kmisc.c src/packlib/kuip/code_kuip/kmisc.c --- src.ORIG/packlib/kuip/code_kuip/kmisc.c 1997-11-19 17:56:26.000000000 +0900 +++ src/packlib/kuip/code_kuip/kmisc.c 2013-12-12 08:32:41.000000000 +0900 @@ -291,7 +291,13 @@ if( path[0] == '-' ) { /* if "-file" remove "-" and leave rest untouched */ +#if 0 strcpy( path, path + 1 ); +#else + char *tmpstr = strdup(path + 1); + strcpy( path, tmpstr ); + free(tmpstr); +#endif } else if( ftype != NULL ) { diff -uNr src.ORIG/packlib/kuip/code_kuip/kmterm.c src/packlib/kuip/code_kuip/kmterm.c --- src.ORIG/packlib/kuip/code_kuip/kmterm.c 1996-03-09 00:32:58.000000000 +0900 +++ src/packlib/kuip/code_kuip/kmterm.c 2013-12-12 09:16:59.000000000 +0900 @@ -37,10 +37,20 @@ { if (!kc_flags.use_kxterm) return; +#if 0 if (*(cmd+strlen(cmd)-1) != '\n') printf("%s%s\n", ESCAPE, cmd); else printf("%s%s", ESCAPE, cmd); +#else + if (*(cmd+strlen(cmd)-1) != '\n') { + printf("%s%s\n", ESCAPE, cmd); + } + else { + printf("%s%s", ESCAPE, cmd); + } + usleep(5000); +#endif } /*********************************************************************** diff -uNr src.ORIG/packlib/kuip/programs/kuipc/kuipcc.c src/packlib/kuip/programs/kuipc/kuipcc.c --- src.ORIG/packlib/kuip/programs/kuipc/kuipcc.c 2013-12-12 08:32:19.000000000 +0900 +++ src/packlib/kuip/programs/kuipc/kuipcc.c 2013-12-12 08:32:41.000000000 +0900 @@ -1097,7 +1097,13 @@ par->abbrev = strlen( par->name ); else { par->abbrev = star - par->name; +#if 0 strcpy( star, star + 1 ); +#else + char *tmpstr = strdup(star + 1); + strcpy( star, tmpstr ); + free(tmpstr); +#endif } par->prompt = strdup( word[1] ); par->dfault = NULL; @@ -1332,7 +1338,13 @@ } while( (p = strstr( text, " " )) != NULL ) { /* remove multiple blanks */ +#if 0 strcpy( p, p + 1 ); +#else + char *tmpstr = strdup(p + 1); + strcpy( p, tmpstr ); + free(tmpstr); +#endif } } value++; /* skip the minus */ @@ -2655,7 +2667,13 @@ while( (p = strstr( name, " " )) != NULL ) { /* remove multiple blanks */ +#if 0 strcpy( p, p + 1 ); +#else + char *tmpstr = strdup(p + 1); + strcpy( p, tmpstr ); + free(tmpstr); +#endif } /* remove ending blanks */ il = strlen(name); diff -uNr src.ORIG/packlib/kuip/programs/kxterm/kxterm.c src/packlib/kuip/programs/kxterm/kxterm.c --- src.ORIG/packlib/kuip/programs/kxterm/kxterm.c 2013-12-12 08:32:19.000000000 +0900 +++ src/packlib/kuip/programs/kxterm/kxterm.c 2013-12-12 08:32:41.000000000 +0900 @@ -1973,7 +1973,13 @@ stop_sending = False; show_prompt(); flush_input(0); +#if 0 strcpy(s, s+1); +#else + char *tmpstr = strdup(s + 1); + strcpy(s, tmpstr); + free(tmpstr); +#endif } /* diff -uNr src.ORIG/pawlib/paw/cmotif/cuts.c src/pawlib/paw/cmotif/cuts.c --- src.ORIG/pawlib/paw/cmotif/cuts.c 1996-05-03 22:01:02.000000000 +0900 +++ src/pawlib/paw/cmotif/cuts.c 2013-12-12 08:32:41.000000000 +0900 @@ -1471,12 +1471,22 @@ static void rm_logicals(char *cutstr) { char *s1, *s2; +#if 0 +#else + char *tmpstr = 0; +#endif s1 = cutstr; s2 = strstr(s1, ".NOT."); while (s2) { if (*(s2+5) == '\0' || *(s2+5) == '.') { +#if 0 strcpy(s2, s2+5); +#else + tmpstr = strdup(s2+5); + strcpy(s2, tmpstr); + free(tmpstr); +#endif s2 = strstr(s2, ".NOT."); } else s2 = strstr(s2+5, ".NOT."); @@ -1486,7 +1496,13 @@ s2 = strstr(s1, ".AND."); while (s2) { if (*(s2+5) == '\0' || *(s2+5) == ')') { +#if 0 strcpy(s2, s2+5); +#else + tmpstr = strdup(s2+5); + strcpy(s2, tmpstr); + free(tmpstr); +#endif s2 = strstr(s2, ".AND."); } else s2 = strstr(s2+5, ".AND."); @@ -1496,7 +1512,13 @@ s2 = strstr(s1, ".OR."); while (s2) { if (*(s2+4) == '\0' || *(s2+4) == ')') { +#if 0 strcpy(s2, s2+4); +#else + tmpstr = strdup(s2+4); + strcpy(s2, tmpstr); + free(tmpstr); +#endif s2 = strstr(s2, ".OR."); } else s2 = strstr(s2+4, ".OR."); diff -uNr src.ORIG/scripts/cernlib src/scripts/cernlib --- src.ORIG/scripts/cernlib 2013-12-12 08:32:19.000000000 +0900 +++ src/scripts/cernlib 2013-12-12 08:32:41.000000000 +0900 @@ -31,7 +31,7 @@ - CERNLIB="-L${CERN_ROOT}/lib" + CERNLIB="" liblist=`echo $* | sed -e 's/,/ /g'` for lib in $liblist @@ -52,8 +52,8 @@ [ $1 = "genlib" ] && ln="-lmathlib -lphtools" [ $1 = "bvsl" ] && ln="-lmathlib" [ $1 = "mpalib" ] && ln="-lmathlib" - [ $1 = "lapack" ] && ln="-lLAPACK -lBLAS -L/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Versions/A/" - [ $1 = "pawlib" ] && ln="-lpawlib -lLAPACK -lBLAS -L/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Versions/A/" + [ $1 = "lapack" ] && ln="-llapack3 -lblas" + [ $1 = "pawlib" ] && ln="-lpawlib -llapack3 -lblas" [ $1 = "pythia" ] && ln="-ljetset" if [ $1 = "GKS" -o $1 = "gks" ] ; then drv="X11" ; glib="$1" ; dir="$CERN/gks/$lver/lib" @@ -117,7 +117,7 @@ [ `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 -L`which fink | sed -e's?bin/fink?lib?'` -lXm -lXt -lXp -lXext -lX11 -lSM -lICE -lXpm" + [ -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" ;; @@ -213,9 +213,12 @@ CERNLIB="$CERNLIB -lnsl -lcrypt -ldl" fi if [ "$Msys" = "Darwin" ] ; then - CERNLIB1="$CERNLIB -L/usr/local/lib/system -lcompat -ldl" + if [ x`echo $CERNLIB | grep -c kernlib` != x0 ]; then + CERNLIB=`echo $CERNLIB | sed -e 's;kernlib;packlib;g'` + fi + CERNLIB1="$CERNLIB -L/usr/osxws/lib -lcompat -ldl" fi fi - echo $CERNLIB ; export CERNLIB + echo -L$CERN/$gver/lib $CERNLIB ; export CERNLIB