[Go to BBS]
All articles in a thread
SubjectF SAD Update. V1.0.10.4.12a 10 A mod for Cygwin.
Article NoF 903
DateF 2011/04/10(Sun) 08:09:58
ContributorF K. Oide
Dear Users,

1. Directives in tfNetworkIO_.c for Cygwin were removed. They used to be required as netdb.h in Cygwin was not well compatible with unix's. Now netdb.h in Cygwin looks OK, at least in i386-CYGWIN_NT-6.11 .

2. By the change above, SAD was successfully installed for Cygwin with conditions below:

Windows 7 Ultimate 6.1.7601 SP1 build 7601
i386-CYGWIN_NT-6.11
gcc-4 / gfrotran 4.3.4 20090804 (release) 1
SAD 1.0.10.4.12a10
tcltk 8.5.8

sad.conf (many of them have nothing to do with Cygwin):

# New Makefile -- Local Configuration Part Sample
#

## Compiler setting examples

# -- Interl C/Fortran Compiler 7.1 --
#COMPILER=Intel
#FC=ifc
#CC=icc

# -- Interl C/Fortran Compiler 8.x --
#COMPILER=Intel
#FC=ifort
#CC=icc
##SYS_FOPT+=-vms -ccdefault list
#SYS_FOPT_ENABLE_BACKSLASH_ESCAPE=-assume bscc
#SYS_DEPOBJ+=sim/intel_fortran8.o

# -- GNU Compiler Collection 4.1 or 4.2 --
SYS_FOPT= -Wall
_USE_GFORTRAN= YES
_USE_G95= NO
COMPILER=GNU
SYS_COPT= -Wall -std="gnu99"
ifeq ($(OSTYPE),darwin)
ifeq ($(MACHTYPE),x86_64)
SYS_FOPT+= -m64
SYS_COPT+= -m64
endif
ifeq ($(MACHTYPE),powerpc)
SYS_FOPT+= -m64
SYS_COPT+= -m64
endif
endif
CC=gcc-4

#ifeq ($(OSTYPE),cygwin)
#FC=g77
#FOPT= -O3 -fno-second-underscore -fdollar-ok -fargument-alias -mpreferred-stack-boundary=4 -mfancy-math-387 -fbackslash
#else
FC=gfortran
FOPT= -O3 -fno-second-underscore -fdollar-ok -fargument-alias -mpreferred-stack-boundary=4 -mfancy-math-387 -frecursive -fbackslash -std=legacy -fall-intrinsics
#endif

#HAVE_F_LNBLNK=NO
#SYS_DEPOBJ+=sim/unix_fortran_.o sim/fseek_Dummy_.o

# -- Debugging source tree --
#COPT=-g -O1

# -- Debugging memory allocator --
#COPT+=-DDEBUG_MEMORY

# -- Debugging memory usege --
#COPT+=-DUSE_ELECTRICFENCE -DUSE_ELECTRICFENCE_FREECHECK
#EXE_LIBS+=-L/usr/local/lib -lefence

## SAD root directory
SAD_ROOT=/Users/oide/SAD/oldsad/

## Contrib source archive directory
#SOURCE_ARCHIVE_DIR=/usr/ports/distfiles

## X11 setup
#
USE_X11=YES
#X11_PREFIX=/usr/X11R6
##X11_INCDIR=$(X11_PREFIX)/include
##X11_LIBDIR=$(X11_PREFIX)/lib
##X11_LIBS=-lX11

## Tcl/Tk setup
#
USE_TCLTK=YES
#BUILD_TCLTK=YES
TCLTK_CFLAGS+=-DTCL_NO_STACK_CHECK
ifeq ($(OSTYPE),darwin)
ifeq ($(MACHTYPE),x86_64)
TCLTK_CFLAGS+= -m64
endif
ifeq ($(MACHTYPE),powerpc)
TCLTK_CFLAGS+= -m64
endif
endif

##USE_TCLTK_SHARED_LIBRARY=YES
##TCLTK_GUI_BACKEND=X11|AQUA
##TCLTK_FONT_SYSTEM=Xlib|Xft
##TCLTK_VERSION=8.5a5|cvs|8.4.14
ifeq ($(OSTYPE),cygwin)
#TCLTK_VERSION=8.4.14
endif
##TCLTK_PREFIX=$(SAD_ARCH_DIR)
##TCLTK_INCDIR=$(TCLTK_PREFIX)/include
##TCLTK_LIBDIR=$(TCLTK_PREFIX)/lib
##TCLTK_LIBS=-ltk$(TCLTK_FEATURE_VERSION) -ltcl$(TCLTK_FEATURE_VERSION)

## Python setup
#
#USE_PYTHON=YES
##BUILD_PYTHON=YES
##USE_PYTHON_THREAD=YES
##PYTHON_VERSION=2.4
##PYTHON_PATCH_LEVEL=1
##PYTHON_PREFIX=$(SAD_ARCH_DIR)
##PYTHON_INCDIR=$(PYTHON_PREFIX)/include/python$(PYTHON_VERSION)
##PYTHON_LIBDIR=$(PYTHON_PREFIX)/lib
##PYTHON_LIBS=-lpython$(PYTHON_VERSION)
##PYTHON_PATH=$(PYTHON_PREFIX)/lib/python$(PYTHON_VERSION)

## EPICS setup
#
#USE_EPICS=YES
#EPICS_INCDIR=$(EPICS_PREFIX)/include
#EPICS_LIBDIR=$(EPICS_PREFIX)/lib
#EPICS_LIBS=-lca -lDb -lCom

## for KEK-B EPICS setup
#USE_KEKB_EPICS=YES

# --- don't touch ---
ifeq ($(USE_KEKB_EPICS),YES)
KEKB_EPICS_ARCH=Unknown

ifeq ($(OS_NAME),Linux)
ifeq ($(CPU_ARCH),i386)
KEKB_EPICS_ARCH=Linux
endif
endif

ifeq ($(OS_NAME),OSF1)
ifeq ($(CPU_ARCH),Alpha)
KEKB_EPICS_ARCH=alpha
endif
endif

ifeq ($(OS_NAME),Darwin)
ifeq ($(CPU_ARCH),i386)
KEKB_EPICS_ARCH=darwin-x86
EPICS_PREFIX=/proj/epics/R314/R3149/base
EPICS_LIBS=-lca -ldbStaticHost -lCom
COPT+=-I$(EPICS_PREFIX)/include/os/Darwin
endif
ifeq ($(CPU_ARCH),PowerPC)
KEKB_EPICS_ARCH=darwin-ppc
EPICS_PREFIX=/proj/epics/R314/R3149/base
EPICS_LIBS=-lca -ldbStaticHost -lCom
COPT+=-I$(EPICS_PREFIX)/include/os/Darwin
endif
endif

ifeq ($(OS_NAME),HP-UX)
ifeq ($(CPU_ARCH),PA1.0)
KEKB_EPICS_ARCH=hp700
endif

ifeq ($(CPU_ARCH),PA2.0)
KEKB_EPICS_ARCH=hppa8k
endif
endif

ifeq ($(KEKB_EPICS_ARCH),Unknown)
$(error Unknown architecture)
else
USE_EPICS=YES
EPICS_PREFIX?=/proj/epics/R313/base
EPICS_LIBDIR=$(EPICS_PREFIX)/lib/$(KEKB_EPICS_ARCH)
endif
endif # USE_KEKB_EPICS==YES

# End of File