1 | # $Id: Portfile 29408 2007-09-23 06:37:43Z ryandesign@macports.org $ |
---|
2 | |
---|
3 | PortSystem 1.0 |
---|
4 | |
---|
5 | name boost |
---|
6 | version 1.34.1 |
---|
7 | revision 1 |
---|
8 | categories devel |
---|
9 | maintainers sanchom@gmail.com |
---|
10 | description Collection of portable C++ source libraries |
---|
11 | long_description Boost provides free portable peer-reviewed C++ \ |
---|
12 | libraries. The emphasis is on portable libraries \ |
---|
13 | which work well with the C++ Standard Library. |
---|
14 | homepage http://www.boost.org |
---|
15 | master_sites sourceforge |
---|
16 | distname ${name}_[strsed ${version} {g/[.]/_/}] |
---|
17 | use_bzip2 yes |
---|
18 | checksums md5 2d938467e8a448a2c9763e0a9f8ca7e5 |
---|
19 | platforms darwin |
---|
20 | |
---|
21 | depends_build bin:bjam:boost-jam |
---|
22 | |
---|
23 | platform darwin 9 { |
---|
24 | depends_build-append port:gmake |
---|
25 | build.env MAKE=gmake |
---|
26 | } |
---|
27 | |
---|
28 | platform darwin { |
---|
29 | post-destroot { |
---|
30 | cd ${destroot}${prefix}/lib |
---|
31 | |
---|
32 | # get the library version as it shows up in the library names: |
---|
33 | # eg. 1_34_1 |
---|
34 | set libver [join [lrange [split ${version} {.}] 0 2] {_}] |
---|
35 | |
---|
36 | # ensure the identification name of the dynamic libraries agree |
---|
37 | # with their final destination path (not the destroot path that |
---|
38 | # they've just been installed to) |
---|
39 | foreach lib [glob *-${libver}.dylib] { |
---|
40 | system "install_name_tool -id ${prefix}/lib/${lib} ${lib}" |
---|
41 | } |
---|
42 | |
---|
43 | # create relative symbolic links to the versioned libraries (.dylib only; |
---|
44 | # .a were built with unversioned extensions that are duplicate files of the |
---|
45 | # versioned extensions... handled next) |
---|
46 | foreach lib [glob *-${libver}.dylib] { |
---|
47 | set libname [join [lrange [split [file rootname ${lib}] {-}] 0 end-1] {-}] |
---|
48 | set libext [file extension ${lib}] |
---|
49 | set liblink "${libname}${libext}" |
---|
50 | if {![catch {set libtype [file type ${liblink}]}]} { |
---|
51 | if {${libtype} == "link"} { |
---|
52 | file delete -force ${liblink} |
---|
53 | } |
---|
54 | } |
---|
55 | system "ln -s ${lib} ${liblink}" |
---|
56 | } |
---|
57 | |
---|
58 | # change the duplicated non-version-named .a libraries to |
---|
59 | # symbolic links to the version-named .a libraries |
---|
60 | foreach lib [glob *-${libver}.a] { |
---|
61 | set libname [join [lrange [split [file rootname ${lib}] {-}] 0 end-1] {-}] |
---|
62 | set libext [file extension ${lib}] |
---|
63 | set liblink "${libname}${libext}" |
---|
64 | # if this file is around, it is a duplicate, delete it |
---|
65 | if {[file exists ${liblink}]} { |
---|
66 | file delete -force ${liblink} |
---|
67 | } |
---|
68 | # add a symbolic link instead |
---|
69 | system "ln -s ${lib} ${liblink}" |
---|
70 | } |
---|
71 | |
---|
72 | # create a symbolic link in the include directory pointing to the current |
---|
73 | # version of the boost include directory (e.g. boost-1_34_1/boost -> include/boost) |
---|
74 | system "ln -fs boost-${libver}/boost ${destroot}${prefix}/include/boost" |
---|
75 | } |
---|
76 | } |
---|
77 | |
---|
78 | destroot.args PREFIX=${destroot}${prefix} EPREFIX=${destroot}${prefix} \ |
---|
79 | LIBDIR=${destroot}${prefix}/lib INCLUDEDIR=${destroot}${prefix}/include \ |
---|
80 | install |
---|
81 | |
---|
82 | configure.args --without-libraries=python --without-icu |
---|
83 | |
---|
84 | variant python24 { |
---|
85 | set pyversion 2.4 |
---|
86 | depends_lib lib:libpython${pyversion}:python[strsed ${pyversion} {g/[.]//}] |
---|
87 | |
---|
88 | configure.args-delete --without-libraries=python |
---|
89 | } |
---|
90 | |
---|
91 | variant python25 { |
---|
92 | set pyversion 2.5 |
---|
93 | depends_lib lib:libpython${pyversion}:python[strsed ${pyversion} {g/[.]//}] |
---|
94 | |
---|
95 | configure.args-delete --without-libraries=python |
---|
96 | } |
---|
97 | variant icu { |
---|
98 | depends_lib port:icu |
---|
99 | |
---|
100 | configure.args-delete --without-icu |
---|
101 | configure.args-append --with-icu |
---|
102 | } |
---|