[136204] trunk/dports/devel/cableswig/Portfile
larryv at macports.org
larryv at macports.org
Mon May 11 16:47:59 PDT 2015
Revision: 136204
https://trac.macports.org/changeset/136204
Author: larryv at macports.org
Date: 2015-05-11 16:47:59 -0700 (Mon, 11 May 2015)
Log Message:
-----------
cableswig: Rearrange and reformat (NFC)
Modified Paths:
--------------
trunk/dports/devel/cableswig/Portfile
Modified: trunk/dports/devel/cableswig/Portfile
===================================================================
--- trunk/dports/devel/cableswig/Portfile 2015-05-11 23:28:03 UTC (rev 136203)
+++ trunk/dports/devel/cableswig/Portfile 2015-05-11 23:47:59 UTC (rev 136204)
@@ -1,41 +1,78 @@
# -*- 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
# $Id$
-PortSystem 1.0
+PortSystem 1.0
-name cableswig
-version 20090521
+name cableswig
+version 20090521
# CableSwig is only available from cvs and there are no release tags, using date
# of cvs checkout for the version number.
-categories devel
-maintainers nomaintainer
+categories devel
+platforms darwin
+maintainers nomaintainer
-description CableSwig creates interfaces to interpreted languages such as Tcl and Python.
+description CableSwig creates interfaces to interpreted \
+ languages such as Tcl and Python.
+long_description CableSwig is used to create interfaces (i.e. \
+ wrappers) to interpreted languages such as Tcl and \
+ Python. It was created to produce wrappers for ITK \
+ because the toolkit uses C++ structures that SWIG \
+ cannot parse (deeply nested template \
+ instantiations). CableSwig is a combination tool \
+ that uses GCC_XML as the C++ parser. The input \
+ files are Cable style input files. The XML \
+ produced from the Cable/GCC_XML input files are \
+ then parsed and fed into a modified version of \
+ SWIG. SWIG is a software development tool that \
+ connects programs written in C and C++ with \
+ a variety of high-level programming languages. It \
+ is used to generate the language bindings to the \
+ target language. Currently, Tcl and Python are \
+ supported. CableSwig consists of four executables: \
+ 1) cswig - the main cable swig executable, that \
+ takes an xml file from gccxml as input. The xml \
+ file should be created from a cable config input \
+ file. This program is a modified version of the \
+ standard SWIG main. It uses CABLE libraries to \
+ parse the input XML from gccxml to create SWIG \
+ data structures describing the C++ code to be \
+ wrapped. 2) cableidx - a program to generate \
+ index files from gccxml xml files. The index files \
+ tell cswig what classes are wrapped in which \
+ libraries. This is important because swig needs \
+ to know if a class is not wrapped or wrapped \
+ in another module, and if it is wrapped which module \
+ it is wrapped in. 3) gccxml_cc1plus - A patched \
+ version of gcc that has the -fxml option to convert \
+ c++ into xml. 4) gccxml - ( www.gccxml.org) the \
+ front end program to gccxml_cc1plus. CableSwig was \
+ developed to support ITK, and has not been widely \
+ used elsewhere. Not all features of SWIG are \
+ currently accessible through CableSwig. Features \
+ known to be missing are: * Wrapping of public data \
+ members in structs and classes, no accessor routines \
+ are created, the original source must provide access \
+ methods.
+homepage http://www.itk.org/ITK/resources/CableSwig.html
-long_description \
-CableSwig is used to create interfaces (i.e. wrappers) to interpreted languages such as Tcl and Python. It was created to produce wrappers for ITK because the toolkit uses C++ structures that SWIG cannot parse (deeply nested template instantiations). CableSwig is a combination tool that uses GCC_XML as the c++ parser. The input files are Cable style input files. The XML produced from the Cable/GCC_XML input files are then parsed and feed into a modified version of SWIG. SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages. It is used to generate the language bindings to the target language. Currently, Tcl and Python are supported. CableSwig consists of four executables: 1) cswig - the main cable swig executable, that takes an xml file from gccxml as input. The xml file should be created from a cable config input file. This program is a modified version of the standard SWIG main. It uses CABLE
libraries to parse the input XML from gccxml to create SWIG data structures describing the C++ code to be wrapped. 2) cableidx - a program to generate index files from gccxml xml files. The index files tell cswig what classes are wrapped in which libraries. This is important because swig needs to know if a class is not wrapped or wrapped in another module, and if it is wrapped which module it is wrapped in. 3) gccxml_cc1plus - A patched version of gcc that has the -fxml option to convert c++ into xml. 4) gccxml - ( www.gccxml.org) the front end program to gccxml_cc1plus. CableSwig was developed to support ITK, and has not been widely used elsewhere. Not all features of SWIG are currently accessible through CableSwig. Features known to be missing are: * Wrapping of public data members in structs and classes, no accessor routines are created, the original source must provide access methods.
+depends_build port:bison \
+ port:cmake \
+ port:gawk \
+ port:gmake
-homepage http://www.itk.org/ITK/resources/CableSwig.html
-platforms darwin
+fetch.type cvs
+cvs.root :pserver:anonymous at public.kitware.com:/cvsroot/CableSwig
+cvs.module CableSwig
+cvs.date "21-May-2009"
-fetch.type cvs
-cvs.root :pserver:anonymous at public.kitware.com:/cvsroot/CableSwig
-cvs.module CableSwig
-cvs.date "21-May-2009"
-
post-extract {
move ${workpath}/CableSwig ${worksrcpath}
}
-depends_build port:cmake \
- port:gmake \
- port:bison \
- port:gawk
-
# Use gmake and build in a separate directory from the source
-build.type gnu
-build.dir ${workpath}/cableswig-build
+build.type gnu
+build.dir ${workpath}/cableswig-build
configure {
xinstall -d -m 755 ${build.dir}
@@ -44,39 +81,30 @@
configure.args-append \
-DBISON_YACC:FILEPATH=${prefix}/bin/bison \
+ -DBUILD_TESTING:BOOL=OFF \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
-DCMAKE_SKIP_RPATH:BOOL=OFF \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCSWIG_USE_SYSTEM_GCCXML:BOOL=OFF \
- -DSWIG_BUILD_EXAMPLES:BOOL=OFF \
- -DBUILD_TESTING:BOOL=OFF
+ -DSWIG_BUILD_EXAMPLES:BOOL=OFF
if {[info exists universal_sysroot]} {
- configure.args-append \
- -DCMAKE_OSX_SYSROOT=${universal_sysroot} \
+ configure.args-append -DCMAKE_OSX_SYSROOT=${universal_sysroot}
}
-variant examples description "provide examples" {
- configure.args-delete \
- -DSWIG_BUILD_EXAMPLES:BOOL=OFF
- configure.args-append \
- -DSWIG_BUILD_EXAMPLES:BOOL=ON
+variant examples description "Provide examples" {
+ configure.args-delete -DSWIG_BUILD_EXAMPLES:BOOL=OFF
+ configure.args-append -DSWIG_BUILD_EXAMPLES:BOOL=ON
}
-variant testing description "provide testing" {
- configure.args-delete \
- -DBUILD_TESTING:BOOL=OFF
- configure.args-append \
- -DBUILD_TESTING:BOOL=ON
+variant testing description "Provide testing" {
+ configure.args-delete -DBUILD_TESTING:BOOL=OFF
+ configure.args-append -DBUILD_TESTING:BOOL=ON
}
-variant gccxml description "use port:gccxml" {
- depends_lib-append \
- port:gccxml
- configure.args-delete \
- -DCSWIG_USE_SYSTEM_GCCXML:BOOL=OFF
- configure.args-append \
- -DCSWIG_USE_SYSTEM_GCCXML:BOOL=ON
+variant gccxml description "Use MacPorts' GCC-XML" {
+ depends_lib-append port:gccxml
+ configure.args-delete -DCSWIG_USE_SYSTEM_GCCXML:BOOL=OFF
+ configure.args-append -DCSWIG_USE_SYSTEM_GCCXML:BOOL=ON
}
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150511/213e5730/attachment.html>
More information about the macports-changes
mailing list