[145120] trunk/dports/science/eo/Portfile
dstrubbe at macports.org
dstrubbe at macports.org
Tue Jan 26 03:14:05 PST 2016
Revision: 145120
https://trac.macports.org/changeset/145120
Author: dstrubbe at macports.org
Date: 2016-01-26 03:14:05 -0800 (Tue, 26 Jan 2016)
Log Message:
-----------
eo: Use compilers portgroup for C variants. Unfortunately only gcc45 and llvm actually compile and pass tests, after adding a patch and modifying cflags. Fix up description. Remove useless configure.args-delete of args not present. Include default cflags.
Modified Paths:
--------------
trunk/dports/science/eo/Portfile
Modified: trunk/dports/science/eo/Portfile
===================================================================
--- trunk/dports/science/eo/Portfile 2016-01-26 10:25:23 UTC (rev 145119)
+++ trunk/dports/science/eo/Portfile 2016-01-26 11:14:05 UTC (rev 145120)
@@ -2,6 +2,7 @@
# $Id$
PortSystem 1.0
+PortGroup compilers 1.0
name eo
categories science
@@ -16,7 +17,7 @@
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 \
+ come up with -- 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 \
@@ -37,17 +38,51 @@
patch-make_checkpoint_assembled.h.diff \
patch-make_checkpoint_FDC.h.diff \
patch-make_checkpoint_pareto.h.diff \
- patch-make_help.cpp.diff
+ patch-make_help.cpp.diff \
+ patch-test-t-eoSelect.cpp.diff
+# last is required for 'port test' with a GCC compiler.
configure.args-append --disable-applications --disable-gnuplot --disable-tutorial
-configure.args-delete --enable-applications --enable-gnuplot --enable-tutorial
test.run yes
test.target check
+compilers.choose cc cxx
# TODO: Fix this project's buggy C++ code or file a bug upstream
+compilers.setup -clang -dragonegg -gcc gcc45
compiler.blacklist *clang*
+# clang++ gives: "error: use of undeclared identifier 'value'"
+
+# gcc5:
+#../../src/utils/eoStat.h:382:34: error: type 'eoDistanceStat<EOT>' is not a base type for type 'eoDistanceStat<EOT>'
+# using eoDistanceStat< EOT >::value;
+
+# gcc46, gcc47, dragonegg33, dragonegg34:
+# eoFunctorStore.cpp: In destructor 'virtual eoFunctorStore::~eoFunctorStore()':
+# eoFunctorStore.cpp:13:9: error: 'size_t' was not declared in this scope
+# eoFunctorStore.cpp:13:9: note: suggested alternatives:
+# In file included from /opt/local/include/gcc47/c++/bits/stl_algobase.h:60:0,
+# from /opt/local/include/gcc47/c++/vector:61,
+# from ./eoFunctorStore.h:30,
+# from eoFunctorStore.cpp:6:
+# /opt/local/include/gcc47/c++//x86_64-apple-darwin14/bits/c++config.h:173:26: note: 'std::size_t'
+# /opt/local/include/gcc47/c++//x86_64-apple-darwin14/bits/c++config.h:173:26: note: 'std::size_t'
+# eoFunctorStore.cpp:13:16: error: expected ';' before 'i'
+# eoFunctorStore.cpp:13:23: error: 'i' was not declared in this scope
+
+# caused by gcc use of -ftree-vectorize -march=native -O3
+# if /opt/local/bin/g++-mp-4.4 -DHAVE_CONFIG_H -I. -I. -I../.. -I/opt/local/include -I../../src -pipe -Os -fpermissive -ftree-vectorize -march=native -O3 -MT make_genotype_real.o -MD -MP -MF ".deps/make_genotype_real.Tpo" -c -o make_genotype_real.o make_genotype_real.cpp; \
+# then mv -f ".deps/make_genotype_real.Tpo" ".deps/make_genotype_real.Po"; else rm -f ".deps/make_genotype_real.Tpo"; exit 1; fi
+# {standard input}:807:no such instruction: `vmovsd (%r9), %xmm1'
+# {standard input}:808:no such instruction: `vmovd %rbx, %xmm0'
+# {standard input}:809:no such instruction: `vucomisd %xmm0, %xmm1'
+# {standard input}:810:no such instruction: `vcmpnltsd %xmm1, %xmm0,%xmm2'
+# {standard input}:813:no such instruction: `vandpd %xmm2, %xmm0,%xmm0'
+# {standard input}:814:no such instruction: `vandnpd %xmm1, %xmm2,%xmm1'
+
+# gcc44 test: FAIL: t-eoRandom
+
#platform darwin {
# if {${os.major} >= 13} {
# depends_lib
@@ -78,34 +113,15 @@
configure.args-delete --disable-tutorial
}
-variant gcc43 conflicts gcc44 gcc45 gcc46 gcc47 description "Use GCC 4.3 for compilation of EO - optimized for host machine" {
- configure.compiler macports-gcc-4.3
- configure.cflags-append "-ftree-vectorize -march=native -O3"
- configure.cxxflags-append "-ftree-vectorize -march=native -O3"
+pre-configure {
+ configure.args-append CC=${configure.cc} CFLAGS="${configure.cflags}" \
+ CXX=${configure.cxx}
+
+ if {[gcc_variant_isset]} {
+ configure.cxxflags-append "-fpermissive"
+# configure.cflags-append "-ftree-vectorize -march=native -O3"
+# configure.cxxflags-append "-ftree-vectorize -march=native -O3"
+ }
}
-variant gcc44 conflicts gcc43 gcc45 gcc46 gcc47 description "Use GCC 4.4 for compilation of EO - optimized for host machine" {
- configure.compiler macports-gcc-4.4
- configure.cflags-append "-ftree-vectorize -march=native -O3"
- configure.cxxflags-append "-ftree-vectorize -march=native -O3"
-}
-
-variant gcc45 conflicts gcc43 gcc44 gcc46 gcc47 description "Use GCC 4.5 for compilation of EO - optimized for host machine" {
- configure.compiler macports-gcc-4.5
- configure.cflags-append "-ftree-vectorize -march=native -O3"
- configure.cxxflags-append "-ftree-vectorize -march=native -O3"
-}
-
-variant gcc46 conflicts gcc43 gcc44 gcc45 gcc47 description "Use GCC 4.6 for compilation of EO - optimized for host machine" {
- configure.compiler macports-gcc-4.6
- configure.cflags-append "-ftree-vectorize -march=native -O3"
- configure.cxxflags-append "-ftree-vectorize -march=native -O3"
-}
-
-variant gcc47 conflicts gcc43 gcc44 gcc45 gcc46 description "Use GCC 4.7 for compilation of EO - optimized for host machine" {
- configure.compiler macports-gcc-4.7
- configure.cflags-append "-ftree-vectorize -march=native -O3"
- configure.cxxflags-append "-ftree-vectorize -march=native -O3"
-}
-
livecheck.distname eo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160126/d554177c/attachment-0001.html>
More information about the macports-changes
mailing list