]> gitweb.factorcode.org Git - factor.git/blob - extra/alien/cxx/scaffold/scaffold.factor
603d5d065fddb31fdf03ae18eb0d11628166f634
[factor.git] / extra / alien / cxx / scaffold / scaffold.factor
1 ! (c)2010 Joe Groff bsd license
2 USING: alien.cxx.demangle assocs combinators fry io.pathnames
3 kernel macho sequences ;
4 IN: alien.cxx.scaffold
5
6 : library-symbols ( file -- symbols )
7     dup file-extension {
8         { "dylib" [ dylib-exports ] }
9         { f       [ dylib-exports ] }
10     } case ;
11
12 : c++-library-symbols ( file abi -- symbols )
13     [ library-symbols ] dip
14     [ '[ _ c++-symbol? ] filter ]
15     [ '[ dup _ demangle ] H{ } map>assoc ] bi ;