# -*- coding: utf-8; mode: tcl; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 truncate-lines: t -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
# $Id: Portfile 56061 2009-08-24 00:33:19Z ryandesign@macports.org $

PortSystem              1.0

name                    eo
categories              science
version                 1.0.1
revision                1
categories              science math
platforms               darwin
maintainers             openmaintainer jochen
description             an evolutionary computation library
long_description        Evolving Objects (EO) is a templates-based, \
                        ANSI-C++ compliant evolutionary computation \
                        library. It contains classes for almost any \
                        kind of evolutionary computation you might \
                        come up to - at least for the ones we could \
                        think of. It is component-based, so that if \
                        you don't find the class you need in it, it is \
                        very easy to subclass existing abstract or \
                        concrete classes.

homepage                http://eodev.sourceforge.net/
master_sites            sourceforge:eodev
use_bzip2               yes
checksums               md5 79ac9bd4a0f1ad857845c8fd65418db1

default_variants        +gnuplot

patchfiles              patch-eoBit.h.diff \
                        patch-eoFileSnapshot.h.diff \
                        patch-eoGnuplot.cpp.diff \
                        patch-make_checkpoint.h.diff \
                        patch-make_checkpoint_assembled.h.diff \
                        patch-make_checkpoint_FDC.h.diff \
                        patch-make_checkpoint_pareto.h.diff \
                        patch-make_help.cpp.diff

configure.args-append   --disable-applications --disable-gnuplot --disable-tutorial
configure.args-delete   --enable-applications --enable-gnuplot --enable-tutorial
test.run                yes
test.target             check

variant applications {
        configure.args-append   --enable-applications
        configure.args-delete   --disable-applications
}

variant gnuplot {
        depends_lib             port:gnuplot
        configure.args-append   --enable-gnuplot
        configure.args-delete   --disable-gnuplot
}

variant tutorial {
        configure.args-append   --enable-tutorial
        configure.args-delete   --disable-tutorial
}

variant gcc43 description "Use GCC 4.3 for compilation of EO - optimized for host machine" {
    depends_build-append        port:gcc43
    configure.cc                gcc-mp-4.3
    configure.cxx               g++-mp-4.3
    configure.cflags-append     "-ftree-vectorize -march=native -O3"
    configure.cxxflags-append   "-ftree-vectorize -march=native -O3"
}
