source: trunk/dports/devel/libcudd/Portfile

Last change on this file was 126020, checked in by ryandesign@…, 3 years ago

libcudd: update to 2.5.0 (#27726); don't use nonexistent optimization levels (#40623); add universal variant; fix livecheck; new maintainer

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.2 KB
Line 
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 126020 2014-10-02 04:17:52Z ryandesign@macports.org $
3
4PortSystem          1.0
5
6name                libcudd
7version             2.5.0
8categories          devel
9platforms           darwin
10maintainers         caltech.edu:SCL openmaintainer
11
12description         An efficient library for manipulating decision diagrams
13
14long_description    The CUDD package provides functions to manipulate Binary \
15                    Decision Diagrams (BDDs), Algebraic Decision Diagrams (ADDs), \
16                    and Zero-suppressed Binary Decision Diagrams (ZDDs). It's \
17                    been written by Fabio Somenzi at the University of Colorado, \
18                    Boulder.
19
20homepage            http://vlsi.colorado.edu/~fabio/CUDD/
21master_sites        ftp://vlsi.colorado.edu/pub/
22distname            cudd-${version}
23
24checksums           rmd160  2f7b1dc3118925de268a1f1396ba4e66b65c54e4 \
25                    sha256  4f3bc49b35564af94b17135d8cb8c4063fb049cfaa442f80dc40ba73c6345a85
26
27patchfiles          patch-Makefile.diff \
28                    patch-cudd-cudd.h.diff \
29                    patch-dddmp-Makefile.diff \
30                    patch-epd-Makefile.diff \
31                    patch-mtr-mtr.h.diff \
32                    patch-nanotrav-Makefile.diff \
33                    patch-st-Makefile.diff \
34                    patch-util-util.h.diff
35
36use_configure       no
37
38variant universal {}
39
40pre-build {
41    system -W ${worksrcpath} "make distclean"
42    system -W ${worksrcpath}/obj "make distclean"
43}
44
45build.target        build
46build.args          CC="${configure.cc} [get_canonical_archflags cc]" \
47                    CXX="${configure.cxx} [get_canonical_archflags cxx]"
48
49post-build {
50    # generate dylib for C interface
51    system -W ${worksrcpath} "${configure.cc} ${configure.optflags} [get_canonical_archflags cc] -dynamiclib -install_name ${prefix}/lib/cudd/libcudd.dylib -o libcudd.dylib `find cudd dddmp epd mtr st util -name '*.o'` ${configure.ldflags}"
52
53    # compile the additional C++ interface
54    system -W ${worksrcpath}/obj "make distclean && make [join ${build.args}]"
55    # generate dylib for C++ interface
56    system -W ${worksrcpath} "${configure.cxx} ${configure.optflags} [get_canonical_archflags cxx] -dynamiclib -install_name ${prefix}/lib/cudd/libcuddobj.dylib -L. -lcudd -o libcuddobj.dylib obj/cuddObj.o ${configure.ldflags}"
57}
58
59destroot {
60    # install header files
61    xinstall -m 755 -d ${destroot}${prefix}/include/cudd
62    xinstall -m 644 -W ${worksrcpath}/include cudd.h cuddInt.h cuddObj.hh \
63                    dddmp.h epd.h mtr.h st.h util.h \
64                ${destroot}${prefix}/include/cudd
65    # install libraries
66    xinstall -m 755 -d ${destroot}${prefix}/lib/cudd
67    xinstall -m 644 -W ${worksrcpath} libcudd.dylib libcuddobj.dylib ${destroot}${prefix}/lib/cudd
68    # TODO: install documentation ...
69}
70
71notes "
72To compile against the CUDD dynamic library, use\
73'-I${prefix}/include/cudd -L${prefix}/lib/cudd -lcudd' for the C interface, or\
74'-I${prefix}/include/cudd -L${prefix}/lib/cudd -lcudd -lcuddobj' for the C++ interface.
75"
76
77livecheck.type      regex
78livecheck.url       [lindex ${master_sites} 0]
79livecheck.regex     cudd-(\[0-9.\]+)${extract.suffix}
Note: See TracBrowser for help on using the repository browser.