Skip to content

safx/clang-objcgo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

clang-objcgo

clang-objcgo is a tool for generating a Go source file of wrapper interfaces for Objective-C, which can be compiled with Cgo.

Setup

# get clang
cd $HOME/dev
curl -O http://llvm.org/releases/3.4.2/clang+llvm-3.4.2-x86_64-apple-darwin10.9.xz
tar zxf clang+llvm-3.4.2-x86_64-apple-darwin10.9.xz

# get clang-python binding library
cd clang+llvm-3.4.2-x86_64-apple-darwin10.9
mkdir -p bindings/python/clang
cd bindings/python/clang
for i in __init__.py cindex.py enumerations.py ; do curl -s -O https://raw.githubusercontent.com/llvm-mirror/clang/master/bindings/python/clang/$i ; done
cd ..
mkdir examples && cd examples
curl -s -O https://raw.githubusercontent.com/llvm-mirror/clang/master/bindings/python/examples/cindex/cindex-dump.py

Usage

# set environment variables
export LD_LIBRARY_PATH=$($HOME/dev/clang+llvm-3.4.2-x86_64-apple-darwin10.9/bin/llvm-config --libdir)
export PYTHONPATH=$HOME/dev/clang+llvm-3.4.2-x86_64-apple-darwin10.9/bindings/python

# execute script
git clone git@github.com:safx/clang-objcgo.git
cd clang-objcgo
export GOPATH=`pwd`
python scripts/clang-objcgo.py examples/CocoaSample.h > src/sample/cocoa_sample.go

go build main
./main

About

clang-objcgo is a tool for generating a Go source file of wrapper interfaces for Objective-C

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published