the Fink project is an effort to port
popular Unix programs to Mac OS X
Package: xfoil
Version: 696
Revision: 1002
License: GPL
#Architecture: powerpc
Maintainer: Kevin Horton
Depends: gcc44-shlibs, x11-shlibs, x11
BuildDepends: fink (>= 0.24.12), gcc44, x11-dev
Source: http://web.mit.edu/drela/Public/web/xfoil/xfoil6.96.tar.gz
Source-MD5: 6ea00f7a3a0d338e97ab48ef5dd3d011
SourceDirectory: Xfoil
PatchFile: %n.patch
PatchFile-MD5: 64c8e426a8fc93a64051b9cead5538d3
PatchScript: sed 's|@BUILDPREFIX@|%b|g' <%{PatchFile} | patch -p1
CompileScript: <<
#!/bin/sh -ev
cd orrs/bin
mv Makefile Makefile.orig
mv Makefile_DP Makefile
make osgen
make osmap.o FLG="-O -ffixed-line-length-none -r8"
make osmap.o
cd ..
echo 'bin/osgen osmaps_ns.lst'
bin/osgen osmaps_ns.lst
cd ../plotlib
mv config.make config.make.orig
mv config.make.DP config.make
make
cd ../bin
make all
<<
InstallScript: <<
#!/bin/sh -ev
mkdir %i/bin
cd bin
install pplot pxplot xfoil %i/bin/
cd ../runs
mkdir -p %i/share/doc/xfoil/runs
install * %i/share/doc/xfoil/runs/
mkdir -p %i/share/xfoil
install ../orrs/osmap.dat %i/share/xfoil/
<<
DocFiles: xfoil_doc.txt version_notes.txt sessions.txt README
Description: Design and analyze subsonic isolated airfoils
DescDetail: <<
XFOIL is an interactive program for the design and analysis of subsonic
isolated airfoils.
It consists of a collection of menu-driven routines which perform various
useful functions such as:
-Viscous (or inviscid) analysis of an existing airfoil, allowing
-forced or free transition
-transitional separation bubbles
-limited trailing edge separation
-lift and drag predictions just beyond CLmax
-Karman-Tsien compressibility correction
-fixed or varying Reynolds and/or Mach numbers
-Airfoil design and redesign by interactive modification of surface speed
distributions, in two methods:
-Full-Inverse method, based on a complex-mapping formulation
-Mixed-Inverse method, an extension of XFOIL's basic panel method
-Airfoil redesign by interactive modification of geometric parameters such
as
-max thickness and camber, highpoint position
-LE radius, TE thickness
-camber line via geometry specification
-camber line via loading change specification
-flap deflection
-explicit contour geometry (via screen cursor)
-Blending of airfoils
-Writing and reading of airfoil coordinates and polar save files
-Plotting of geometry, pressure distributions, and multiple polars
Set environment variable OSMAP to "%p/share/xfoil/osmap.dat" if it is
desired to use the option to see individual-frequency plotting on the
A/Ao plot.c
This package compiles xfoil with double precision arithmetic.
<<
DescPort: <<
Need to allow arbitrary line length in osmap.f (uses %b in a string).
g95 compiler with double precision does not work - compiles, but xfoil
will not find solution when doing ASEQ runs
Switched to double precision using gfortran from gcc42 as of
xfoil-696-1000 for more stability. There are multiple compile warnings
about obsolete arithmetic IF statements, but the compiled code appears to
produce correct results.
<<
Homepage: http://web.mit.edu/drela/Public/web/xfoil/
diff -urN Xfoil_orig/bin/Makefile Xfoil/bin/Makefile
--- Xfoil_orig/bin/Makefile 2005-11-23 08:55:45.000000000 -0500
+++ Xfoil/bin/Makefile 2005-12-22 09:42:53.000000000 -0500
@@ -91,25 +91,25 @@
#FFLOPT = -O2 -fomit-frame-pointer
##--------------------------
### GNU g77
-#FC = g77
+FC = gfortran
#FFLAGS = -O3 -fomit-frame-pointer
#FFLOPT = -O3 -fomit-frame-pointer
# Debug flags (symbols, array bounds)
#FC = g77
#FFLAGS = -g -O0 -C
##--------------------------
### Intel Fortran Compiler
-FC = ifort
-FFLAGS = -O
-FFLOPT = -O
+#FC = ifort
+#FFLAGS = -O
+#FFLOPT = -O
#FTNLIB = -Vaxlib /usr/lib/C-ctype.o /usr/lib/C_name.o /usr/lib/ctype-info.o
#FTNLIB = -Vaxlib
-FTNLIB = -i_dynamic
+#FTNLIB = -i_dynamic
##--------------------------
### Double precision option
-FFLAGS = -O -r8
-FFLOPT = -O -r8
+FFLAGS = -O3 -fdefault-real-8
+FFLOPT = -O3 -fdefault-real-8
PLTOBJ = ../plotlib/libPltDP.a
diff -urN Xfoil_orig/orrs/bin/Makefile_DP Xfoil/orrs/bin/Makefile_DP
--- Xfoil_orig/orrs/bin/Makefile_DP 2005-03-04 20:16:18.000000000 -0500
+++ Xfoil/orrs/bin/Makefile_DP 2005-12-22 11:19:50.000000000 -0500
@@ -1,20 +1,20 @@
SRC = ../src
-PLTOBJ = /var/local/codes/Xplot/libPltDP.a
+PLTOBJ = ../../plotlib/libPltDP.a
#========================================
# Default compiler flags
-FC = f77
+FC = gfortran
-FLG = -O -r8
+FLG = -O3 -fdefault-real-8
PLTLIB = -lX11
FTNLIB =
#========================================
# Uncomment for Intel Fortran Compiler
-FC = ifc
-FLG = -O -r8
-PLTLIB = -L/usr/X11R6/lib -lX11
-FTNLIB = -Vaxlib
+#FC = ifc
+#FLG = -O -r8
+#PLTLIB = -L/usr/X11R6/lib -lX11
+#FTNLIB = -Vaxlib
#========================================
diff -urN Xfoil_orig/orrs/src/osmap.f Xfoil/orrs/src/osmap.f
--- Xfoil_orig/orrs/src/osmap.f 2004-11-01 23:10:45.000000000 -0500
+++ Xfoil/orrs/src/osmap.f 2005-12-22 11:51:05.000000000 -0500
@@ -98,7 +98,8 @@
C
C---- set OSFILE to match the absolute OS database filename
CHARACTER*128 OSFILE
- DATA OSFILE / '/var/local/codes/orrs/osmap.dat' /
+ DATA OSFILE
+ &/'@BUILDPREFIX@/orrs/osmap.dat'/
c
c DATA OSFILE
c &/'/afs/athena.mit.edu/course/16/16_d0006/Codes/orrs/osmap_lx.dat'/
diff -urN Xfoil_orig/plotlib/Makefile Xfoil/plotlib/Makefile
--- Xfoil_orig/plotlib/Makefile 2004-06-02 12:23:43.000000000 -0400
+++ Xfoil/plotlib/Makefile 2005-12-22 09:45:36.000000000 -0500
@@ -35,7 +35,7 @@
#INSTALLDIR= .
# Use these to set default library name (overridden in config.make file)
-PLTLIB = libPlt.a
-#PLTLIB = libPltDP.a
+#PLTLIB = libPlt.a
+PLTLIB = libPltDP.a
###========================================================
--- Xfoil_orig/plotlib/Makefile 2004-06-02 12:23:43.000000000 -0400
+++ Xfoil/plotlib/Makefile 2005-12-22 09:45:36.000000000 -0500
@@ -69,14 +69,14 @@
###================================================
### Default compilers and flags, install commands
-FC = f77
+FC = gfortran
-CC = cc
+CC = gcc
# Some fortrans need trailing underscores in C interface symbols (see Xwin.c)
DEFINE = -DUNDERSCORE
# Uncomment DP to make double-precision version
-#DP = -r8
+DP = -fdefault-real-8
FFLAGS = -O $(DP)
-CFLAGS = -O $(DEFINE)
+CFLAGS = -O3 -I/usr/X11R6/include/ $(DEFINE)
AR = ar r
RANLIB = ranlib
LINKLIB = -lX11
diff -urN Xfoil_orig/plotlib/config.make.DP Xfoil/plotlib/config.make.DP
--- Xfoil_orig/plotlib/config.make.DP 2005-10-21 23:04:44.000000000 -0400
+++ Xfoil/plotlib/config.make.DP 2005-12-22 09:49:18.000000000 -0500
@@ -25,13 +25,13 @@
### g77 the GNU Fortran compiler
#
-#FC = g77-3
+FC = gfortran
#FC = fort77
-#CC = gcc
+CC = gcc
# Uncomment DP to make double-precision version
# (note -r8 does not work in g77, use f2c instead)
-#DP = -r8
+DP = -fdefault-real-8
-#FFLAGS = -O2 $(DP)
+FFLAGS = -O3 $(DP)
-#CFLAGS = -O2 $(DEFINE)
+CFLAGS = -O3 $(DEFINE)
#AR = ar r
#RANLIB = ranlib
#LINKLIB = -L/usr/X11R6/lib -lX11
diff -urN Xfoil_orig/plotlib/config.make.DP Xfoil/plotlib/config.make.DP
--- Xfoil_orig/plotlib/config.make.DP 2005-10-21 23:04:44.000000000 -0400
+++ Xfoil/plotlib/config.make.DP 2005-12-22 09:49:18.000000000 -0500
@@ -55,13 +55,13 @@
CC = gcc
# Uncomment to make double-precision version
-DP = -r8
-FFLAGS = -O3 $(DP)
-CFLAGS = -O3 $(DEFINE)
-AR = ar r
-RANLIB = ranlib
+#DP = -r8
+#FFLAGS = -O3 $(DP)
+#CFLAGS = -O3 $(DEFINE)
+#AR = ar r
+#RANLIB = ranlib
-LINKLIB = -L/usr/X11R6/lib -lX11
+#LINKLIB = -L/usr/X11R6/lib -lX11
###-------------------------------------------------------------------------
@@ -127,3 +127,13 @@
#RANLIB = ar qs
#LINKLIB = -lX11
+###-------------------------------------------------------------------------
+### OS X via Fink packaging system
+#
+FC = gfortran
+FFLAGS = -O3 -fdefault-real-8
+CFLAGS = -O3 -I/usr/X11R6/include/ $(DEFINE)
+AR = ar r
+RANLIB = ranlib
+
+LINKLIB = -L/usr/X11R6/lib -lX11